From dc911130c2410608877c6885481f37b48f458b3b Mon Sep 17 00:00:00 2001 From: yuanjing Date: Tue, 26 Nov 2024 15:54:32 +0800 Subject: [PATCH] 1.3 --- .../cache/deps/@element-plus_icons-vue.js | 4 +- docs/.vitepress/cache/deps/@giscus_vue.js | 6 +- docs/.vitepress/cache/deps/@giscus_vue.js.map | 2 +- .../.vitepress/cache/deps/@mdit-vue_shared.js | 2 +- .../cache/deps/@mdit-vue_shared.js.map | 2 +- docs/.vitepress/cache/deps/@vueuse_core.js | 6 +- docs/.vitepress/cache/deps/_metadata.json | 244 +- ...M.js => blockDiagram-47a8f1e6-JBCSRNWW.js} | 28 +- ... => blockDiagram-47a8f1e6-JBCSRNWW.js.map} | 2 +- ...CQNH.js => c4Diagram-5e436c10-EUIRZFMQ.js} | 8 +- ...map => c4Diagram-5e436c10-EUIRZFMQ.js.map} | 2 +- .../{chunk-QRUXUPKG.js => chunk-4DYZU5O2.js} | 8 +- ...-QRUXUPKG.js.map => chunk-4DYZU5O2.js.map} | 2 +- .../{chunk-2AA25MXT.js => chunk-4ISJML4K.js} | 4 +- ...-2AA25MXT.js.map => chunk-4ISJML4K.js.map} | 2 +- .../{chunk-R3VODJPJ.js => chunk-5CWYRM7T.js} | 6 +- ...-R3VODJPJ.js.map => chunk-5CWYRM7T.js.map} | 2 +- .../{chunk-4BXPPE67.js => chunk-7Q2BK7NI.js} | 4 +- ...-4BXPPE67.js.map => chunk-7Q2BK7NI.js.map} | 2 +- .../{chunk-O3YQPVDG.js => chunk-A2KJKGLQ.js} | 4 +- ...-O3YQPVDG.js.map => chunk-A2KJKGLQ.js.map} | 2 +- docs/.vitepress/cache/deps/chunk-A6QXRUVC.js | 14 + ...-XWZ73NBO.js.map => chunk-A6QXRUVC.js.map} | 2 +- .../{chunk-2EKZYMCX.js => chunk-AZ3MSDYO.js} | 6 +- ...-2EKZYMCX.js.map => chunk-AZ3MSDYO.js.map} | 2 +- .../{chunk-QE6SGBYU.js => chunk-B5HJZSKN.js} | 16 +- ...-QE6SGBYU.js.map => chunk-B5HJZSKN.js.map} | 2 +- .../{chunk-6E3MYWKG.js => chunk-DEECTGUT.js} | 12 +- ...-6E3MYWKG.js.map => chunk-DEECTGUT.js.map} | 2 +- .../{chunk-K7JYRSNN.js => chunk-EYFRCF3X.js} | 6 +- ...-K7JYRSNN.js.map => chunk-EYFRCF3X.js.map} | 2 +- .../{chunk-RPTJ2D5Y.js => chunk-FVOCDV6K.js} | 6 +- ...-RPTJ2D5Y.js.map => chunk-FVOCDV6K.js.map} | 2 +- .../{chunk-BJ4J42HH.js => chunk-KEDGJU25.js} | 10 +- ...-BJ4J42HH.js.map => chunk-KEDGJU25.js.map} | 2 +- .../{chunk-ORKV5D4O.js => chunk-KPMAGHCB.js} | 50 +- ...-ORKV5D4O.js.map => chunk-KPMAGHCB.js.map} | 2 +- .../{chunk-SSSTV3QS.js => chunk-NKPCMO6O.js} | 12 +- ...-SSSTV3QS.js.map => chunk-NKPCMO6O.js.map} | 2 +- .../{chunk-IX6IAVFT.js => chunk-PGVY5FGH.js} | 10 +- ...-IX6IAVFT.js.map => chunk-PGVY5FGH.js.map} | 2 +- docs/.vitepress/cache/deps/chunk-QJSAEEOK.js | 9 + ...-XP7M6FJS.js.map => chunk-QJSAEEOK.js.map} | 2 +- .../{chunk-TPMOBHCD.js => chunk-QL2ECDH6.js} | 6 +- ...-TPMOBHCD.js.map => chunk-QL2ECDH6.js.map} | 2 +- .../{chunk-HCVQ6SZM.js => chunk-QO2ST6ZD.js} | 8 +- ...-HCVQ6SZM.js.map => chunk-QO2ST6ZD.js.map} | 2 +- .../{chunk-VRFHTUXE.js => chunk-QOJECQV6.js} | 6 +- ...-VRFHTUXE.js.map => chunk-QOJECQV6.js.map} | 2 +- .../{chunk-3Q2RJGHC.js => chunk-RQWEZMV7.js} | 10 +- ...-3Q2RJGHC.js.map => chunk-RQWEZMV7.js.map} | 2 +- .../{chunk-GQSU3LSO.js => chunk-S7YHCZXR.js} | 8 +- ...-GQSU3LSO.js.map => chunk-S7YHCZXR.js.map} | 2 +- .../{chunk-PAHP36ZV.js => chunk-SASBWADG.js} | 4 +- ...-PAHP36ZV.js.map => chunk-SASBWADG.js.map} | 2 +- .../{chunk-32UKBFDL.js => chunk-UUTVXTY5.js} | 6 +- ...-32UKBFDL.js.map => chunk-UUTVXTY5.js.map} | 2 +- .../{chunk-F24SW226.js => chunk-VSZREH27.js} | 6 +- ...-F24SW226.js.map => chunk-VSZREH27.js.map} | 2 +- .../{chunk-QD7GYJLE.js => chunk-WUGULRU7.js} | 6 +- ...-QD7GYJLE.js.map => chunk-WUGULRU7.js.map} | 2 +- docs/.vitepress/cache/deps/chunk-XP7M6FJS.js | 9 - docs/.vitepress/cache/deps/chunk-XWZ73NBO.js | 14 - ...W.js => classDiagram-52c92d29-2HTP4FVU.js} | 18 +- ... => classDiagram-52c92d29-2HTP4FVU.js.map} | 2 +- ...s => classDiagram-v2-70fd67bc-GDNSGQDH.js} | 26 +- ... classDiagram-v2-70fd67bc-GDNSGQDH.js.map} | 2 +- docs/.vitepress/cache/deps/element-plus.js | 2692 ++++++------- .../.vitepress/cache/deps/element-plus.js.map | 4 +- ...CFIU.js => erDiagram-59d1cdbd-BGZWS5WJ.js} | 16 +- ...map => erDiagram-59d1cdbd-BGZWS5WJ.js.map} | 2 +- ...CV.js => flowDiagram-b36fdd76-YDYKKQ7O.js} | 30 +- ...p => flowDiagram-b36fdd76-YDYKKQ7O.js.map} | 2 +- ...js => flowDiagram-v2-74c8dbcc-YX25K2A4.js} | 30 +- ...> flowDiagram-v2-74c8dbcc-YX25K2A4.js.map} | 2 +- ...chart-elk-definition-8cc78aa3-7GBQDVN7.js} | 18 +- ...t-elk-definition-8cc78aa3-7GBQDVN7.js.map} | 2 +- ...U.js => ganttDiagram-066785da-7ADDO7KR.js} | 10 +- ... => ganttDiagram-066785da-7ADDO7KR.js.map} | 2 +- ...LNLJ6JP.js => giscus-aTimukGI-FSYE2RDB.js} | 4 +- ...js.map => giscus-aTimukGI-FSYE2RDB.js.map} | 2 +- ...s => gitGraphDiagram-75f65184-FAT55AD7.js} | 6 +- ... gitGraphDiagram-75f65184-FAT55AD7.js.map} | 2 +- ...XU.js => infoDiagram-f5302396-TZKHGBFO.js} | 6 +- ...p => infoDiagram-f5302396-TZKHGBFO.js.map} | 2 +- ...js => journeyDiagram-6eaaa22b-FKUU4CMD.js} | 12 +- ...> journeyDiagram-6eaaa22b-FKUU4CMD.js.map} | 2 +- ...D5I24NMG.js => katex-79a689fb-SQTEGBCO.js} | 4 +- ....js.map => katex-79a689fb-SQTEGBCO.js.map} | 2 +- docs/.vitepress/cache/deps/mermaid.js | 2 +- ...> mindmap-definition-b3e57be3-2E2LNBIA.js} | 8 +- ...ndmap-definition-b3e57be3-2E2LNBIA.js.map} | 2 +- ...XWC.js => pieDiagram-520b736b-HWO7GESP.js} | 16 +- ...ap => pieDiagram-520b736b-HWO7GESP.js.map} | 2 +- ...s => quadrantDiagram-74843a00-J7CRG5AD.js} | 10 +- ... quadrantDiagram-74843a00-J7CRG5AD.js.map} | 2 +- ...> requirementDiagram-074fa166-DW46LFRY.js} | 16 +- ...quirementDiagram-074fa166-DW46LFRY.js.map} | 2 +- ....js => sankeyDiagram-99ff93d7-LR4BSUCJ.js} | 12 +- ...=> sankeyDiagram-99ff93d7-LR4BSUCJ.js.map} | 2 +- ...s => sequenceDiagram-9f7b83ce-NLMYE573.js} | 8 +- ... sequenceDiagram-9f7b83ce-NLMYE573.js.map} | 2 +- ...6.js => stateDiagram-728b288d-E5CR7H3T.js} | 18 +- ... => stateDiagram-728b288d-E5CR7H3T.js.map} | 2 +- ...s => stateDiagram-v2-2fae770b-5XR5UF47.js} | 26 +- ... stateDiagram-v2-2fae770b-5XR5UF47.js.map} | 2 +- docs/.vitepress/cache/deps/swiper.js | 6 +- docs/.vitepress/cache/deps/swiper.js.map | 2 +- ... timeline-definition-c33fa219-KH27M72V.js} | 10 +- ...eline-definition-c33fa219-KH27M72V.js.map} | 2 +- .../deps/vitepress___@vue_devtools-api.js | 10 +- .../deps/vitepress___@vue_devtools-api.js.map | 2 +- .../cache/deps/vitepress___@vueuse_core.js | 8 +- .../deps/vitepress___@vueuse_core.js.map | 2 +- docs/.vitepress/cache/deps/vue.js | 2 +- ...js => xychartDiagram-a93c88e9-BKQDCIGF.js} | 20 +- ...> xychartDiagram-a93c88e9-BKQDCIGF.js.map} | 2 +- docs/.vitepress/config.mts | 2 +- docs/.vitepress/dist/404.html | 12 +- docs/.vitepress/dist/abc/test.html | 24 +- docs/.vitepress/dist/about.html | 20 +- .../dist/assets/abc_test.md.DJwIa-r6.js | 5 - .../dist/assets/abc_test.md.DJwIa-r6.lean.js | 5 - .../dist/assets/abc_test.md.DPlr1ot-.js | 5 + .../dist/assets/abc_test.md.DPlr1ot-.lean.js | 5 + .../dist/assets/about.md._0OEjm8U.js | 1 + .../dist/assets/about.md._0OEjm8U.lean.js | 1 + .../dist/assets/about.md.gNhT7N0n.js | 1 - .../dist/assets/about.md.gNhT7N0n.lean.js | 1 - .../{app.DYYlAUVq.js => app.1UWUMJVz.js} | 2 +- .../assets/chunks/arc-bd4de8da.BOClgpfn.js | 1 - .../assets/chunks/arc-bd4de8da.BefwZDcZ.js | 1 + ...E.js => blockDiagram-47a8f1e6.U1hXFwjS.js} | 6 +- ...9I53.js => c4Diagram-5e436c10.BY6aqwww.js} | 2 +- .../chunks/channel-34943bd6.DILSWzgu.js | 1 + .../chunks/channel-34943bd6.cZCd3lYP.js | 1 - .../chunks/classDiagram-52c92d29.Bj3UIpMA.js | 2 + .../chunks/classDiagram-52c92d29.DgOlI10Y.js | 2 - ...s => classDiagram-v2-70fd67bc.j578kDWU.js} | 4 +- .../assets/chunks/clone-64cfc140.D0I0Txgo.js | 1 + .../assets/chunks/clone-64cfc140.roCrZnLn.js | 1 - ...aLK.js => createText-a21f6bb1.D85uhAwY.js} | 4 +- .../assets/chunks/edges-56c921ab.CC__vGx9.js | 4 + .../assets/chunks/edges-56c921ab.Cy67cF_i.js | 4 - ...VUAo.js => erDiagram-59d1cdbd.DxqQcfg0.js} | 6 +- ...dm9qi2m.js => flowDb-ce16de8c.DunUa5CB.js} | 8 +- ...1A.js => flowDiagram-b36fdd76.Djk8LwrC.js} | 2 +- .../flowDiagram-v2-74c8dbcc.BaPQlEcS.js | 1 - .../flowDiagram-v2-74c8dbcc.Cxlh4unJ.js | 1 + ...chart-elk-definition-8cc78aa3.BHrfJT4q.js} | 2 +- .../dist/assets/chunks/framework.Bjg6B_ll.js | 18 - .../dist/assets/chunks/framework.DDZzcMiv.js | 18 + ...5.js => ganttDiagram-066785da.BQihE-5d.js} | 6 +- ...s => gitGraphDiagram-75f65184.DDp0yIKM.js} | 10 +- .../assets/chunks/graph-cdf81e0e.DABYnhNP.js | 1 - .../assets/chunks/graph-cdf81e0e.Dn6dE90r.js | 1 + ...DtVYymdw.js => index-ade8a1b6.CykR3ikL.js} | 2 +- ...sU.js => infoDiagram-f5302396.CNgiOU4d.js} | 6 +- ...js => journeyDiagram-6eaaa22b.BtvIp9LC.js} | 6 +- .../assets/chunks/layout-833f5d09.BywCRs06.js | 1 - .../assets/chunks/layout-833f5d09.DyfOX9Px.js | 1 + ....DWre7D52.js => line-ef4db9e4.BqgQ_DCg.js} | 2 +- ...2CBBOHI.js => linear-cbf4fe8b.CSvU6RD3.js} | 2 +- .../dist/assets/chunks/metadata.57208b12.js | 1 + .../dist/assets/chunks/metadata.57bb6223.js | 1 - ...> mindmap-definition-b3e57be3.DNgZngUO.js} | 2 +- ...k-m.js => pieDiagram-520b736b.CfRHtMhk.js} | 10 +- ...s => quadrantDiagram-74843a00.Epyv_iew.js} | 2 +- ...> requirementDiagram-074fa166.D2pXLs_P.js} | 8 +- ....js => sankeyDiagram-99ff93d7.WlPIMn4Y.js} | 10 +- ...s => sequenceDiagram-9f7b83ce.DynCM6DZ.js} | 2 +- .../chunks/stateDiagram-728b288d.CDx7sFqB.js | 1 + .../chunks/stateDiagram-728b288d.Dlvl1chu.js | 1 - ...s => stateDiagram-v2-2fae770b.D0Lp89ss.js} | 2 +- ...gFXfKnS.js => styles-03a776f2.Dhn71ixJ.js} | 2 +- ...KTJ24TT.js => styles-1fc466fb.BFUOQfpx.js} | 8 +- .../assets/chunks/styles-91e7de3c.CGuXQQZ4.js | 116 - .../assets/chunks/styles-91e7de3c.ClnPce6H.js | 116 + .../chunks/svgDrawCommon-00c8c713.D8s0UoE4.js | 1 + .../chunks/svgDrawCommon-00c8c713.eMbYKOVO.js | 1 - .../{theme.CDTg8wPK.js => theme.Cd6ZJRuo.js} | 12 +- ... timeline-definition-c33fa219.DlcebH44.js} | 2 +- ...js => xychartDiagram-a93c88e9.BWW06dYT.js} | 8 +- .../assets/config_Independent.md.BPqM7W8_.js | 60 - .../config_Independent.md.BPqM7W8_.lean.js | 60 - .../assets/config_component.md.CPTkOgLr.js | 182 - .../config_component.md.CPTkOgLr.lean.js | 182 - .../assets/config_frontmatter.md.cdTsOORh.js | 159 - .../config_frontmatter.md.cdTsOORh.lean.js | 159 - .../dist/assets/config_global.md.O-HGo3xm.js | 1251 ------ .../assets/config_global.md.O-HGo3xm.lean.js | 1251 ------ .../config_inline-matter.md.B_DYi0dx.js | 13 - .../config_inline-matter.md.B_DYi0dx.lean.js | 13 - .../dist/assets/config_style.md.DfsGWhaI.js | 70 - .../assets/config_style.md.DfsGWhaI.lean.js | 70 - .../css_card-hover-effects.md.CiEb77rR.js | 56 + ...css_card-hover-effects.md.CiEb77rR.lean.js | 56 + .../en_config_Independent.md.CJxW4vpl.js | 1 - .../en_config_Independent.md.CJxW4vpl.lean.js | 1 - .../assets/en_config_component.md.DuXt7EDl.js | 1 - .../en_config_component.md.DuXt7EDl.lean.js | 1 - .../assets/en_config_component.md.TPJMvM1o.js | 1 + .../en_config_component.md.TPJMvM1o.lean.js | 1 + ...s => en_config_frontmatter.md.C5fRASGb.js} | 2 +- ...en_config_frontmatter.md.C5fRASGb.lean.js} | 2 +- .../assets/en_config_global.md.BjJROaaD.js | 1 - .../en_config_global.md.BjJROaaD.lean.js | 1 - .../assets/en_config_global.md.Cjx76rFH.js | 1 + .../en_config_global.md.Cjx76rFH.lean.js | 1 + ...=> en_config_inline-matter.md.wNdxgEBn.js} | 2 +- ..._config_inline-matter.md.wNdxgEBn.lean.js} | 2 +- ...rGqF.js => en_config_style.md.bbZTHtje.js} | 2 +- ...js => en_config_style.md.bbZTHtje.lean.js} | 2 +- .../assets/en_example_index.md.Cs-wHshc.js | 1 - .../en_example_index.md.Cs-wHshc.lean.js | 1 - .../assets/en_example_index.md.D0YSnO-0.js | 1 + .../en_example_index.md.D0YSnO-0.lean.js | 1 + .../dist/assets/en_index.md.DLHBzk0p.js | 1 - .../dist/assets/en_index.md.DLHBzk0p.lean.js | 1 - .../dist/assets/en_index.md.Desr9qKj.js | 1 + .../dist/assets/en_index.md.Desr9qKj.lean.js | 1 + .../dist/assets/group.md.Dq8c-B6Q.js | 1 + .../dist/assets/group.md.Dq8c-B6Q.lean.js | 1 + .../dist/assets/group.md.DzDibTYm.js | 1 - .../dist/assets/group.md.DzDibTYm.lean.js | 1 - .../dist/assets/index.md.BvESvLLC.js | 1 + .../dist/assets/index.md.BvESvLLC.lean.js | 1 + .../dist/assets/index.md.CZ0PenqN.js | 1 - .../dist/assets/index.md.CZ0PenqN.lean.js | 1 - .../dist/assets/plugins_index.md.C77qfhi7.js | 1 - .../assets/plugins_index.md.C77qfhi7.lean.js | 1 - ...tepress-plugin-announcement.md.BpIYDcaj.js | 105 - ...ss-plugin-announcement.md.BpIYDcaj.lean.js | 105 - .../dist/assets/recommend.md.CeGPklTl.js | 9 - .../dist/assets/recommend.md.CeGPklTl.lean.js | 9 - ...Yz6CQ1F.js => sop_gh-pages.md.DzfUoSj4.js} | 2 +- ...an.js => sop_gh-pages.md.DzfUoSj4.lean.js} | 2 +- .../dist/assets/sop_quickStart.md.LPO2ejvj.js | 11 - .../assets/sop_quickStart.md.LPO2ejvj.lean.js | 11 - .../.vitepress/dist/assets/style.BYQQYImP.css | 1 - .../.vitepress/dist/assets/style.FhNU4SnJ.css | 1 + .../test_abc_dynamic_1.0.0.md.COJMtzHd.js | 1 - ...test_abc_dynamic_1.0.0.md.COJMtzHd.lean.js | 1 - .../test_abc_dynamic_1.0.0.md.Cru4gaVx.js | 1 + ...test_abc_dynamic_1.0.0.md.Cru4gaVx.lean.js | 1 + .../test_abc_dynamic_2.0.0.md.D4GOwbCe.js | 1 - ...test_abc_dynamic_2.0.0.md.D4GOwbCe.lean.js | 1 - .../test_abc_dynamic_2.0.0.md.d0wI6Siw.js | 1 + ...test_abc_dynamic_2.0.0.md.d0wI6Siw.lean.js | 1 + ...md.BefMpZ4c.js => timeline.md.DTTpaz2I.js} | 2 +- ...c.lean.js => timeline.md.DTTpaz2I.lean.js} | 2 +- .../dist/assets/todo.md.Bimwj9m2.js | 1 - .../dist/assets/todo.md.Bimwj9m2.lean.js | 1 - docs/.vitepress/dist/config/Independent.html | 110 - docs/.vitepress/dist/config/component.html | 232 -- docs/.vitepress/dist/config/frontmatter.html | 209 - docs/.vitepress/dist/config/global.html | 1301 ------ .../.vitepress/dist/config/inline-matter.html | 63 - docs/.vitepress/dist/config/style.html | 120 - .../dist/css/card-hover-effects.html | 106 + .../dist/en/config/Independent.html | 51 - docs/.vitepress/dist/en/config/component.html | 22 +- .../dist/en/config/frontmatter.html | 22 +- docs/.vitepress/dist/en/config/global.html | 22 +- .../dist/en/config/inline-matter.html | 22 +- docs/.vitepress/dist/en/config/style.html | 22 +- docs/.vitepress/dist/en/example/index.html | 22 +- docs/.vitepress/dist/en/index.html | 20 +- docs/.vitepress/dist/feed.rss | 3555 +---------------- docs/.vitepress/dist/group.html | 20 +- docs/.vitepress/dist/hashmap.json | 2 +- docs/.vitepress/dist/index.html | 33 +- .../pagefind/fragment/en_dd7a8ab.pf_fragment | Bin 204 -> 0 bytes .../fragment/zh-cn_178de4a.pf_fragment | Bin 1639 -> 0 bytes .../fragment/zh-cn_20d3b74.pf_fragment | Bin 1258 -> 0 bytes .../fragment/zh-cn_43f8bcb.pf_fragment | Bin 15118 -> 0 bytes .../fragment/zh-cn_462a696.pf_fragment | Bin 1922 -> 0 bytes .../fragment/zh-cn_46623b1.pf_fragment | Bin 3477 -> 0 bytes .../fragment/zh-cn_4b83669.pf_fragment | Bin 4480 -> 0 bytes .../fragment/zh-cn_4be48b4.pf_fragment | Bin 1513 -> 0 bytes .../fragment/zh-cn_529c443.pf_fragment | Bin 2066 -> 0 bytes .../fragment/zh-cn_723c27c.pf_fragment | Bin 1752 -> 0 bytes .../fragment/zh-cn_aa35d48.pf_fragment | Bin 0 -> 309 bytes .../fragment/zh-cn_abb0384.pf_fragment | Bin 299 -> 0 bytes .../fragment/zh-cn_b45aa12.pf_fragment | Bin 940 -> 0 bytes .../fragment/zh-cn_cc5b13b.pf_fragment | Bin 0 -> 1742 bytes .../fragment/zh-cn_eaf2e9a.pf_fragment | Bin 3447 -> 0 bytes .../dist/pagefind/index/en_a5dde19.pf_index | Bin 253 -> 0 bytes .../dist/pagefind/index/en_d38be5a.pf_index | Bin 0 -> 199 bytes .../pagefind/index/zh-cn_2e4a344.pf_index | Bin 0 -> 8187 bytes .../pagefind/index/zh-cn_6af08f3.pf_index | Bin 42021 -> 0 bytes .../pagefind/index/zh-cn_df70481.pf_index | Bin 4104 -> 0 bytes .../dist/pagefind/pagefind-entry.json | 2 +- .../pagefind/pagefind.en_b1831db7e4.pf_meta | Bin 0 -> 108 bytes .../pagefind/pagefind.en_c960331cb5.pf_meta | Bin 128 -> 0 bytes .../pagefind.zh-cn_1dd5d81eedc50.pf_meta | Bin 0 -> 148 bytes .../pagefind.zh-cn_aff67bb6f6bcc.pf_meta | Bin 259 -> 0 bytes docs/.vitepress/dist/plugins/index.html | 28 - .../vitepress-plugin-announcement.html | 155 - docs/.vitepress/dist/recommend.html | 36 - docs/.vitepress/dist/sitemap.xml | 2 +- docs/.vitepress/dist/sop/gh-pages.html | 24 +- docs/.vitepress/dist/sop/quickStart.html | 61 - .../dist/test/abc/dynamic/1.0.0.html | 22 +- .../dist/test/abc/dynamic/2.0.0.html | 22 +- docs/.vitepress/dist/timeline.html | 20 +- docs/.vitepress/dist/todo.html | 28 - docs/css/card-hover-effects.md | 91 + node.js | 6 +- node.mjs | 6 +- 310 files changed, 2723 insertions(+), 11858 deletions(-) rename docs/.vitepress/cache/deps/{blockDiagram-47a8f1e6-LTGK65DM.js => blockDiagram-47a8f1e6-JBCSRNWW.js} (99%) rename docs/.vitepress/cache/deps/{blockDiagram-47a8f1e6-LTGK65DM.js.map => blockDiagram-47a8f1e6-JBCSRNWW.js.map} (99%) rename docs/.vitepress/cache/deps/{c4Diagram-5e436c10-YNV6CQNH.js => c4Diagram-5e436c10-EUIRZFMQ.js} (99%) rename docs/.vitepress/cache/deps/{c4Diagram-5e436c10-YNV6CQNH.js.map => c4Diagram-5e436c10-EUIRZFMQ.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-QRUXUPKG.js => chunk-4DYZU5O2.js} (97%) rename docs/.vitepress/cache/deps/{chunk-QRUXUPKG.js.map => chunk-4DYZU5O2.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-2AA25MXT.js => chunk-4ISJML4K.js} (96%) rename docs/.vitepress/cache/deps/{chunk-2AA25MXT.js.map => chunk-4ISJML4K.js.map} (98%) rename docs/.vitepress/cache/deps/{chunk-R3VODJPJ.js => chunk-5CWYRM7T.js} (99%) rename docs/.vitepress/cache/deps/{chunk-R3VODJPJ.js.map => chunk-5CWYRM7T.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-4BXPPE67.js => chunk-7Q2BK7NI.js} (71%) rename docs/.vitepress/cache/deps/{chunk-4BXPPE67.js.map => chunk-7Q2BK7NI.js.map} (84%) rename docs/.vitepress/cache/deps/{chunk-O3YQPVDG.js => chunk-A2KJKGLQ.js} (71%) rename docs/.vitepress/cache/deps/{chunk-O3YQPVDG.js.map => chunk-A2KJKGLQ.js.map} (83%) create mode 100644 docs/.vitepress/cache/deps/chunk-A6QXRUVC.js rename docs/.vitepress/cache/deps/{chunk-XWZ73NBO.js.map => chunk-A6QXRUVC.js.map} (76%) rename docs/.vitepress/cache/deps/{chunk-2EKZYMCX.js => chunk-AZ3MSDYO.js} (99%) rename docs/.vitepress/cache/deps/{chunk-2EKZYMCX.js.map => chunk-AZ3MSDYO.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-QE6SGBYU.js => chunk-B5HJZSKN.js} (98%) rename docs/.vitepress/cache/deps/{chunk-QE6SGBYU.js.map => chunk-B5HJZSKN.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-6E3MYWKG.js => chunk-DEECTGUT.js} (98%) rename docs/.vitepress/cache/deps/{chunk-6E3MYWKG.js.map => chunk-DEECTGUT.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-K7JYRSNN.js => chunk-EYFRCF3X.js} (99%) rename docs/.vitepress/cache/deps/{chunk-K7JYRSNN.js.map => chunk-EYFRCF3X.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-RPTJ2D5Y.js => chunk-FVOCDV6K.js} (99%) rename docs/.vitepress/cache/deps/{chunk-RPTJ2D5Y.js.map => chunk-FVOCDV6K.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-BJ4J42HH.js => chunk-KEDGJU25.js} (88%) rename docs/.vitepress/cache/deps/{chunk-BJ4J42HH.js.map => chunk-KEDGJU25.js.map} (96%) rename docs/.vitepress/cache/deps/{chunk-ORKV5D4O.js => chunk-KPMAGHCB.js} (99%) rename docs/.vitepress/cache/deps/{chunk-ORKV5D4O.js.map => chunk-KPMAGHCB.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-SSSTV3QS.js => chunk-NKPCMO6O.js} (99%) rename docs/.vitepress/cache/deps/{chunk-SSSTV3QS.js.map => chunk-NKPCMO6O.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-IX6IAVFT.js => chunk-PGVY5FGH.js} (99%) rename docs/.vitepress/cache/deps/{chunk-IX6IAVFT.js.map => chunk-PGVY5FGH.js.map} (99%) create mode 100644 docs/.vitepress/cache/deps/chunk-QJSAEEOK.js rename docs/.vitepress/cache/deps/{chunk-XP7M6FJS.js.map => chunk-QJSAEEOK.js.map} (72%) rename docs/.vitepress/cache/deps/{chunk-TPMOBHCD.js => chunk-QL2ECDH6.js} (52%) rename docs/.vitepress/cache/deps/{chunk-TPMOBHCD.js.map => chunk-QL2ECDH6.js.map} (79%) rename docs/.vitepress/cache/deps/{chunk-HCVQ6SZM.js => chunk-QO2ST6ZD.js} (99%) rename docs/.vitepress/cache/deps/{chunk-HCVQ6SZM.js.map => chunk-QO2ST6ZD.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-VRFHTUXE.js => chunk-QOJECQV6.js} (99%) rename docs/.vitepress/cache/deps/{chunk-VRFHTUXE.js.map => chunk-QOJECQV6.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-3Q2RJGHC.js => chunk-RQWEZMV7.js} (99%) rename docs/.vitepress/cache/deps/{chunk-3Q2RJGHC.js.map => chunk-RQWEZMV7.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-GQSU3LSO.js => chunk-S7YHCZXR.js} (99%) rename docs/.vitepress/cache/deps/{chunk-GQSU3LSO.js.map => chunk-S7YHCZXR.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-PAHP36ZV.js => chunk-SASBWADG.js} (67%) rename docs/.vitepress/cache/deps/{chunk-PAHP36ZV.js.map => chunk-SASBWADG.js.map} (83%) rename docs/.vitepress/cache/deps/{chunk-32UKBFDL.js => chunk-UUTVXTY5.js} (93%) rename docs/.vitepress/cache/deps/{chunk-32UKBFDL.js.map => chunk-UUTVXTY5.js.map} (97%) rename docs/.vitepress/cache/deps/{chunk-F24SW226.js => chunk-VSZREH27.js} (99%) rename docs/.vitepress/cache/deps/{chunk-F24SW226.js.map => chunk-VSZREH27.js.map} (99%) rename docs/.vitepress/cache/deps/{chunk-QD7GYJLE.js => chunk-WUGULRU7.js} (94%) rename docs/.vitepress/cache/deps/{chunk-QD7GYJLE.js.map => chunk-WUGULRU7.js.map} (97%) delete mode 100644 docs/.vitepress/cache/deps/chunk-XP7M6FJS.js delete mode 100644 docs/.vitepress/cache/deps/chunk-XWZ73NBO.js rename docs/.vitepress/cache/deps/{classDiagram-52c92d29-JM3HZUPW.js => classDiagram-52c92d29-2HTP4FVU.js} (97%) rename docs/.vitepress/cache/deps/{classDiagram-52c92d29-JM3HZUPW.js.map => classDiagram-52c92d29-2HTP4FVU.js.map} (99%) rename docs/.vitepress/cache/deps/{classDiagram-v2-70fd67bc-4E5BJ4Z5.js => classDiagram-v2-70fd67bc-GDNSGQDH.js} (95%) rename docs/.vitepress/cache/deps/{classDiagram-v2-70fd67bc-4E5BJ4Z5.js.map => classDiagram-v2-70fd67bc-GDNSGQDH.js.map} (99%) rename docs/.vitepress/cache/deps/{erDiagram-59d1cdbd-LIG3CFIU.js => erDiagram-59d1cdbd-BGZWS5WJ.js} (99%) rename docs/.vitepress/cache/deps/{erDiagram-59d1cdbd-LIG3CFIU.js.map => erDiagram-59d1cdbd-BGZWS5WJ.js.map} (99%) rename docs/.vitepress/cache/deps/{flowDiagram-b36fdd76-SPZXGXCV.js => flowDiagram-b36fdd76-YDYKKQ7O.js} (98%) rename docs/.vitepress/cache/deps/{flowDiagram-b36fdd76-SPZXGXCV.js.map => flowDiagram-b36fdd76-YDYKKQ7O.js.map} (99%) rename docs/.vitepress/cache/deps/{flowDiagram-v2-74c8dbcc-B4XFK4IQ.js => flowDiagram-v2-74c8dbcc-YX25K2A4.js} (51%) rename docs/.vitepress/cache/deps/{flowDiagram-v2-74c8dbcc-B4XFK4IQ.js.map => flowDiagram-v2-74c8dbcc-YX25K2A4.js.map} (92%) rename docs/.vitepress/cache/deps/{flowchart-elk-definition-8cc78aa3-ZC2T3HAR.js => flowchart-elk-definition-8cc78aa3-7GBQDVN7.js} (99%) rename docs/.vitepress/cache/deps/{flowchart-elk-definition-8cc78aa3-ZC2T3HAR.js.map => flowchart-elk-definition-8cc78aa3-7GBQDVN7.js.map} (99%) rename docs/.vitepress/cache/deps/{ganttDiagram-066785da-QIHTMBPU.js => ganttDiagram-066785da-7ADDO7KR.js} (99%) rename docs/.vitepress/cache/deps/{ganttDiagram-066785da-QIHTMBPU.js.map => ganttDiagram-066785da-7ADDO7KR.js.map} (99%) rename docs/.vitepress/cache/deps/{giscus-aTimukGI-7LNLJ6JP.js => giscus-aTimukGI-FSYE2RDB.js} (99%) rename docs/.vitepress/cache/deps/{giscus-aTimukGI-7LNLJ6JP.js.map => giscus-aTimukGI-FSYE2RDB.js.map} (99%) rename docs/.vitepress/cache/deps/{gitGraphDiagram-75f65184-RASVDRS4.js => gitGraphDiagram-75f65184-FAT55AD7.js} (99%) rename docs/.vitepress/cache/deps/{gitGraphDiagram-75f65184-RASVDRS4.js.map => gitGraphDiagram-75f65184-FAT55AD7.js.map} (99%) rename docs/.vitepress/cache/deps/{infoDiagram-f5302396-MESJJMXU.js => infoDiagram-f5302396-TZKHGBFO.js} (99%) rename docs/.vitepress/cache/deps/{infoDiagram-f5302396-MESJJMXU.js.map => infoDiagram-f5302396-TZKHGBFO.js.map} (99%) rename docs/.vitepress/cache/deps/{journeyDiagram-6eaaa22b-67FR5QKB.js => journeyDiagram-6eaaa22b-FKUU4CMD.js} (99%) rename docs/.vitepress/cache/deps/{journeyDiagram-6eaaa22b-67FR5QKB.js.map => journeyDiagram-6eaaa22b-FKUU4CMD.js.map} (99%) rename docs/.vitepress/cache/deps/{katex-79a689fb-D5I24NMG.js => katex-79a689fb-SQTEGBCO.js} (99%) rename docs/.vitepress/cache/deps/{katex-79a689fb-D5I24NMG.js.map => katex-79a689fb-SQTEGBCO.js.map} (99%) rename docs/.vitepress/cache/deps/{mindmap-definition-b3e57be3-PZFK3DTH.js => mindmap-definition-b3e57be3-2E2LNBIA.js} (99%) rename docs/.vitepress/cache/deps/{mindmap-definition-b3e57be3-PZFK3DTH.js.map => mindmap-definition-b3e57be3-2E2LNBIA.js.map} (99%) rename docs/.vitepress/cache/deps/{pieDiagram-520b736b-E7P35XWC.js => pieDiagram-520b736b-HWO7GESP.js} (98%) rename docs/.vitepress/cache/deps/{pieDiagram-520b736b-E7P35XWC.js.map => pieDiagram-520b736b-HWO7GESP.js.map} (99%) rename docs/.vitepress/cache/deps/{quadrantDiagram-74843a00-3A3VNDXW.js => quadrantDiagram-74843a00-J7CRG5AD.js} (99%) rename docs/.vitepress/cache/deps/{quadrantDiagram-74843a00-3A3VNDXW.js.map => quadrantDiagram-74843a00-J7CRG5AD.js.map} (99%) rename docs/.vitepress/cache/deps/{requirementDiagram-074fa166-QATS2N4U.js => requirementDiagram-074fa166-DW46LFRY.js} (99%) rename docs/.vitepress/cache/deps/{requirementDiagram-074fa166-QATS2N4U.js.map => requirementDiagram-074fa166-DW46LFRY.js.map} (99%) rename docs/.vitepress/cache/deps/{sankeyDiagram-99ff93d7-3WUXFAIK.js => sankeyDiagram-99ff93d7-LR4BSUCJ.js} (99%) rename docs/.vitepress/cache/deps/{sankeyDiagram-99ff93d7-3WUXFAIK.js.map => sankeyDiagram-99ff93d7-LR4BSUCJ.js.map} (99%) rename docs/.vitepress/cache/deps/{sequenceDiagram-9f7b83ce-A464LS6E.js => sequenceDiagram-9f7b83ce-NLMYE573.js} (99%) rename docs/.vitepress/cache/deps/{sequenceDiagram-9f7b83ce-A464LS6E.js.map => sequenceDiagram-9f7b83ce-NLMYE573.js.map} (99%) rename docs/.vitepress/cache/deps/{stateDiagram-728b288d-CY2I5AP6.js => stateDiagram-728b288d-E5CR7H3T.js} (98%) rename docs/.vitepress/cache/deps/{stateDiagram-728b288d-CY2I5AP6.js.map => stateDiagram-728b288d-E5CR7H3T.js.map} (99%) rename docs/.vitepress/cache/deps/{stateDiagram-v2-2fae770b-XWETV5FA.js => stateDiagram-v2-2fae770b-5XR5UF47.js} (95%) rename docs/.vitepress/cache/deps/{stateDiagram-v2-2fae770b-XWETV5FA.js.map => stateDiagram-v2-2fae770b-5XR5UF47.js.map} (99%) rename docs/.vitepress/cache/deps/{timeline-definition-c33fa219-YVNRSXOQ.js => timeline-definition-c33fa219-KH27M72V.js} (99%) rename docs/.vitepress/cache/deps/{timeline-definition-c33fa219-YVNRSXOQ.js.map => timeline-definition-c33fa219-KH27M72V.js.map} (99%) rename docs/.vitepress/cache/deps/{xychartDiagram-a93c88e9-GEMR2YZ4.js => xychartDiagram-a93c88e9-BKQDCIGF.js} (99%) rename docs/.vitepress/cache/deps/{xychartDiagram-a93c88e9-GEMR2YZ4.js.map => xychartDiagram-a93c88e9-BKQDCIGF.js.map} (99%) delete mode 100644 docs/.vitepress/dist/assets/abc_test.md.DJwIa-r6.js delete mode 100644 docs/.vitepress/dist/assets/abc_test.md.DJwIa-r6.lean.js create mode 100644 docs/.vitepress/dist/assets/abc_test.md.DPlr1ot-.js create mode 100644 docs/.vitepress/dist/assets/abc_test.md.DPlr1ot-.lean.js create mode 100644 docs/.vitepress/dist/assets/about.md._0OEjm8U.js create mode 100644 docs/.vitepress/dist/assets/about.md._0OEjm8U.lean.js delete mode 100644 docs/.vitepress/dist/assets/about.md.gNhT7N0n.js delete mode 100644 docs/.vitepress/dist/assets/about.md.gNhT7N0n.lean.js rename docs/.vitepress/dist/assets/{app.DYYlAUVq.js => app.1UWUMJVz.js} (53%) delete mode 100644 docs/.vitepress/dist/assets/chunks/arc-bd4de8da.BOClgpfn.js create mode 100644 docs/.vitepress/dist/assets/chunks/arc-bd4de8da.BefwZDcZ.js rename docs/.vitepress/dist/assets/chunks/{blockDiagram-47a8f1e6.B-MbMj3E.js => blockDiagram-47a8f1e6.U1hXFwjS.js} (73%) rename docs/.vitepress/dist/assets/chunks/{c4Diagram-5e436c10.CPnn9I53.js => c4Diagram-5e436c10.BY6aqwww.js} (99%) create mode 100644 docs/.vitepress/dist/assets/chunks/channel-34943bd6.DILSWzgu.js delete mode 100644 docs/.vitepress/dist/assets/chunks/channel-34943bd6.cZCd3lYP.js create mode 100644 docs/.vitepress/dist/assets/chunks/classDiagram-52c92d29.Bj3UIpMA.js delete mode 100644 docs/.vitepress/dist/assets/chunks/classDiagram-52c92d29.DgOlI10Y.js rename docs/.vitepress/dist/assets/chunks/{classDiagram-v2-70fd67bc.DTmZxUwM.js => classDiagram-v2-70fd67bc.j578kDWU.js} (87%) create mode 100644 docs/.vitepress/dist/assets/chunks/clone-64cfc140.D0I0Txgo.js delete mode 100644 docs/.vitepress/dist/assets/chunks/clone-64cfc140.roCrZnLn.js rename docs/.vitepress/dist/assets/chunks/{createText-a21f6bb1.CZWIPaLK.js => createText-a21f6bb1.D85uhAwY.js} (99%) create mode 100644 docs/.vitepress/dist/assets/chunks/edges-56c921ab.CC__vGx9.js delete mode 100644 docs/.vitepress/dist/assets/chunks/edges-56c921ab.Cy67cF_i.js rename docs/.vitepress/dist/assets/chunks/{erDiagram-59d1cdbd.BMvBVUAo.js => erDiagram-59d1cdbd.DxqQcfg0.js} (78%) rename docs/.vitepress/dist/assets/chunks/{flowDb-ce16de8c.Cdm9qi2m.js => flowDb-ce16de8c.DunUa5CB.js} (52%) rename docs/.vitepress/dist/assets/chunks/{flowDiagram-b36fdd76.BsPmgw1A.js => flowDiagram-b36fdd76.Djk8LwrC.js} (97%) delete mode 100644 docs/.vitepress/dist/assets/chunks/flowDiagram-v2-74c8dbcc.BaPQlEcS.js create mode 100644 docs/.vitepress/dist/assets/chunks/flowDiagram-v2-74c8dbcc.Cxlh4unJ.js rename docs/.vitepress/dist/assets/chunks/{flowchart-elk-definition-8cc78aa3.C6dSdXq8.js => flowchart-elk-definition-8cc78aa3.BHrfJT4q.js} (89%) delete mode 100644 docs/.vitepress/dist/assets/chunks/framework.Bjg6B_ll.js create mode 100644 docs/.vitepress/dist/assets/chunks/framework.DDZzcMiv.js rename docs/.vitepress/dist/assets/chunks/{ganttDiagram-066785da.B5AHk3K5.js => ganttDiagram-066785da.BQihE-5d.js} (54%) rename docs/.vitepress/dist/assets/chunks/{gitGraphDiagram-75f65184.BJwEM2Oy.js => gitGraphDiagram-75f65184.DDp0yIKM.js} (59%) delete mode 100644 docs/.vitepress/dist/assets/chunks/graph-cdf81e0e.DABYnhNP.js create mode 100644 docs/.vitepress/dist/assets/chunks/graph-cdf81e0e.Dn6dE90r.js rename docs/.vitepress/dist/assets/chunks/{index-ade8a1b6.DtVYymdw.js => index-ade8a1b6.CykR3ikL.js} (96%) rename docs/.vitepress/dist/assets/chunks/{infoDiagram-f5302396.B6MhkxsU.js => infoDiagram-f5302396.CNgiOU4d.js} (75%) rename docs/.vitepress/dist/assets/chunks/{journeyDiagram-6eaaa22b.BnT4o9Q9.js => journeyDiagram-6eaaa22b.BtvIp9LC.js} (94%) delete mode 100644 docs/.vitepress/dist/assets/chunks/layout-833f5d09.BywCRs06.js create mode 100644 docs/.vitepress/dist/assets/chunks/layout-833f5d09.DyfOX9Px.js rename docs/.vitepress/dist/assets/chunks/{line-ef4db9e4.DWre7D52.js => line-ef4db9e4.BqgQ_DCg.js} (93%) rename docs/.vitepress/dist/assets/chunks/{linear-cbf4fe8b.D2CBBOHI.js => linear-cbf4fe8b.CSvU6RD3.js} (79%) create mode 100644 docs/.vitepress/dist/assets/chunks/metadata.57208b12.js delete mode 100644 docs/.vitepress/dist/assets/chunks/metadata.57bb6223.js rename docs/.vitepress/dist/assets/chunks/{mindmap-definition-b3e57be3.BRqpQX2g.js => mindmap-definition-b3e57be3.DNgZngUO.js} (99%) rename docs/.vitepress/dist/assets/chunks/{pieDiagram-520b736b.Nj6w3k-m.js => pieDiagram-520b736b.CfRHtMhk.js} (60%) rename docs/.vitepress/dist/assets/chunks/{quadrantDiagram-74843a00.CP0BElNx.js => quadrantDiagram-74843a00.Epyv_iew.js} (75%) rename docs/.vitepress/dist/assets/chunks/{requirementDiagram-074fa166.hCs_x296.js => requirementDiagram-074fa166.D2pXLs_P.js} (90%) rename docs/.vitepress/dist/assets/chunks/{sankeyDiagram-99ff93d7.D0G_iIUj.js => sankeyDiagram-99ff93d7.WlPIMn4Y.js} (78%) rename docs/.vitepress/dist/assets/chunks/{sequenceDiagram-9f7b83ce.Djlg2leH.js => sequenceDiagram-9f7b83ce.DynCM6DZ.js} (82%) create mode 100644 docs/.vitepress/dist/assets/chunks/stateDiagram-728b288d.CDx7sFqB.js delete mode 100644 docs/.vitepress/dist/assets/chunks/stateDiagram-728b288d.Dlvl1chu.js rename docs/.vitepress/dist/assets/chunks/{stateDiagram-v2-2fae770b.DbUU5h9z.js => stateDiagram-v2-2fae770b.D0Lp89ss.js} (81%) rename docs/.vitepress/dist/assets/chunks/{styles-03a776f2.DgFXfKnS.js => styles-03a776f2.Dhn71ixJ.js} (67%) rename docs/.vitepress/dist/assets/chunks/{styles-1fc466fb.BKTJ24TT.js => styles-1fc466fb.BFUOQfpx.js} (95%) delete mode 100644 docs/.vitepress/dist/assets/chunks/styles-91e7de3c.CGuXQQZ4.js create mode 100644 docs/.vitepress/dist/assets/chunks/styles-91e7de3c.ClnPce6H.js create mode 100644 docs/.vitepress/dist/assets/chunks/svgDrawCommon-00c8c713.D8s0UoE4.js delete mode 100644 docs/.vitepress/dist/assets/chunks/svgDrawCommon-00c8c713.eMbYKOVO.js rename docs/.vitepress/dist/assets/chunks/{theme.CDTg8wPK.js => theme.Cd6ZJRuo.js} (98%) rename docs/.vitepress/dist/assets/chunks/{timeline-definition-c33fa219.pl-R218a.js => timeline-definition-c33fa219.DlcebH44.js} (99%) rename docs/.vitepress/dist/assets/chunks/{xychartDiagram-a93c88e9.C5QIUNL1.js => xychartDiagram-a93c88e9.BWW06dYT.js} (75%) delete mode 100644 docs/.vitepress/dist/assets/config_Independent.md.BPqM7W8_.js delete mode 100644 docs/.vitepress/dist/assets/config_Independent.md.BPqM7W8_.lean.js delete mode 100644 docs/.vitepress/dist/assets/config_component.md.CPTkOgLr.js delete mode 100644 docs/.vitepress/dist/assets/config_component.md.CPTkOgLr.lean.js delete mode 100644 docs/.vitepress/dist/assets/config_frontmatter.md.cdTsOORh.js delete mode 100644 docs/.vitepress/dist/assets/config_frontmatter.md.cdTsOORh.lean.js delete mode 100644 docs/.vitepress/dist/assets/config_global.md.O-HGo3xm.js delete mode 100644 docs/.vitepress/dist/assets/config_global.md.O-HGo3xm.lean.js delete mode 100644 docs/.vitepress/dist/assets/config_inline-matter.md.B_DYi0dx.js delete mode 100644 docs/.vitepress/dist/assets/config_inline-matter.md.B_DYi0dx.lean.js delete mode 100644 docs/.vitepress/dist/assets/config_style.md.DfsGWhaI.js delete mode 100644 docs/.vitepress/dist/assets/config_style.md.DfsGWhaI.lean.js create mode 100644 docs/.vitepress/dist/assets/css_card-hover-effects.md.CiEb77rR.js create mode 100644 docs/.vitepress/dist/assets/css_card-hover-effects.md.CiEb77rR.lean.js delete mode 100644 docs/.vitepress/dist/assets/en_config_Independent.md.CJxW4vpl.js delete mode 100644 docs/.vitepress/dist/assets/en_config_Independent.md.CJxW4vpl.lean.js delete mode 100644 docs/.vitepress/dist/assets/en_config_component.md.DuXt7EDl.js delete mode 100644 docs/.vitepress/dist/assets/en_config_component.md.DuXt7EDl.lean.js create mode 100644 docs/.vitepress/dist/assets/en_config_component.md.TPJMvM1o.js create mode 100644 docs/.vitepress/dist/assets/en_config_component.md.TPJMvM1o.lean.js rename docs/.vitepress/dist/assets/{en_config_frontmatter.md.D5IPsHi6.js => en_config_frontmatter.md.C5fRASGb.js} (52%) rename docs/.vitepress/dist/assets/{en_config_frontmatter.md.D5IPsHi6.lean.js => en_config_frontmatter.md.C5fRASGb.lean.js} (52%) delete mode 100644 docs/.vitepress/dist/assets/en_config_global.md.BjJROaaD.js delete mode 100644 docs/.vitepress/dist/assets/en_config_global.md.BjJROaaD.lean.js create mode 100644 docs/.vitepress/dist/assets/en_config_global.md.Cjx76rFH.js create mode 100644 docs/.vitepress/dist/assets/en_config_global.md.Cjx76rFH.lean.js rename docs/.vitepress/dist/assets/{en_config_inline-matter.md.DdTUGBq5.js => en_config_inline-matter.md.wNdxgEBn.js} (50%) rename docs/.vitepress/dist/assets/{en_config_inline-matter.md.DdTUGBq5.lean.js => en_config_inline-matter.md.wNdxgEBn.lean.js} (50%) rename docs/.vitepress/dist/assets/{en_config_style.md.Bla9rGqF.js => en_config_style.md.bbZTHtje.js} (50%) rename docs/.vitepress/dist/assets/{en_config_style.md.Bla9rGqF.lean.js => en_config_style.md.bbZTHtje.lean.js} (50%) delete mode 100644 docs/.vitepress/dist/assets/en_example_index.md.Cs-wHshc.js delete mode 100644 docs/.vitepress/dist/assets/en_example_index.md.Cs-wHshc.lean.js create mode 100644 docs/.vitepress/dist/assets/en_example_index.md.D0YSnO-0.js create mode 100644 docs/.vitepress/dist/assets/en_example_index.md.D0YSnO-0.lean.js delete mode 100644 docs/.vitepress/dist/assets/en_index.md.DLHBzk0p.js delete mode 100644 docs/.vitepress/dist/assets/en_index.md.DLHBzk0p.lean.js create mode 100644 docs/.vitepress/dist/assets/en_index.md.Desr9qKj.js create mode 100644 docs/.vitepress/dist/assets/en_index.md.Desr9qKj.lean.js create mode 100644 docs/.vitepress/dist/assets/group.md.Dq8c-B6Q.js create mode 100644 docs/.vitepress/dist/assets/group.md.Dq8c-B6Q.lean.js delete mode 100644 docs/.vitepress/dist/assets/group.md.DzDibTYm.js delete mode 100644 docs/.vitepress/dist/assets/group.md.DzDibTYm.lean.js create mode 100644 docs/.vitepress/dist/assets/index.md.BvESvLLC.js create mode 100644 docs/.vitepress/dist/assets/index.md.BvESvLLC.lean.js delete mode 100644 docs/.vitepress/dist/assets/index.md.CZ0PenqN.js delete mode 100644 docs/.vitepress/dist/assets/index.md.CZ0PenqN.lean.js delete mode 100644 docs/.vitepress/dist/assets/plugins_index.md.C77qfhi7.js delete mode 100644 docs/.vitepress/dist/assets/plugins_index.md.C77qfhi7.lean.js delete mode 100644 docs/.vitepress/dist/assets/plugins_vitepress-plugin-announcement.md.BpIYDcaj.js delete mode 100644 docs/.vitepress/dist/assets/plugins_vitepress-plugin-announcement.md.BpIYDcaj.lean.js delete mode 100644 docs/.vitepress/dist/assets/recommend.md.CeGPklTl.js delete mode 100644 docs/.vitepress/dist/assets/recommend.md.CeGPklTl.lean.js rename docs/.vitepress/dist/assets/{sop_gh-pages.md.BYz6CQ1F.js => sop_gh-pages.md.DzfUoSj4.js} (92%) rename docs/.vitepress/dist/assets/{sop_gh-pages.md.BYz6CQ1F.lean.js => sop_gh-pages.md.DzfUoSj4.lean.js} (92%) delete mode 100644 docs/.vitepress/dist/assets/sop_quickStart.md.LPO2ejvj.js delete mode 100644 docs/.vitepress/dist/assets/sop_quickStart.md.LPO2ejvj.lean.js delete mode 100644 docs/.vitepress/dist/assets/style.BYQQYImP.css create mode 100644 docs/.vitepress/dist/assets/style.FhNU4SnJ.css delete mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_1.0.0.md.COJMtzHd.js delete mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_1.0.0.md.COJMtzHd.lean.js create mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_1.0.0.md.Cru4gaVx.js create mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_1.0.0.md.Cru4gaVx.lean.js delete mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_2.0.0.md.D4GOwbCe.js delete mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_2.0.0.md.D4GOwbCe.lean.js create mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_2.0.0.md.d0wI6Siw.js create mode 100644 docs/.vitepress/dist/assets/test_abc_dynamic_2.0.0.md.d0wI6Siw.lean.js rename docs/.vitepress/dist/assets/{timeline.md.BefMpZ4c.js => timeline.md.DTTpaz2I.js} (62%) rename docs/.vitepress/dist/assets/{timeline.md.BefMpZ4c.lean.js => timeline.md.DTTpaz2I.lean.js} (62%) delete mode 100644 docs/.vitepress/dist/assets/todo.md.Bimwj9m2.js delete mode 100644 docs/.vitepress/dist/assets/todo.md.Bimwj9m2.lean.js delete mode 100644 docs/.vitepress/dist/config/Independent.html delete mode 100644 docs/.vitepress/dist/config/component.html delete mode 100644 docs/.vitepress/dist/config/frontmatter.html delete mode 100644 docs/.vitepress/dist/config/global.html delete mode 100644 docs/.vitepress/dist/config/inline-matter.html delete mode 100644 docs/.vitepress/dist/config/style.html create mode 100644 docs/.vitepress/dist/css/card-hover-effects.html delete mode 100644 docs/.vitepress/dist/en/config/Independent.html delete mode 100644 docs/.vitepress/dist/pagefind/fragment/en_dd7a8ab.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_178de4a.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_20d3b74.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_43f8bcb.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_462a696.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_46623b1.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_4b83669.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_4be48b4.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_529c443.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_723c27c.pf_fragment create mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_aa35d48.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_abb0384.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_b45aa12.pf_fragment create mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_cc5b13b.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/fragment/zh-cn_eaf2e9a.pf_fragment delete mode 100644 docs/.vitepress/dist/pagefind/index/en_a5dde19.pf_index create mode 100644 docs/.vitepress/dist/pagefind/index/en_d38be5a.pf_index create mode 100644 docs/.vitepress/dist/pagefind/index/zh-cn_2e4a344.pf_index delete mode 100644 docs/.vitepress/dist/pagefind/index/zh-cn_6af08f3.pf_index delete mode 100644 docs/.vitepress/dist/pagefind/index/zh-cn_df70481.pf_index create mode 100644 docs/.vitepress/dist/pagefind/pagefind.en_b1831db7e4.pf_meta delete mode 100644 docs/.vitepress/dist/pagefind/pagefind.en_c960331cb5.pf_meta create mode 100644 docs/.vitepress/dist/pagefind/pagefind.zh-cn_1dd5d81eedc50.pf_meta delete mode 100644 docs/.vitepress/dist/pagefind/pagefind.zh-cn_aff67bb6f6bcc.pf_meta delete mode 100644 docs/.vitepress/dist/plugins/index.html delete mode 100644 docs/.vitepress/dist/plugins/vitepress-plugin-announcement.html delete mode 100644 docs/.vitepress/dist/recommend.html delete mode 100644 docs/.vitepress/dist/sop/quickStart.html delete mode 100644 docs/.vitepress/dist/todo.html create mode 100644 docs/css/card-hover-effects.md diff --git a/docs/.vitepress/cache/deps/@element-plus_icons-vue.js b/docs/.vitepress/cache/deps/@element-plus_icons-vue.js index 5006c8e4..00b6d152 100644 --- a/docs/.vitepress/cache/deps/@element-plus_icons-vue.js +++ b/docs/.vitepress/cache/deps/@element-plus_icons-vue.js @@ -292,8 +292,8 @@ import { wind_power_default, zoom_in_default, zoom_out_default -} from "./chunk-K7JYRSNN.js"; -import "./chunk-SSSTV3QS.js"; +} from "./chunk-EYFRCF3X.js"; +import "./chunk-NKPCMO6O.js"; import "./chunk-5WRI5ZAA.js"; export { add_location_default as AddLocation, diff --git a/docs/.vitepress/cache/deps/@giscus_vue.js b/docs/.vitepress/cache/deps/@giscus_vue.js index f53f296b..382fccee 100644 --- a/docs/.vitepress/cache/deps/@giscus_vue.js +++ b/docs/.vitepress/cache/deps/@giscus_vue.js @@ -5,10 +5,10 @@ import { onMounted, openBlock, ref -} from "./chunk-SSSTV3QS.js"; +} from "./chunk-NKPCMO6O.js"; import "./chunk-5WRI5ZAA.js"; -// node_modules/@giscus/vue/dist/index.mjs +// node_modules/.pnpm/@giscus+vue@2.4.0_vue@3.5.13_typescript@5.7.2_/node_modules/@giscus/vue/dist/index.mjs var d = ["id", "host", "repo", "repoid", "category", "categoryid", "mapping", "term", "strict", "reactionsenabled", "emitmetadata", "inputposition", "theme", "lang", "loading"]; var l = defineComponent({ __name: "Giscus", @@ -32,7 +32,7 @@ var l = defineComponent({ setup(s) { const t = ref(false); return onMounted(() => { - t.value = true, import("./giscus-aTimukGI-7LNLJ6JP.js"); + t.value = true, import("./giscus-aTimukGI-FSYE2RDB.js"); }), (e, m) => t.value ? (openBlock(), createElementBlock("giscus-widget", { key: 0, id: e.id, diff --git a/docs/.vitepress/cache/deps/@giscus_vue.js.map b/docs/.vitepress/cache/deps/@giscus_vue.js.map index 2f22ccee..3f3540f3 100644 --- a/docs/.vitepress/cache/deps/@giscus_vue.js.map +++ b/docs/.vitepress/cache/deps/@giscus_vue.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/@giscus/vue/dist/index.mjs"], + "sources": ["../../../../node_modules/.pnpm/@giscus+vue@2.4.0_vue@3.5.13_typescript@5.7.2_/node_modules/@giscus/vue/dist/index.mjs"], "sourcesContent": ["import { defineComponent as o, ref as a, onMounted as i, openBlock as n, createElementBlock as r, createCommentVNode as p } from \"vue\";\nconst d = [\"id\", \"host\", \"repo\", \"repoid\", \"category\", \"categoryid\", \"mapping\", \"term\", \"strict\", \"reactionsenabled\", \"emitmetadata\", \"inputposition\", \"theme\", \"lang\", \"loading\"], l = /* @__PURE__ */ o({\n __name: \"Giscus\",\n props: {\n id: {},\n host: {},\n repo: {},\n repoId: {},\n category: {},\n categoryId: {},\n mapping: {},\n term: {},\n theme: {},\n strict: {},\n reactionsEnabled: {},\n emitMetadata: {},\n inputPosition: {},\n lang: {},\n loading: {}\n },\n setup(s) {\n const t = a(!1);\n return i(() => {\n t.value = !0, import(\"./giscus-aTimukGI.mjs\");\n }), (e, m) => t.value ? (n(), r(\"giscus-widget\", {\n key: 0,\n id: e.id,\n host: e.host,\n repo: e.repo,\n repoid: e.repoId,\n category: e.category,\n categoryid: e.categoryId,\n mapping: e.mapping,\n term: e.term,\n strict: e.strict,\n reactionsenabled: e.reactionsEnabled,\n emitmetadata: e.emitMetadata,\n inputposition: e.inputPosition,\n theme: e.theme,\n lang: e.lang,\n loading: e.loading\n }, null, 8, d)) : p(\"\", !0);\n }\n});\nexport {\n l as default\n};\n"], "mappings": ";;;;;;;;;;;AACA,IAAM,IAAI,CAAC,MAAM,QAAQ,QAAQ,UAAU,YAAY,cAAc,WAAW,QAAQ,UAAU,oBAAoB,gBAAgB,iBAAiB,SAAS,QAAQ,SAAS;AAAjL,IAAoL,IAAoB,gBAAE;AAAA,EACxM,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,IAAI,CAAC;AAAA,IACL,MAAM,CAAC;AAAA,IACP,MAAM,CAAC;AAAA,IACP,QAAQ,CAAC;AAAA,IACT,UAAU,CAAC;AAAA,IACX,YAAY,CAAC;AAAA,IACb,SAAS,CAAC;AAAA,IACV,MAAM,CAAC;AAAA,IACP,OAAO,CAAC;AAAA,IACR,QAAQ,CAAC;AAAA,IACT,kBAAkB,CAAC;AAAA,IACnB,cAAc,CAAC;AAAA,IACf,eAAe,CAAC;AAAA,IAChB,MAAM,CAAC;AAAA,IACP,SAAS,CAAC;AAAA,EACZ;AAAA,EACA,MAAM,GAAG;AACP,UAAM,IAAI,IAAE,KAAE;AACd,WAAO,UAAE,MAAM;AACb,QAAE,QAAQ,MAAI,OAAO,+BAAuB;AAAA,IAC9C,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,UAAE,GAAG,mBAAE,iBAAiB;AAAA,MAC/C,KAAK;AAAA,MACL,IAAI,EAAE;AAAA,MACN,MAAM,EAAE;AAAA,MACR,MAAM,EAAE;AAAA,MACR,QAAQ,EAAE;AAAA,MACV,UAAU,EAAE;AAAA,MACZ,YAAY,EAAE;AAAA,MACd,SAAS,EAAE;AAAA,MACX,MAAM,EAAE;AAAA,MACR,QAAQ,EAAE;AAAA,MACV,kBAAkB,EAAE;AAAA,MACpB,cAAc,EAAE;AAAA,MAChB,eAAe,EAAE;AAAA,MACjB,OAAO,EAAE;AAAA,MACT,MAAM,EAAE;AAAA,MACR,SAAS,EAAE;AAAA,IACb,GAAG,MAAM,GAAG,CAAC,KAAK,mBAAE,IAAI,IAAE;AAAA,EAC5B;AACF,CAAC;", "names": [] diff --git a/docs/.vitepress/cache/deps/@mdit-vue_shared.js b/docs/.vitepress/cache/deps/@mdit-vue_shared.js index c60f641f..76deca07 100644 --- a/docs/.vitepress/cache/deps/@mdit-vue_shared.js +++ b/docs/.vitepress/cache/deps/@mdit-vue_shared.js @@ -1,6 +1,6 @@ import "./chunk-5WRI5ZAA.js"; -// node_modules/@mdit-vue/shared/dist/index.mjs +// node_modules/.pnpm/@mdit-vue+shared@0.12.1/node_modules/@mdit-vue/shared/dist/index.mjs var htmlEscapeMap = { "&": "&", "<": "<", diff --git a/docs/.vitepress/cache/deps/@mdit-vue_shared.js.map b/docs/.vitepress/cache/deps/@mdit-vue_shared.js.map index 474be43c..39744d3f 100644 --- a/docs/.vitepress/cache/deps/@mdit-vue_shared.js.map +++ b/docs/.vitepress/cache/deps/@mdit-vue_shared.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/@mdit-vue/shared/dist/index.mjs"], + "sources": ["../../../../node_modules/.pnpm/@mdit-vue+shared@0.12.1/node_modules/@mdit-vue/shared/dist/index.mjs"], "sourcesContent": ["const htmlEscapeMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"'\": \"'\",\n '\"': \""\"\n};\nconst htmlEscapeRegexp = /[&<>'\"]/g;\nconst htmlEscape = (str) => str.replace(\n htmlEscapeRegexp,\n (char) => htmlEscapeMap[char]\n);\n\nconst htmlUnescapeMap = {\n \"&\": \"&\",\n \"&\": \"&\",\n \"<\": \"<\",\n \"<\": \"<\",\n \">\": \">\",\n \">\": \">\",\n \"'\": \"'\",\n \"'\": \"'\",\n \""\": '\"',\n \""\": '\"'\n};\nconst htmlUnescapeRegexp = /&(amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;\nconst htmlUnescape = (str) => str.replace(\n htmlUnescapeRegexp,\n (char) => htmlUnescapeMap[char]\n);\n\nconst resolveTitleFromToken = (token, { shouldAllowHtml, shouldEscapeText }) => {\n const children = token.children ?? [];\n const titleTokenTypes = [\"text\", \"emoji\", \"code_inline\"];\n if (shouldAllowHtml) {\n titleTokenTypes.push(\"html_inline\");\n }\n const titleTokens = children.filter(\n (item) => titleTokenTypes.includes(item.type) && // filter permalink symbol that generated by markdown-it-anchor\n !item.meta?.isPermalinkSymbol\n );\n return titleTokens.reduce((result, item) => {\n if (shouldEscapeText) {\n if (item.type === \"code_inline\" || item.type === \"text\") {\n return `${result}${htmlEscape(item.content)}`;\n }\n }\n return `${result}${item.content}`;\n }, \"\").trim();\n};\n\nconst resolveHeadersFromTokens = (tokens, {\n level,\n shouldAllowHtml,\n shouldAllowNested,\n shouldEscapeText,\n slugify,\n format\n}) => {\n const headers = [];\n const stack = [];\n const push = (header) => {\n while (stack.length !== 0 && header.level <= stack[0].level) {\n stack.shift();\n }\n if (stack.length === 0) {\n headers.push(header);\n stack.push(header);\n } else {\n stack[0].children.push(header);\n stack.unshift(header);\n }\n };\n for (let i = 0; i < tokens.length; i += 1) {\n const token = tokens[i];\n if (token?.type !== \"heading_open\") {\n continue;\n }\n if (token?.level !== 0 && !shouldAllowNested) {\n continue;\n }\n const headerLevel = Number.parseInt(token.tag.slice(1), 10);\n if (!level.includes(headerLevel)) {\n continue;\n }\n const nextToken = tokens[i + 1];\n if (!nextToken) {\n continue;\n }\n const title = resolveTitleFromToken(nextToken, {\n shouldAllowHtml,\n shouldEscapeText\n });\n const slug = token.attrGet(\"id\") ?? slugify(title);\n push({\n level: headerLevel,\n title: format?.(title) ?? title,\n slug,\n link: `#${slug}`,\n children: []\n });\n }\n return headers;\n};\n\nconst rControl = /[\\u0000-\\u001f]/g;\nconst rSpecial = /[\\s~`!@#$%^&*()\\-_+=[\\]{}|\\\\;:\"'“”‘’<>,.?/]+/g;\nconst rCombining = /[\\u0300-\\u036F]/g;\nconst slugify = (str) => str.normalize(\"NFKD\").replace(rCombining, \"\").replace(rControl, \"\").replace(rSpecial, \"-\").replace(/-{2,}/g, \"-\").replace(/^-+|-+$/g, \"\").replace(/^(\\d)/, \"_$1\").toLowerCase();\n\nexport { htmlEscape, htmlUnescape, resolveHeadersFromTokens, resolveTitleFromToken, slugify };\n"], "mappings": "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", "names": ["slugify"] diff --git a/docs/.vitepress/cache/deps/@vueuse_core.js b/docs/.vitepress/cache/deps/@vueuse_core.js index a284e4f3..310fe0e1 100644 --- a/docs/.vitepress/cache/deps/@vueuse_core.js +++ b/docs/.vitepress/cache/deps/@vueuse_core.js @@ -256,9 +256,9 @@ import { watchTriggerable, watchWithFilter, whenever -} from "./chunk-IX6IAVFT.js"; -import "./chunk-O3YQPVDG.js"; -import "./chunk-SSSTV3QS.js"; +} from "./chunk-PGVY5FGH.js"; +import "./chunk-A2KJKGLQ.js"; +import "./chunk-NKPCMO6O.js"; import "./chunk-5WRI5ZAA.js"; export { DefaultMagicKeysAliasMap, diff --git a/docs/.vitepress/cache/deps/_metadata.json b/docs/.vitepress/cache/deps/_metadata.json index 472ede76..f505e49a 100644 --- a/docs/.vitepress/cache/deps/_metadata.json +++ b/docs/.vitepress/cache/deps/_metadata.json @@ -1,217 +1,217 @@ { - "hash": "62514884", - "configHash": "e9fb0021", - "lockfileHash": "32da0b94", - "browserHash": "1813e5bc", + "hash": "c742c5be", + "configHash": "3dc6f770", + "lockfileHash": "7e865d73", + "browserHash": "d658d08b", "optimized": { "vue": { - "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", + "src": "../../../../node_modules/.pnpm/vue@3.5.13_typescript@5.7.2/node_modules/vue/dist/vue.runtime.esm-bundler.js", "file": "vue.js", - "fileHash": "d028da21", + "fileHash": "4d28dc52", "needsInterop": false }, "vitepress > @vue/devtools-api": { - "src": "../../../../node_modules/@vue/devtools-api/dist/index.js", + "src": "../../../../node_modules/.pnpm/@vue+devtools-api@7.6.4/node_modules/@vue/devtools-api/dist/index.js", "file": "vitepress___@vue_devtools-api.js", - "fileHash": "b86e572e", + "fileHash": "bdf3ac0d", "needsInterop": false }, "vitepress > @vueuse/core": { - "src": "../../../../node_modules/vitepress/node_modules/@vueuse/core/index.mjs", + "src": "../../../../node_modules/.pnpm/@vueuse+core@11.3.0_vue@3.5.13_typescript@5.7.2_/node_modules/@vueuse/core/index.mjs", "file": "vitepress___@vueuse_core.js", - "fileHash": "8471854b", + "fileHash": "6115d6dd", "needsInterop": false }, "element-plus": { - "src": "../../../../node_modules/element-plus/es/index.mjs", + "src": "../../../../node_modules/.pnpm/element-plus@2.8.8_vue@3.5.13_typescript@5.7.2_/node_modules/element-plus/es/index.mjs", "file": "element-plus.js", - "fileHash": "1cd212c7", + "fileHash": "c36cc711", "needsInterop": false }, "mermaid": { - "src": "../../../../node_modules/mermaid/dist/mermaid.esm.mjs", + "src": "../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/mermaid.esm.mjs", "file": "mermaid.js", - "fileHash": "e31db7fe", + "fileHash": "18e0ad06", "needsInterop": false }, "@vueuse/core": { - "src": "../../../../node_modules/@vueuse/core/index.mjs", + "src": "../../../../node_modules/.pnpm/@vueuse+core@9.13.0_vue@3.5.13_typescript@5.7.2_/node_modules/@vueuse/core/index.mjs", "file": "@vueuse_core.js", - "fileHash": "298e4383", + "fileHash": "87d9b897", "needsInterop": false }, "@mdit-vue/shared": { - "src": "../../../../node_modules/@mdit-vue/shared/dist/index.mjs", + "src": "../../../../node_modules/.pnpm/@mdit-vue+shared@0.12.1/node_modules/@mdit-vue/shared/dist/index.mjs", "file": "@mdit-vue_shared.js", - "fileHash": "46289e76", + "fileHash": "e0150d77", "needsInterop": false }, "@giscus/vue": { - "src": "../../../../node_modules/@giscus/vue/dist/index.mjs", + "src": "../../../../node_modules/.pnpm/@giscus+vue@2.4.0_vue@3.5.13_typescript@5.7.2_/node_modules/@giscus/vue/dist/index.mjs", "file": "@giscus_vue.js", - "fileHash": "76044b2b", + "fileHash": "d8e03a41", "needsInterop": false }, "@element-plus/icons-vue": { - "src": "../../../../node_modules/@element-plus/icons-vue/dist/index.js", + "src": "../../../../node_modules/.pnpm/@element-plus+icons-vue@2.3.1_vue@3.5.13_typescript@5.7.2_/node_modules/@element-plus/icons-vue/dist/index.js", "file": "@element-plus_icons-vue.js", - "fileHash": "0b3adbce", + "fileHash": "0f80bdd1", "needsInterop": false }, "swiper": { - "src": "../../../../node_modules/swiper/swiper.mjs", + "src": "../../../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/swiper.mjs", "file": "swiper.js", - "fileHash": "c9cf6ce2", + "fileHash": "d667f241", "needsInterop": false } }, "chunks": { - "blockDiagram-47a8f1e6-LTGK65DM": { - "file": "blockDiagram-47a8f1e6-LTGK65DM.js" + "blockDiagram-47a8f1e6-JBCSRNWW": { + "file": "blockDiagram-47a8f1e6-JBCSRNWW.js" }, - "giscus-aTimukGI-7LNLJ6JP": { - "file": "giscus-aTimukGI-7LNLJ6JP.js" + "giscus-aTimukGI-FSYE2RDB": { + "file": "giscus-aTimukGI-FSYE2RDB.js" }, - "classDiagram-v2-70fd67bc-4E5BJ4Z5": { - "file": "classDiagram-v2-70fd67bc-4E5BJ4Z5.js" + "classDiagram-v2-70fd67bc-GDNSGQDH": { + "file": "classDiagram-v2-70fd67bc-GDNSGQDH.js" }, - "stateDiagram-728b288d-CY2I5AP6": { - "file": "stateDiagram-728b288d-CY2I5AP6.js" + "stateDiagram-728b288d-E5CR7H3T": { + "file": "stateDiagram-728b288d-E5CR7H3T.js" }, - "stateDiagram-v2-2fae770b-XWETV5FA": { - "file": "stateDiagram-v2-2fae770b-XWETV5FA.js" + "stateDiagram-v2-2fae770b-5XR5UF47": { + "file": "stateDiagram-v2-2fae770b-5XR5UF47.js" }, - "chunk-VRFHTUXE": { - "file": "chunk-VRFHTUXE.js" + "chunk-QOJECQV6": { + "file": "chunk-QOJECQV6.js" }, - "journeyDiagram-6eaaa22b-67FR5QKB": { - "file": "journeyDiagram-6eaaa22b-67FR5QKB.js" + "journeyDiagram-6eaaa22b-FKUU4CMD": { + "file": "journeyDiagram-6eaaa22b-FKUU4CMD.js" }, - "flowchart-elk-definition-8cc78aa3-ZC2T3HAR": { - "file": "flowchart-elk-definition-8cc78aa3-ZC2T3HAR.js" + "flowchart-elk-definition-8cc78aa3-7GBQDVN7": { + "file": "flowchart-elk-definition-8cc78aa3-7GBQDVN7.js" }, - "timeline-definition-c33fa219-YVNRSXOQ": { - "file": "timeline-definition-c33fa219-YVNRSXOQ.js" + "timeline-definition-c33fa219-KH27M72V": { + "file": "timeline-definition-c33fa219-KH27M72V.js" }, - "mindmap-definition-b3e57be3-PZFK3DTH": { - "file": "mindmap-definition-b3e57be3-PZFK3DTH.js" + "mindmap-definition-b3e57be3-2E2LNBIA": { + "file": "mindmap-definition-b3e57be3-2E2LNBIA.js" }, - "sankeyDiagram-99ff93d7-3WUXFAIK": { - "file": "sankeyDiagram-99ff93d7-3WUXFAIK.js" + "sankeyDiagram-99ff93d7-LR4BSUCJ": { + "file": "sankeyDiagram-99ff93d7-LR4BSUCJ.js" }, - "chunk-4BXPPE67": { - "file": "chunk-4BXPPE67.js" + "chunk-7Q2BK7NI": { + "file": "chunk-7Q2BK7NI.js" }, - "ganttDiagram-066785da-QIHTMBPU": { - "file": "ganttDiagram-066785da-QIHTMBPU.js" + "ganttDiagram-066785da-7ADDO7KR": { + "file": "ganttDiagram-066785da-7ADDO7KR.js" }, - "infoDiagram-f5302396-MESJJMXU": { - "file": "infoDiagram-f5302396-MESJJMXU.js" + "infoDiagram-f5302396-TZKHGBFO": { + "file": "infoDiagram-f5302396-TZKHGBFO.js" }, - "pieDiagram-520b736b-E7P35XWC": { - "file": "pieDiagram-520b736b-E7P35XWC.js" + "pieDiagram-520b736b-HWO7GESP": { + "file": "pieDiagram-520b736b-HWO7GESP.js" }, - "chunk-QRUXUPKG": { - "file": "chunk-QRUXUPKG.js" + "chunk-4DYZU5O2": { + "file": "chunk-4DYZU5O2.js" }, - "quadrantDiagram-74843a00-3A3VNDXW": { - "file": "quadrantDiagram-74843a00-3A3VNDXW.js" + "quadrantDiagram-74843a00-J7CRG5AD": { + "file": "quadrantDiagram-74843a00-J7CRG5AD.js" }, - "xychartDiagram-a93c88e9-GEMR2YZ4": { - "file": "xychartDiagram-a93c88e9-GEMR2YZ4.js" + "xychartDiagram-a93c88e9-BKQDCIGF": { + "file": "xychartDiagram-a93c88e9-BKQDCIGF.js" }, - "chunk-32UKBFDL": { - "file": "chunk-32UKBFDL.js" + "chunk-UUTVXTY5": { + "file": "chunk-UUTVXTY5.js" }, - "chunk-HCVQ6SZM": { - "file": "chunk-HCVQ6SZM.js" + "chunk-QO2ST6ZD": { + "file": "chunk-QO2ST6ZD.js" }, - "chunk-PAHP36ZV": { - "file": "chunk-PAHP36ZV.js" + "chunk-SASBWADG": { + "file": "chunk-SASBWADG.js" }, - "requirementDiagram-074fa166-QATS2N4U": { - "file": "requirementDiagram-074fa166-QATS2N4U.js" + "requirementDiagram-074fa166-DW46LFRY": { + "file": "requirementDiagram-074fa166-DW46LFRY.js" }, - "sequenceDiagram-9f7b83ce-A464LS6E": { - "file": "sequenceDiagram-9f7b83ce-A464LS6E.js" + "sequenceDiagram-9f7b83ce-NLMYE573": { + "file": "sequenceDiagram-9f7b83ce-NLMYE573.js" }, - "classDiagram-52c92d29-JM3HZUPW": { - "file": "classDiagram-52c92d29-JM3HZUPW.js" + "classDiagram-52c92d29-2HTP4FVU": { + "file": "classDiagram-52c92d29-2HTP4FVU.js" }, - "chunk-2EKZYMCX": { - "file": "chunk-2EKZYMCX.js" + "chunk-AZ3MSDYO": { + "file": "chunk-AZ3MSDYO.js" }, - "katex-79a689fb-D5I24NMG": { - "file": "katex-79a689fb-D5I24NMG.js" + "katex-79a689fb-SQTEGBCO": { + "file": "katex-79a689fb-SQTEGBCO.js" }, - "c4Diagram-5e436c10-YNV6CQNH": { - "file": "c4Diagram-5e436c10-YNV6CQNH.js" + "c4Diagram-5e436c10-EUIRZFMQ": { + "file": "c4Diagram-5e436c10-EUIRZFMQ.js" }, - "chunk-QD7GYJLE": { - "file": "chunk-QD7GYJLE.js" + "chunk-WUGULRU7": { + "file": "chunk-WUGULRU7.js" }, - "flowDiagram-b36fdd76-SPZXGXCV": { - "file": "flowDiagram-b36fdd76-SPZXGXCV.js" + "flowDiagram-b36fdd76-YDYKKQ7O": { + "file": "flowDiagram-b36fdd76-YDYKKQ7O.js" }, - "flowDiagram-v2-74c8dbcc-B4XFK4IQ": { - "file": "flowDiagram-v2-74c8dbcc-B4XFK4IQ.js" + "flowDiagram-v2-74c8dbcc-YX25K2A4": { + "file": "flowDiagram-v2-74c8dbcc-YX25K2A4.js" }, - "chunk-6E3MYWKG": { - "file": "chunk-6E3MYWKG.js" + "chunk-DEECTGUT": { + "file": "chunk-DEECTGUT.js" }, - "chunk-TPMOBHCD": { - "file": "chunk-TPMOBHCD.js" + "chunk-QL2ECDH6": { + "file": "chunk-QL2ECDH6.js" }, - "chunk-QE6SGBYU": { - "file": "chunk-QE6SGBYU.js" + "chunk-B5HJZSKN": { + "file": "chunk-B5HJZSKN.js" }, - "chunk-XWZ73NBO": { - "file": "chunk-XWZ73NBO.js" + "chunk-A6QXRUVC": { + "file": "chunk-A6QXRUVC.js" }, - "chunk-R3VODJPJ": { - "file": "chunk-R3VODJPJ.js" + "chunk-5CWYRM7T": { + "file": "chunk-5CWYRM7T.js" }, - "chunk-3Q2RJGHC": { - "file": "chunk-3Q2RJGHC.js" + "chunk-RQWEZMV7": { + "file": "chunk-RQWEZMV7.js" }, - "chunk-F24SW226": { - "file": "chunk-F24SW226.js" + "chunk-VSZREH27": { + "file": "chunk-VSZREH27.js" }, - "erDiagram-59d1cdbd-LIG3CFIU": { - "file": "erDiagram-59d1cdbd-LIG3CFIU.js" + "erDiagram-59d1cdbd-BGZWS5WJ": { + "file": "erDiagram-59d1cdbd-BGZWS5WJ.js" }, - "chunk-GQSU3LSO": { - "file": "chunk-GQSU3LSO.js" + "chunk-S7YHCZXR": { + "file": "chunk-S7YHCZXR.js" }, - "chunk-RPTJ2D5Y": { - "file": "chunk-RPTJ2D5Y.js" + "chunk-FVOCDV6K": { + "file": "chunk-FVOCDV6K.js" }, - "chunk-BJ4J42HH": { - "file": "chunk-BJ4J42HH.js" + "chunk-KEDGJU25": { + "file": "chunk-KEDGJU25.js" }, - "chunk-XP7M6FJS": { - "file": "chunk-XP7M6FJS.js" + "chunk-QJSAEEOK": { + "file": "chunk-QJSAEEOK.js" }, - "chunk-2AA25MXT": { - "file": "chunk-2AA25MXT.js" + "chunk-4ISJML4K": { + "file": "chunk-4ISJML4K.js" }, - "gitGraphDiagram-75f65184-RASVDRS4": { - "file": "gitGraphDiagram-75f65184-RASVDRS4.js" + "gitGraphDiagram-75f65184-FAT55AD7": { + "file": "gitGraphDiagram-75f65184-FAT55AD7.js" }, - "chunk-K7JYRSNN": { - "file": "chunk-K7JYRSNN.js" + "chunk-EYFRCF3X": { + "file": "chunk-EYFRCF3X.js" }, - "chunk-ORKV5D4O": { - "file": "chunk-ORKV5D4O.js" + "chunk-KPMAGHCB": { + "file": "chunk-KPMAGHCB.js" }, - "chunk-IX6IAVFT": { - "file": "chunk-IX6IAVFT.js" + "chunk-PGVY5FGH": { + "file": "chunk-PGVY5FGH.js" }, - "chunk-O3YQPVDG": { - "file": "chunk-O3YQPVDG.js" + "chunk-A2KJKGLQ": { + "file": "chunk-A2KJKGLQ.js" }, - "chunk-SSSTV3QS": { - "file": "chunk-SSSTV3QS.js" + "chunk-NKPCMO6O": { + "file": "chunk-NKPCMO6O.js" }, "chunk-5WRI5ZAA": { "file": "chunk-5WRI5ZAA.js" diff --git a/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-LTGK65DM.js b/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-JBCSRNWW.js similarity index 99% rename from docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-LTGK65DM.js rename to docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-JBCSRNWW.js index a9ff6216..4751148b 100644 --- a/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-LTGK65DM.js +++ b/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-JBCSRNWW.js @@ -1,16 +1,16 @@ import { d3schemeTableau10 -} from "./chunk-4BXPPE67.js"; +} from "./chunk-7Q2BK7NI.js"; import { ordinal -} from "./chunk-32UKBFDL.js"; -import "./chunk-PAHP36ZV.js"; +} from "./chunk-UUTVXTY5.js"; +import "./chunk-SASBWADG.js"; import { channel$1 -} from "./chunk-TPMOBHCD.js"; +} from "./chunk-QL2ECDH6.js"; import { clone -} from "./chunk-XWZ73NBO.js"; +} from "./chunk-A6QXRUVC.js"; import { insertEdge, insertEdgeLabel, @@ -18,14 +18,14 @@ import { insertNode, positionEdgeLabel, positionNode -} from "./chunk-3Q2RJGHC.js"; -import "./chunk-F24SW226.js"; +} from "./chunk-RQWEZMV7.js"; +import "./chunk-VSZREH27.js"; import { Graph -} from "./chunk-RPTJ2D5Y.js"; -import "./chunk-BJ4J42HH.js"; -import "./chunk-XP7M6FJS.js"; -import "./chunk-2AA25MXT.js"; +} from "./chunk-FVOCDV6K.js"; +import "./chunk-KEDGJU25.js"; +import "./chunk-QJSAEEOK.js"; +import "./chunk-4ISJML4K.js"; import { clear, common$1, @@ -36,10 +36,10 @@ import { getStylesFromArray, log$1, rgba$1 -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; import "./chunk-5WRI5ZAA.js"; -// node_modules/mermaid/dist/blockDiagram-47a8f1e6.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/blockDiagram-47a8f1e6.js var _a; var _b; var parser = function() { @@ -1847,4 +1847,4 @@ var diagram = { export { diagram }; -//# sourceMappingURL=blockDiagram-47a8f1e6-LTGK65DM.js.map +//# sourceMappingURL=blockDiagram-47a8f1e6-JBCSRNWW.js.map diff --git a/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-LTGK65DM.js.map b/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-JBCSRNWW.js.map similarity index 99% rename from docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-LTGK65DM.js.map rename to docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-JBCSRNWW.js.map index 4d0198bd..feb99082 100644 --- a/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-LTGK65DM.js.map +++ b/docs/.vitepress/cache/deps/blockDiagram-47a8f1e6-JBCSRNWW.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/blockDiagram-47a8f1e6.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/blockDiagram-47a8f1e6.js"], "sourcesContent": ["var _a, _b;\nimport { c as getConfig, _ as getConfig$1, l as log, E as clear$1, f as common, B as rgba, o as getStylesFromArray, j as d3select, k as configureSvgSize } from \"./mermaid-bea41e51.js\";\nimport { c as clone } from \"./clone-64cfc140.js\";\nimport { c as channel } from \"./channel-34943bd6.js\";\nimport { h as insertEdge, f as insertEdgeLabel, j as positionEdgeLabel, e as insertNode, p as positionNode, a as insertMarkers } from \"./edges-56c921ab.js\";\nimport { G as Graph } from \"./graph-cdf81e0e.js\";\nimport { o as ordinal } from \"./ordinal-475e0c0c.js\";\nimport { d as d3schemeTableau10 } from \"./Tableau10-31042135.js\";\nimport \"./createText-a21f6bb1.js\";\nimport \"./line-ef4db9e4.js\";\nimport \"./array-b7dcf730.js\";\nimport \"./path-39bad7e2.js\";\nimport \"./init-cc95ec8e.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 7], $V1 = [1, 13], $V2 = [1, 14], $V3 = [1, 15], $V4 = [1, 19], $V5 = [1, 16], $V6 = [1, 17], $V7 = [1, 18], $V8 = [8, 30], $V9 = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47], $Va = [1, 23], $Vb = [1, 24], $Vc = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47], $Vd = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47], $Ve = [1, 49];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"spaceLines\": 3, \"SPACELINE\": 4, \"NL\": 5, \"separator\": 6, \"SPACE\": 7, \"EOF\": 8, \"start\": 9, \"BLOCK_DIAGRAM_KEY\": 10, \"document\": 11, \"stop\": 12, \"statement\": 13, \"link\": 14, \"LINK\": 15, \"START_LINK\": 16, \"LINK_LABEL\": 17, \"STR\": 18, \"nodeStatement\": 19, \"columnsStatement\": 20, \"SPACE_BLOCK\": 21, \"blockStatement\": 22, \"classDefStatement\": 23, \"cssClassStatement\": 24, \"styleStatement\": 25, \"node\": 26, \"SIZE\": 27, \"COLUMNS\": 28, \"id-block\": 29, \"end\": 30, \"block\": 31, \"NODE_ID\": 32, \"nodeShapeNLabel\": 33, \"dirList\": 34, \"DIR\": 35, \"NODE_DSTART\": 36, \"NODE_DEND\": 37, \"BLOCK_ARROW_START\": 38, \"BLOCK_ARROW_END\": 39, \"classDef\": 40, \"CLASSDEF_ID\": 41, \"CLASSDEF_STYLEOPTS\": 42, \"DEFAULT\": 43, \"class\": 44, \"CLASSENTITY_IDS\": 45, \"STYLECLASS\": 46, \"style\": 47, \"STYLE_ENTITY_IDS\": 48, \"STYLE_DEFINITION_DATA\": 49, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SPACELINE\", 5: \"NL\", 7: \"SPACE\", 8: \"EOF\", 10: \"BLOCK_DIAGRAM_KEY\", 15: \"LINK\", 16: \"START_LINK\", 17: \"LINK_LABEL\", 18: \"STR\", 21: \"SPACE_BLOCK\", 27: \"SIZE\", 28: \"COLUMNS\", 29: \"id-block\", 30: \"end\", 31: \"block\", 32: \"NODE_ID\", 35: \"DIR\", 36: \"NODE_DSTART\", 37: \"NODE_DEND\", 38: \"BLOCK_ARROW_START\", 39: \"BLOCK_ARROW_END\", 40: \"classDef\", 41: \"CLASSDEF_ID\", 42: \"CLASSDEF_STYLEOPTS\", 43: \"DEFAULT\", 44: \"class\", 45: \"CLASSENTITY_IDS\", 46: \"STYLECLASS\", 47: \"style\", 48: \"STYLE_ENTITY_IDS\", 49: \"STYLE_DEFINITION_DATA\" },\n productions_: [0, [3, 1], [3, 2], [3, 2], [6, 1], [6, 1], [6, 1], [9, 3], [12, 1], [12, 1], [12, 2], [12, 2], [11, 1], [11, 2], [14, 1], [14, 4], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [19, 3], [19, 2], [19, 1], [20, 1], [22, 4], [22, 3], [26, 1], [26, 2], [34, 1], [34, 2], [33, 3], [33, 4], [23, 3], [23, 3], [24, 3], [25, 3]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 4:\n yy.getLogger().debug(\"Rule: separator (NL) \");\n break;\n case 5:\n yy.getLogger().debug(\"Rule: separator (Space) \");\n break;\n case 6:\n yy.getLogger().debug(\"Rule: separator (EOF) \");\n break;\n case 7:\n yy.getLogger().debug(\"Rule: hierarchy: \", $$[$0 - 1]);\n yy.setHierarchy($$[$0 - 1]);\n break;\n case 8:\n yy.getLogger().debug(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().debug(\"Stop EOF \");\n break;\n case 10:\n yy.getLogger().debug(\"Stop NL2 \");\n break;\n case 11:\n yy.getLogger().debug(\"Stop EOF2 \");\n break;\n case 12:\n yy.getLogger().debug(\"Rule: statement: \", $$[$0]);\n typeof $$[$0].length === \"number\" ? this.$ = $$[$0] : this.$ = [$$[$0]];\n break;\n case 13:\n yy.getLogger().debug(\"Rule: statement #2: \", $$[$0 - 1]);\n this.$ = [$$[$0 - 1]].concat($$[$0]);\n break;\n case 14:\n yy.getLogger().debug(\"Rule: link: \", $$[$0], yytext);\n this.$ = { edgeTypeStr: $$[$0], label: \"\" };\n break;\n case 15:\n yy.getLogger().debug(\"Rule: LABEL link: \", $$[$0 - 3], $$[$0 - 1], $$[$0]);\n this.$ = { edgeTypeStr: $$[$0], label: $$[$0 - 1] };\n break;\n case 18:\n const num = parseInt($$[$0]);\n const spaceId = yy.generateId();\n this.$ = { id: spaceId, type: \"space\", label: \"\", width: num, children: [] };\n break;\n case 23:\n yy.getLogger().debug(\"Rule: (nodeStatement link node) \", $$[$0 - 2], $$[$0 - 1], $$[$0], \" typestr: \", $$[$0 - 1].edgeTypeStr);\n const edgeData = yy.edgeStrToEdgeData($$[$0 - 1].edgeTypeStr);\n this.$ = [\n { id: $$[$0 - 2].id, label: $$[$0 - 2].label, type: $$[$0 - 2].type, directions: $$[$0 - 2].directions },\n { id: $$[$0 - 2].id + \"-\" + $$[$0].id, start: $$[$0 - 2].id, end: $$[$0].id, label: $$[$0 - 1].label, type: \"edge\", directions: $$[$0].directions, arrowTypeEnd: edgeData, arrowTypeStart: \"arrow_open\" },\n { id: $$[$0].id, label: $$[$0].label, type: yy.typeStr2Type($$[$0].typeStr), directions: $$[$0].directions }\n ];\n break;\n case 24:\n yy.getLogger().debug(\"Rule: nodeStatement (abc88 node size) \", $$[$0 - 1], $$[$0]);\n this.$ = { id: $$[$0 - 1].id, label: $$[$0 - 1].label, type: yy.typeStr2Type($$[$0 - 1].typeStr), directions: $$[$0 - 1].directions, widthInColumns: parseInt($$[$0], 10) };\n break;\n case 25:\n yy.getLogger().debug(\"Rule: nodeStatement (node) \", $$[$0]);\n this.$ = { id: $$[$0].id, label: $$[$0].label, type: yy.typeStr2Type($$[$0].typeStr), directions: $$[$0].directions, widthInColumns: 1 };\n break;\n case 26:\n yy.getLogger().debug(\"APA123\", this ? this : \"na\");\n yy.getLogger().debug(\"COLUMNS: \", $$[$0]);\n this.$ = { type: \"column-setting\", columns: $$[$0] === \"auto\" ? -1 : parseInt($$[$0]) };\n break;\n case 27:\n yy.getLogger().debug(\"Rule: id-block statement : \", $$[$0 - 2], $$[$0 - 1]);\n yy.generateId();\n this.$ = { ...$$[$0 - 2], type: \"composite\", children: $$[$0 - 1] };\n break;\n case 28:\n yy.getLogger().debug(\"Rule: blockStatement : \", $$[$0 - 2], $$[$0 - 1], $$[$0]);\n const id = yy.generateId();\n this.$ = { id, type: \"composite\", label: \"\", children: $$[$0 - 1] };\n break;\n case 29:\n yy.getLogger().debug(\"Rule: node (NODE_ID separator): \", $$[$0]);\n this.$ = { id: $$[$0] };\n break;\n case 30:\n yy.getLogger().debug(\"Rule: node (NODE_ID nodeShapeNLabel separator): \", $$[$0 - 1], $$[$0]);\n this.$ = { id: $$[$0 - 1], label: $$[$0].label, typeStr: $$[$0].typeStr, directions: $$[$0].directions };\n break;\n case 31:\n yy.getLogger().debug(\"Rule: dirList: \", $$[$0]);\n this.$ = [$$[$0]];\n break;\n case 32:\n yy.getLogger().debug(\"Rule: dirList: \", $$[$0 - 1], $$[$0]);\n this.$ = [$$[$0 - 1]].concat($$[$0]);\n break;\n case 33:\n yy.getLogger().debug(\"Rule: nodeShapeNLabel: \", $$[$0 - 2], $$[$0 - 1], $$[$0]);\n this.$ = { typeStr: $$[$0 - 2] + $$[$0], label: $$[$0 - 1] };\n break;\n case 34:\n yy.getLogger().debug(\"Rule: BLOCK_ARROW nodeShapeNLabel: \", $$[$0 - 3], $$[$0 - 2], \" #3:\", $$[$0 - 1], $$[$0]);\n this.$ = { typeStr: $$[$0 - 3] + $$[$0], label: $$[$0 - 2], directions: $$[$0 - 1] };\n break;\n case 35:\n case 36:\n this.$ = { type: \"classDef\", id: $$[$0 - 1].trim(), css: $$[$0].trim() };\n break;\n case 37:\n this.$ = { type: \"applyClass\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 38:\n this.$ = { type: \"applyStyles\", id: $$[$0 - 1].trim(), stylesStr: $$[$0].trim() };\n break;\n }\n },\n table: [{ 9: 1, 10: [1, 2] }, { 1: [3] }, { 11: 3, 13: 4, 19: 5, 20: 6, 21: $V0, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }, { 8: [1, 20] }, o($V8, [2, 12], { 13: 4, 19: 5, 20: 6, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 11: 21, 21: $V0, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }), o($V9, [2, 16], { 14: 22, 15: $Va, 16: $Vb }), o($V9, [2, 17]), o($V9, [2, 18]), o($V9, [2, 19]), o($V9, [2, 20]), o($V9, [2, 21]), o($V9, [2, 22]), o($Vc, [2, 25], { 27: [1, 25] }), o($V9, [2, 26]), { 19: 26, 26: 12, 32: $V4 }, { 11: 27, 13: 4, 19: 5, 20: 6, 21: $V0, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }, { 41: [1, 28], 43: [1, 29] }, { 45: [1, 30] }, { 48: [1, 31] }, o($Vd, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }), { 1: [2, 7] }, o($V8, [2, 13]), { 26: 35, 32: $V4 }, { 32: [2, 14] }, { 17: [1, 36] }, o($Vc, [2, 24]), { 11: 37, 13: 4, 14: 22, 15: $Va, 16: $Vb, 19: 5, 20: 6, 21: $V0, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }, { 30: [1, 38] }, { 42: [1, 39] }, { 42: [1, 40] }, { 46: [1, 41] }, { 49: [1, 42] }, o($Vd, [2, 30]), { 18: [1, 43] }, { 18: [1, 44] }, o($Vc, [2, 23]), { 18: [1, 45] }, { 30: [1, 46] }, o($V9, [2, 28]), o($V9, [2, 35]), o($V9, [2, 36]), o($V9, [2, 37]), o($V9, [2, 38]), { 37: [1, 47] }, { 34: 48, 35: $Ve }, { 15: [1, 50] }, o($V9, [2, 27]), o($Vd, [2, 33]), { 39: [1, 51] }, { 34: 52, 35: $Ve, 39: [2, 31] }, { 32: [2, 15] }, o($Vd, [2, 34]), { 39: [2, 32] }],\n defaultActions: { 20: [2, 7], 23: [2, 14], 50: [2, 15], 52: [2, 32] },\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: {},\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n return 10;\n case 1:\n yy.getLogger().debug(\"Found space-block\");\n return 31;\n case 2:\n yy.getLogger().debug(\"Found nl-block\");\n return 31;\n case 3:\n yy.getLogger().debug(\"Found space-block\");\n return 29;\n case 4:\n yy.getLogger().debug(\".\", yy_.yytext);\n break;\n case 5:\n yy.getLogger().debug(\"_\", yy_.yytext);\n break;\n case 6:\n return 5;\n case 7:\n yy_.yytext = -1;\n return 28;\n case 8:\n yy_.yytext = yy_.yytext.replace(/columns\\s+/, \"\");\n yy.getLogger().debug(\"COLUMNS (LEX)\", yy_.yytext);\n return 28;\n case 9:\n this.pushState(\"md_string\");\n break;\n case 10:\n return \"MD_STR\";\n case 11:\n this.popState();\n break;\n case 12:\n this.pushState(\"string\");\n break;\n case 13:\n yy.getLogger().debug(\"LEX: POPPING STR:\", yy_.yytext);\n this.popState();\n break;\n case 14:\n yy.getLogger().debug(\"LEX: STR end:\", yy_.yytext);\n return \"STR\";\n case 15:\n yy_.yytext = yy_.yytext.replace(/space\\:/, \"\");\n yy.getLogger().debug(\"SPACE NUM (LEX)\", yy_.yytext);\n return 21;\n case 16:\n yy_.yytext = \"1\";\n yy.getLogger().debug(\"COLUMNS (LEX)\", yy_.yytext);\n return 21;\n case 17:\n return 43;\n case 18:\n return \"LINKSTYLE\";\n case 19:\n return \"INTERPOLATE\";\n case 20:\n this.pushState(\"CLASSDEF\");\n return 40;\n case 21:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return \"DEFAULT_CLASSDEF_ID\";\n case 22:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return 41;\n case 23:\n this.popState();\n return 42;\n case 24:\n this.pushState(\"CLASS\");\n return 44;\n case 25:\n this.popState();\n this.pushState(\"CLASS_STYLE\");\n return 45;\n case 26:\n this.popState();\n return 46;\n case 27:\n this.pushState(\"STYLE_STMNT\");\n return 47;\n case 28:\n this.popState();\n this.pushState(\"STYLE_DEFINITION\");\n return 48;\n case 29:\n this.popState();\n return 49;\n case 30:\n this.pushState(\"acc_title\");\n return \"acc_title\";\n case 31:\n this.popState();\n return \"acc_title_value\";\n case 32:\n this.pushState(\"acc_descr\");\n return \"acc_descr\";\n case 33:\n this.popState();\n return \"acc_descr_value\";\n case 34:\n this.pushState(\"acc_descr_multiline\");\n break;\n case 35:\n this.popState();\n break;\n case 36:\n return \"acc_descr_multiline_value\";\n case 37:\n return 30;\n case 38:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n case 39:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n case 40:\n this.popState();\n yy.getLogger().debug(\"Lex: ))\");\n return \"NODE_DEND\";\n case 41:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n case 42:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n case 43:\n this.popState();\n yy.getLogger().debug(\"Lex: (-\");\n return \"NODE_DEND\";\n case 44:\n this.popState();\n yy.getLogger().debug(\"Lex: -)\");\n return \"NODE_DEND\";\n case 45:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n case 46:\n this.popState();\n yy.getLogger().debug(\"Lex: ]]\");\n return \"NODE_DEND\";\n case 47:\n this.popState();\n yy.getLogger().debug(\"Lex: (\");\n return \"NODE_DEND\";\n case 48:\n this.popState();\n yy.getLogger().debug(\"Lex: ])\");\n return \"NODE_DEND\";\n case 49:\n this.popState();\n yy.getLogger().debug(\"Lex: /]\");\n return \"NODE_DEND\";\n case 50:\n this.popState();\n yy.getLogger().debug(\"Lex: /]\");\n return \"NODE_DEND\";\n case 51:\n this.popState();\n yy.getLogger().debug(\"Lex: )]\");\n return \"NODE_DEND\";\n case 52:\n this.popState();\n yy.getLogger().debug(\"Lex: )\");\n return \"NODE_DEND\";\n case 53:\n this.popState();\n yy.getLogger().debug(\"Lex: ]>\");\n return \"NODE_DEND\";\n case 54:\n this.popState();\n yy.getLogger().debug(\"Lex: ]\");\n return \"NODE_DEND\";\n case 55:\n yy.getLogger().debug(\"Lexa: -)\");\n this.pushState(\"NODE\");\n return 36;\n case 56:\n yy.getLogger().debug(\"Lexa: (-\");\n this.pushState(\"NODE\");\n return 36;\n case 57:\n yy.getLogger().debug(\"Lexa: ))\");\n this.pushState(\"NODE\");\n return 36;\n case 58:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n case 59:\n yy.getLogger().debug(\"Lex: (((\");\n this.pushState(\"NODE\");\n return 36;\n case 60:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n case 61:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n case 62:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n case 63:\n yy.getLogger().debug(\"Lexc: >\");\n this.pushState(\"NODE\");\n return 36;\n case 64:\n yy.getLogger().debug(\"Lexa: ([\");\n this.pushState(\"NODE\");\n return 36;\n case 65:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n case 66:\n this.pushState(\"NODE\");\n return 36;\n case 67:\n this.pushState(\"NODE\");\n return 36;\n case 68:\n this.pushState(\"NODE\");\n return 36;\n case 69:\n this.pushState(\"NODE\");\n return 36;\n case 70:\n this.pushState(\"NODE\");\n return 36;\n case 71:\n this.pushState(\"NODE\");\n return 36;\n case 72:\n this.pushState(\"NODE\");\n return 36;\n case 73:\n yy.getLogger().debug(\"Lexa: [\");\n this.pushState(\"NODE\");\n return 36;\n case 74:\n this.pushState(\"BLOCK_ARROW\");\n yy.getLogger().debug(\"LEX ARR START\");\n return 38;\n case 75:\n yy.getLogger().debug(\"Lex: NODE_ID\", yy_.yytext);\n return 32;\n case 76:\n yy.getLogger().debug(\"Lex: EOF\", yy_.yytext);\n return 8;\n case 77:\n this.pushState(\"md_string\");\n break;\n case 78:\n this.pushState(\"md_string\");\n break;\n case 79:\n return \"NODE_DESCR\";\n case 80:\n this.popState();\n break;\n case 81:\n yy.getLogger().debug(\"Lex: Starting string\");\n this.pushState(\"string\");\n break;\n case 82:\n yy.getLogger().debug(\"LEX ARR: Starting string\");\n this.pushState(\"string\");\n break;\n case 83:\n yy.getLogger().debug(\"LEX: NODE_DESCR:\", yy_.yytext);\n return \"NODE_DESCR\";\n case 84:\n yy.getLogger().debug(\"LEX POPPING\");\n this.popState();\n break;\n case 85:\n yy.getLogger().debug(\"Lex: =>BAE\");\n this.pushState(\"ARROW_DIR\");\n break;\n case 86:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (right): dir:\", yy_.yytext);\n return \"DIR\";\n case 87:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (left):\", yy_.yytext);\n return \"DIR\";\n case 88:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (x):\", yy_.yytext);\n return \"DIR\";\n case 89:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (y):\", yy_.yytext);\n return \"DIR\";\n case 90:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (up):\", yy_.yytext);\n return \"DIR\";\n case 91:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (down):\", yy_.yytext);\n return \"DIR\";\n case 92:\n yy_.yytext = \"]>\";\n yy.getLogger().debug(\"Lex (ARROW_DIR end):\", yy_.yytext);\n this.popState();\n this.popState();\n return \"BLOCK_ARROW_END\";\n case 93:\n yy.getLogger().debug(\"Lex: LINK\", \"#\" + yy_.yytext + \"#\");\n return 15;\n case 94:\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n case 95:\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n case 96:\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n case 97:\n yy.getLogger().debug(\"Lex: START_LINK\", yy_.yytext);\n this.pushState(\"LLABEL\");\n return 16;\n case 98:\n yy.getLogger().debug(\"Lex: START_LINK\", yy_.yytext);\n this.pushState(\"LLABEL\");\n return 16;\n case 99:\n yy.getLogger().debug(\"Lex: START_LINK\", yy_.yytext);\n this.pushState(\"LLABEL\");\n return 16;\n case 100:\n this.pushState(\"md_string\");\n break;\n case 101:\n yy.getLogger().debug(\"Lex: Starting string\");\n this.pushState(\"string\");\n return \"LINK_LABEL\";\n case 102:\n this.popState();\n yy.getLogger().debug(\"Lex: LINK\", \"#\" + yy_.yytext + \"#\");\n return 15;\n case 103:\n this.popState();\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n case 104:\n this.popState();\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n case 105:\n yy.getLogger().debug(\"Lex: COLON\", yy_.yytext);\n yy_.yytext = yy_.yytext.slice(1);\n return 27;\n }\n },\n rules: [/^(?:block-beta\\b)/, /^(?:block\\s+)/, /^(?:block\\n+)/, /^(?:block:)/, /^(?:[\\s]+)/, /^(?:[\\n]+)/, /^(?:((\\u000D\\u000A)|(\\u000A)))/, /^(?:columns\\s+auto\\b)/, /^(?:columns\\s+[\\d]+)/, /^(?:[\"][`])/, /^(?:[^`\"]+)/, /^(?:[`][\"])/, /^(?:[\"])/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:space[:]\\d+)/, /^(?:space\\b)/, /^(?:default\\b)/, /^(?:linkStyle\\b)/, /^(?:interpolate\\b)/, /^(?:classDef\\s+)/, /^(?:DEFAULT\\s+)/, /^(?:\\w+\\s+)/, /^(?:[^\\n]*)/, /^(?:class\\s+)/, /^(?:(\\w+)+((,\\s*\\w+)*))/, /^(?:[^\\n]*)/, /^(?:style\\s+)/, /^(?:(\\w+)+((,\\s*\\w+)*))/, /^(?:[^\\n]*)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:end\\b\\s*)/, /^(?:\\(\\(\\()/, /^(?:\\)\\)\\))/, /^(?:[\\)]\\))/, /^(?:\\}\\})/, /^(?:\\})/, /^(?:\\(-)/, /^(?:-\\))/, /^(?:\\(\\()/, /^(?:\\]\\])/, /^(?:\\()/, /^(?:\\]\\))/, /^(?:\\\\\\])/, /^(?:\\/\\])/, /^(?:\\)\\])/, /^(?:[\\)])/, /^(?:\\]>)/, /^(?:[\\]])/, /^(?:-\\))/, /^(?:\\(-)/, /^(?:\\)\\))/, /^(?:\\))/, /^(?:\\(\\(\\()/, /^(?:\\(\\()/, /^(?:\\{\\{)/, /^(?:\\{)/, /^(?:>)/, /^(?:\\(\\[)/, /^(?:\\()/, /^(?:\\[\\[)/, /^(?:\\[\\|)/, /^(?:\\[\\()/, /^(?:\\)\\)\\))/, /^(?:\\[\\\\)/, /^(?:\\[\\/)/, /^(?:\\[\\\\)/, /^(?:\\[)/, /^(?:<\\[)/, /^(?:[^\\(\\[\\n\\-\\)\\{\\}\\s\\<\\>:]+)/, /^(?:$)/, /^(?:[\"][`])/, /^(?:[\"][`])/, /^(?:[^`\"]+)/, /^(?:[`][\"])/, /^(?:[\"])/, /^(?:[\"])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:\\]>\\s*\\()/, /^(?:,?\\s*right\\s*)/, /^(?:,?\\s*left\\s*)/, /^(?:,?\\s*x\\s*)/, /^(?:,?\\s*y\\s*)/, /^(?:,?\\s*up\\s*)/, /^(?:,?\\s*down\\s*)/, /^(?:\\)\\s*)/, /^(?:\\s*[xo<]?--+[-xo>]\\s*)/, /^(?:\\s*[xo<]?==+[=xo>]\\s*)/, /^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/, /^(?:\\s*~~[\\~]+\\s*)/, /^(?:\\s*[xo<]?--\\s*)/, /^(?:\\s*[xo<]?==\\s*)/, /^(?:\\s*[xo<]?-\\.\\s*)/, /^(?:[\"][`])/, /^(?:[\"])/, /^(?:\\s*[xo<]?--+[-xo>]\\s*)/, /^(?:\\s*[xo<]?==+[=xo>]\\s*)/, /^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/, /^(?::\\d+)/],\n conditions: { \"STYLE_DEFINITION\": { \"rules\": [29], \"inclusive\": false }, \"STYLE_STMNT\": { \"rules\": [28], \"inclusive\": false }, \"CLASSDEFID\": { \"rules\": [23], \"inclusive\": false }, \"CLASSDEF\": { \"rules\": [21, 22], \"inclusive\": false }, \"CLASS_STYLE\": { \"rules\": [26], \"inclusive\": false }, \"CLASS\": { \"rules\": [25], \"inclusive\": false }, \"LLABEL\": { \"rules\": [100, 101, 102, 103, 104], \"inclusive\": false }, \"ARROW_DIR\": { \"rules\": [86, 87, 88, 89, 90, 91, 92], \"inclusive\": false }, \"BLOCK_ARROW\": { \"rules\": [77, 82, 85], \"inclusive\": false }, \"NODE\": { \"rules\": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81], \"inclusive\": false }, \"md_string\": { \"rules\": [10, 11, 79, 80], \"inclusive\": false }, \"space\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [13, 14, 83, 84], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [35, 36], \"inclusive\": false }, \"acc_descr\": { \"rules\": [33], \"inclusive\": false }, \"acc_title\": { \"rules\": [31], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34, 37, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 93, 94, 95, 96, 97, 98, 99, 105], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nlet blockDatabase = {};\nlet edgeList = [];\nlet edgeCount = {};\nconst COLOR_KEYWORD = \"color\";\nconst FILL_KEYWORD = \"fill\";\nconst BG_FILL = \"bgFill\";\nconst STYLECLASS_SEP = \",\";\nconst config = getConfig();\nlet classes = {};\nconst sanitizeText = (txt) => common.sanitizeText(txt, config);\nconst addStyleClass = function(id, styleAttributes = \"\") {\n if (classes[id] === void 0) {\n classes[id] = { id, styles: [], textStyles: [] };\n }\n const foundClass = classes[id];\n if (styleAttributes !== void 0 && styleAttributes !== null) {\n styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {\n const fixedAttrib = attrib.replace(/([^;]*);/, \"$1\").trim();\n if (attrib.match(COLOR_KEYWORD)) {\n const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);\n const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);\n foundClass.textStyles.push(newStyle2);\n }\n foundClass.styles.push(fixedAttrib);\n });\n }\n};\nconst addStyle2Node = function(id, styles = \"\") {\n const foundBlock = blockDatabase[id];\n if (styles !== void 0 && styles !== null) {\n foundBlock.styles = styles.split(STYLECLASS_SEP);\n }\n};\nconst setCssClass = function(itemIds, cssClassName) {\n itemIds.split(\",\").forEach(function(id) {\n let foundBlock = blockDatabase[id];\n if (foundBlock === void 0) {\n const trimmedId = id.trim();\n blockDatabase[trimmedId] = { id: trimmedId, type: \"na\", children: [] };\n foundBlock = blockDatabase[trimmedId];\n }\n if (!foundBlock.classes) {\n foundBlock.classes = [];\n }\n foundBlock.classes.push(cssClassName);\n });\n};\nconst populateBlockDatabase = (_blockList, parent) => {\n const blockList = _blockList.flat();\n const children = [];\n for (const block of blockList) {\n if (block.label) {\n block.label = sanitizeText(block.label);\n }\n if (block.type === \"classDef\") {\n addStyleClass(block.id, block.css);\n continue;\n }\n if (block.type === \"applyClass\") {\n setCssClass(block.id, (block == null ? void 0 : block.styleClass) || \"\");\n continue;\n }\n if (block.type === \"applyStyles\") {\n if (block == null ? void 0 : block.stylesStr) {\n addStyle2Node(block.id, block == null ? void 0 : block.stylesStr);\n }\n continue;\n }\n if (block.type === \"column-setting\") {\n parent.columns = block.columns || -1;\n } else if (block.type === \"edge\") {\n if (edgeCount[block.id]) {\n edgeCount[block.id]++;\n } else {\n edgeCount[block.id] = 1;\n }\n block.id = edgeCount[block.id] + \"-\" + block.id;\n edgeList.push(block);\n } else {\n if (!block.label) {\n if (block.type === \"composite\") {\n block.label = \"\";\n } else {\n block.label = block.id;\n }\n }\n const newBlock = !blockDatabase[block.id];\n if (newBlock) {\n blockDatabase[block.id] = block;\n } else {\n if (block.type !== \"na\") {\n blockDatabase[block.id].type = block.type;\n }\n if (block.label !== block.id) {\n blockDatabase[block.id].label = block.label;\n }\n }\n if (block.children) {\n populateBlockDatabase(block.children, block);\n }\n if (block.type === \"space\") {\n const w = block.width || 1;\n for (let j = 0; j < w; j++) {\n const newBlock2 = clone(block);\n newBlock2.id = newBlock2.id + \"-\" + j;\n blockDatabase[newBlock2.id] = newBlock2;\n children.push(newBlock2);\n }\n } else if (newBlock) {\n children.push(block);\n }\n }\n }\n parent.children = children;\n};\nlet blocks = [];\nlet rootBlock = { id: \"root\", type: \"composite\", children: [], columns: -1 };\nconst clear = () => {\n log.debug(\"Clear called\");\n clear$1();\n rootBlock = { id: \"root\", type: \"composite\", children: [], columns: -1 };\n blockDatabase = { root: rootBlock };\n blocks = [];\n classes = {};\n edgeList = [];\n edgeCount = {};\n};\nfunction typeStr2Type(typeStr) {\n log.debug(\"typeStr2Type\", typeStr);\n switch (typeStr) {\n case \"[]\":\n return \"square\";\n case \"()\":\n log.debug(\"we have a round\");\n return \"round\";\n case \"(())\":\n return \"circle\";\n case \">]\":\n return \"rect_left_inv_arrow\";\n case \"{}\":\n return \"diamond\";\n case \"{{}}\":\n return \"hexagon\";\n case \"([])\":\n return \"stadium\";\n case \"[[]]\":\n return \"subroutine\";\n case \"[()]\":\n return \"cylinder\";\n case \"((()))\":\n return \"doublecircle\";\n case \"[//]\":\n return \"lean_right\";\n case \"[\\\\\\\\]\":\n return \"lean_left\";\n case \"[/\\\\]\":\n return \"trapezoid\";\n case \"[\\\\/]\":\n return \"inv_trapezoid\";\n case \"<[]>\":\n return \"block_arrow\";\n default:\n return \"na\";\n }\n}\nfunction edgeTypeStr2Type(typeStr) {\n log.debug(\"typeStr2Type\", typeStr);\n switch (typeStr) {\n case \"==\":\n return \"thick\";\n default:\n return \"normal\";\n }\n}\nfunction edgeStrToEdgeData(typeStr) {\n switch (typeStr.trim()) {\n case \"--x\":\n return \"arrow_cross\";\n case \"--o\":\n return \"arrow_circle\";\n default:\n return \"arrow_point\";\n }\n}\nlet cnt = 0;\nconst generateId = () => {\n cnt++;\n return \"id-\" + Math.random().toString(36).substr(2, 12) + \"-\" + cnt;\n};\nconst setHierarchy = (block) => {\n rootBlock.children = block;\n populateBlockDatabase(block, rootBlock);\n blocks = rootBlock.children;\n};\nconst getColumns = (blockId) => {\n const block = blockDatabase[blockId];\n if (!block) {\n return -1;\n }\n if (block.columns) {\n return block.columns;\n }\n if (!block.children) {\n return -1;\n }\n return block.children.length;\n};\nconst getBlocksFlat = () => {\n return [...Object.values(blockDatabase)];\n};\nconst getBlocks = () => {\n return blocks || [];\n};\nconst getEdges = () => {\n return edgeList;\n};\nconst getBlock = (id) => {\n return blockDatabase[id];\n};\nconst setBlock = (block) => {\n blockDatabase[block.id] = block;\n};\nconst getLogger = () => console;\nconst getClasses$1 = function() {\n return classes;\n};\nconst db = {\n getConfig: () => getConfig$1().block,\n typeStr2Type,\n edgeTypeStr2Type,\n edgeStrToEdgeData,\n getLogger,\n getBlocksFlat,\n getBlocks,\n getEdges,\n setHierarchy,\n getBlock,\n setBlock,\n getColumns,\n getClasses: getClasses$1,\n clear,\n generateId\n};\nconst db$1 = db;\nconst fade = (color, opacity) => {\n const channel$1 = channel;\n const r = channel$1(color, \"r\");\n const g = channel$1(color, \"g\");\n const b = channel$1(color, \"b\");\n return rgba(r, g, b, opacity);\n};\nconst getStyles = (options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span,p {\n color: ${options.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground, 0.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${fade(options.mainBkg, 0.5)};\n fill: ${fade(options.clusterBkg, 0.5)};\n stroke: ${fade(options.clusterBorder, 0.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span,p {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`;\nconst flowStyles = getStyles;\nfunction getNodeFromBlock(block, db2, positioned = false) {\n var _a2, _b2, _c;\n const vertex = block;\n let classStr = \"default\";\n if ((((_a2 = vertex == null ? void 0 : vertex.classes) == null ? void 0 : _a2.length) || 0) > 0) {\n classStr = ((vertex == null ? void 0 : vertex.classes) || []).join(\" \");\n }\n classStr = classStr + \" flowchart-label\";\n let radius = 0;\n let shape = \"\";\n let padding2;\n switch (vertex.type) {\n case \"round\":\n radius = 5;\n shape = \"rect\";\n break;\n case \"composite\":\n radius = 0;\n shape = \"composite\";\n padding2 = 0;\n break;\n case \"square\":\n shape = \"rect\";\n break;\n case \"diamond\":\n shape = \"question\";\n break;\n case \"hexagon\":\n shape = \"hexagon\";\n break;\n case \"block_arrow\":\n shape = \"block_arrow\";\n break;\n case \"odd\":\n shape = \"rect_left_inv_arrow\";\n break;\n case \"lean_right\":\n shape = \"lean_right\";\n break;\n case \"lean_left\":\n shape = \"lean_left\";\n break;\n case \"trapezoid\":\n shape = \"trapezoid\";\n break;\n case \"inv_trapezoid\":\n shape = \"inv_trapezoid\";\n break;\n case \"rect_left_inv_arrow\":\n shape = \"rect_left_inv_arrow\";\n break;\n case \"circle\":\n shape = \"circle\";\n break;\n case \"ellipse\":\n shape = \"ellipse\";\n break;\n case \"stadium\":\n shape = \"stadium\";\n break;\n case \"subroutine\":\n shape = \"subroutine\";\n break;\n case \"cylinder\":\n shape = \"cylinder\";\n break;\n case \"group\":\n shape = \"rect\";\n break;\n case \"doublecircle\":\n shape = \"doublecircle\";\n break;\n default:\n shape = \"rect\";\n }\n const styles = getStylesFromArray((vertex == null ? void 0 : vertex.styles) || []);\n const vertexText = vertex.label;\n const bounds = vertex.size || { width: 0, height: 0, x: 0, y: 0 };\n const node = {\n labelStyle: styles.labelStyle,\n shape,\n labelText: vertexText,\n rx: radius,\n ry: radius,\n class: classStr,\n style: styles.style,\n id: vertex.id,\n directions: vertex.directions,\n width: bounds.width,\n height: bounds.height,\n x: bounds.x,\n y: bounds.y,\n positioned,\n intersect: void 0,\n type: vertex.type,\n padding: padding2 ?? (((_c = (_b2 = getConfig$1()) == null ? void 0 : _b2.block) == null ? void 0 : _c.padding) || 0)\n };\n return node;\n}\nasync function calculateBlockSize(elem, block, db2) {\n const node = getNodeFromBlock(block, db2, false);\n if (node.type === \"group\") {\n return;\n }\n const nodeEl = await insertNode(elem, node);\n const boundingBox = nodeEl.node().getBBox();\n const obj = db2.getBlock(node.id);\n obj.size = { width: boundingBox.width, height: boundingBox.height, x: 0, y: 0, node: nodeEl };\n db2.setBlock(obj);\n nodeEl.remove();\n}\nasync function insertBlockPositioned(elem, block, db2) {\n const node = getNodeFromBlock(block, db2, true);\n const obj = db2.getBlock(node.id);\n if (obj.type !== \"space\") {\n await insertNode(elem, node);\n block.intersect = node == null ? void 0 : node.intersect;\n positionNode(node);\n }\n}\nasync function performOperations(elem, blocks2, db2, operation) {\n for (const block of blocks2) {\n await operation(elem, block, db2);\n if (block.children) {\n await performOperations(elem, block.children, db2, operation);\n }\n }\n}\nasync function calculateBlockSizes(elem, blocks2, db2) {\n await performOperations(elem, blocks2, db2, calculateBlockSize);\n}\nasync function insertBlocks(elem, blocks2, db2) {\n await performOperations(elem, blocks2, db2, insertBlockPositioned);\n}\nasync function insertEdges(elem, edges, blocks2, db2, id) {\n const g = new Graph({\n multigraph: true,\n compound: true\n });\n g.setGraph({\n rankdir: \"TB\",\n nodesep: 10,\n ranksep: 10,\n marginx: 8,\n marginy: 8\n });\n for (const block of blocks2) {\n if (block.size) {\n g.setNode(block.id, {\n width: block.size.width,\n height: block.size.height,\n intersect: block.intersect\n });\n }\n }\n for (const edge of edges) {\n if (edge.start && edge.end) {\n const startBlock = db2.getBlock(edge.start);\n const endBlock = db2.getBlock(edge.end);\n if ((startBlock == null ? void 0 : startBlock.size) && (endBlock == null ? void 0 : endBlock.size)) {\n const start = startBlock.size;\n const end = endBlock.size;\n const points = [\n { x: start.x, y: start.y },\n { x: start.x + (end.x - start.x) / 2, y: start.y + (end.y - start.y) / 2 },\n { x: end.x, y: end.y }\n ];\n await insertEdge(\n elem,\n { v: edge.start, w: edge.end, name: edge.id },\n {\n ...edge,\n arrowTypeEnd: edge.arrowTypeEnd,\n arrowTypeStart: edge.arrowTypeStart,\n points,\n classes: \"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1\"\n },\n void 0,\n \"block\",\n g,\n id\n );\n if (edge.label) {\n await insertEdgeLabel(elem, {\n ...edge,\n label: edge.label,\n labelStyle: \"stroke: #333; stroke-width: 1.5px;fill:none;\",\n arrowTypeEnd: edge.arrowTypeEnd,\n arrowTypeStart: edge.arrowTypeStart,\n points,\n classes: \"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1\"\n });\n await positionEdgeLabel(\n { ...edge, x: points[1].x, y: points[1].y },\n {\n originalPath: points\n }\n );\n }\n }\n }\n }\n}\nconst padding = ((_b = (_a = getConfig()) == null ? void 0 : _a.block) == null ? void 0 : _b.padding) || 8;\nfunction calculateBlockPosition(columns, position) {\n if (columns === 0 || !Number.isInteger(columns)) {\n throw new Error(\"Columns must be an integer !== 0.\");\n }\n if (position < 0 || !Number.isInteger(position)) {\n throw new Error(\"Position must be a non-negative integer.\" + position);\n }\n if (columns < 0) {\n return { px: position, py: 0 };\n }\n if (columns === 1) {\n return { px: 0, py: position };\n }\n const px = position % columns;\n const py = Math.floor(position / columns);\n return { px, py };\n}\nconst getMaxChildSize = (block) => {\n let maxWidth = 0;\n let maxHeight = 0;\n for (const child of block.children) {\n const { width, height, x, y } = child.size || { width: 0, height: 0, x: 0, y: 0 };\n log.debug(\n \"getMaxChildSize abc95 child:\",\n child.id,\n \"width:\",\n width,\n \"height:\",\n height,\n \"x:\",\n x,\n \"y:\",\n y,\n child.type\n );\n if (child.type === \"space\") {\n continue;\n }\n if (width > maxWidth) {\n maxWidth = width / (block.widthInColumns || 1);\n }\n if (height > maxHeight) {\n maxHeight = height;\n }\n }\n return { width: maxWidth, height: maxHeight };\n};\nfunction setBlockSizes(block, db2, siblingWidth = 0, siblingHeight = 0) {\n var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n log.debug(\n \"setBlockSizes abc95 (start)\",\n block.id,\n (_a2 = block == null ? void 0 : block.size) == null ? void 0 : _a2.x,\n \"block width =\",\n block == null ? void 0 : block.size,\n \"sieblingWidth\",\n siblingWidth\n );\n if (!((_b2 = block == null ? void 0 : block.size) == null ? void 0 : _b2.width)) {\n block.size = {\n width: siblingWidth,\n height: siblingHeight,\n x: 0,\n y: 0\n };\n }\n let maxWidth = 0;\n let maxHeight = 0;\n if (((_c = block.children) == null ? void 0 : _c.length) > 0) {\n for (const child of block.children) {\n setBlockSizes(child, db2);\n }\n const childSize = getMaxChildSize(block);\n maxWidth = childSize.width;\n maxHeight = childSize.height;\n log.debug(\"setBlockSizes abc95 maxWidth of\", block.id, \":s children is \", maxWidth, maxHeight);\n for (const child of block.children) {\n if (child.size) {\n log.debug(\n `abc95 Setting size of children of ${block.id} id=${child.id} ${maxWidth} ${maxHeight} ${child.size}`\n );\n child.size.width = maxWidth * (child.widthInColumns || 1) + padding * ((child.widthInColumns || 1) - 1);\n child.size.height = maxHeight;\n child.size.x = 0;\n child.size.y = 0;\n log.debug(\n `abc95 updating size of ${block.id} children child:${child.id} maxWidth:${maxWidth} maxHeight:${maxHeight}`\n );\n }\n }\n for (const child of block.children) {\n setBlockSizes(child, db2, maxWidth, maxHeight);\n }\n const columns = block.columns || -1;\n let numItems = 0;\n for (const child of block.children) {\n numItems += child.widthInColumns || 1;\n }\n let xSize = block.children.length;\n if (columns > 0 && columns < numItems) {\n xSize = columns;\n }\n block.widthInColumns || 1;\n const ySize = Math.ceil(numItems / xSize);\n let width = xSize * (maxWidth + padding) + padding;\n let height = ySize * (maxHeight + padding) + padding;\n if (width < siblingWidth) {\n log.debug(\n `Detected to small siebling: abc95 ${block.id} sieblingWidth ${siblingWidth} sieblingHeight ${siblingHeight} width ${width}`\n );\n width = siblingWidth;\n height = siblingHeight;\n const childWidth = (siblingWidth - xSize * padding - padding) / xSize;\n const childHeight = (siblingHeight - ySize * padding - padding) / ySize;\n log.debug(\"Size indata abc88\", block.id, \"childWidth\", childWidth, \"maxWidth\", maxWidth);\n log.debug(\"Size indata abc88\", block.id, \"childHeight\", childHeight, \"maxHeight\", maxHeight);\n log.debug(\"Size indata abc88 xSize\", xSize, \"padding\", padding);\n for (const child of block.children) {\n if (child.size) {\n child.size.width = childWidth;\n child.size.height = childHeight;\n child.size.x = 0;\n child.size.y = 0;\n }\n }\n }\n log.debug(\n `abc95 (finale calc) ${block.id} xSize ${xSize} ySize ${ySize} columns ${columns}${block.children.length} width=${Math.max(width, ((_d = block.size) == null ? void 0 : _d.width) || 0)}`\n );\n if (width < (((_e = block == null ? void 0 : block.size) == null ? void 0 : _e.width) || 0)) {\n width = ((_f = block == null ? void 0 : block.size) == null ? void 0 : _f.width) || 0;\n const num = columns > 0 ? Math.min(block.children.length, columns) : block.children.length;\n if (num > 0) {\n const childWidth = (width - num * padding - padding) / num;\n log.debug(\"abc95 (growing to fit) width\", block.id, width, (_g = block.size) == null ? void 0 : _g.width, childWidth);\n for (const child of block.children) {\n if (child.size) {\n child.size.width = childWidth;\n }\n }\n }\n }\n block.size = {\n width,\n height,\n x: 0,\n y: 0\n };\n }\n log.debug(\n \"setBlockSizes abc94 (done)\",\n block.id,\n (_h = block == null ? void 0 : block.size) == null ? void 0 : _h.x,\n (_i = block == null ? void 0 : block.size) == null ? void 0 : _i.width,\n (_j = block == null ? void 0 : block.size) == null ? void 0 : _j.y,\n (_k = block == null ? void 0 : block.size) == null ? void 0 : _k.height\n );\n}\nfunction layoutBlocks(block, db2) {\n var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;\n log.debug(\n `abc85 layout blocks (=>layoutBlocks) ${block.id} x: ${(_a2 = block == null ? void 0 : block.size) == null ? void 0 : _a2.x} y: ${(_b2 = block == null ? void 0 : block.size) == null ? void 0 : _b2.y} width: ${(_c = block == null ? void 0 : block.size) == null ? void 0 : _c.width}`\n );\n const columns = block.columns || -1;\n log.debug(\"layoutBlocks columns abc95\", block.id, \"=>\", columns, block);\n if (block.children && // find max width of children\n block.children.length > 0) {\n const width = ((_e = (_d = block == null ? void 0 : block.children[0]) == null ? void 0 : _d.size) == null ? void 0 : _e.width) || 0;\n const widthOfChildren = block.children.length * width + (block.children.length - 1) * padding;\n log.debug(\"widthOfChildren 88\", widthOfChildren, \"posX\");\n let columnPos = 0;\n log.debug(\"abc91 block?.size?.x\", block.id, (_f = block == null ? void 0 : block.size) == null ? void 0 : _f.x);\n let startingPosX = ((_g = block == null ? void 0 : block.size) == null ? void 0 : _g.x) ? ((_h = block == null ? void 0 : block.size) == null ? void 0 : _h.x) + (-((_i = block == null ? void 0 : block.size) == null ? void 0 : _i.width) / 2 || 0) : -padding;\n let rowPos = 0;\n for (const child of block.children) {\n const parent = block;\n if (!child.size) {\n continue;\n }\n const { width: width2, height } = child.size;\n const { px, py } = calculateBlockPosition(columns, columnPos);\n if (py != rowPos) {\n rowPos = py;\n startingPosX = ((_j = block == null ? void 0 : block.size) == null ? void 0 : _j.x) ? ((_k = block == null ? void 0 : block.size) == null ? void 0 : _k.x) + (-((_l = block == null ? void 0 : block.size) == null ? void 0 : _l.width) / 2 || 0) : -padding;\n log.debug(\"New row in layout for block\", block.id, \" and child \", child.id, rowPos);\n }\n log.debug(\n `abc89 layout blocks (child) id: ${child.id} Pos: ${columnPos} (px, py) ${px},${py} (${(_m = parent == null ? void 0 : parent.size) == null ? void 0 : _m.x},${(_n = parent == null ? void 0 : parent.size) == null ? void 0 : _n.y}) parent: ${parent.id} width: ${width2}${padding}`\n );\n if (parent.size) {\n const halfWidth = width2 / 2;\n child.size.x = startingPosX + padding + halfWidth;\n log.debug(\n `abc91 layout blocks (calc) px, pyid:${child.id} startingPos=X${startingPosX} new startingPosX${child.size.x} ${halfWidth} padding=${padding} width=${width2} halfWidth=${halfWidth} => x:${child.size.x} y:${child.size.y} ${child.widthInColumns} (width * (child?.w || 1)) / 2 ${width2 * ((child == null ? void 0 : child.widthInColumns) || 1) / 2}`\n );\n startingPosX = child.size.x + halfWidth;\n child.size.y = parent.size.y - parent.size.height / 2 + py * (height + padding) + height / 2 + padding;\n log.debug(\n `abc88 layout blocks (calc) px, pyid:${child.id}startingPosX${startingPosX}${padding}${halfWidth}=>x:${child.size.x}y:${child.size.y}${child.widthInColumns}(width * (child?.w || 1)) / 2${width2 * ((child == null ? void 0 : child.widthInColumns) || 1) / 2}`\n );\n }\n if (child.children) {\n layoutBlocks(child);\n }\n columnPos += (child == null ? void 0 : child.widthInColumns) || 1;\n log.debug(\"abc88 columnsPos\", child, columnPos);\n }\n }\n log.debug(\n `layout blocks (<==layoutBlocks) ${block.id} x: ${(_o = block == null ? void 0 : block.size) == null ? void 0 : _o.x} y: ${(_p = block == null ? void 0 : block.size) == null ? void 0 : _p.y} width: ${(_q = block == null ? void 0 : block.size) == null ? void 0 : _q.width}`\n );\n}\nfunction findBounds(block, { minX, minY, maxX, maxY } = { minX: 0, minY: 0, maxX: 0, maxY: 0 }) {\n if (block.size && block.id !== \"root\") {\n const { x, y, width, height } = block.size;\n if (x - width / 2 < minX) {\n minX = x - width / 2;\n }\n if (y - height / 2 < minY) {\n minY = y - height / 2;\n }\n if (x + width / 2 > maxX) {\n maxX = x + width / 2;\n }\n if (y + height / 2 > maxY) {\n maxY = y + height / 2;\n }\n }\n if (block.children) {\n for (const child of block.children) {\n ({ minX, minY, maxX, maxY } = findBounds(child, { minX, minY, maxX, maxY }));\n }\n }\n return { minX, minY, maxX, maxY };\n}\nfunction layout(db2) {\n const root = db2.getBlock(\"root\");\n if (!root) {\n return;\n }\n setBlockSizes(root, db2, 0, 0);\n layoutBlocks(root);\n log.debug(\"getBlocks\", JSON.stringify(root, null, 2));\n const { minX, minY, maxX, maxY } = findBounds(root);\n const height = maxY - minY;\n const width = maxX - minX;\n return { x: minX, y: minY, width, height };\n}\nconst getClasses = function(text, diagObj) {\n return diagObj.db.getClasses();\n};\nconst draw = async function(text, id, _version, diagObj) {\n const { securityLevel, block: conf } = getConfig$1();\n const db2 = diagObj.db;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n const markers = [\"point\", \"circle\", \"cross\"];\n insertMarkers(svg, markers, diagObj.type, id);\n const bl = db2.getBlocks();\n const blArr = db2.getBlocksFlat();\n const edges = db2.getEdges();\n const nodes = svg.insert(\"g\").attr(\"class\", \"block\");\n await calculateBlockSizes(nodes, bl, db2);\n const bounds = layout(db2);\n await insertBlocks(nodes, bl, db2);\n await insertEdges(nodes, edges, blArr, db2, id);\n if (bounds) {\n const bounds2 = bounds;\n const magicFactor = Math.max(1, Math.round(0.125 * (bounds2.width / bounds2.height)));\n const height = bounds2.height + magicFactor + 10;\n const width = bounds2.width + 10;\n const { useMaxWidth } = conf;\n configureSvgSize(svg, height, width, !!useMaxWidth);\n log.debug(\"Here Bounds\", bounds, bounds2);\n svg.attr(\n \"viewBox\",\n `${bounds2.x - 5} ${bounds2.y - 5} ${bounds2.width + 10} ${bounds2.height + 10}`\n );\n }\n ordinal(d3schemeTableau10);\n};\nconst renderer = {\n draw,\n getClasses\n};\nconst diagram = {\n parser: parser$1,\n db: db$1,\n renderer,\n styles: flowStyles\n};\nexport {\n diagram\n};\n"], "mappings": "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,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK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", "names": ["clear", "channel$1"] diff --git a/docs/.vitepress/cache/deps/c4Diagram-5e436c10-YNV6CQNH.js b/docs/.vitepress/cache/deps/c4Diagram-5e436c10-EUIRZFMQ.js similarity index 99% rename from docs/.vitepress/cache/deps/c4Diagram-5e436c10-YNV6CQNH.js rename to docs/.vitepress/cache/deps/c4Diagram-5e436c10-EUIRZFMQ.js index 0a869037..ce63965c 100644 --- a/docs/.vitepress/cache/deps/c4Diagram-5e436c10-YNV6CQNH.js +++ b/docs/.vitepress/cache/deps/c4Diagram-5e436c10-EUIRZFMQ.js @@ -1,7 +1,7 @@ import { drawRect, getNoteRect -} from "./chunk-QD7GYJLE.js"; +} from "./chunk-WUGULRU7.js"; import { assignWithDepth$1, calculateTextHeight, @@ -18,10 +18,10 @@ import { setAccDescription, setAccTitle, wrapLabel -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; import "./chunk-5WRI5ZAA.js"; -// node_modules/mermaid/dist/c4Diagram-5e436c10.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/c4Diagram-5e436c10.js var parser = function() { var o = function(k, v, o2, l) { for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) @@ -2484,4 +2484,4 @@ var diagram = { export { diagram }; -//# sourceMappingURL=c4Diagram-5e436c10-YNV6CQNH.js.map +//# sourceMappingURL=c4Diagram-5e436c10-EUIRZFMQ.js.map diff --git a/docs/.vitepress/cache/deps/c4Diagram-5e436c10-YNV6CQNH.js.map b/docs/.vitepress/cache/deps/c4Diagram-5e436c10-EUIRZFMQ.js.map similarity index 99% rename from docs/.vitepress/cache/deps/c4Diagram-5e436c10-YNV6CQNH.js.map rename to docs/.vitepress/cache/deps/c4Diagram-5e436c10-EUIRZFMQ.js.map index 6fef3861..72c99459 100644 --- a/docs/.vitepress/cache/deps/c4Diagram-5e436c10-YNV6CQNH.js.map +++ b/docs/.vitepress/cache/deps/c4Diagram-5e436c10-EUIRZFMQ.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/c4Diagram-5e436c10.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/c4Diagram-5e436c10.js"], "sourcesContent": ["import { s as setAccTitle, g as getAccTitle, a as getAccDescription, b as setAccDescription, c as getConfig, d as sanitizeText, e as dist, f as common, h as assignWithDepth, i as calculateTextWidth, j as d3select, l as log, k as configureSvgSize, w as wrapLabel, m as calculateTextHeight } from \"./mermaid-bea41e51.js\";\nimport { d as drawRect$1, g as getNoteRect } from \"./svgDrawCommon-00c8c713.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 24], $V1 = [1, 25], $V2 = [1, 26], $V3 = [1, 27], $V4 = [1, 28], $V5 = [1, 63], $V6 = [1, 64], $V7 = [1, 65], $V8 = [1, 66], $V9 = [1, 67], $Va = [1, 68], $Vb = [1, 69], $Vc = [1, 29], $Vd = [1, 30], $Ve = [1, 31], $Vf = [1, 32], $Vg = [1, 33], $Vh = [1, 34], $Vi = [1, 35], $Vj = [1, 36], $Vk = [1, 37], $Vl = [1, 38], $Vm = [1, 39], $Vn = [1, 40], $Vo = [1, 41], $Vp = [1, 42], $Vq = [1, 43], $Vr = [1, 44], $Vs = [1, 45], $Vt = [1, 46], $Vu = [1, 47], $Vv = [1, 48], $Vw = [1, 50], $Vx = [1, 51], $Vy = [1, 52], $Vz = [1, 53], $VA = [1, 54], $VB = [1, 55], $VC = [1, 56], $VD = [1, 57], $VE = [1, 58], $VF = [1, 59], $VG = [1, 60], $VH = [14, 42], $VI = [14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], $VJ = [12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], $VK = [1, 82], $VL = [1, 83], $VM = [1, 84], $VN = [1, 85], $VO = [12, 14, 42], $VP = [12, 14, 33, 42], $VQ = [12, 14, 33, 42, 76, 77, 79, 80], $VR = [12, 33], $VS = [34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mermaidDoc\": 4, \"direction\": 5, \"direction_tb\": 6, \"direction_bt\": 7, \"direction_rl\": 8, \"direction_lr\": 9, \"graphConfig\": 10, \"C4_CONTEXT\": 11, \"NEWLINE\": 12, \"statements\": 13, \"EOF\": 14, \"C4_CONTAINER\": 15, \"C4_COMPONENT\": 16, \"C4_DYNAMIC\": 17, \"C4_DEPLOYMENT\": 18, \"otherStatements\": 19, \"diagramStatements\": 20, \"otherStatement\": 21, \"title\": 22, \"accDescription\": 23, \"acc_title\": 24, \"acc_title_value\": 25, \"acc_descr\": 26, \"acc_descr_value\": 27, \"acc_descr_multiline_value\": 28, \"boundaryStatement\": 29, \"boundaryStartStatement\": 30, \"boundaryStopStatement\": 31, \"boundaryStart\": 32, \"LBRACE\": 33, \"ENTERPRISE_BOUNDARY\": 34, \"attributes\": 35, \"SYSTEM_BOUNDARY\": 36, \"BOUNDARY\": 37, \"CONTAINER_BOUNDARY\": 38, \"NODE\": 39, \"NODE_L\": 40, \"NODE_R\": 41, \"RBRACE\": 42, \"diagramStatement\": 43, \"PERSON\": 44, \"PERSON_EXT\": 45, \"SYSTEM\": 46, \"SYSTEM_DB\": 47, \"SYSTEM_QUEUE\": 48, \"SYSTEM_EXT\": 49, \"SYSTEM_EXT_DB\": 50, \"SYSTEM_EXT_QUEUE\": 51, \"CONTAINER\": 52, \"CONTAINER_DB\": 53, \"CONTAINER_QUEUE\": 54, \"CONTAINER_EXT\": 55, \"CONTAINER_EXT_DB\": 56, \"CONTAINER_EXT_QUEUE\": 57, \"COMPONENT\": 58, \"COMPONENT_DB\": 59, \"COMPONENT_QUEUE\": 60, \"COMPONENT_EXT\": 61, \"COMPONENT_EXT_DB\": 62, \"COMPONENT_EXT_QUEUE\": 63, \"REL\": 64, \"BIREL\": 65, \"REL_U\": 66, \"REL_D\": 67, \"REL_L\": 68, \"REL_R\": 69, \"REL_B\": 70, \"REL_INDEX\": 71, \"UPDATE_EL_STYLE\": 72, \"UPDATE_REL_STYLE\": 73, \"UPDATE_LAYOUT_CONFIG\": 74, \"attribute\": 75, \"STR\": 76, \"STR_KEY\": 77, \"STR_VALUE\": 78, \"ATTRIBUTE\": 79, \"ATTRIBUTE_EMPTY\": 80, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"direction_tb\", 7: \"direction_bt\", 8: \"direction_rl\", 9: \"direction_lr\", 11: \"C4_CONTEXT\", 12: \"NEWLINE\", 14: \"EOF\", 15: \"C4_CONTAINER\", 16: \"C4_COMPONENT\", 17: \"C4_DYNAMIC\", 18: \"C4_DEPLOYMENT\", 22: \"title\", 23: \"accDescription\", 24: \"acc_title\", 25: \"acc_title_value\", 26: \"acc_descr\", 27: \"acc_descr_value\", 28: \"acc_descr_multiline_value\", 33: \"LBRACE\", 34: \"ENTERPRISE_BOUNDARY\", 36: \"SYSTEM_BOUNDARY\", 37: \"BOUNDARY\", 38: \"CONTAINER_BOUNDARY\", 39: \"NODE\", 40: \"NODE_L\", 41: \"NODE_R\", 42: \"RBRACE\", 44: \"PERSON\", 45: \"PERSON_EXT\", 46: \"SYSTEM\", 47: \"SYSTEM_DB\", 48: \"SYSTEM_QUEUE\", 49: \"SYSTEM_EXT\", 50: \"SYSTEM_EXT_DB\", 51: \"SYSTEM_EXT_QUEUE\", 52: \"CONTAINER\", 53: \"CONTAINER_DB\", 54: \"CONTAINER_QUEUE\", 55: \"CONTAINER_EXT\", 56: \"CONTAINER_EXT_DB\", 57: \"CONTAINER_EXT_QUEUE\", 58: \"COMPONENT\", 59: \"COMPONENT_DB\", 60: \"COMPONENT_QUEUE\", 61: \"COMPONENT_EXT\", 62: \"COMPONENT_EXT_DB\", 63: \"COMPONENT_EXT_QUEUE\", 64: \"REL\", 65: \"BIREL\", 66: \"REL_U\", 67: \"REL_D\", 68: \"REL_L\", 69: \"REL_R\", 70: \"REL_B\", 71: \"REL_INDEX\", 72: \"UPDATE_EL_STYLE\", 73: \"UPDATE_REL_STYLE\", 74: \"UPDATE_LAYOUT_CONFIG\", 76: \"STR\", 77: \"STR_KEY\", 78: \"STR_VALUE\", 79: \"ATTRIBUTE\", 80: \"ATTRIBUTE_EMPTY\" },\n productions_: [0, [3, 1], [3, 1], [5, 1], [5, 1], [5, 1], [5, 1], [4, 1], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [13, 1], [13, 1], [13, 2], [19, 1], [19, 2], [19, 3], [21, 1], [21, 1], [21, 2], [21, 2], [21, 1], [29, 3], [30, 3], [30, 3], [30, 4], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [31, 1], [20, 1], [20, 2], [20, 3], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 1], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [35, 1], [35, 2], [75, 1], [75, 2], [75, 1], [75, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setDirection(\"TB\");\n break;\n case 4:\n yy.setDirection(\"BT\");\n break;\n case 5:\n yy.setDirection(\"RL\");\n break;\n case 6:\n yy.setDirection(\"LR\");\n break;\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n yy.setC4Type($$[$0 - 3]);\n break;\n case 19:\n yy.setTitle($$[$0].substring(6));\n this.$ = $$[$0].substring(6);\n break;\n case 20:\n yy.setAccDescription($$[$0].substring(15));\n this.$ = $$[$0].substring(15);\n break;\n case 21:\n this.$ = $$[$0].trim();\n yy.setTitle(this.$);\n break;\n case 22:\n case 23:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 28:\n case 29:\n $$[$0].splice(2, 0, \"ENTERPRISE\");\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 30:\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 31:\n $$[$0].splice(2, 0, \"CONTAINER\");\n yy.addContainerBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 32:\n yy.addDeploymentNode(\"node\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 33:\n yy.addDeploymentNode(\"nodeL\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 34:\n yy.addDeploymentNode(\"nodeR\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 35:\n yy.popBoundaryParseStack();\n break;\n case 39:\n yy.addPersonOrSystem(\"person\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 40:\n yy.addPersonOrSystem(\"external_person\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 41:\n yy.addPersonOrSystem(\"system\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 42:\n yy.addPersonOrSystem(\"system_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 43:\n yy.addPersonOrSystem(\"system_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 44:\n yy.addPersonOrSystem(\"external_system\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 45:\n yy.addPersonOrSystem(\"external_system_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 46:\n yy.addPersonOrSystem(\"external_system_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 47:\n yy.addContainer(\"container\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 48:\n yy.addContainer(\"container_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 49:\n yy.addContainer(\"container_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 50:\n yy.addContainer(\"external_container\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 51:\n yy.addContainer(\"external_container_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 52:\n yy.addContainer(\"external_container_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 53:\n yy.addComponent(\"component\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 54:\n yy.addComponent(\"component_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 55:\n yy.addComponent(\"component_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 56:\n yy.addComponent(\"external_component\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 57:\n yy.addComponent(\"external_component_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 58:\n yy.addComponent(\"external_component_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 60:\n yy.addRel(\"rel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 61:\n yy.addRel(\"birel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 62:\n yy.addRel(\"rel_u\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 63:\n yy.addRel(\"rel_d\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 64:\n yy.addRel(\"rel_l\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 65:\n yy.addRel(\"rel_r\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 66:\n yy.addRel(\"rel_b\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 67:\n $$[$0].splice(0, 1);\n yy.addRel(\"rel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 68:\n yy.updateElStyle(\"update_el_style\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 69:\n yy.updateRelStyle(\"update_rel_style\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 70:\n yy.updateLayoutConfig(\"update_layout_config\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 71:\n this.$ = [$$[$0]];\n break;\n case 72:\n $$[$0].unshift($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 73:\n case 75:\n this.$ = $$[$0].trim();\n break;\n case 74:\n let kv = {};\n kv[$$[$0 - 1].trim()] = $$[$0].trim();\n this.$ = kv;\n break;\n case 76:\n this.$ = \"\";\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 7: [1, 6], 8: [1, 7], 9: [1, 8], 10: 4, 11: [1, 9], 15: [1, 10], 16: [1, 11], 17: [1, 12], 18: [1, 13] }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 7] }, { 1: [2, 3] }, { 1: [2, 4] }, { 1: [2, 5] }, { 1: [2, 6] }, { 12: [1, 14] }, { 12: [1, 15] }, { 12: [1, 16] }, { 12: [1, 17] }, { 12: [1, 18] }, { 13: 19, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 70, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 71, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 72, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 73, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 14: [1, 74] }, o($VH, [2, 13], { 43: 23, 29: 49, 30: 61, 32: 62, 20: 75, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }), o($VH, [2, 14]), o($VI, [2, 16], { 12: [1, 76] }), o($VH, [2, 36], { 12: [1, 77] }), o($VJ, [2, 19]), o($VJ, [2, 20]), { 25: [1, 78] }, { 27: [1, 79] }, o($VJ, [2, 23]), { 35: 80, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 86, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 87, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 88, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 89, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 90, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 91, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 92, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 93, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 94, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 95, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 96, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 97, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 98, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 99, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 100, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 101, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 102, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 103, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 104, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, o($VO, [2, 59]), { 35: 105, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 106, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 107, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 108, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 109, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 110, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 111, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 112, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 113, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 114, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 115, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 20: 116, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 12: [1, 118], 33: [1, 117] }, { 35: 119, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 120, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 121, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 122, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 123, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 124, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 125, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 14: [1, 126] }, { 14: [1, 127] }, { 14: [1, 128] }, { 14: [1, 129] }, { 1: [2, 8] }, o($VH, [2, 15]), o($VI, [2, 17], { 21: 22, 19: 130, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4 }), o($VH, [2, 37], { 19: 20, 20: 21, 21: 22, 43: 23, 29: 49, 30: 61, 32: 62, 13: 131, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }), o($VJ, [2, 21]), o($VJ, [2, 22]), o($VO, [2, 39]), o($VP, [2, 71], { 75: 81, 35: 132, 76: $VK, 77: $VL, 79: $VM, 80: $VN }), o($VQ, [2, 73]), { 78: [1, 133] }, o($VQ, [2, 75]), o($VQ, [2, 76]), o($VO, [2, 40]), o($VO, [2, 41]), o($VO, [2, 42]), o($VO, [2, 43]), o($VO, [2, 44]), o($VO, [2, 45]), o($VO, [2, 46]), o($VO, [2, 47]), o($VO, [2, 48]), o($VO, [2, 49]), o($VO, [2, 50]), o($VO, [2, 51]), o($VO, [2, 52]), o($VO, [2, 53]), o($VO, [2, 54]), o($VO, [2, 55]), o($VO, [2, 56]), o($VO, [2, 57]), o($VO, [2, 58]), o($VO, [2, 60]), o($VO, [2, 61]), o($VO, [2, 62]), o($VO, [2, 63]), o($VO, [2, 64]), o($VO, [2, 65]), o($VO, [2, 66]), o($VO, [2, 67]), o($VO, [2, 68]), o($VO, [2, 69]), o($VO, [2, 70]), { 31: 134, 42: [1, 135] }, { 12: [1, 136] }, { 33: [1, 137] }, o($VR, [2, 28]), o($VR, [2, 29]), o($VR, [2, 30]), o($VR, [2, 31]), o($VR, [2, 32]), o($VR, [2, 33]), o($VR, [2, 34]), { 1: [2, 9] }, { 1: [2, 10] }, { 1: [2, 11] }, { 1: [2, 12] }, o($VI, [2, 18]), o($VH, [2, 38]), o($VP, [2, 72]), o($VQ, [2, 74]), o($VO, [2, 24]), o($VO, [2, 35]), o($VS, [2, 25]), o($VS, [2, 26], { 12: [1, 138] }), o($VS, [2, 27])],\n defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 7], 5: [2, 3], 6: [2, 4], 7: [2, 5], 8: [2, 6], 74: [2, 8], 126: [2, 9], 127: [2, 10], 128: [2, 11], 129: [2, 12] },\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c2 = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c2 + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: {},\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n case 1:\n return 7;\n case 2:\n return 8;\n case 3:\n return 9;\n case 4:\n return 22;\n case 5:\n return 23;\n case 6:\n this.begin(\"acc_title\");\n return 24;\n case 7:\n this.popState();\n return \"acc_title_value\";\n case 8:\n this.begin(\"acc_descr\");\n return 26;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n case 13:\n break;\n case 14:\n c;\n break;\n case 15:\n return 12;\n case 16:\n break;\n case 17:\n return 11;\n case 18:\n return 15;\n case 19:\n return 16;\n case 20:\n return 17;\n case 21:\n return 18;\n case 22:\n this.begin(\"person_ext\");\n return 45;\n case 23:\n this.begin(\"person\");\n return 44;\n case 24:\n this.begin(\"system_ext_queue\");\n return 51;\n case 25:\n this.begin(\"system_ext_db\");\n return 50;\n case 26:\n this.begin(\"system_ext\");\n return 49;\n case 27:\n this.begin(\"system_queue\");\n return 48;\n case 28:\n this.begin(\"system_db\");\n return 47;\n case 29:\n this.begin(\"system\");\n return 46;\n case 30:\n this.begin(\"boundary\");\n return 37;\n case 31:\n this.begin(\"enterprise_boundary\");\n return 34;\n case 32:\n this.begin(\"system_boundary\");\n return 36;\n case 33:\n this.begin(\"container_ext_queue\");\n return 57;\n case 34:\n this.begin(\"container_ext_db\");\n return 56;\n case 35:\n this.begin(\"container_ext\");\n return 55;\n case 36:\n this.begin(\"container_queue\");\n return 54;\n case 37:\n this.begin(\"container_db\");\n return 53;\n case 38:\n this.begin(\"container\");\n return 52;\n case 39:\n this.begin(\"container_boundary\");\n return 38;\n case 40:\n this.begin(\"component_ext_queue\");\n return 63;\n case 41:\n this.begin(\"component_ext_db\");\n return 62;\n case 42:\n this.begin(\"component_ext\");\n return 61;\n case 43:\n this.begin(\"component_queue\");\n return 60;\n case 44:\n this.begin(\"component_db\");\n return 59;\n case 45:\n this.begin(\"component\");\n return 58;\n case 46:\n this.begin(\"node\");\n return 39;\n case 47:\n this.begin(\"node\");\n return 39;\n case 48:\n this.begin(\"node_l\");\n return 40;\n case 49:\n this.begin(\"node_r\");\n return 41;\n case 50:\n this.begin(\"rel\");\n return 64;\n case 51:\n this.begin(\"birel\");\n return 65;\n case 52:\n this.begin(\"rel_u\");\n return 66;\n case 53:\n this.begin(\"rel_u\");\n return 66;\n case 54:\n this.begin(\"rel_d\");\n return 67;\n case 55:\n this.begin(\"rel_d\");\n return 67;\n case 56:\n this.begin(\"rel_l\");\n return 68;\n case 57:\n this.begin(\"rel_l\");\n return 68;\n case 58:\n this.begin(\"rel_r\");\n return 69;\n case 59:\n this.begin(\"rel_r\");\n return 69;\n case 60:\n this.begin(\"rel_b\");\n return 70;\n case 61:\n this.begin(\"rel_index\");\n return 71;\n case 62:\n this.begin(\"update_el_style\");\n return 72;\n case 63:\n this.begin(\"update_rel_style\");\n return 73;\n case 64:\n this.begin(\"update_layout_config\");\n return 74;\n case 65:\n return \"EOF_IN_STRUCT\";\n case 66:\n this.begin(\"attribute\");\n return \"ATTRIBUTE_EMPTY\";\n case 67:\n this.begin(\"attribute\");\n break;\n case 68:\n this.popState();\n this.popState();\n break;\n case 69:\n return 80;\n case 70:\n break;\n case 71:\n return 80;\n case 72:\n this.begin(\"string\");\n break;\n case 73:\n this.popState();\n break;\n case 74:\n return \"STR\";\n case 75:\n this.begin(\"string_kv\");\n break;\n case 76:\n this.begin(\"string_kv_key\");\n return \"STR_KEY\";\n case 77:\n this.popState();\n this.begin(\"string_kv_value\");\n break;\n case 78:\n return \"STR_VALUE\";\n case 79:\n this.popState();\n this.popState();\n break;\n case 80:\n return \"STR\";\n case 81:\n return \"LBRACE\";\n case 82:\n return \"RBRACE\";\n case 83:\n return \"SPACE\";\n case 84:\n return \"EOL\";\n case 85:\n return 14;\n }\n },\n rules: [/^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:title\\s[^#\\n;]+)/, /^(?:accDescription\\s[^#\\n;]+)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/, /^(?:%%[^\\n]*(\\r?\\n)*)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:C4Context\\b)/, /^(?:C4Container\\b)/, /^(?:C4Component\\b)/, /^(?:C4Dynamic\\b)/, /^(?:C4Deployment\\b)/, /^(?:Person_Ext\\b)/, /^(?:Person\\b)/, /^(?:SystemQueue_Ext\\b)/, /^(?:SystemDb_Ext\\b)/, /^(?:System_Ext\\b)/, /^(?:SystemQueue\\b)/, /^(?:SystemDb\\b)/, /^(?:System\\b)/, /^(?:Boundary\\b)/, /^(?:Enterprise_Boundary\\b)/, /^(?:System_Boundary\\b)/, /^(?:ContainerQueue_Ext\\b)/, /^(?:ContainerDb_Ext\\b)/, /^(?:Container_Ext\\b)/, /^(?:ContainerQueue\\b)/, /^(?:ContainerDb\\b)/, /^(?:Container\\b)/, /^(?:Container_Boundary\\b)/, /^(?:ComponentQueue_Ext\\b)/, /^(?:ComponentDb_Ext\\b)/, /^(?:Component_Ext\\b)/, /^(?:ComponentQueue\\b)/, /^(?:ComponentDb\\b)/, /^(?:Component\\b)/, /^(?:Deployment_Node\\b)/, /^(?:Node\\b)/, /^(?:Node_L\\b)/, /^(?:Node_R\\b)/, /^(?:Rel\\b)/, /^(?:BiRel\\b)/, /^(?:Rel_Up\\b)/, /^(?:Rel_U\\b)/, /^(?:Rel_Down\\b)/, /^(?:Rel_D\\b)/, /^(?:Rel_Left\\b)/, /^(?:Rel_L\\b)/, /^(?:Rel_Right\\b)/, /^(?:Rel_R\\b)/, /^(?:Rel_Back\\b)/, /^(?:RelIndex\\b)/, /^(?:UpdateElementStyle\\b)/, /^(?:UpdateRelStyle\\b)/, /^(?:UpdateLayoutConfig\\b)/, /^(?:$)/, /^(?:[(][ ]*[,])/, /^(?:[(])/, /^(?:[)])/, /^(?:,,)/, /^(?:,)/, /^(?:[ ]*[\"][\"])/, /^(?:[ ]*[\"])/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:[ ]*[\\$])/, /^(?:[^=]*)/, /^(?:[=][ ]*[\"])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:[^,]+)/, /^(?:\\{)/, /^(?:\\})/, /^(?:[\\s]+)/, /^(?:[\\n\\r]+)/, /^(?:$)/],\n conditions: { \"acc_descr_multiline\": { \"rules\": [11, 12], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9], \"inclusive\": false }, \"acc_title\": { \"rules\": [7], \"inclusive\": false }, \"string_kv_value\": { \"rules\": [78, 79], \"inclusive\": false }, \"string_kv_key\": { \"rules\": [77], \"inclusive\": false }, \"string_kv\": { \"rules\": [76], \"inclusive\": false }, \"string\": { \"rules\": [73, 74], \"inclusive\": false }, \"attribute\": { \"rules\": [68, 69, 70, 71, 72, 75, 80], \"inclusive\": false }, \"update_layout_config\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"update_rel_style\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"update_el_style\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_b\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_r\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_l\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_d\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_u\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_bi\": { \"rules\": [], \"inclusive\": false }, \"rel\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node_r\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node_l\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"index\": { \"rules\": [], \"inclusive\": false }, \"rel_index\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_ext_queue\": { \"rules\": [], \"inclusive\": false }, \"component_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"birel\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"enterprise_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"person_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"person\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, 82, 83, 84, 85], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nlet c4ShapeArray = [];\nlet boundaryParseStack = [\"\"];\nlet currentBoundaryParse = \"global\";\nlet parentBoundaryParse = \"\";\nlet boundaries = [\n {\n alias: \"global\",\n label: { text: \"global\" },\n type: { text: \"global\" },\n tags: null,\n link: null,\n parentBoundary: \"\"\n }\n];\nlet rels = [];\nlet title = \"\";\nlet wrapEnabled = false;\nlet c4ShapeInRow$1 = 4;\nlet c4BoundaryInRow$1 = 2;\nvar c4Type;\nconst getC4Type = function() {\n return c4Type;\n};\nconst setC4Type = function(c4TypeParam) {\n let sanitizedText = sanitizeText(c4TypeParam, getConfig());\n c4Type = sanitizedText;\n};\nconst addRel = function(type, from, to, label, techn, descr, sprite, tags, link) {\n if (type === void 0 || type === null || from === void 0 || from === null || to === void 0 || to === null || label === void 0 || label === null) {\n return;\n }\n let rel = {};\n const old = rels.find((rel2) => rel2.from === from && rel2.to === to);\n if (old) {\n rel = old;\n } else {\n rels.push(rel);\n }\n rel.type = type;\n rel.from = from;\n rel.to = to;\n rel.label = { text: label };\n if (techn === void 0 || techn === null) {\n rel.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n rel[key] = { text: value };\n } else {\n rel.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n rel.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n rel[key] = { text: value };\n } else {\n rel.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n rel[key] = value;\n } else {\n rel.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n rel[key] = value;\n } else {\n rel.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n rel[key] = value;\n } else {\n rel.link = link;\n }\n rel.wrap = autoWrap();\n};\nconst addPersonOrSystem = function(typeC4Shape, alias, label, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let personOrSystem = {};\n const old = c4ShapeArray.find((personOrSystem2) => personOrSystem2.alias === alias);\n if (old && alias === old.alias) {\n personOrSystem = old;\n } else {\n personOrSystem.alias = alias;\n c4ShapeArray.push(personOrSystem);\n }\n if (label === void 0 || label === null) {\n personOrSystem.label = { text: \"\" };\n } else {\n personOrSystem.label = { text: label };\n }\n if (descr === void 0 || descr === null) {\n personOrSystem.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n personOrSystem[key] = { text: value };\n } else {\n personOrSystem.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.link = link;\n }\n personOrSystem.typeC4Shape = { text: typeC4Shape };\n personOrSystem.parentBoundary = currentBoundaryParse;\n personOrSystem.wrap = autoWrap();\n};\nconst addContainer = function(typeC4Shape, alias, label, techn, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let container = {};\n const old = c4ShapeArray.find((container2) => container2.alias === alias);\n if (old && alias === old.alias) {\n container = old;\n } else {\n container.alias = alias;\n c4ShapeArray.push(container);\n }\n if (label === void 0 || label === null) {\n container.label = { text: \"\" };\n } else {\n container.label = { text: label };\n }\n if (techn === void 0 || techn === null) {\n container.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n container[key] = { text: value };\n } else {\n container.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n container.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n container[key] = { text: value };\n } else {\n container.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n container[key] = value;\n } else {\n container.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n container[key] = value;\n } else {\n container.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n container[key] = value;\n } else {\n container.link = link;\n }\n container.wrap = autoWrap();\n container.typeC4Shape = { text: typeC4Shape };\n container.parentBoundary = currentBoundaryParse;\n};\nconst addComponent = function(typeC4Shape, alias, label, techn, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let component = {};\n const old = c4ShapeArray.find((component2) => component2.alias === alias);\n if (old && alias === old.alias) {\n component = old;\n } else {\n component.alias = alias;\n c4ShapeArray.push(component);\n }\n if (label === void 0 || label === null) {\n component.label = { text: \"\" };\n } else {\n component.label = { text: label };\n }\n if (techn === void 0 || techn === null) {\n component.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n component[key] = { text: value };\n } else {\n component.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n component.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n component[key] = { text: value };\n } else {\n component.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n component[key] = value;\n } else {\n component.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n component[key] = value;\n } else {\n component.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n component[key] = value;\n } else {\n component.link = link;\n }\n component.wrap = autoWrap();\n component.typeC4Shape = { text: typeC4Shape };\n component.parentBoundary = currentBoundaryParse;\n};\nconst addPersonOrSystemBoundary = function(alias, label, type, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"system\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n};\nconst addContainerBoundary = function(alias, label, type, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"container\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n};\nconst addDeploymentNode = function(nodeType, alias, label, type, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"node\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (descr === void 0 || descr === null) {\n boundary.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n boundary[key] = { text: value };\n } else {\n boundary.descr = { text: descr };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.nodeType = nodeType;\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n};\nconst popBoundaryParseStack = function() {\n currentBoundaryParse = parentBoundaryParse;\n boundaryParseStack.pop();\n parentBoundaryParse = boundaryParseStack.pop();\n boundaryParseStack.push(parentBoundaryParse);\n};\nconst updateElStyle = function(typeC4Shape, elementName, bgColor, fontColor, borderColor, shadowing, shape, sprite, techn, legendText, legendSprite) {\n let old = c4ShapeArray.find((element) => element.alias === elementName);\n if (old === void 0) {\n old = boundaries.find((element) => element.alias === elementName);\n if (old === void 0) {\n return;\n }\n }\n if (bgColor !== void 0 && bgColor !== null) {\n if (typeof bgColor === \"object\") {\n let [key, value] = Object.entries(bgColor)[0];\n old[key] = value;\n } else {\n old.bgColor = bgColor;\n }\n }\n if (fontColor !== void 0 && fontColor !== null) {\n if (typeof fontColor === \"object\") {\n let [key, value] = Object.entries(fontColor)[0];\n old[key] = value;\n } else {\n old.fontColor = fontColor;\n }\n }\n if (borderColor !== void 0 && borderColor !== null) {\n if (typeof borderColor === \"object\") {\n let [key, value] = Object.entries(borderColor)[0];\n old[key] = value;\n } else {\n old.borderColor = borderColor;\n }\n }\n if (shadowing !== void 0 && shadowing !== null) {\n if (typeof shadowing === \"object\") {\n let [key, value] = Object.entries(shadowing)[0];\n old[key] = value;\n } else {\n old.shadowing = shadowing;\n }\n }\n if (shape !== void 0 && shape !== null) {\n if (typeof shape === \"object\") {\n let [key, value] = Object.entries(shape)[0];\n old[key] = value;\n } else {\n old.shape = shape;\n }\n }\n if (sprite !== void 0 && sprite !== null) {\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n old[key] = value;\n } else {\n old.sprite = sprite;\n }\n }\n if (techn !== void 0 && techn !== null) {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n old[key] = value;\n } else {\n old.techn = techn;\n }\n }\n if (legendText !== void 0 && legendText !== null) {\n if (typeof legendText === \"object\") {\n let [key, value] = Object.entries(legendText)[0];\n old[key] = value;\n } else {\n old.legendText = legendText;\n }\n }\n if (legendSprite !== void 0 && legendSprite !== null) {\n if (typeof legendSprite === \"object\") {\n let [key, value] = Object.entries(legendSprite)[0];\n old[key] = value;\n } else {\n old.legendSprite = legendSprite;\n }\n }\n};\nconst updateRelStyle = function(typeC4Shape, from, to, textColor, lineColor, offsetX, offsetY) {\n const old = rels.find((rel) => rel.from === from && rel.to === to);\n if (old === void 0) {\n return;\n }\n if (textColor !== void 0 && textColor !== null) {\n if (typeof textColor === \"object\") {\n let [key, value] = Object.entries(textColor)[0];\n old[key] = value;\n } else {\n old.textColor = textColor;\n }\n }\n if (lineColor !== void 0 && lineColor !== null) {\n if (typeof lineColor === \"object\") {\n let [key, value] = Object.entries(lineColor)[0];\n old[key] = value;\n } else {\n old.lineColor = lineColor;\n }\n }\n if (offsetX !== void 0 && offsetX !== null) {\n if (typeof offsetX === \"object\") {\n let [key, value] = Object.entries(offsetX)[0];\n old[key] = parseInt(value);\n } else {\n old.offsetX = parseInt(offsetX);\n }\n }\n if (offsetY !== void 0 && offsetY !== null) {\n if (typeof offsetY === \"object\") {\n let [key, value] = Object.entries(offsetY)[0];\n old[key] = parseInt(value);\n } else {\n old.offsetY = parseInt(offsetY);\n }\n }\n};\nconst updateLayoutConfig = function(typeC4Shape, c4ShapeInRowParam, c4BoundaryInRowParam) {\n let c4ShapeInRowValue = c4ShapeInRow$1;\n let c4BoundaryInRowValue = c4BoundaryInRow$1;\n if (typeof c4ShapeInRowParam === \"object\") {\n const value = Object.values(c4ShapeInRowParam)[0];\n c4ShapeInRowValue = parseInt(value);\n } else {\n c4ShapeInRowValue = parseInt(c4ShapeInRowParam);\n }\n if (typeof c4BoundaryInRowParam === \"object\") {\n const value = Object.values(c4BoundaryInRowParam)[0];\n c4BoundaryInRowValue = parseInt(value);\n } else {\n c4BoundaryInRowValue = parseInt(c4BoundaryInRowParam);\n }\n if (c4ShapeInRowValue >= 1) {\n c4ShapeInRow$1 = c4ShapeInRowValue;\n }\n if (c4BoundaryInRowValue >= 1) {\n c4BoundaryInRow$1 = c4BoundaryInRowValue;\n }\n};\nconst getC4ShapeInRow = function() {\n return c4ShapeInRow$1;\n};\nconst getC4BoundaryInRow = function() {\n return c4BoundaryInRow$1;\n};\nconst getCurrentBoundaryParse = function() {\n return currentBoundaryParse;\n};\nconst getParentBoundaryParse = function() {\n return parentBoundaryParse;\n};\nconst getC4ShapeArray = function(parentBoundary) {\n if (parentBoundary === void 0 || parentBoundary === null) {\n return c4ShapeArray;\n } else {\n return c4ShapeArray.filter((personOrSystem) => {\n return personOrSystem.parentBoundary === parentBoundary;\n });\n }\n};\nconst getC4Shape = function(alias) {\n return c4ShapeArray.find((personOrSystem) => personOrSystem.alias === alias);\n};\nconst getC4ShapeKeys = function(parentBoundary) {\n return Object.keys(getC4ShapeArray(parentBoundary));\n};\nconst getBoundaries = function(parentBoundary) {\n if (parentBoundary === void 0 || parentBoundary === null) {\n return boundaries;\n } else {\n return boundaries.filter((boundary) => boundary.parentBoundary === parentBoundary);\n }\n};\nconst getBoundarys = getBoundaries;\nconst getRels = function() {\n return rels;\n};\nconst getTitle = function() {\n return title;\n};\nconst setWrap = function(wrapSetting) {\n wrapEnabled = wrapSetting;\n};\nconst autoWrap = function() {\n return wrapEnabled;\n};\nconst clear = function() {\n c4ShapeArray = [];\n boundaries = [\n {\n alias: \"global\",\n label: { text: \"global\" },\n type: { text: \"global\" },\n tags: null,\n link: null,\n parentBoundary: \"\"\n }\n ];\n parentBoundaryParse = \"\";\n currentBoundaryParse = \"global\";\n boundaryParseStack = [\"\"];\n rels = [];\n boundaryParseStack = [\"\"];\n title = \"\";\n wrapEnabled = false;\n c4ShapeInRow$1 = 4;\n c4BoundaryInRow$1 = 2;\n};\nconst LINETYPE = {\n SOLID: 0,\n DOTTED: 1,\n NOTE: 2,\n SOLID_CROSS: 3,\n DOTTED_CROSS: 4,\n SOLID_OPEN: 5,\n DOTTED_OPEN: 6,\n LOOP_START: 10,\n LOOP_END: 11,\n ALT_START: 12,\n ALT_ELSE: 13,\n ALT_END: 14,\n OPT_START: 15,\n OPT_END: 16,\n ACTIVE_START: 17,\n ACTIVE_END: 18,\n PAR_START: 19,\n PAR_AND: 20,\n PAR_END: 21,\n RECT_START: 22,\n RECT_END: 23,\n SOLID_POINT: 24,\n DOTTED_POINT: 25\n};\nconst ARROWTYPE = {\n FILLED: 0,\n OPEN: 1\n};\nconst PLACEMENT = {\n LEFTOF: 0,\n RIGHTOF: 1,\n OVER: 2\n};\nconst setTitle = function(txt) {\n let sanitizedText = sanitizeText(txt, getConfig());\n title = sanitizedText;\n};\nconst db = {\n addPersonOrSystem,\n addPersonOrSystemBoundary,\n addContainer,\n addContainerBoundary,\n addComponent,\n addDeploymentNode,\n popBoundaryParseStack,\n addRel,\n updateElStyle,\n updateRelStyle,\n updateLayoutConfig,\n autoWrap,\n setWrap,\n getC4ShapeArray,\n getC4Shape,\n getC4ShapeKeys,\n getBoundaries,\n getBoundarys,\n getCurrentBoundaryParse,\n getParentBoundaryParse,\n getRels,\n getTitle,\n getC4Type,\n getC4ShapeInRow,\n getC4BoundaryInRow,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n getConfig: () => getConfig().c4,\n clear,\n LINETYPE,\n ARROWTYPE,\n PLACEMENT,\n setTitle,\n setC4Type\n // apply,\n};\nconst drawRect = function(elem, rectData) {\n return drawRect$1(elem, rectData);\n};\nconst drawImage = function(elem, width, height, x, y, link) {\n const imageElem = elem.append(\"image\");\n imageElem.attr(\"width\", width);\n imageElem.attr(\"height\", height);\n imageElem.attr(\"x\", x);\n imageElem.attr(\"y\", y);\n let sanitizedLink = link.startsWith(\"data:image/png;base64\") ? link : dist.sanitizeUrl(link);\n imageElem.attr(\"xlink:href\", sanitizedLink);\n};\nconst drawRels$1 = (elem, rels2, conf2) => {\n const relsElem = elem.append(\"g\");\n let i = 0;\n for (let rel of rels2) {\n let textColor = rel.textColor ? rel.textColor : \"#444444\";\n let strokeColor = rel.lineColor ? rel.lineColor : \"#444444\";\n let offsetX = rel.offsetX ? parseInt(rel.offsetX) : 0;\n let offsetY = rel.offsetY ? parseInt(rel.offsetY) : 0;\n let url = \"\";\n if (i === 0) {\n let line = relsElem.append(\"line\");\n line.attr(\"x1\", rel.startPoint.x);\n line.attr(\"y1\", rel.startPoint.y);\n line.attr(\"x2\", rel.endPoint.x);\n line.attr(\"y2\", rel.endPoint.y);\n line.attr(\"stroke-width\", \"1\");\n line.attr(\"stroke\", strokeColor);\n line.style(\"fill\", \"none\");\n if (rel.type !== \"rel_b\") {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (rel.type === \"birel\" || rel.type === \"rel_b\") {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowend)\");\n }\n i = -1;\n } else {\n let line = relsElem.append(\"path\");\n line.attr(\"fill\", \"none\").attr(\"stroke-width\", \"1\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,starty Qcontrolx,controly stopx,stopy \".replaceAll(\"startx\", rel.startPoint.x).replaceAll(\"starty\", rel.startPoint.y).replaceAll(\n \"controlx\",\n rel.startPoint.x + (rel.endPoint.x - rel.startPoint.x) / 2 - (rel.endPoint.x - rel.startPoint.x) / 4\n ).replaceAll(\"controly\", rel.startPoint.y + (rel.endPoint.y - rel.startPoint.y) / 2).replaceAll(\"stopx\", rel.endPoint.x).replaceAll(\"stopy\", rel.endPoint.y)\n );\n if (rel.type !== \"rel_b\") {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (rel.type === \"birel\" || rel.type === \"rel_b\") {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowend)\");\n }\n }\n let messageConf = conf2.messageFont();\n _drawTextCandidateFunc(conf2)(\n rel.label.text,\n relsElem,\n Math.min(rel.startPoint.x, rel.endPoint.x) + Math.abs(rel.endPoint.x - rel.startPoint.x) / 2 + offsetX,\n Math.min(rel.startPoint.y, rel.endPoint.y) + Math.abs(rel.endPoint.y - rel.startPoint.y) / 2 + offsetY,\n rel.label.width,\n rel.label.height,\n { fill: textColor },\n messageConf\n );\n if (rel.techn && rel.techn.text !== \"\") {\n messageConf = conf2.messageFont();\n _drawTextCandidateFunc(conf2)(\n \"[\" + rel.techn.text + \"]\",\n relsElem,\n Math.min(rel.startPoint.x, rel.endPoint.x) + Math.abs(rel.endPoint.x - rel.startPoint.x) / 2 + offsetX,\n Math.min(rel.startPoint.y, rel.endPoint.y) + Math.abs(rel.endPoint.y - rel.startPoint.y) / 2 + conf2.messageFontSize + 5 + offsetY,\n Math.max(rel.label.width, rel.techn.width),\n rel.techn.height,\n { fill: textColor, \"font-style\": \"italic\" },\n messageConf\n );\n }\n }\n};\nconst drawBoundary$1 = function(elem, boundary, conf2) {\n const boundaryElem = elem.append(\"g\");\n let fillColor = boundary.bgColor ? boundary.bgColor : \"none\";\n let strokeColor = boundary.borderColor ? boundary.borderColor : \"#444444\";\n let fontColor = boundary.fontColor ? boundary.fontColor : \"black\";\n let attrsValue = { \"stroke-width\": 1, \"stroke-dasharray\": \"7.0,7.0\" };\n if (boundary.nodeType) {\n attrsValue = { \"stroke-width\": 1 };\n }\n let rectData = {\n x: boundary.x,\n y: boundary.y,\n fill: fillColor,\n stroke: strokeColor,\n width: boundary.width,\n height: boundary.height,\n rx: 2.5,\n ry: 2.5,\n attrs: attrsValue\n };\n drawRect(boundaryElem, rectData);\n let boundaryConf = conf2.boundaryFont();\n boundaryConf.fontWeight = \"bold\";\n boundaryConf.fontSize = boundaryConf.fontSize + 2;\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.label.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.label.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n if (boundary.type && boundary.type.text !== \"\") {\n boundaryConf = conf2.boundaryFont();\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.type.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.type.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n }\n if (boundary.descr && boundary.descr.text !== \"\") {\n boundaryConf = conf2.boundaryFont();\n boundaryConf.fontSize = boundaryConf.fontSize - 2;\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.descr.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.descr.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n }\n};\nconst drawC4Shape = function(elem, c4Shape, conf2) {\n var _a;\n let fillColor = c4Shape.bgColor ? c4Shape.bgColor : conf2[c4Shape.typeC4Shape.text + \"_bg_color\"];\n let strokeColor = c4Shape.borderColor ? c4Shape.borderColor : conf2[c4Shape.typeC4Shape.text + \"_border_color\"];\n let fontColor = c4Shape.fontColor ? c4Shape.fontColor : \"#FFFFFF\";\n let personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\";\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\";\n break;\n case \"external_person\":\n personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=\";\n break;\n }\n const c4ShapeElem = elem.append(\"g\");\n c4ShapeElem.attr(\"class\", \"person-man\");\n const rect = getNoteRect();\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n case \"system\":\n case \"external_system\":\n case \"container\":\n case \"external_container\":\n case \"component\":\n case \"external_component\":\n rect.x = c4Shape.x;\n rect.y = c4Shape.y;\n rect.fill = fillColor;\n rect.width = c4Shape.width;\n rect.height = c4Shape.height;\n rect.stroke = strokeColor;\n rect.rx = 2.5;\n rect.ry = 2.5;\n rect.attrs = { \"stroke-width\": 0.5 };\n drawRect(c4ShapeElem, rect);\n break;\n case \"system_db\":\n case \"external_system_db\":\n case \"container_db\":\n case \"external_container_db\":\n case \"component_db\":\n case \"external_component_db\":\n c4ShapeElem.append(\"path\").attr(\"fill\", fillColor).attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.width / 2).replaceAll(\"height\", c4Shape.height)\n );\n c4ShapeElem.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.width / 2)\n );\n break;\n case \"system_queue\":\n case \"external_system_queue\":\n case \"container_queue\":\n case \"external_container_queue\":\n case \"component_queue\":\n case \"external_component_queue\":\n c4ShapeElem.append(\"path\").attr(\"fill\", fillColor).attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"width\", c4Shape.width).replaceAll(\"half\", c4Shape.height / 2)\n );\n c4ShapeElem.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half\".replaceAll(\"startx\", c4Shape.x + c4Shape.width).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.height / 2)\n );\n break;\n }\n let c4ShapeFontConf = getC4ShapeFont(conf2, c4Shape.typeC4Shape.text);\n c4ShapeElem.append(\"text\").attr(\"fill\", fontColor).attr(\"font-family\", c4ShapeFontConf.fontFamily).attr(\"font-size\", c4ShapeFontConf.fontSize - 2).attr(\"font-style\", \"italic\").attr(\"lengthAdjust\", \"spacing\").attr(\"textLength\", c4Shape.typeC4Shape.width).attr(\"x\", c4Shape.x + c4Shape.width / 2 - c4Shape.typeC4Shape.width / 2).attr(\"y\", c4Shape.y + c4Shape.typeC4Shape.Y).text(\"<<\" + c4Shape.typeC4Shape.text + \">>\");\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n drawImage(\n c4ShapeElem,\n 48,\n 48,\n c4Shape.x + c4Shape.width / 2 - 24,\n c4Shape.y + c4Shape.image.Y,\n personImg\n );\n break;\n }\n let textFontConf = conf2[c4Shape.typeC4Shape.text + \"Font\"]();\n textFontConf.fontWeight = \"bold\";\n textFontConf.fontSize = textFontConf.fontSize + 2;\n textFontConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n c4Shape.label.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.label.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor },\n textFontConf\n );\n textFontConf = conf2[c4Shape.typeC4Shape.text + \"Font\"]();\n textFontConf.fontColor = fontColor;\n if (c4Shape.techn && ((_a = c4Shape.techn) == null ? void 0 : _a.text) !== \"\") {\n _drawTextCandidateFunc(conf2)(\n c4Shape.techn.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.techn.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor, \"font-style\": \"italic\" },\n textFontConf\n );\n } else if (c4Shape.type && c4Shape.type.text !== \"\") {\n _drawTextCandidateFunc(conf2)(\n c4Shape.type.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.type.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor, \"font-style\": \"italic\" },\n textFontConf\n );\n }\n if (c4Shape.descr && c4Shape.descr.text !== \"\") {\n textFontConf = conf2.personFont();\n textFontConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n c4Shape.descr.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.descr.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor },\n textFontConf\n );\n }\n return c4Shape.height;\n};\nconst insertDatabaseIcon = function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"database\").attr(\"fill-rule\", \"evenodd\").attr(\"clip-rule\", \"evenodd\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"\n );\n};\nconst insertComputerIcon = function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"computer\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"\n );\n};\nconst insertClockIcon = function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"clock\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"\n );\n};\nconst insertArrowHead = function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\");\n};\nconst insertArrowEnd = function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowend\").attr(\"refX\", 1).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 10 0 L 0 5 L 10 10 z\");\n};\nconst insertArrowFilledHead = function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"filled-head\").attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L14,7 L9,1 Z\");\n};\nconst insertDynamicNumber = function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"sequencenumber\").attr(\"refX\", 15).attr(\"refY\", 15).attr(\"markerWidth\", 60).attr(\"markerHeight\", 40).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", 15).attr(\"cy\", 15).attr(\"r\", 6);\n};\nconst insertArrowCrossHead = function(elem) {\n const defs = elem.append(\"defs\");\n const marker = defs.append(\"marker\").attr(\"id\", \"crosshead\").attr(\"markerWidth\", 15).attr(\"markerHeight\", 8).attr(\"orient\", \"auto\").attr(\"refX\", 16).attr(\"refY\", 4);\n marker.append(\"path\").attr(\"fill\", \"black\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1px\").attr(\"d\", \"M 9,2 V 6 L16,4 Z\");\n marker.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1px\").attr(\"d\", \"M 0,1 L 6,7 M 6,1 L 0,7\");\n};\nconst getC4ShapeFont = (cnf, typeC4Shape) => {\n return {\n fontFamily: cnf[typeC4Shape + \"FontFamily\"],\n fontSize: cnf[typeC4Shape + \"FontSize\"],\n fontWeight: cnf[typeC4Shape + \"FontWeight\"]\n };\n};\nconst _drawTextCandidateFunc = function() {\n function byText(content, g, x, y, width, height, textAttrs) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n function byTspan(content, g, x, y, width, height, textAttrs, conf2) {\n const { fontSize, fontFamily, fontWeight } = conf2;\n const lines = content.split(common.lineBreakRegex);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * fontSize - fontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).style(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").style(\"font-size\", fontSize).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily);\n text.append(\"tspan\").attr(\"dy\", dy).text(lines[i]).attr(\"alignment-baseline\", \"mathematical\");\n _setTextAttrs(text, textAttrs);\n }\n }\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const s = g.append(\"switch\");\n const f = s.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, s, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (fromTextAttrsDict.hasOwnProperty(key)) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n}();\nconst svgDraw = {\n drawRect,\n drawBoundary: drawBoundary$1,\n drawC4Shape,\n drawRels: drawRels$1,\n drawImage,\n insertArrowHead,\n insertArrowEnd,\n insertArrowFilledHead,\n insertDynamicNumber,\n insertArrowCrossHead,\n insertDatabaseIcon,\n insertComputerIcon,\n insertClockIcon\n};\nlet globalBoundaryMaxX = 0, globalBoundaryMaxY = 0;\nlet c4ShapeInRow = 4;\nlet c4BoundaryInRow = 2;\nparser.yy = db;\nlet conf = {};\nclass Bounds {\n constructor(diagObj) {\n this.name = \"\";\n this.data = {};\n this.data.startx = void 0;\n this.data.stopx = void 0;\n this.data.starty = void 0;\n this.data.stopy = void 0;\n this.data.widthLimit = void 0;\n this.nextData = {};\n this.nextData.startx = void 0;\n this.nextData.stopx = void 0;\n this.nextData.starty = void 0;\n this.nextData.stopy = void 0;\n this.nextData.cnt = 0;\n setConf(diagObj.db.getConfig());\n }\n setData(startx, stopx, starty, stopy) {\n this.nextData.startx = this.data.startx = startx;\n this.nextData.stopx = this.data.stopx = stopx;\n this.nextData.starty = this.data.starty = starty;\n this.nextData.stopy = this.data.stopy = stopy;\n }\n updateVal(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }\n insert(c4Shape) {\n this.nextData.cnt = this.nextData.cnt + 1;\n let _startx = this.nextData.startx === this.nextData.stopx ? this.nextData.stopx + c4Shape.margin : this.nextData.stopx + c4Shape.margin * 2;\n let _stopx = _startx + c4Shape.width;\n let _starty = this.nextData.starty + c4Shape.margin * 2;\n let _stopy = _starty + c4Shape.height;\n if (_startx >= this.data.widthLimit || _stopx >= this.data.widthLimit || this.nextData.cnt > c4ShapeInRow) {\n _startx = this.nextData.startx + c4Shape.margin + conf.nextLinePaddingX;\n _starty = this.nextData.stopy + c4Shape.margin * 2;\n this.nextData.stopx = _stopx = _startx + c4Shape.width;\n this.nextData.starty = this.nextData.stopy;\n this.nextData.stopy = _stopy = _starty + c4Shape.height;\n this.nextData.cnt = 1;\n }\n c4Shape.x = _startx;\n c4Shape.y = _starty;\n this.updateVal(this.data, \"startx\", _startx, Math.min);\n this.updateVal(this.data, \"starty\", _starty, Math.min);\n this.updateVal(this.data, \"stopx\", _stopx, Math.max);\n this.updateVal(this.data, \"stopy\", _stopy, Math.max);\n this.updateVal(this.nextData, \"startx\", _startx, Math.min);\n this.updateVal(this.nextData, \"starty\", _starty, Math.min);\n this.updateVal(this.nextData, \"stopx\", _stopx, Math.max);\n this.updateVal(this.nextData, \"stopy\", _stopy, Math.max);\n }\n init(diagObj) {\n this.name = \"\";\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0,\n widthLimit: void 0\n };\n this.nextData = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0,\n cnt: 0\n };\n setConf(diagObj.db.getConfig());\n }\n bumpLastMargin(margin) {\n this.data.stopx += margin;\n this.data.stopy += margin;\n }\n}\nconst setConf = function(cnf) {\n assignWithDepth(conf, cnf);\n if (cnf.fontFamily) {\n conf.personFontFamily = conf.systemFontFamily = conf.messageFontFamily = cnf.fontFamily;\n }\n if (cnf.fontSize) {\n conf.personFontSize = conf.systemFontSize = conf.messageFontSize = cnf.fontSize;\n }\n if (cnf.fontWeight) {\n conf.personFontWeight = conf.systemFontWeight = conf.messageFontWeight = cnf.fontWeight;\n }\n};\nconst c4ShapeFont = (cnf, typeC4Shape) => {\n return {\n fontFamily: cnf[typeC4Shape + \"FontFamily\"],\n fontSize: cnf[typeC4Shape + \"FontSize\"],\n fontWeight: cnf[typeC4Shape + \"FontWeight\"]\n };\n};\nconst boundaryFont = (cnf) => {\n return {\n fontFamily: cnf.boundaryFontFamily,\n fontSize: cnf.boundaryFontSize,\n fontWeight: cnf.boundaryFontWeight\n };\n};\nconst messageFont = (cnf) => {\n return {\n fontFamily: cnf.messageFontFamily,\n fontSize: cnf.messageFontSize,\n fontWeight: cnf.messageFontWeight\n };\n};\nfunction calcC4ShapeTextWH(textType, c4Shape, c4ShapeTextWrap, textConf, textLimitWidth) {\n if (!c4Shape[textType].width) {\n if (c4ShapeTextWrap) {\n c4Shape[textType].text = wrapLabel(c4Shape[textType].text, textLimitWidth, textConf);\n c4Shape[textType].textLines = c4Shape[textType].text.split(common.lineBreakRegex).length;\n c4Shape[textType].width = textLimitWidth;\n c4Shape[textType].height = calculateTextHeight(c4Shape[textType].text, textConf);\n } else {\n let lines = c4Shape[textType].text.split(common.lineBreakRegex);\n c4Shape[textType].textLines = lines.length;\n let lineHeight = 0;\n c4Shape[textType].height = 0;\n c4Shape[textType].width = 0;\n for (const line of lines) {\n c4Shape[textType].width = Math.max(\n calculateTextWidth(line, textConf),\n c4Shape[textType].width\n );\n lineHeight = calculateTextHeight(line, textConf);\n c4Shape[textType].height = c4Shape[textType].height + lineHeight;\n }\n }\n }\n}\nconst drawBoundary = function(diagram2, boundary, bounds) {\n boundary.x = bounds.data.startx;\n boundary.y = bounds.data.starty;\n boundary.width = bounds.data.stopx - bounds.data.startx;\n boundary.height = bounds.data.stopy - bounds.data.starty;\n boundary.label.y = conf.c4ShapeMargin - 35;\n let boundaryTextWrap = boundary.wrap && conf.wrap;\n let boundaryLabelConf = boundaryFont(conf);\n boundaryLabelConf.fontSize = boundaryLabelConf.fontSize + 2;\n boundaryLabelConf.fontWeight = \"bold\";\n let textLimitWidth = calculateTextWidth(boundary.label.text, boundaryLabelConf);\n calcC4ShapeTextWH(\"label\", boundary, boundaryTextWrap, boundaryLabelConf, textLimitWidth);\n svgDraw.drawBoundary(diagram2, boundary, conf);\n};\nconst drawC4ShapeArray = function(currentBounds, diagram2, c4ShapeArray2, c4ShapeKeys) {\n let Y = 0;\n for (const c4ShapeKey of c4ShapeKeys) {\n Y = 0;\n const c4Shape = c4ShapeArray2[c4ShapeKey];\n let c4ShapeTypeConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n c4ShapeTypeConf.fontSize = c4ShapeTypeConf.fontSize - 2;\n c4Shape.typeC4Shape.width = calculateTextWidth(\n \"«\" + c4Shape.typeC4Shape.text + \"»\",\n c4ShapeTypeConf\n );\n c4Shape.typeC4Shape.height = c4ShapeTypeConf.fontSize + 2;\n c4Shape.typeC4Shape.Y = conf.c4ShapePadding;\n Y = c4Shape.typeC4Shape.Y + c4Shape.typeC4Shape.height - 4;\n c4Shape.image = { width: 0, height: 0, Y: 0 };\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n c4Shape.image.width = 48;\n c4Shape.image.height = 48;\n c4Shape.image.Y = Y;\n Y = c4Shape.image.Y + c4Shape.image.height;\n break;\n }\n if (c4Shape.sprite) {\n c4Shape.image.width = 48;\n c4Shape.image.height = 48;\n c4Shape.image.Y = Y;\n Y = c4Shape.image.Y + c4Shape.image.height;\n }\n let c4ShapeTextWrap = c4Shape.wrap && conf.wrap;\n let textLimitWidth = conf.width - conf.c4ShapePadding * 2;\n let c4ShapeLabelConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n c4ShapeLabelConf.fontSize = c4ShapeLabelConf.fontSize + 2;\n c4ShapeLabelConf.fontWeight = \"bold\";\n calcC4ShapeTextWH(\"label\", c4Shape, c4ShapeTextWrap, c4ShapeLabelConf, textLimitWidth);\n c4Shape[\"label\"].Y = Y + 8;\n Y = c4Shape[\"label\"].Y + c4Shape[\"label\"].height;\n if (c4Shape.type && c4Shape.type.text !== \"\") {\n c4Shape.type.text = \"[\" + c4Shape.type.text + \"]\";\n let c4ShapeTypeConf2 = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n calcC4ShapeTextWH(\"type\", c4Shape, c4ShapeTextWrap, c4ShapeTypeConf2, textLimitWidth);\n c4Shape[\"type\"].Y = Y + 5;\n Y = c4Shape[\"type\"].Y + c4Shape[\"type\"].height;\n } else if (c4Shape.techn && c4Shape.techn.text !== \"\") {\n c4Shape.techn.text = \"[\" + c4Shape.techn.text + \"]\";\n let c4ShapeTechnConf = c4ShapeFont(conf, c4Shape.techn.text);\n calcC4ShapeTextWH(\"techn\", c4Shape, c4ShapeTextWrap, c4ShapeTechnConf, textLimitWidth);\n c4Shape[\"techn\"].Y = Y + 5;\n Y = c4Shape[\"techn\"].Y + c4Shape[\"techn\"].height;\n }\n let rectHeight = Y;\n let rectWidth = c4Shape.label.width;\n if (c4Shape.descr && c4Shape.descr.text !== \"\") {\n let c4ShapeDescrConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n calcC4ShapeTextWH(\"descr\", c4Shape, c4ShapeTextWrap, c4ShapeDescrConf, textLimitWidth);\n c4Shape[\"descr\"].Y = Y + 20;\n Y = c4Shape[\"descr\"].Y + c4Shape[\"descr\"].height;\n rectWidth = Math.max(c4Shape.label.width, c4Shape.descr.width);\n rectHeight = Y - c4Shape[\"descr\"].textLines * 5;\n }\n rectWidth = rectWidth + conf.c4ShapePadding;\n c4Shape.width = Math.max(c4Shape.width || conf.width, rectWidth, conf.width);\n c4Shape.height = Math.max(c4Shape.height || conf.height, rectHeight, conf.height);\n c4Shape.margin = c4Shape.margin || conf.c4ShapeMargin;\n currentBounds.insert(c4Shape);\n svgDraw.drawC4Shape(diagram2, c4Shape, conf);\n }\n currentBounds.bumpLastMargin(conf.c4ShapeMargin);\n};\nclass Point {\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n}\nlet getIntersectPoint = function(fromNode, endPoint) {\n let x1 = fromNode.x;\n let y1 = fromNode.y;\n let x2 = endPoint.x;\n let y2 = endPoint.y;\n let fromCenterX = x1 + fromNode.width / 2;\n let fromCenterY = y1 + fromNode.height / 2;\n let dx = Math.abs(x1 - x2);\n let dy = Math.abs(y1 - y2);\n let tanDYX = dy / dx;\n let fromDYX = fromNode.height / fromNode.width;\n let returnPoint = null;\n if (y1 == y2 && x1 < x2) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY);\n } else if (y1 == y2 && x1 > x2) {\n returnPoint = new Point(x1, fromCenterY);\n } else if (x1 == x2 && y1 < y2) {\n returnPoint = new Point(fromCenterX, y1 + fromNode.height);\n } else if (x1 == x2 && y1 > y2) {\n returnPoint = new Point(fromCenterX, y1);\n }\n if (x1 > x2 && y1 < y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1, fromCenterY + tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(\n fromCenterX - dx / dy * fromNode.height / 2,\n y1 + fromNode.height\n );\n }\n } else if (x1 < x2 && y1 < y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY + tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(\n fromCenterX + dx / dy * fromNode.height / 2,\n y1 + fromNode.height\n );\n }\n } else if (x1 < x2 && y1 > y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY - tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(fromCenterX + fromNode.height / 2 * dx / dy, y1);\n }\n } else if (x1 > x2 && y1 > y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1, fromCenterY - fromNode.width / 2 * tanDYX);\n } else {\n returnPoint = new Point(fromCenterX - fromNode.height / 2 * dx / dy, y1);\n }\n }\n return returnPoint;\n};\nlet getIntersectPoints = function(fromNode, endNode) {\n let endIntersectPoint = { x: 0, y: 0 };\n endIntersectPoint.x = endNode.x + endNode.width / 2;\n endIntersectPoint.y = endNode.y + endNode.height / 2;\n let startPoint = getIntersectPoint(fromNode, endIntersectPoint);\n endIntersectPoint.x = fromNode.x + fromNode.width / 2;\n endIntersectPoint.y = fromNode.y + fromNode.height / 2;\n let endPoint = getIntersectPoint(endNode, endIntersectPoint);\n return { startPoint, endPoint };\n};\nconst drawRels = function(diagram2, rels2, getC4ShapeObj, diagObj) {\n let i = 0;\n for (let rel of rels2) {\n i = i + 1;\n let relTextWrap = rel.wrap && conf.wrap;\n let relConf = messageFont(conf);\n let diagramType = diagObj.db.getC4Type();\n if (diagramType === \"C4Dynamic\") {\n rel.label.text = i + \": \" + rel.label.text;\n }\n let textLimitWidth = calculateTextWidth(rel.label.text, relConf);\n calcC4ShapeTextWH(\"label\", rel, relTextWrap, relConf, textLimitWidth);\n if (rel.techn && rel.techn.text !== \"\") {\n textLimitWidth = calculateTextWidth(rel.techn.text, relConf);\n calcC4ShapeTextWH(\"techn\", rel, relTextWrap, relConf, textLimitWidth);\n }\n if (rel.descr && rel.descr.text !== \"\") {\n textLimitWidth = calculateTextWidth(rel.descr.text, relConf);\n calcC4ShapeTextWH(\"descr\", rel, relTextWrap, relConf, textLimitWidth);\n }\n let fromNode = getC4ShapeObj(rel.from);\n let endNode = getC4ShapeObj(rel.to);\n let points = getIntersectPoints(fromNode, endNode);\n rel.startPoint = points.startPoint;\n rel.endPoint = points.endPoint;\n }\n svgDraw.drawRels(diagram2, rels2, conf);\n};\nfunction drawInsideBoundary(diagram2, parentBoundaryAlias, parentBounds, currentBoundaries, diagObj) {\n let currentBounds = new Bounds(diagObj);\n currentBounds.data.widthLimit = parentBounds.data.widthLimit / Math.min(c4BoundaryInRow, currentBoundaries.length);\n for (let [i, currentBoundary] of currentBoundaries.entries()) {\n let Y = 0;\n currentBoundary.image = { width: 0, height: 0, Y: 0 };\n if (currentBoundary.sprite) {\n currentBoundary.image.width = 48;\n currentBoundary.image.height = 48;\n currentBoundary.image.Y = Y;\n Y = currentBoundary.image.Y + currentBoundary.image.height;\n }\n let currentBoundaryTextWrap = currentBoundary.wrap && conf.wrap;\n let currentBoundaryLabelConf = boundaryFont(conf);\n currentBoundaryLabelConf.fontSize = currentBoundaryLabelConf.fontSize + 2;\n currentBoundaryLabelConf.fontWeight = \"bold\";\n calcC4ShapeTextWH(\n \"label\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryLabelConf,\n currentBounds.data.widthLimit\n );\n currentBoundary[\"label\"].Y = Y + 8;\n Y = currentBoundary[\"label\"].Y + currentBoundary[\"label\"].height;\n if (currentBoundary.type && currentBoundary.type.text !== \"\") {\n currentBoundary.type.text = \"[\" + currentBoundary.type.text + \"]\";\n let currentBoundaryTypeConf = boundaryFont(conf);\n calcC4ShapeTextWH(\n \"type\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryTypeConf,\n currentBounds.data.widthLimit\n );\n currentBoundary[\"type\"].Y = Y + 5;\n Y = currentBoundary[\"type\"].Y + currentBoundary[\"type\"].height;\n }\n if (currentBoundary.descr && currentBoundary.descr.text !== \"\") {\n let currentBoundaryDescrConf = boundaryFont(conf);\n currentBoundaryDescrConf.fontSize = currentBoundaryDescrConf.fontSize - 2;\n calcC4ShapeTextWH(\n \"descr\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryDescrConf,\n currentBounds.data.widthLimit\n );\n currentBoundary[\"descr\"].Y = Y + 20;\n Y = currentBoundary[\"descr\"].Y + currentBoundary[\"descr\"].height;\n }\n if (i == 0 || i % c4BoundaryInRow === 0) {\n let _x = parentBounds.data.startx + conf.diagramMarginX;\n let _y = parentBounds.data.stopy + conf.diagramMarginY + Y;\n currentBounds.setData(_x, _x, _y, _y);\n } else {\n let _x = currentBounds.data.stopx !== currentBounds.data.startx ? currentBounds.data.stopx + conf.diagramMarginX : currentBounds.data.startx;\n let _y = currentBounds.data.starty;\n currentBounds.setData(_x, _x, _y, _y);\n }\n currentBounds.name = currentBoundary.alias;\n let currentPersonOrSystemArray = diagObj.db.getC4ShapeArray(currentBoundary.alias);\n let currentPersonOrSystemKeys = diagObj.db.getC4ShapeKeys(currentBoundary.alias);\n if (currentPersonOrSystemKeys.length > 0) {\n drawC4ShapeArray(\n currentBounds,\n diagram2,\n currentPersonOrSystemArray,\n currentPersonOrSystemKeys\n );\n }\n parentBoundaryAlias = currentBoundary.alias;\n let nextCurrentBoundaries = diagObj.db.getBoundarys(parentBoundaryAlias);\n if (nextCurrentBoundaries.length > 0) {\n drawInsideBoundary(\n diagram2,\n parentBoundaryAlias,\n currentBounds,\n nextCurrentBoundaries,\n diagObj\n );\n }\n if (currentBoundary.alias !== \"global\") {\n drawBoundary(diagram2, currentBoundary, currentBounds);\n }\n parentBounds.data.stopy = Math.max(\n currentBounds.data.stopy + conf.c4ShapeMargin,\n parentBounds.data.stopy\n );\n parentBounds.data.stopx = Math.max(\n currentBounds.data.stopx + conf.c4ShapeMargin,\n parentBounds.data.stopx\n );\n globalBoundaryMaxX = Math.max(globalBoundaryMaxX, parentBounds.data.stopx);\n globalBoundaryMaxY = Math.max(globalBoundaryMaxY, parentBounds.data.stopy);\n }\n}\nconst draw = function(_text, id, _version, diagObj) {\n conf = getConfig().c4;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n let db2 = diagObj.db;\n diagObj.db.setWrap(conf.wrap);\n c4ShapeInRow = db2.getC4ShapeInRow();\n c4BoundaryInRow = db2.getC4BoundaryInRow();\n log.debug(`C:${JSON.stringify(conf, null, 2)}`);\n const diagram2 = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n svgDraw.insertComputerIcon(diagram2);\n svgDraw.insertDatabaseIcon(diagram2);\n svgDraw.insertClockIcon(diagram2);\n let screenBounds = new Bounds(diagObj);\n screenBounds.setData(\n conf.diagramMarginX,\n conf.diagramMarginX,\n conf.diagramMarginY,\n conf.diagramMarginY\n );\n screenBounds.data.widthLimit = screen.availWidth;\n globalBoundaryMaxX = conf.diagramMarginX;\n globalBoundaryMaxY = conf.diagramMarginY;\n const title2 = diagObj.db.getTitle();\n let currentBoundaries = diagObj.db.getBoundarys(\"\");\n drawInsideBoundary(diagram2, \"\", screenBounds, currentBoundaries, diagObj);\n svgDraw.insertArrowHead(diagram2);\n svgDraw.insertArrowEnd(diagram2);\n svgDraw.insertArrowCrossHead(diagram2);\n svgDraw.insertArrowFilledHead(diagram2);\n drawRels(diagram2, diagObj.db.getRels(), diagObj.db.getC4Shape, diagObj);\n screenBounds.data.stopx = globalBoundaryMaxX;\n screenBounds.data.stopy = globalBoundaryMaxY;\n const box = screenBounds.data;\n let boxHeight = box.stopy - box.starty;\n let height = boxHeight + 2 * conf.diagramMarginY;\n let boxWidth = box.stopx - box.startx;\n const width = boxWidth + 2 * conf.diagramMarginX;\n if (title2) {\n diagram2.append(\"text\").text(title2).attr(\"x\", (box.stopx - box.startx) / 2 - 4 * conf.diagramMarginX).attr(\"y\", box.starty + conf.diagramMarginY);\n }\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n const extraVertForTitle = title2 ? 60 : 0;\n diagram2.attr(\n \"viewBox\",\n box.startx - conf.diagramMarginX + \" -\" + (conf.diagramMarginY + extraVertForTitle) + \" \" + width + \" \" + (height + extraVertForTitle)\n );\n log.debug(`models:`, box);\n};\nconst renderer = {\n drawPersonOrSystemArray: drawC4ShapeArray,\n drawBoundary,\n setConf,\n draw\n};\nconst getStyles = (options) => `.person {\n stroke: ${options.personBorder};\n fill: ${options.personBkg};\n }\n`;\nconst styles = getStyles;\nconst diagram = {\n parser: parser$1,\n db,\n renderer,\n styles,\n init: ({ c4, wrap }) => {\n renderer.setConf(c4);\n db.setWrap(wrap);\n }\n};\nexport {\n diagram\n};\n"], "mappings": "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AK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KA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", "names": ["drawRect"] diff --git a/docs/.vitepress/cache/deps/chunk-QRUXUPKG.js b/docs/.vitepress/cache/deps/chunk-4DYZU5O2.js similarity index 97% rename from docs/.vitepress/cache/deps/chunk-QRUXUPKG.js rename to docs/.vitepress/cache/deps/chunk-4DYZU5O2.js index 1fd491fd..0a9eef17 100644 --- a/docs/.vitepress/cache/deps/chunk-QRUXUPKG.js +++ b/docs/.vitepress/cache/deps/chunk-4DYZU5O2.js @@ -1,7 +1,7 @@ import { constant, withPath -} from "./chunk-2AA25MXT.js"; +} from "./chunk-4ISJML4K.js"; import { abs$1, acos, @@ -16,9 +16,9 @@ import { sin, sqrt, tau -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/arc-bd4de8da.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/arc-bd4de8da.js function arcInnerRadius(d) { return d.innerRadius; } @@ -166,4 +166,4 @@ function d3arc() { export { d3arc }; -//# sourceMappingURL=chunk-QRUXUPKG.js.map +//# sourceMappingURL=chunk-4DYZU5O2.js.map diff --git a/docs/.vitepress/cache/deps/chunk-QRUXUPKG.js.map b/docs/.vitepress/cache/deps/chunk-4DYZU5O2.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-QRUXUPKG.js.map rename to docs/.vitepress/cache/deps/chunk-4DYZU5O2.js.map index 13f2f658..9084df58 100644 --- a/docs/.vitepress/cache/deps/chunk-QRUXUPKG.js.map +++ b/docs/.vitepress/cache/deps/chunk-4DYZU5O2.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/arc-bd4de8da.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/arc-bd4de8da.js"], "sourcesContent": ["import { w as withPath, c as constant } from \"./path-39bad7e2.js\";\nimport { aw as pi, ax as cos, ay as sin, az as halfPi, aA as epsilon, V as tau, aB as sqrt, aC as min, aD as abs, aE as atan2, aF as asin, aG as acos, aH as max } from \"./mermaid-bea41e51.js\";\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\nfunction arcPadAngle(d) {\n return d && d.padAngle;\n}\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0, x32 = x3 - x2, y32 = y3 - y2, t = y32 * x10 - x32 * y10;\n if (t * t < epsilon)\n return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1, y01 = y0 - y1, lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x11 = x0 + ox, y11 = y0 + oy, x10 = x1 + ox, y10 = y1 + oy, x00 = (x11 + x10) / 2, y00 = (y11 + y10) / 2, dx = x10 - x11, dy = y10 - y11, d2 = dx * dx + dy * dy, r = r1 - rc, D = x11 * y10 - x10 * y11, d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x00, dy0 = cy0 - y00, dx1 = cx1 - x00, dy1 = cy1 - y00;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1)\n cx0 = cx1, cy0 = cy1;\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\nfunction d3arc() {\n var innerRadius = arcInnerRadius, outerRadius = arcOuterRadius, cornerRadius = constant(0), padRadius = null, startAngle = arcStartAngle, endAngle = arcEndAngle, padAngle = arcPadAngle, context = null, path = withPath(arc);\n function arc() {\n var buffer, r, r0 = +innerRadius.apply(this, arguments), r1 = +outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) - halfPi, a1 = endAngle.apply(this, arguments) - halfPi, da = abs(a1 - a0), cw = a1 > a0;\n if (!context)\n context = buffer = path();\n if (r1 < r0)\n r = r1, r1 = r0, r0 = r;\n if (!(r1 > epsilon))\n context.moveTo(0, 0);\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n } else {\n var a01 = a0, a11 = a1, a00 = a0, a10 = a1, da0 = da, da1 = da, ap = padAngle.apply(this, arguments) / 2, rp = ap > epsilon && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)), rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), rc0 = rc, rc1 = rc, t0, t1;\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)), p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon)\n p0 *= cw ? 1 : -1, a00 += p0, a10 -= p0;\n else\n da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon)\n p1 *= cw ? 1 : -1, a01 += p1, a11 -= p1;\n else\n da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n var x01 = r1 * cos(a01), y01 = r1 * sin(a01), x10 = r0 * cos(a10), y10 = r0 * sin(a10);\n if (rc > epsilon) {\n var x11 = r1 * cos(a11), y11 = r1 * sin(a11), x00 = r0 * cos(a00), y00 = r0 * sin(a00), oc;\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0], ay = y01 - oc[1], bx = x11 - oc[0], by = y11 - oc[1], kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2), lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n if (!(da1 > epsilon))\n context.moveTo(x01, y01);\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n if (rc1 < rc)\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n } else\n context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n if (!(r0 > epsilon) || !(da0 > epsilon))\n context.lineTo(x10, y10);\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n if (rc0 < rc)\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n } else\n context.arc(0, 0, r0, a10, a00, cw);\n }\n context.closePath();\n if (buffer)\n return context = null, buffer + \"\" || null;\n }\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n arc.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, arc) : context;\n };\n return arc;\n}\nexport {\n d3arc as d\n};\n"], "mappings": "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", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-2AA25MXT.js b/docs/.vitepress/cache/deps/chunk-4ISJML4K.js similarity index 96% rename from docs/.vitepress/cache/deps/chunk-2AA25MXT.js rename to docs/.vitepress/cache/deps/chunk-4ISJML4K.js index 706c9603..fa78fcba 100644 --- a/docs/.vitepress/cache/deps/chunk-2AA25MXT.js +++ b/docs/.vitepress/cache/deps/chunk-4ISJML4K.js @@ -1,4 +1,4 @@ -// node_modules/mermaid/dist/path-39bad7e2.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/path-39bad7e2.js var pi = Math.PI; var tau = 2 * pi; var epsilon = 1e-6; @@ -121,4 +121,4 @@ export { constant, withPath }; -//# sourceMappingURL=chunk-2AA25MXT.js.map +//# sourceMappingURL=chunk-4ISJML4K.js.map diff --git a/docs/.vitepress/cache/deps/chunk-2AA25MXT.js.map b/docs/.vitepress/cache/deps/chunk-4ISJML4K.js.map similarity index 98% rename from docs/.vitepress/cache/deps/chunk-2AA25MXT.js.map rename to docs/.vitepress/cache/deps/chunk-4ISJML4K.js.map index d9715d9e..4f63c753 100644 --- a/docs/.vitepress/cache/deps/chunk-2AA25MXT.js.map +++ b/docs/.vitepress/cache/deps/chunk-4ISJML4K.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/path-39bad7e2.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/path-39bad7e2.js"], "sourcesContent": ["const pi = Math.PI, tau = 2 * pi, epsilon = 1e-6, tauEpsilon = tau - epsilon;\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0))\n throw new Error(`invalid digits: ${digits}`);\n if (d > 15)\n return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\nclass Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null;\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n if (r < 0)\n throw new Error(`negative radius: ${r}`);\n let x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n } else if (!(l01_2 > epsilon))\n ;\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n } else {\n let x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n if (r < 0)\n throw new Error(`negative radius: ${r}`);\n let dx = r * Math.cos(a0), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n } else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n if (!r)\n return;\n if (da < 0)\n da = da % tau + tau;\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n } else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\nfunction constant(x) {\n return function constant2() {\n return x;\n };\n}\nfunction withPath(shape) {\n let digits = 3;\n shape.digits = function(_) {\n if (!arguments.length)\n return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0))\n throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n return () => new Path(digits);\n}\nexport {\n constant as c,\n withPath as w\n};\n"], "mappings": "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", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-R3VODJPJ.js b/docs/.vitepress/cache/deps/chunk-5CWYRM7T.js similarity index 99% rename from docs/.vitepress/cache/deps/chunk-R3VODJPJ.js rename to docs/.vitepress/cache/deps/chunk-5CWYRM7T.js index d539e112..44d8b312 100644 --- a/docs/.vitepress/cache/deps/chunk-R3VODJPJ.js +++ b/docs/.vitepress/cache/deps/chunk-5CWYRM7T.js @@ -12,9 +12,9 @@ import { setAccTitle, setDiagramTitle, utils -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/flowDb-ce16de8c.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/flowDb-ce16de8c.js var parser = function() { var o = function(k, v, o2, l) { for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) @@ -1728,4 +1728,4 @@ export { flowDb, db }; -//# sourceMappingURL=chunk-R3VODJPJ.js.map +//# sourceMappingURL=chunk-5CWYRM7T.js.map diff --git a/docs/.vitepress/cache/deps/chunk-R3VODJPJ.js.map b/docs/.vitepress/cache/deps/chunk-5CWYRM7T.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-R3VODJPJ.js.map rename to docs/.vitepress/cache/deps/chunk-5CWYRM7T.js.map index 9d6052f4..2d3b00af 100644 --- a/docs/.vitepress/cache/deps/chunk-R3VODJPJ.js.map +++ b/docs/.vitepress/cache/deps/chunk-5CWYRM7T.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/flowDb-ce16de8c.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/flowDb-ce16de8c.js"], "sourcesContent": ["import { ar as defaultConfig, s as setAccTitle, g as getAccTitle, a as getAccDescription, b as setAccDescription, C as setDiagramTitle, D as getDiagramTitle, c as getConfig, l as log, A as utils, E as clear$1, f as common, j as d3select } from \"./mermaid-bea41e51.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 4], $V1 = [1, 3], $V2 = [1, 5], $V3 = [1, 8, 9, 10, 11, 27, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, 112, 113, 118, 119, 120, 121], $V4 = [2, 2], $V5 = [1, 13], $V6 = [1, 14], $V7 = [1, 15], $V8 = [1, 16], $V9 = [1, 23], $Va = [1, 25], $Vb = [1, 26], $Vc = [1, 27], $Vd = [1, 49], $Ve = [1, 48], $Vf = [1, 29], $Vg = [1, 30], $Vh = [1, 31], $Vi = [1, 32], $Vj = [1, 33], $Vk = [1, 44], $Vl = [1, 46], $Vm = [1, 42], $Vn = [1, 47], $Vo = [1, 43], $Vp = [1, 50], $Vq = [1, 45], $Vr = [1, 51], $Vs = [1, 52], $Vt = [1, 34], $Vu = [1, 35], $Vv = [1, 36], $Vw = [1, 37], $Vx = [1, 57], $Vy = [1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, 112, 113, 118, 119, 120, 121], $Vz = [1, 61], $VA = [1, 60], $VB = [1, 62], $VC = [8, 9, 11, 73, 75], $VD = [1, 88], $VE = [1, 93], $VF = [1, 92], $VG = [1, 89], $VH = [1, 85], $VI = [1, 91], $VJ = [1, 87], $VK = [1, 94], $VL = [1, 90], $VM = [1, 95], $VN = [1, 86], $VO = [8, 9, 10, 11, 73, 75], $VP = [8, 9, 10, 11, 44, 73, 75], $VQ = [8, 9, 10, 11, 29, 42, 44, 46, 48, 50, 52, 54, 56, 58, 61, 63, 65, 66, 68, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113], $VR = [8, 9, 11, 42, 58, 73, 75, 86, 99, 102, 103, 106, 108, 111, 112, 113], $VS = [42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], $VT = [1, 121], $VU = [1, 120], $VV = [1, 128], $VW = [1, 142], $VX = [1, 143], $VY = [1, 144], $VZ = [1, 145], $V_ = [1, 130], $V$ = [1, 132], $V01 = [1, 136], $V11 = [1, 137], $V21 = [1, 138], $V31 = [1, 139], $V41 = [1, 140], $V51 = [1, 141], $V61 = [1, 146], $V71 = [1, 147], $V81 = [1, 126], $V91 = [1, 127], $Va1 = [1, 134], $Vb1 = [1, 129], $Vc1 = [1, 133], $Vd1 = [1, 131], $Ve1 = [8, 9, 10, 11, 27, 32, 34, 36, 38, 42, 58, 81, 82, 83, 84, 85, 86, 99, 102, 103, 106, 108, 111, 112, 113, 118, 119, 120, 121], $Vf1 = [1, 149], $Vg1 = [8, 9, 11], $Vh1 = [8, 9, 10, 11, 14, 42, 58, 86, 102, 103, 106, 108, 111, 112, 113], $Vi1 = [1, 169], $Vj1 = [1, 165], $Vk1 = [1, 166], $Vl1 = [1, 170], $Vm1 = [1, 167], $Vn1 = [1, 168], $Vo1 = [75, 113, 116], $Vp1 = [8, 9, 10, 11, 12, 14, 27, 29, 32, 42, 58, 73, 81, 82, 83, 84, 85, 86, 87, 102, 106, 108, 111, 112, 113], $Vq1 = [10, 103], $Vr1 = [31, 47, 49, 51, 53, 55, 60, 62, 64, 65, 67, 69, 113, 114, 115], $Vs1 = [1, 235], $Vt1 = [1, 233], $Vu1 = [1, 237], $Vv1 = [1, 231], $Vw1 = [1, 232], $Vx1 = [1, 234], $Vy1 = [1, 236], $Vz1 = [1, 238], $VA1 = [1, 255], $VB1 = [8, 9, 11, 103], $VC1 = [8, 9, 10, 11, 58, 81, 102, 103, 106, 107, 108, 109];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"graphConfig\": 4, \"document\": 5, \"line\": 6, \"statement\": 7, \"SEMI\": 8, \"NEWLINE\": 9, \"SPACE\": 10, \"EOF\": 11, \"GRAPH\": 12, \"NODIR\": 13, \"DIR\": 14, \"FirstStmtSeparator\": 15, \"ending\": 16, \"endToken\": 17, \"spaceList\": 18, \"spaceListNewline\": 19, \"vertexStatement\": 20, \"separator\": 21, \"styleStatement\": 22, \"linkStyleStatement\": 23, \"classDefStatement\": 24, \"classStatement\": 25, \"clickStatement\": 26, \"subgraph\": 27, \"textNoTags\": 28, \"SQS\": 29, \"text\": 30, \"SQE\": 31, \"end\": 32, \"direction\": 33, \"acc_title\": 34, \"acc_title_value\": 35, \"acc_descr\": 36, \"acc_descr_value\": 37, \"acc_descr_multiline_value\": 38, \"link\": 39, \"node\": 40, \"styledVertex\": 41, \"AMP\": 42, \"vertex\": 43, \"STYLE_SEPARATOR\": 44, \"idString\": 45, \"DOUBLECIRCLESTART\": 46, \"DOUBLECIRCLEEND\": 47, \"PS\": 48, \"PE\": 49, \"(-\": 50, \"-)\": 51, \"STADIUMSTART\": 52, \"STADIUMEND\": 53, \"SUBROUTINESTART\": 54, \"SUBROUTINEEND\": 55, \"VERTEX_WITH_PROPS_START\": 56, \"NODE_STRING[field]\": 57, \"COLON\": 58, \"NODE_STRING[value]\": 59, \"PIPE\": 60, \"CYLINDERSTART\": 61, \"CYLINDEREND\": 62, \"DIAMOND_START\": 63, \"DIAMOND_STOP\": 64, \"TAGEND\": 65, \"TRAPSTART\": 66, \"TRAPEND\": 67, \"INVTRAPSTART\": 68, \"INVTRAPEND\": 69, \"linkStatement\": 70, \"arrowText\": 71, \"TESTSTR\": 72, \"START_LINK\": 73, \"edgeText\": 74, \"LINK\": 75, \"edgeTextToken\": 76, \"STR\": 77, \"MD_STR\": 78, \"textToken\": 79, \"keywords\": 80, \"STYLE\": 81, \"LINKSTYLE\": 82, \"CLASSDEF\": 83, \"CLASS\": 84, \"CLICK\": 85, \"DOWN\": 86, \"UP\": 87, \"textNoTagsToken\": 88, \"stylesOpt\": 89, \"idString[vertex]\": 90, \"idString[class]\": 91, \"CALLBACKNAME\": 92, \"CALLBACKARGS\": 93, \"HREF\": 94, \"LINK_TARGET\": 95, \"STR[link]\": 96, \"STR[tooltip]\": 97, \"alphaNum\": 98, \"DEFAULT\": 99, \"numList\": 100, \"INTERPOLATE\": 101, \"NUM\": 102, \"COMMA\": 103, \"style\": 104, \"styleComponent\": 105, \"NODE_STRING\": 106, \"UNIT\": 107, \"BRKT\": 108, \"PCT\": 109, \"idStringToken\": 110, \"MINUS\": 111, \"MULT\": 112, \"UNICODE_TEXT\": 113, \"TEXT\": 114, \"TAGSTART\": 115, \"EDGE_TEXT\": 116, \"alphaNumToken\": 117, \"direction_tb\": 118, \"direction_bt\": 119, \"direction_rl\": 120, \"direction_lr\": 121, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 8: \"SEMI\", 9: \"NEWLINE\", 10: \"SPACE\", 11: \"EOF\", 12: \"GRAPH\", 13: \"NODIR\", 14: \"DIR\", 27: \"subgraph\", 29: \"SQS\", 31: \"SQE\", 32: \"end\", 34: \"acc_title\", 35: \"acc_title_value\", 36: \"acc_descr\", 37: \"acc_descr_value\", 38: \"acc_descr_multiline_value\", 42: \"AMP\", 44: \"STYLE_SEPARATOR\", 46: \"DOUBLECIRCLESTART\", 47: \"DOUBLECIRCLEEND\", 48: \"PS\", 49: \"PE\", 50: \"(-\", 51: \"-)\", 52: \"STADIUMSTART\", 53: \"STADIUMEND\", 54: \"SUBROUTINESTART\", 55: \"SUBROUTINEEND\", 56: \"VERTEX_WITH_PROPS_START\", 57: \"NODE_STRING[field]\", 58: \"COLON\", 59: \"NODE_STRING[value]\", 60: \"PIPE\", 61: \"CYLINDERSTART\", 62: \"CYLINDEREND\", 63: \"DIAMOND_START\", 64: \"DIAMOND_STOP\", 65: \"TAGEND\", 66: \"TRAPSTART\", 67: \"TRAPEND\", 68: \"INVTRAPSTART\", 69: \"INVTRAPEND\", 72: \"TESTSTR\", 73: \"START_LINK\", 75: \"LINK\", 77: \"STR\", 78: \"MD_STR\", 81: \"STYLE\", 82: \"LINKSTYLE\", 83: \"CLASSDEF\", 84: \"CLASS\", 85: \"CLICK\", 86: \"DOWN\", 87: \"UP\", 90: \"idString[vertex]\", 91: \"idString[class]\", 92: \"CALLBACKNAME\", 93: \"CALLBACKARGS\", 94: \"HREF\", 95: \"LINK_TARGET\", 96: \"STR[link]\", 97: \"STR[tooltip]\", 99: \"DEFAULT\", 101: \"INTERPOLATE\", 102: \"NUM\", 103: \"COMMA\", 106: \"NODE_STRING\", 107: \"UNIT\", 108: \"BRKT\", 109: \"PCT\", 111: \"MINUS\", 112: \"MULT\", 113: \"UNICODE_TEXT\", 114: \"TEXT\", 115: \"TAGSTART\", 116: \"EDGE_TEXT\", 118: \"direction_tb\", 119: \"direction_bt\", 120: \"direction_rl\", 121: \"direction_lr\" },\n productions_: [0, [3, 2], [5, 0], [5, 2], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [4, 2], [4, 2], [4, 2], [4, 3], [16, 2], [16, 1], [17, 1], [17, 1], [17, 1], [15, 1], [15, 1], [15, 2], [19, 2], [19, 2], [19, 1], [19, 1], [18, 2], [18, 1], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 9], [7, 6], [7, 4], [7, 1], [7, 2], [7, 2], [7, 1], [21, 1], [21, 1], [21, 1], [20, 3], [20, 4], [20, 2], [20, 1], [40, 1], [40, 5], [41, 1], [41, 3], [43, 4], [43, 4], [43, 6], [43, 4], [43, 4], [43, 4], [43, 8], [43, 4], [43, 4], [43, 4], [43, 6], [43, 4], [43, 4], [43, 4], [43, 4], [43, 4], [43, 1], [39, 2], [39, 3], [39, 3], [39, 1], [39, 3], [74, 1], [74, 2], [74, 1], [74, 1], [70, 1], [71, 3], [30, 1], [30, 2], [30, 1], [30, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [80, 1], [28, 1], [28, 2], [28, 1], [28, 1], [24, 5], [25, 5], [26, 2], [26, 4], [26, 3], [26, 5], [26, 3], [26, 5], [26, 5], [26, 7], [26, 2], [26, 4], [26, 2], [26, 4], [26, 4], [26, 6], [22, 5], [23, 5], [23, 5], [23, 9], [23, 9], [23, 7], [23, 7], [100, 1], [100, 3], [89, 1], [89, 3], [104, 1], [104, 2], [105, 1], [105, 1], [105, 1], [105, 1], [105, 1], [105, 1], [105, 1], [105, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [110, 1], [79, 1], [79, 1], [79, 1], [79, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [88, 1], [76, 1], [76, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [45, 1], [45, 2], [98, 1], [98, 2], [33, 1], [33, 1], [33, 1], [33, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 2:\n this.$ = [];\n break;\n case 3:\n if (!Array.isArray($$[$0]) || $$[$0].length > 0) {\n $$[$0 - 1].push($$[$0]);\n }\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 176:\n this.$ = $$[$0];\n break;\n case 11:\n yy.setDirection(\"TB\");\n this.$ = \"TB\";\n break;\n case 12:\n yy.setDirection($$[$0 - 1]);\n this.$ = $$[$0 - 1];\n break;\n case 27:\n this.$ = $$[$0 - 1].nodes;\n break;\n case 28:\n case 29:\n case 30:\n case 31:\n case 32:\n this.$ = [];\n break;\n case 33:\n this.$ = yy.addSubGraph($$[$0 - 6], $$[$0 - 1], $$[$0 - 4]);\n break;\n case 34:\n this.$ = yy.addSubGraph($$[$0 - 3], $$[$0 - 1], $$[$0 - 3]);\n break;\n case 35:\n this.$ = yy.addSubGraph(void 0, $$[$0 - 1], void 0);\n break;\n case 37:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 38:\n case 39:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 43:\n yy.addLink($$[$0 - 2].stmt, $$[$0], $$[$0 - 1]);\n this.$ = { stmt: $$[$0], nodes: $$[$0].concat($$[$0 - 2].nodes) };\n break;\n case 44:\n yy.addLink($$[$0 - 3].stmt, $$[$0 - 1], $$[$0 - 2]);\n this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1].concat($$[$0 - 3].nodes) };\n break;\n case 45:\n this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1] };\n break;\n case 46:\n this.$ = { stmt: $$[$0], nodes: $$[$0] };\n break;\n case 47:\n this.$ = [$$[$0]];\n break;\n case 48:\n this.$ = $$[$0 - 4].concat($$[$0]);\n break;\n case 49:\n this.$ = $$[$0];\n break;\n case 50:\n this.$ = $$[$0 - 2];\n yy.setClass($$[$0 - 2], $$[$0]);\n break;\n case 51:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"square\");\n break;\n case 52:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"doublecircle\");\n break;\n case 53:\n this.$ = $$[$0 - 5];\n yy.addVertex($$[$0 - 5], $$[$0 - 2], \"circle\");\n break;\n case 54:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"ellipse\");\n break;\n case 55:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"stadium\");\n break;\n case 56:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"subroutine\");\n break;\n case 57:\n this.$ = $$[$0 - 7];\n yy.addVertex($$[$0 - 7], $$[$0 - 1], \"rect\", void 0, void 0, void 0, Object.fromEntries([[$$[$0 - 5], $$[$0 - 3]]]));\n break;\n case 58:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"cylinder\");\n break;\n case 59:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"round\");\n break;\n case 60:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"diamond\");\n break;\n case 61:\n this.$ = $$[$0 - 5];\n yy.addVertex($$[$0 - 5], $$[$0 - 2], \"hexagon\");\n break;\n case 62:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"odd\");\n break;\n case 63:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"trapezoid\");\n break;\n case 64:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"inv_trapezoid\");\n break;\n case 65:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"lean_right\");\n break;\n case 66:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"lean_left\");\n break;\n case 67:\n this.$ = $$[$0];\n yy.addVertex($$[$0]);\n break;\n case 68:\n $$[$0 - 1].text = $$[$0];\n this.$ = $$[$0 - 1];\n break;\n case 69:\n case 70:\n $$[$0 - 2].text = $$[$0 - 1];\n this.$ = $$[$0 - 2];\n break;\n case 71:\n this.$ = $$[$0];\n break;\n case 72:\n var inf = yy.destructLink($$[$0], $$[$0 - 2]);\n this.$ = { \"type\": inf.type, \"stroke\": inf.stroke, \"length\": inf.length, \"text\": $$[$0 - 1] };\n break;\n case 73:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 74:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 75:\n this.$ = { text: $$[$0], type: \"string\" };\n break;\n case 76:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 77:\n var inf = yy.destructLink($$[$0]);\n this.$ = { \"type\": inf.type, \"stroke\": inf.stroke, \"length\": inf.length };\n break;\n case 78:\n this.$ = $$[$0 - 1];\n break;\n case 79:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 80:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 81:\n this.$ = { text: $$[$0], type: \"string\" };\n break;\n case 82:\n case 97:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 94:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 95:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 96:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 98:\n this.$ = $$[$0 - 4];\n yy.addClass($$[$0 - 2], $$[$0]);\n break;\n case 99:\n this.$ = $$[$0 - 4];\n yy.setClass($$[$0 - 2], $$[$0]);\n break;\n case 100:\n case 108:\n this.$ = $$[$0 - 1];\n yy.setClickEvent($$[$0 - 1], $$[$0]);\n break;\n case 101:\n case 109:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 102:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 103:\n this.$ = $$[$0 - 4];\n yy.setClickEvent($$[$0 - 4], $$[$0 - 3], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 4], $$[$0]);\n break;\n case 104:\n this.$ = $$[$0 - 2];\n yy.setLink($$[$0 - 2], $$[$0]);\n break;\n case 105:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 4], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 4], $$[$0]);\n break;\n case 106:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);\n break;\n case 107:\n this.$ = $$[$0 - 6];\n yy.setLink($$[$0 - 6], $$[$0 - 4], $$[$0]);\n yy.setTooltip($$[$0 - 6], $$[$0 - 2]);\n break;\n case 110:\n this.$ = $$[$0 - 1];\n yy.setLink($$[$0 - 1], $$[$0]);\n break;\n case 111:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 3], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 112:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);\n break;\n case 113:\n this.$ = $$[$0 - 5];\n yy.setLink($$[$0 - 5], $$[$0 - 4], $$[$0]);\n yy.setTooltip($$[$0 - 5], $$[$0 - 2]);\n break;\n case 114:\n this.$ = $$[$0 - 4];\n yy.addVertex($$[$0 - 2], void 0, void 0, $$[$0]);\n break;\n case 115:\n this.$ = $$[$0 - 4];\n yy.updateLink([$$[$0 - 2]], $$[$0]);\n break;\n case 116:\n this.$ = $$[$0 - 4];\n yy.updateLink($$[$0 - 2], $$[$0]);\n break;\n case 117:\n this.$ = $$[$0 - 8];\n yy.updateLinkInterpolate([$$[$0 - 6]], $$[$0 - 2]);\n yy.updateLink([$$[$0 - 6]], $$[$0]);\n break;\n case 118:\n this.$ = $$[$0 - 8];\n yy.updateLinkInterpolate($$[$0 - 6], $$[$0 - 2]);\n yy.updateLink($$[$0 - 6], $$[$0]);\n break;\n case 119:\n this.$ = $$[$0 - 6];\n yy.updateLinkInterpolate([$$[$0 - 4]], $$[$0]);\n break;\n case 120:\n this.$ = $$[$0 - 6];\n yy.updateLinkInterpolate($$[$0 - 4], $$[$0]);\n break;\n case 121:\n case 123:\n this.$ = [$$[$0]];\n break;\n case 122:\n case 124:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 126:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 174:\n this.$ = $$[$0];\n break;\n case 175:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n case 177:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n case 178:\n this.$ = { stmt: \"dir\", value: \"TB\" };\n break;\n case 179:\n this.$ = { stmt: \"dir\", value: \"BT\" };\n break;\n case 180:\n this.$ = { stmt: \"dir\", value: \"RL\" };\n break;\n case 181:\n this.$ = { stmt: \"dir\", value: \"LR\" };\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 9: $V0, 10: $V1, 12: $V2 }, { 1: [3] }, o($V3, $V4, { 5: 6 }), { 4: 7, 9: $V0, 10: $V1, 12: $V2 }, { 4: 8, 9: $V0, 10: $V1, 12: $V2 }, { 13: [1, 9], 14: [1, 10] }, { 1: [2, 1], 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 40: 28, 41: 38, 42: $Vd, 43: 39, 45: 40, 58: $Ve, 81: $Vf, 82: $Vg, 83: $Vh, 84: $Vi, 85: $Vj, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs, 118: $Vt, 119: $Vu, 120: $Vv, 121: $Vw }, o($V3, [2, 9]), o($V3, [2, 10]), o($V3, [2, 11]), { 8: [1, 54], 9: [1, 55], 10: $Vx, 15: 53, 18: 56 }, o($Vy, [2, 3]), o($Vy, [2, 4]), o($Vy, [2, 5]), o($Vy, [2, 6]), o($Vy, [2, 7]), o($Vy, [2, 8]), { 8: $Vz, 9: $VA, 11: $VB, 21: 58, 39: 59, 70: 63, 73: [1, 64], 75: [1, 65] }, { 8: $Vz, 9: $VA, 11: $VB, 21: 66 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 67 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 68 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 69 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 70 }, { 8: $Vz, 9: $VA, 10: [1, 71], 11: $VB, 21: 72 }, o($Vy, [2, 36]), { 35: [1, 73] }, { 37: [1, 74] }, o($Vy, [2, 39]), o($VC, [2, 46], { 18: 75, 10: $Vx }), { 10: [1, 76] }, { 10: [1, 77] }, { 10: [1, 78] }, { 10: [1, 79] }, { 14: $VD, 42: $VE, 58: $VF, 77: [1, 83], 86: $VG, 92: [1, 80], 94: [1, 81], 98: 82, 102: $VH, 103: $VI, 106: $VJ, 108: $VK, 111: $VL, 112: $VM, 113: $VN, 117: 84 }, o($Vy, [2, 178]), o($Vy, [2, 179]), o($Vy, [2, 180]), o($Vy, [2, 181]), o($VO, [2, 47]), o($VO, [2, 49], { 44: [1, 96] }), o($VP, [2, 67], { 110: 109, 29: [1, 97], 42: $Vd, 46: [1, 98], 48: [1, 99], 50: [1, 100], 52: [1, 101], 54: [1, 102], 56: [1, 103], 58: $Ve, 61: [1, 104], 63: [1, 105], 65: [1, 106], 66: [1, 107], 68: [1, 108], 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 111: $Vq, 112: $Vr, 113: $Vs }), o($VQ, [2, 174]), o($VQ, [2, 135]), o($VQ, [2, 136]), o($VQ, [2, 137]), o($VQ, [2, 138]), o($VQ, [2, 139]), o($VQ, [2, 140]), o($VQ, [2, 141]), o($VQ, [2, 142]), o($VQ, [2, 143]), o($VQ, [2, 144]), o($VQ, [2, 145]), o($V3, [2, 12]), o($V3, [2, 18]), o($V3, [2, 19]), { 9: [1, 110] }, o($VR, [2, 26], { 18: 111, 10: $Vx }), o($Vy, [2, 27]), { 40: 112, 41: 38, 42: $Vd, 43: 39, 45: 40, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, o($Vy, [2, 40]), o($Vy, [2, 41]), o($Vy, [2, 42]), o($VS, [2, 71], { 71: 113, 60: [1, 115], 72: [1, 114] }), { 74: 116, 76: 117, 77: [1, 118], 78: [1, 119], 113: $VT, 116: $VU }, o([42, 58, 60, 72, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 77]), o($Vy, [2, 28]), o($Vy, [2, 29]), o($Vy, [2, 30]), o($Vy, [2, 31]), o($Vy, [2, 32]), { 10: $VV, 12: $VW, 14: $VX, 27: $VY, 28: 122, 32: $VZ, 42: $V_, 58: $V$, 73: $V01, 77: [1, 124], 78: [1, 125], 80: 135, 81: $V11, 82: $V21, 83: $V31, 84: $V41, 85: $V51, 86: $V61, 87: $V71, 88: 123, 102: $V81, 106: $V91, 108: $Va1, 111: $Vb1, 112: $Vc1, 113: $Vd1 }, o($Ve1, $V4, { 5: 148 }), o($Vy, [2, 37]), o($Vy, [2, 38]), o($VC, [2, 45], { 42: $Vf1 }), { 42: $Vd, 45: 150, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, { 99: [1, 151], 100: 152, 102: [1, 153] }, { 42: $Vd, 45: 154, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, { 42: $Vd, 45: 155, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, o($Vg1, [2, 100], { 10: [1, 156], 93: [1, 157] }), { 77: [1, 158] }, o($Vg1, [2, 108], { 117: 160, 10: [1, 159], 14: $VD, 42: $VE, 58: $VF, 86: $VG, 102: $VH, 103: $VI, 106: $VJ, 108: $VK, 111: $VL, 112: $VM, 113: $VN }), o($Vg1, [2, 110], { 10: [1, 161] }), o($Vh1, [2, 176]), o($Vh1, [2, 163]), o($Vh1, [2, 164]), o($Vh1, [2, 165]), o($Vh1, [2, 166]), o($Vh1, [2, 167]), o($Vh1, [2, 168]), o($Vh1, [2, 169]), o($Vh1, [2, 170]), o($Vh1, [2, 171]), o($Vh1, [2, 172]), o($Vh1, [2, 173]), { 42: $Vd, 45: 162, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, { 30: 163, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 171, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 173, 48: [1, 172], 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 174, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 175, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 176, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 106: [1, 177] }, { 30: 178, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 179, 63: [1, 180], 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 181, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 182, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 183, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($VQ, [2, 175]), o($V3, [2, 20]), o($VR, [2, 25]), o($VC, [2, 43], { 18: 184, 10: $Vx }), o($VS, [2, 68], { 10: [1, 185] }), { 10: [1, 186] }, { 30: 187, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 75: [1, 188], 76: 189, 113: $VT, 116: $VU }, o($Vo1, [2, 73]), o($Vo1, [2, 75]), o($Vo1, [2, 76]), o($Vo1, [2, 161]), o($Vo1, [2, 162]), { 8: $Vz, 9: $VA, 10: $VV, 11: $VB, 12: $VW, 14: $VX, 21: 191, 27: $VY, 29: [1, 190], 32: $VZ, 42: $V_, 58: $V$, 73: $V01, 80: 135, 81: $V11, 82: $V21, 83: $V31, 84: $V41, 85: $V51, 86: $V61, 87: $V71, 88: 192, 102: $V81, 106: $V91, 108: $Va1, 111: $Vb1, 112: $Vc1, 113: $Vd1 }, o($Vp1, [2, 94]), o($Vp1, [2, 96]), o($Vp1, [2, 97]), o($Vp1, [2, 150]), o($Vp1, [2, 151]), o($Vp1, [2, 152]), o($Vp1, [2, 153]), o($Vp1, [2, 154]), o($Vp1, [2, 155]), o($Vp1, [2, 156]), o($Vp1, [2, 157]), o($Vp1, [2, 158]), o($Vp1, [2, 159]), o($Vp1, [2, 160]), o($Vp1, [2, 83]), o($Vp1, [2, 84]), o($Vp1, [2, 85]), o($Vp1, [2, 86]), o($Vp1, [2, 87]), o($Vp1, [2, 88]), o($Vp1, [2, 89]), o($Vp1, [2, 90]), o($Vp1, [2, 91]), o($Vp1, [2, 92]), o($Vp1, [2, 93]), { 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 32: [1, 193], 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 40: 28, 41: 38, 42: $Vd, 43: 39, 45: 40, 58: $Ve, 81: $Vf, 82: $Vg, 83: $Vh, 84: $Vi, 85: $Vj, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs, 118: $Vt, 119: $Vu, 120: $Vv, 121: $Vw }, { 10: $Vx, 18: 194 }, { 10: [1, 195], 42: $Vd, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 109, 111: $Vq, 112: $Vr, 113: $Vs }, { 10: [1, 196] }, { 10: [1, 197], 103: [1, 198] }, o($Vq1, [2, 121]), { 10: [1, 199], 42: $Vd, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 109, 111: $Vq, 112: $Vr, 113: $Vs }, { 10: [1, 200], 42: $Vd, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 109, 111: $Vq, 112: $Vr, 113: $Vs }, { 77: [1, 201] }, o($Vg1, [2, 102], { 10: [1, 202] }), o($Vg1, [2, 104], { 10: [1, 203] }), { 77: [1, 204] }, o($Vh1, [2, 177]), { 77: [1, 205], 95: [1, 206] }, o($VO, [2, 50], { 110: 109, 42: $Vd, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 111: $Vq, 112: $Vr, 113: $Vs }), { 31: [1, 207], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($Vr1, [2, 79]), o($Vr1, [2, 81]), o($Vr1, [2, 82]), o($Vr1, [2, 146]), o($Vr1, [2, 147]), o($Vr1, [2, 148]), o($Vr1, [2, 149]), { 47: [1, 209], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 210, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 49: [1, 211], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 51: [1, 212], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 53: [1, 213], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 55: [1, 214], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 58: [1, 215] }, { 62: [1, 216], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 64: [1, 217], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 30: 218, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 31: [1, 219], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 65: $Vi1, 67: [1, 220], 69: [1, 221], 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 65: $Vi1, 67: [1, 223], 69: [1, 222], 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($VC, [2, 44], { 42: $Vf1 }), o($VS, [2, 70]), o($VS, [2, 69]), { 60: [1, 224], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($VS, [2, 72]), o($Vo1, [2, 74]), { 30: 225, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($Ve1, $V4, { 5: 226 }), o($Vp1, [2, 95]), o($Vy, [2, 35]), { 41: 227, 42: $Vd, 43: 39, 45: 40, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, { 10: $Vs1, 58: $Vt1, 81: $Vu1, 89: 228, 102: $Vv1, 104: 229, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, { 10: $Vs1, 58: $Vt1, 81: $Vu1, 89: 239, 101: [1, 240], 102: $Vv1, 104: 229, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, { 10: $Vs1, 58: $Vt1, 81: $Vu1, 89: 241, 101: [1, 242], 102: $Vv1, 104: 229, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, { 102: [1, 243] }, { 10: $Vs1, 58: $Vt1, 81: $Vu1, 89: 244, 102: $Vv1, 104: 229, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, { 42: $Vd, 45: 245, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs }, o($Vg1, [2, 101]), { 77: [1, 246] }, { 77: [1, 247], 95: [1, 248] }, o($Vg1, [2, 109]), o($Vg1, [2, 111], { 10: [1, 249] }), o($Vg1, [2, 112]), o($VP, [2, 51]), o($Vr1, [2, 80]), o($VP, [2, 52]), { 49: [1, 250], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($VP, [2, 59]), o($VP, [2, 54]), o($VP, [2, 55]), o($VP, [2, 56]), { 106: [1, 251] }, o($VP, [2, 58]), o($VP, [2, 60]), { 64: [1, 252], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($VP, [2, 62]), o($VP, [2, 63]), o($VP, [2, 65]), o($VP, [2, 64]), o($VP, [2, 66]), o([10, 42, 58, 86, 99, 102, 103, 106, 108, 111, 112, 113], [2, 78]), { 31: [1, 253], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 32: [1, 254], 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 40: 28, 41: 38, 42: $Vd, 43: 39, 45: 40, 58: $Ve, 81: $Vf, 82: $Vg, 83: $Vh, 84: $Vi, 85: $Vj, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs, 118: $Vt, 119: $Vu, 120: $Vv, 121: $Vw }, o($VO, [2, 48]), o($Vg1, [2, 114], { 103: $VA1 }), o($VB1, [2, 123], { 105: 256, 10: $Vs1, 58: $Vt1, 81: $Vu1, 102: $Vv1, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }), o($VC1, [2, 125]), o($VC1, [2, 127]), o($VC1, [2, 128]), o($VC1, [2, 129]), o($VC1, [2, 130]), o($VC1, [2, 131]), o($VC1, [2, 132]), o($VC1, [2, 133]), o($VC1, [2, 134]), o($Vg1, [2, 115], { 103: $VA1 }), { 10: [1, 257] }, o($Vg1, [2, 116], { 103: $VA1 }), { 10: [1, 258] }, o($Vq1, [2, 122]), o($Vg1, [2, 98], { 103: $VA1 }), o($Vg1, [2, 99], { 110: 109, 42: $Vd, 58: $Ve, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 111: $Vq, 112: $Vr, 113: $Vs }), o($Vg1, [2, 103]), o($Vg1, [2, 105], { 10: [1, 259] }), o($Vg1, [2, 106]), { 95: [1, 260] }, { 49: [1, 261] }, { 60: [1, 262] }, { 64: [1, 263] }, { 8: $Vz, 9: $VA, 11: $VB, 21: 264 }, o($Vy, [2, 34]), { 10: $Vs1, 58: $Vt1, 81: $Vu1, 102: $Vv1, 104: 265, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, o($VC1, [2, 126]), { 14: $VD, 42: $VE, 58: $VF, 86: $VG, 98: 266, 102: $VH, 103: $VI, 106: $VJ, 108: $VK, 111: $VL, 112: $VM, 113: $VN, 117: 84 }, { 14: $VD, 42: $VE, 58: $VF, 86: $VG, 98: 267, 102: $VH, 103: $VI, 106: $VJ, 108: $VK, 111: $VL, 112: $VM, 113: $VN, 117: 84 }, { 95: [1, 268] }, o($Vg1, [2, 113]), o($VP, [2, 53]), { 30: 269, 65: $Vi1, 77: $Vj1, 78: $Vk1, 79: 164, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, o($VP, [2, 61]), o($Ve1, $V4, { 5: 270 }), o($VB1, [2, 124], { 105: 256, 10: $Vs1, 58: $Vt1, 81: $Vu1, 102: $Vv1, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }), o($Vg1, [2, 119], { 117: 160, 10: [1, 271], 14: $VD, 42: $VE, 58: $VF, 86: $VG, 102: $VH, 103: $VI, 106: $VJ, 108: $VK, 111: $VL, 112: $VM, 113: $VN }), o($Vg1, [2, 120], { 117: 160, 10: [1, 272], 14: $VD, 42: $VE, 58: $VF, 86: $VG, 102: $VH, 103: $VI, 106: $VJ, 108: $VK, 111: $VL, 112: $VM, 113: $VN }), o($Vg1, [2, 107]), { 31: [1, 273], 65: $Vi1, 79: 208, 113: $Vl1, 114: $Vm1, 115: $Vn1 }, { 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 32: [1, 274], 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 40: 28, 41: 38, 42: $Vd, 43: 39, 45: 40, 58: $Ve, 81: $Vf, 82: $Vg, 83: $Vh, 84: $Vi, 85: $Vj, 86: $Vk, 99: $Vl, 102: $Vm, 103: $Vn, 106: $Vo, 108: $Vp, 110: 41, 111: $Vq, 112: $Vr, 113: $Vs, 118: $Vt, 119: $Vu, 120: $Vv, 121: $Vw }, { 10: $Vs1, 58: $Vt1, 81: $Vu1, 89: 275, 102: $Vv1, 104: 229, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, { 10: $Vs1, 58: $Vt1, 81: $Vu1, 89: 276, 102: $Vv1, 104: 229, 105: 230, 106: $Vw1, 107: $Vx1, 108: $Vy1, 109: $Vz1 }, o($VP, [2, 57]), o($Vy, [2, 33]), o($Vg1, [2, 117], { 103: $VA1 }), o($Vg1, [2, 118], { 103: $VA1 })],\n defaultActions: {},\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex2() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex2();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex2() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: {},\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n this.begin(\"acc_title\");\n return 34;\n case 1:\n this.popState();\n return \"acc_title_value\";\n case 2:\n this.begin(\"acc_descr\");\n return 36;\n case 3:\n this.popState();\n return \"acc_descr_value\";\n case 4:\n this.begin(\"acc_descr_multiline\");\n break;\n case 5:\n this.popState();\n break;\n case 6:\n return \"acc_descr_multiline_value\";\n case 7:\n this.begin(\"callbackname\");\n break;\n case 8:\n this.popState();\n break;\n case 9:\n this.popState();\n this.begin(\"callbackargs\");\n break;\n case 10:\n return 92;\n case 11:\n this.popState();\n break;\n case 12:\n return 93;\n case 13:\n return \"MD_STR\";\n case 14:\n this.popState();\n break;\n case 15:\n this.begin(\"md_string\");\n break;\n case 16:\n return \"STR\";\n case 17:\n this.popState();\n break;\n case 18:\n this.pushState(\"string\");\n break;\n case 19:\n return 81;\n case 20:\n return 99;\n case 21:\n return 82;\n case 22:\n return 101;\n case 23:\n return 83;\n case 24:\n return 84;\n case 25:\n return 94;\n case 26:\n this.begin(\"click\");\n break;\n case 27:\n this.popState();\n break;\n case 28:\n return 85;\n case 29:\n if (yy.lex.firstGraph()) {\n this.begin(\"dir\");\n }\n return 12;\n case 30:\n if (yy.lex.firstGraph()) {\n this.begin(\"dir\");\n }\n return 12;\n case 31:\n if (yy.lex.firstGraph()) {\n this.begin(\"dir\");\n }\n return 12;\n case 32:\n return 27;\n case 33:\n return 32;\n case 34:\n return 95;\n case 35:\n return 95;\n case 36:\n return 95;\n case 37:\n return 95;\n case 38:\n this.popState();\n return 13;\n case 39:\n this.popState();\n return 14;\n case 40:\n this.popState();\n return 14;\n case 41:\n this.popState();\n return 14;\n case 42:\n this.popState();\n return 14;\n case 43:\n this.popState();\n return 14;\n case 44:\n this.popState();\n return 14;\n case 45:\n this.popState();\n return 14;\n case 46:\n this.popState();\n return 14;\n case 47:\n this.popState();\n return 14;\n case 48:\n this.popState();\n return 14;\n case 49:\n return 118;\n case 50:\n return 119;\n case 51:\n return 120;\n case 52:\n return 121;\n case 53:\n return 102;\n case 54:\n return 108;\n case 55:\n return 44;\n case 56:\n return 58;\n case 57:\n return 42;\n case 58:\n return 8;\n case 59:\n return 103;\n case 60:\n return 112;\n case 61:\n this.popState();\n return 75;\n case 62:\n this.pushState(\"edgeText\");\n return 73;\n case 63:\n return 116;\n case 64:\n this.popState();\n return 75;\n case 65:\n this.pushState(\"thickEdgeText\");\n return 73;\n case 66:\n return 116;\n case 67:\n this.popState();\n return 75;\n case 68:\n this.pushState(\"dottedEdgeText\");\n return 73;\n case 69:\n return 116;\n case 70:\n return 75;\n case 71:\n this.popState();\n return 51;\n case 72:\n return \"TEXT\";\n case 73:\n this.pushState(\"ellipseText\");\n return 50;\n case 74:\n this.popState();\n return 53;\n case 75:\n this.pushState(\"text\");\n return 52;\n case 76:\n this.popState();\n return 55;\n case 77:\n this.pushState(\"text\");\n return 54;\n case 78:\n return 56;\n case 79:\n this.pushState(\"text\");\n return 65;\n case 80:\n this.popState();\n return 62;\n case 81:\n this.pushState(\"text\");\n return 61;\n case 82:\n this.popState();\n return 47;\n case 83:\n this.pushState(\"text\");\n return 46;\n case 84:\n this.popState();\n return 67;\n case 85:\n this.popState();\n return 69;\n case 86:\n return 114;\n case 87:\n this.pushState(\"trapText\");\n return 66;\n case 88:\n this.pushState(\"trapText\");\n return 68;\n case 89:\n return 115;\n case 90:\n return 65;\n case 91:\n return 87;\n case 92:\n return \"SEP\";\n case 93:\n return 86;\n case 94:\n return 112;\n case 95:\n return 108;\n case 96:\n return 42;\n case 97:\n return 106;\n case 98:\n return 111;\n case 99:\n return 113;\n case 100:\n this.popState();\n return 60;\n case 101:\n this.pushState(\"text\");\n return 60;\n case 102:\n this.popState();\n return 49;\n case 103:\n this.pushState(\"text\");\n return 48;\n case 104:\n this.popState();\n return 31;\n case 105:\n this.pushState(\"text\");\n return 29;\n case 106:\n this.popState();\n return 64;\n case 107:\n this.pushState(\"text\");\n return 63;\n case 108:\n return \"TEXT\";\n case 109:\n return \"QUOTE\";\n case 110:\n return 9;\n case 111:\n return 10;\n case 112:\n return 11;\n }\n },\n rules: [/^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:call[\\s]+)/, /^(?:\\([\\s]*\\))/, /^(?:\\()/, /^(?:[^(]*)/, /^(?:\\))/, /^(?:[^)]*)/, /^(?:[^`\"]+)/, /^(?:[`][\"])/, /^(?:[\"][`])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:[\"])/, /^(?:style\\b)/, /^(?:default\\b)/, /^(?:linkStyle\\b)/, /^(?:interpolate\\b)/, /^(?:classDef\\b)/, /^(?:class\\b)/, /^(?:href[\\s])/, /^(?:click[\\s]+)/, /^(?:[\\s\\n])/, /^(?:[^\\s\\n]*)/, /^(?:flowchart-elk\\b)/, /^(?:graph\\b)/, /^(?:flowchart\\b)/, /^(?:subgraph\\b)/, /^(?:end\\b\\s*)/, /^(?:_self\\b)/, /^(?:_blank\\b)/, /^(?:_parent\\b)/, /^(?:_top\\b)/, /^(?:(\\r?\\n)*\\s*\\n)/, /^(?:\\s*LR\\b)/, /^(?:\\s*RL\\b)/, /^(?:\\s*TB\\b)/, /^(?:\\s*BT\\b)/, /^(?:\\s*TD\\b)/, /^(?:\\s*BR\\b)/, /^(?:\\s*<)/, /^(?:\\s*>)/, /^(?:\\s*\\^)/, /^(?:\\s*v\\b)/, /^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\\*)/, /^(?:\\s*[xo<]?--+[-xo>]\\s*)/, /^(?:\\s*[xo<]?--\\s*)/, /^(?:[^-]|-(?!-)+)/, /^(?:\\s*[xo<]?==+[=xo>]\\s*)/, /^(?:\\s*[xo<]?==\\s*)/, /^(?:[^=]|=(?!))/, /^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/, /^(?:\\s*[xo<]?-\\.\\s*)/, /^(?:[^\\.]|\\.(?!))/, /^(?:\\s*~~[\\~]+\\s*)/, /^(?:[-/\\)][\\)])/, /^(?:[^\\(\\)\\[\\]\\{\\}]|!\\)+)/, /^(?:\\(-)/, /^(?:\\]\\))/, /^(?:\\(\\[)/, /^(?:\\]\\])/, /^(?:\\[\\[)/, /^(?:\\[\\|)/, /^(?:>)/, /^(?:\\)\\])/, /^(?:\\[\\()/, /^(?:\\)\\)\\))/, /^(?:\\(\\(\\()/, /^(?:[\\\\(?=\\])][\\]])/, /^(?:\\/(?=\\])\\])/, /^(?:\\/(?!\\])|\\\\(?!\\])|[^\\\\\\[\\]\\(\\)\\{\\}\\/]+)/, /^(?:\\[\\/)/, /^(?:\\[\\\\)/, /^(?:<)/, /^(?:>)/, /^(?:\\^)/, /^(?:\\\\\\|)/, /^(?:v\\b)/, /^(?:\\*)/, /^(?:#)/, /^(?:&)/, /^(?:([A-Za-z0-9!\"\\#$%&'*+\\.`?\\\\_\\/]|-(?=[^\\>\\-\\.])|(?!))+)/, /^(?:-)/, /^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/, /^(?:\\|)/, /^(?:\\|)/, /^(?:\\))/, /^(?:\\()/, /^(?:\\])/, /^(?:\\[)/, /^(?:(\\}))/, /^(?:\\{)/, /^(?:[^\\[\\]\\(\\)\\{\\}\\|\\\"]+)/, /^(?:\")/, /^(?:(\\r?\\n)+)/, /^(?:\\s)/, /^(?:$)/],\n conditions: { \"callbackargs\": { \"rules\": [11, 12, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"callbackname\": { \"rules\": [8, 9, 10, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"href\": { \"rules\": [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"click\": { \"rules\": [15, 18, 27, 28, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"dottedEdgeText\": { \"rules\": [15, 18, 67, 69, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"thickEdgeText\": { \"rules\": [15, 18, 64, 66, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"edgeText\": { \"rules\": [15, 18, 61, 63, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"trapText\": { \"rules\": [15, 18, 70, 73, 75, 77, 81, 83, 84, 85, 86, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"ellipseText\": { \"rules\": [15, 18, 70, 71, 72, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"text\": { \"rules\": [15, 18, 70, 73, 74, 75, 76, 77, 80, 81, 82, 83, 87, 88, 100, 101, 102, 103, 104, 105, 106, 107, 108], \"inclusive\": false }, \"vertex\": { \"rules\": [15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"dir\": { \"rules\": [15, 18, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [5, 6, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"acc_descr\": { \"rules\": [3, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"acc_title\": { \"rules\": [1, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"md_string\": { \"rules\": [13, 14, 15, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"string\": { \"rules\": [15, 16, 17, 18, 70, 73, 75, 77, 81, 83, 87, 88, 101, 103, 105, 107], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 2, 4, 7, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 67, 68, 70, 73, 75, 77, 78, 79, 81, 83, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, 103, 105, 107, 109, 110, 111, 112], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nconst MERMAID_DOM_ID_PREFIX = \"flowchart-\";\nlet vertexCounter = 0;\nlet config = getConfig();\nlet vertices = {};\nlet edges = [];\nlet classes = {};\nlet subGraphs = [];\nlet subGraphLookup = {};\nlet tooltips = {};\nlet subCount = 0;\nlet firstGraphFlag = true;\nlet direction;\nlet version;\nlet funs = [];\nconst sanitizeText = (txt) => common.sanitizeText(txt, config);\nconst lookUpDomId = function(id) {\n const vertexKeys = Object.keys(vertices);\n for (const vertexKey of vertexKeys) {\n if (vertices[vertexKey].id === id) {\n return vertices[vertexKey].domId;\n }\n }\n return id;\n};\nconst addVertex = function(_id, textObj, type, style, classes2, dir, props = {}) {\n let txt;\n let id = _id;\n if (id === void 0) {\n return;\n }\n if (id.trim().length === 0) {\n return;\n }\n if (vertices[id] === void 0) {\n vertices[id] = {\n id,\n labelType: \"text\",\n domId: MERMAID_DOM_ID_PREFIX + id + \"-\" + vertexCounter,\n styles: [],\n classes: []\n };\n }\n vertexCounter++;\n if (textObj !== void 0) {\n config = getConfig();\n txt = sanitizeText(textObj.text.trim());\n vertices[id].labelType = textObj.type;\n if (txt[0] === '\"' && txt[txt.length - 1] === '\"') {\n txt = txt.substring(1, txt.length - 1);\n }\n vertices[id].text = txt;\n } else {\n if (vertices[id].text === void 0) {\n vertices[id].text = _id;\n }\n }\n if (type !== void 0) {\n vertices[id].type = type;\n }\n if (style !== void 0 && style !== null) {\n style.forEach(function(s) {\n vertices[id].styles.push(s);\n });\n }\n if (classes2 !== void 0 && classes2 !== null) {\n classes2.forEach(function(s) {\n vertices[id].classes.push(s);\n });\n }\n if (dir !== void 0) {\n vertices[id].dir = dir;\n }\n if (vertices[id].props === void 0) {\n vertices[id].props = props;\n } else if (props !== void 0) {\n Object.assign(vertices[id].props, props);\n }\n};\nconst addSingleLink = function(_start, _end, type) {\n let start = _start;\n let end = _end;\n const edge = { start, end, type: void 0, text: \"\", labelType: \"text\" };\n log.info(\"abc78 Got edge...\", edge);\n const linkTextObj = type.text;\n if (linkTextObj !== void 0) {\n edge.text = sanitizeText(linkTextObj.text.trim());\n if (edge.text[0] === '\"' && edge.text[edge.text.length - 1] === '\"') {\n edge.text = edge.text.substring(1, edge.text.length - 1);\n }\n edge.labelType = linkTextObj.type;\n }\n if (type !== void 0) {\n edge.type = type.type;\n edge.stroke = type.stroke;\n edge.length = type.length;\n }\n if ((edge == null ? void 0 : edge.length) > 10) {\n edge.length = 10;\n }\n if (edges.length < (config.maxEdges ?? 500)) {\n log.info(\"abc78 pushing edge...\");\n edges.push(edge);\n } else {\n throw new Error(\n `Edge limit exceeded. ${edges.length} edges found, but the limit is ${config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`\n );\n }\n};\nconst addLink = function(_start, _end, type) {\n log.info(\"addLink (abc78)\", _start, _end, type);\n let i, j;\n for (i = 0; i < _start.length; i++) {\n for (j = 0; j < _end.length; j++) {\n addSingleLink(_start[i], _end[j], type);\n }\n }\n};\nconst updateLinkInterpolate = function(positions, interp) {\n positions.forEach(function(pos) {\n if (pos === \"default\") {\n edges.defaultInterpolate = interp;\n } else {\n edges[pos].interpolate = interp;\n }\n });\n};\nconst updateLink = function(positions, style) {\n positions.forEach(function(pos) {\n if (pos >= edges.length) {\n throw new Error(\n `The index ${pos} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${edges.length - 1}. (Help: Ensure that the index is within the range of existing edges.)`\n );\n }\n if (pos === \"default\") {\n edges.defaultStyle = style;\n } else {\n if (utils.isSubstringInArray(\"fill\", style) === -1) {\n style.push(\"fill:none\");\n }\n edges[pos].style = style;\n }\n });\n};\nconst addClass = function(ids, style) {\n ids.split(\",\").forEach(function(id) {\n if (classes[id] === void 0) {\n classes[id] = { id, styles: [], textStyles: [] };\n }\n if (style !== void 0 && style !== null) {\n style.forEach(function(s) {\n if (s.match(\"color\")) {\n const newStyle = s.replace(\"fill\", \"bgFill\").replace(\"color\", \"fill\");\n classes[id].textStyles.push(newStyle);\n }\n classes[id].styles.push(s);\n });\n }\n });\n};\nconst setDirection = function(dir) {\n direction = dir;\n if (direction.match(/.*/)) {\n direction = \"LR\";\n }\n if (direction.match(/.*v/)) {\n direction = \"TB\";\n }\n if (direction === \"TD\") {\n direction = \"TB\";\n }\n};\nconst setClass = function(ids, className) {\n ids.split(\",\").forEach(function(_id) {\n let id = _id;\n if (vertices[id] !== void 0) {\n vertices[id].classes.push(className);\n }\n if (subGraphLookup[id] !== void 0) {\n subGraphLookup[id].classes.push(className);\n }\n });\n};\nconst setTooltip = function(ids, tooltip) {\n ids.split(\",\").forEach(function(id) {\n if (tooltip !== void 0) {\n tooltips[version === \"gen-1\" ? lookUpDomId(id) : id] = sanitizeText(tooltip);\n }\n });\n};\nconst setClickFun = function(id, functionName, functionArgs) {\n let domId = lookUpDomId(id);\n if (getConfig().securityLevel !== \"loose\") {\n return;\n }\n if (functionName === void 0) {\n return;\n }\n let argList = [];\n if (typeof functionArgs === \"string\") {\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n if (item.charAt(0) === '\"' && item.charAt(item.length - 1) === '\"') {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n if (argList.length === 0) {\n argList.push(id);\n }\n if (vertices[id] !== void 0) {\n vertices[id].haveCallback = true;\n funs.push(function() {\n const elem = document.querySelector(`[id=\"${domId}\"]`);\n if (elem !== null) {\n elem.addEventListener(\n \"click\",\n function() {\n utils.runFunc(functionName, ...argList);\n },\n false\n );\n }\n });\n }\n};\nconst setLink = function(ids, linkStr, target) {\n ids.split(\",\").forEach(function(id) {\n if (vertices[id] !== void 0) {\n vertices[id].link = utils.formatUrl(linkStr, config);\n vertices[id].linkTarget = target;\n }\n });\n setClass(ids, \"clickable\");\n};\nconst getTooltip = function(id) {\n if (tooltips.hasOwnProperty(id)) {\n return tooltips[id];\n }\n return void 0;\n};\nconst setClickEvent = function(ids, functionName, functionArgs) {\n ids.split(\",\").forEach(function(id) {\n setClickFun(id, functionName, functionArgs);\n });\n setClass(ids, \"clickable\");\n};\nconst bindFunctions = function(element) {\n funs.forEach(function(fun) {\n fun(element);\n });\n};\nconst getDirection = function() {\n return direction.trim();\n};\nconst getVertices = function() {\n return vertices;\n};\nconst getEdges = function() {\n return edges;\n};\nconst getClasses = function() {\n return classes;\n};\nconst setupToolTips = function(element) {\n let tooltipElem = d3select(\".mermaidTooltip\");\n if ((tooltipElem._groups || tooltipElem)[0][0] === null) {\n tooltipElem = d3select(\"body\").append(\"div\").attr(\"class\", \"mermaidTooltip\").style(\"opacity\", 0);\n }\n const svg = d3select(element).select(\"svg\");\n const nodes = svg.selectAll(\"g.node\");\n nodes.on(\"mouseover\", function() {\n const el = d3select(this);\n const title = el.attr(\"title\");\n if (title === null) {\n return;\n }\n const rect = this.getBoundingClientRect();\n tooltipElem.transition().duration(200).style(\"opacity\", \".9\");\n tooltipElem.text(el.attr(\"title\")).style(\"left\", window.scrollX + rect.left + (rect.right - rect.left) / 2 + \"px\").style(\"top\", window.scrollY + rect.bottom + \"px\");\n tooltipElem.html(tooltipElem.html().replace(/<br\\/>/g, \"
\"));\n el.classed(\"hover\", true);\n }).on(\"mouseout\", function() {\n tooltipElem.transition().duration(500).style(\"opacity\", 0);\n const el = d3select(this);\n el.classed(\"hover\", false);\n });\n};\nfuns.push(setupToolTips);\nconst clear = function(ver = \"gen-1\") {\n vertices = {};\n classes = {};\n edges = [];\n funs = [setupToolTips];\n subGraphs = [];\n subGraphLookup = {};\n subCount = 0;\n tooltips = {};\n firstGraphFlag = true;\n version = ver;\n config = getConfig();\n clear$1();\n};\nconst setGen = (ver) => {\n version = ver || \"gen-2\";\n};\nconst defaultStyle = function() {\n return \"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;\";\n};\nconst addSubGraph = function(_id, list, _title) {\n let id = _id.text.trim();\n let title = _title.text;\n if (_id === _title && _title.text.match(/\\s/)) {\n id = void 0;\n }\n function uniq(a) {\n const prims = { boolean: {}, number: {}, string: {} };\n const objs = [];\n let dir2;\n const nodeList2 = a.filter(function(item) {\n const type = typeof item;\n if (item.stmt && item.stmt === \"dir\") {\n dir2 = item.value;\n return false;\n }\n if (item.trim() === \"\") {\n return false;\n }\n if (type in prims) {\n return prims[type].hasOwnProperty(item) ? false : prims[type][item] = true;\n } else {\n return objs.includes(item) ? false : objs.push(item);\n }\n });\n return { nodeList: nodeList2, dir: dir2 };\n }\n let nodeList = [];\n const { nodeList: nl, dir } = uniq(nodeList.concat.apply(nodeList, list));\n nodeList = nl;\n if (version === \"gen-1\") {\n for (let i = 0; i < nodeList.length; i++) {\n nodeList[i] = lookUpDomId(nodeList[i]);\n }\n }\n id = id || \"subGraph\" + subCount;\n title = title || \"\";\n title = sanitizeText(title);\n subCount = subCount + 1;\n const subGraph = {\n id,\n nodes: nodeList,\n title: title.trim(),\n classes: [],\n dir,\n labelType: _title.type\n };\n log.info(\"Adding\", subGraph.id, subGraph.nodes, subGraph.dir);\n subGraph.nodes = makeUniq(subGraph, subGraphs).nodes;\n subGraphs.push(subGraph);\n subGraphLookup[id] = subGraph;\n return id;\n};\nconst getPosForId = function(id) {\n for (const [i, subGraph] of subGraphs.entries()) {\n if (subGraph.id === id) {\n return i;\n }\n }\n return -1;\n};\nlet secCount = -1;\nconst posCrossRef = [];\nconst indexNodes2 = function(id, pos) {\n const nodes = subGraphs[pos].nodes;\n secCount = secCount + 1;\n if (secCount > 2e3) {\n return;\n }\n posCrossRef[secCount] = pos;\n if (subGraphs[pos].id === id) {\n return {\n result: true,\n count: 0\n };\n }\n let count = 0;\n let posCount = 1;\n while (count < nodes.length) {\n const childPos = getPosForId(nodes[count]);\n if (childPos >= 0) {\n const res = indexNodes2(id, childPos);\n if (res.result) {\n return {\n result: true,\n count: posCount + res.count\n };\n } else {\n posCount = posCount + res.count;\n }\n }\n count = count + 1;\n }\n return {\n result: false,\n count: posCount\n };\n};\nconst getDepthFirstPos = function(pos) {\n return posCrossRef[pos];\n};\nconst indexNodes = function() {\n secCount = -1;\n if (subGraphs.length > 0) {\n indexNodes2(\"none\", subGraphs.length - 1);\n }\n};\nconst getSubGraphs = function() {\n return subGraphs;\n};\nconst firstGraph = () => {\n if (firstGraphFlag) {\n firstGraphFlag = false;\n return true;\n }\n return false;\n};\nconst destructStartLink = (_str) => {\n let str = _str.trim();\n let type = \"arrow_open\";\n switch (str[0]) {\n case \"<\":\n type = \"arrow_point\";\n str = str.slice(1);\n break;\n case \"x\":\n type = \"arrow_cross\";\n str = str.slice(1);\n break;\n case \"o\":\n type = \"arrow_circle\";\n str = str.slice(1);\n break;\n }\n let stroke = \"normal\";\n if (str.includes(\"=\")) {\n stroke = \"thick\";\n }\n if (str.includes(\".\")) {\n stroke = \"dotted\";\n }\n return { type, stroke };\n};\nconst countChar = (char, str) => {\n const length = str.length;\n let count = 0;\n for (let i = 0; i < length; ++i) {\n if (str[i] === char) {\n ++count;\n }\n }\n return count;\n};\nconst destructEndLink = (_str) => {\n const str = _str.trim();\n let line = str.slice(0, -1);\n let type = \"arrow_open\";\n switch (str.slice(-1)) {\n case \"x\":\n type = \"arrow_cross\";\n if (str[0] === \"x\") {\n type = \"double_\" + type;\n line = line.slice(1);\n }\n break;\n case \">\":\n type = \"arrow_point\";\n if (str[0] === \"<\") {\n type = \"double_\" + type;\n line = line.slice(1);\n }\n break;\n case \"o\":\n type = \"arrow_circle\";\n if (str[0] === \"o\") {\n type = \"double_\" + type;\n line = line.slice(1);\n }\n break;\n }\n let stroke = \"normal\";\n let length = line.length - 1;\n if (line[0] === \"=\") {\n stroke = \"thick\";\n }\n if (line[0] === \"~\") {\n stroke = \"invisible\";\n }\n let dots = countChar(\".\", line);\n if (dots) {\n stroke = \"dotted\";\n length = dots;\n }\n return { type, stroke, length };\n};\nconst destructLink = (_str, _startStr) => {\n const info = destructEndLink(_str);\n let startInfo;\n if (_startStr) {\n startInfo = destructStartLink(_startStr);\n if (startInfo.stroke !== info.stroke) {\n return { type: \"INVALID\", stroke: \"INVALID\" };\n }\n if (startInfo.type === \"arrow_open\") {\n startInfo.type = info.type;\n } else {\n if (startInfo.type !== info.type) {\n return { type: \"INVALID\", stroke: \"INVALID\" };\n }\n startInfo.type = \"double_\" + startInfo.type;\n }\n if (startInfo.type === \"double_arrow\") {\n startInfo.type = \"double_arrow_point\";\n }\n startInfo.length = info.length;\n return startInfo;\n }\n return info;\n};\nconst exists = (allSgs, _id) => {\n let res = false;\n allSgs.forEach((sg) => {\n const pos = sg.nodes.indexOf(_id);\n if (pos >= 0) {\n res = true;\n }\n });\n return res;\n};\nconst makeUniq = (sg, allSubgraphs) => {\n const res = [];\n sg.nodes.forEach((_id, pos) => {\n if (!exists(allSubgraphs, _id)) {\n res.push(sg.nodes[pos]);\n }\n });\n return { nodes: res };\n};\nconst lex = {\n firstGraph\n};\nconst flowDb = {\n defaultConfig: () => defaultConfig.flowchart,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n addVertex,\n lookUpDomId,\n addLink,\n updateLinkInterpolate,\n updateLink,\n addClass,\n setDirection,\n setClass,\n setTooltip,\n getTooltip,\n setClickEvent,\n setLink,\n bindFunctions,\n getDirection,\n getVertices,\n getEdges,\n getClasses,\n clear,\n setGen,\n defaultStyle,\n addSubGraph,\n getDepthFirstPos,\n indexNodes,\n getSubGraphs,\n destructLink,\n lex,\n exists,\n makeUniq,\n setDiagramTitle,\n getDiagramTitle\n};\nconst db = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n addClass,\n addLink,\n addSingleLink,\n addSubGraph,\n addVertex,\n bindFunctions,\n clear,\n default: flowDb,\n defaultStyle,\n destructLink,\n firstGraph,\n getClasses,\n getDepthFirstPos,\n getDirection,\n getEdges,\n getSubGraphs,\n getTooltip,\n getVertices,\n indexNodes,\n lex,\n lookUpDomId,\n setClass,\n setClickEvent,\n setDirection,\n setGen,\n setLink,\n updateLink,\n updateLinkInterpolate\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n db as d,\n flowDb as f,\n parser$1 as p\n};\n"], "mappings": ";;;;;;;;;;;;;;;;;AACA,IAAI,SAAS,WAAW;AACtB,MAAI,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG;AAC5B,SAAK,KAAK,MAAM,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI;AAChD;AACF,WAAO;AAAA,EACT,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,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AAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,C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IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,GAAG,GAAG,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", "names": ["clear"] diff --git a/docs/.vitepress/cache/deps/chunk-4BXPPE67.js b/docs/.vitepress/cache/deps/chunk-7Q2BK7NI.js similarity index 71% rename from docs/.vitepress/cache/deps/chunk-4BXPPE67.js rename to docs/.vitepress/cache/deps/chunk-7Q2BK7NI.js index 0b113238..6169d190 100644 --- a/docs/.vitepress/cache/deps/chunk-4BXPPE67.js +++ b/docs/.vitepress/cache/deps/chunk-7Q2BK7NI.js @@ -1,4 +1,4 @@ -// node_modules/mermaid/dist/Tableau10-31042135.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/Tableau10-31042135.js function colors(specifier) { var n = specifier.length / 6 | 0, colors2 = new Array(n), i = 0; while (i < n) @@ -10,4 +10,4 @@ var d3schemeTableau10 = colors("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da7 export { d3schemeTableau10 }; -//# sourceMappingURL=chunk-4BXPPE67.js.map +//# sourceMappingURL=chunk-7Q2BK7NI.js.map diff --git a/docs/.vitepress/cache/deps/chunk-4BXPPE67.js.map b/docs/.vitepress/cache/deps/chunk-7Q2BK7NI.js.map similarity index 84% rename from docs/.vitepress/cache/deps/chunk-4BXPPE67.js.map rename to docs/.vitepress/cache/deps/chunk-7Q2BK7NI.js.map index 682e20d6..87da3a36 100644 --- a/docs/.vitepress/cache/deps/chunk-4BXPPE67.js.map +++ b/docs/.vitepress/cache/deps/chunk-7Q2BK7NI.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/Tableau10-31042135.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/Tableau10-31042135.js"], "sourcesContent": ["function colors(specifier) {\n var n = specifier.length / 6 | 0, colors2 = new Array(n), i = 0;\n while (i < n)\n colors2[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors2;\n}\nconst d3schemeTableau10 = colors(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\");\nexport {\n d3schemeTableau10 as d\n};\n"], "mappings": ";AAAA,SAAS,OAAO,WAAW;AACzB,MAAI,IAAI,UAAU,SAAS,IAAI,GAAG,UAAU,IAAI,MAAM,CAAC,GAAG,IAAI;AAC9D,SAAO,IAAI;AACT,YAAQ,CAAC,IAAI,MAAM,UAAU,MAAM,IAAI,GAAG,EAAE,IAAI,CAAC;AACnD,SAAO;AACT;AACA,IAAM,oBAAoB,OAAO,8DAA8D;", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-O3YQPVDG.js b/docs/.vitepress/cache/deps/chunk-A2KJKGLQ.js similarity index 71% rename from docs/.vitepress/cache/deps/chunk-O3YQPVDG.js rename to docs/.vitepress/cache/deps/chunk-A2KJKGLQ.js index a42b4fd8..bd292cac 100644 --- a/docs/.vitepress/cache/deps/chunk-O3YQPVDG.js +++ b/docs/.vitepress/cache/deps/chunk-A2KJKGLQ.js @@ -1,4 +1,4 @@ -// node_modules/vitepress/lib/vue-demi.mjs +// node_modules/.pnpm/vitepress@1.5.0_@algolia+client-search@5.15.0_@types+node@22.9.4_async-validator@4.2.5_postcs_rp5u2vkkryxtbptaaefhbkkbb4/node_modules/vitepress/lib/vue-demi.mjs var isVue2 = false; var isVue3 = true; function set(target, key, val) { @@ -33,4 +33,4 @@ vitepress/lib/vue-demi.mjs: * @license MIT *) */ -//# sourceMappingURL=chunk-O3YQPVDG.js.map +//# sourceMappingURL=chunk-A2KJKGLQ.js.map diff --git a/docs/.vitepress/cache/deps/chunk-O3YQPVDG.js.map b/docs/.vitepress/cache/deps/chunk-A2KJKGLQ.js.map similarity index 83% rename from docs/.vitepress/cache/deps/chunk-O3YQPVDG.js.map rename to docs/.vitepress/cache/deps/chunk-A2KJKGLQ.js.map index b72da111..16035ace 100644 --- a/docs/.vitepress/cache/deps/chunk-O3YQPVDG.js.map +++ b/docs/.vitepress/cache/deps/chunk-A2KJKGLQ.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/vitepress/lib/vue-demi.mjs"], + "sources": ["../../../../node_modules/.pnpm/vitepress@1.5.0_@algolia+client-search@5.15.0_@types+node@22.9.4_async-validator@4.2.5_postcs_rp5u2vkkryxtbptaaefhbkkbb4/node_modules/vitepress/lib/vue-demi.mjs"], "sourcesContent": ["/**\n * vue-demi v0.14.7\n * Copyright (c) 2020-present, Anthony Fu\n * @license MIT\n */\n\nimport * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport { Vue, Vue2, isVue2, isVue3, install }\n"], "mappings": ";AAQA,IAAI,SAAS;AACb,IAAI,SAAS;AAKN,SAAS,IAAI,QAAQ,KAAK,KAAK;AACpC,MAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,WAAO,SAAS,KAAK,IAAI,OAAO,QAAQ,GAAG;AAC3C,WAAO,OAAO,KAAK,GAAG,GAAG;AACzB,WAAO;AAAA,EACT;AACA,SAAO,GAAG,IAAI;AACd,SAAO;AACT;AAEO,SAAS,IAAI,QAAQ,KAAK;AAC/B,MAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,WAAO,OAAO,KAAK,CAAC;AACpB;AAAA,EACF;AACA,SAAO,OAAO,GAAG;AACnB;", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-A6QXRUVC.js b/docs/.vitepress/cache/deps/chunk-A6QXRUVC.js new file mode 100644 index 00000000..f9007819 --- /dev/null +++ b/docs/.vitepress/cache/deps/chunk-A6QXRUVC.js @@ -0,0 +1,14 @@ +import { + baseClone +} from "./chunk-FVOCDV6K.js"; + +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/clone-64cfc140.js +var CLONE_SYMBOLS_FLAG = 4; +function clone(value) { + return baseClone(value, CLONE_SYMBOLS_FLAG); +} + +export { + clone +}; +//# sourceMappingURL=chunk-A6QXRUVC.js.map diff --git a/docs/.vitepress/cache/deps/chunk-XWZ73NBO.js.map b/docs/.vitepress/cache/deps/chunk-A6QXRUVC.js.map similarity index 76% rename from docs/.vitepress/cache/deps/chunk-XWZ73NBO.js.map rename to docs/.vitepress/cache/deps/chunk-A6QXRUVC.js.map index f9d75675..14546eb8 100644 --- a/docs/.vitepress/cache/deps/chunk-XWZ73NBO.js.map +++ b/docs/.vitepress/cache/deps/chunk-A6QXRUVC.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/clone-64cfc140.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/clone-64cfc140.js"], "sourcesContent": ["import { c as baseClone } from \"./graph-cdf81e0e.js\";\nvar CLONE_SYMBOLS_FLAG = 4;\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\nexport {\n clone as c\n};\n"], "mappings": ";;;;;AACA,IAAI,qBAAqB;AACzB,SAAS,MAAM,OAAO;AACpB,SAAO,UAAU,OAAO,kBAAkB;AAC5C;", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-2EKZYMCX.js b/docs/.vitepress/cache/deps/chunk-AZ3MSDYO.js similarity index 99% rename from docs/.vitepress/cache/deps/chunk-2EKZYMCX.js rename to docs/.vitepress/cache/deps/chunk-AZ3MSDYO.js index f13d3949..2286bbd9 100644 --- a/docs/.vitepress/cache/deps/chunk-2EKZYMCX.js +++ b/docs/.vitepress/cache/deps/chunk-AZ3MSDYO.js @@ -13,9 +13,9 @@ import { setAccTitle, setDiagramTitle, utils -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/styles-03a776f2.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/styles-03a776f2.js var parser = function() { var o = function(k, v, o2, l) { for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) @@ -1499,4 +1499,4 @@ export { db, styles }; -//# sourceMappingURL=chunk-2EKZYMCX.js.map +//# sourceMappingURL=chunk-AZ3MSDYO.js.map diff --git a/docs/.vitepress/cache/deps/chunk-2EKZYMCX.js.map b/docs/.vitepress/cache/deps/chunk-AZ3MSDYO.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-2EKZYMCX.js.map rename to docs/.vitepress/cache/deps/chunk-AZ3MSDYO.js.map index 1c01cae5..83ab77f1 100644 --- a/docs/.vitepress/cache/deps/chunk-2EKZYMCX.js.map +++ b/docs/.vitepress/cache/deps/chunk-AZ3MSDYO.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/styles-03a776f2.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/styles-03a776f2.js"], "sourcesContent": ["import { d as sanitizeText$1, c as getConfig, G as parseGenericTypes, s as setAccTitle, g as getAccTitle, a as getAccDescription, b as setAccDescription, C as setDiagramTitle, D as getDiagramTitle, f as common, E as clear$1, l as log, A as utils, j as d3select } from \"./mermaid-bea41e51.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 17], $V1 = [1, 18], $V2 = [1, 19], $V3 = [1, 39], $V4 = [1, 40], $V5 = [1, 25], $V6 = [1, 23], $V7 = [1, 24], $V8 = [1, 31], $V9 = [1, 32], $Va = [1, 33], $Vb = [1, 34], $Vc = [1, 35], $Vd = [1, 36], $Ve = [1, 26], $Vf = [1, 27], $Vg = [1, 28], $Vh = [1, 29], $Vi = [1, 43], $Vj = [1, 30], $Vk = [1, 42], $Vl = [1, 44], $Vm = [1, 41], $Vn = [1, 45], $Vo = [1, 9], $Vp = [1, 8, 9], $Vq = [1, 56], $Vr = [1, 57], $Vs = [1, 58], $Vt = [1, 59], $Vu = [1, 60], $Vv = [1, 61], $Vw = [1, 62], $Vx = [1, 8, 9, 39], $Vy = [1, 74], $Vz = [1, 8, 9, 12, 13, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], $VA = [1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 46, 59, 60, 61, 62, 63, 64, 65, 70, 72, 74, 80, 95, 97, 98], $VB = [13, 74, 80, 95, 97, 98], $VC = [13, 64, 65, 74, 80, 95, 97, 98], $VD = [13, 59, 60, 61, 62, 63, 74, 80, 95, 97, 98], $VE = [1, 93], $VF = [1, 110], $VG = [1, 108], $VH = [1, 102], $VI = [1, 103], $VJ = [1, 104], $VK = [1, 105], $VL = [1, 106], $VM = [1, 107], $VN = [1, 109], $VO = [1, 8, 9, 37, 39, 42], $VP = [1, 8, 9, 21], $VQ = [1, 8, 9, 78], $VR = [1, 8, 9, 21, 73, 74, 78, 80, 81, 82, 83, 84, 85];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mermaidDoc\": 4, \"statements\": 5, \"graphConfig\": 6, \"CLASS_DIAGRAM\": 7, \"NEWLINE\": 8, \"EOF\": 9, \"statement\": 10, \"classLabel\": 11, \"SQS\": 12, \"STR\": 13, \"SQE\": 14, \"namespaceName\": 15, \"alphaNumToken\": 16, \"className\": 17, \"classLiteralName\": 18, \"GENERICTYPE\": 19, \"relationStatement\": 20, \"LABEL\": 21, \"namespaceStatement\": 22, \"classStatement\": 23, \"memberStatement\": 24, \"annotationStatement\": 25, \"clickStatement\": 26, \"styleStatement\": 27, \"cssClassStatement\": 28, \"noteStatement\": 29, \"direction\": 30, \"acc_title\": 31, \"acc_title_value\": 32, \"acc_descr\": 33, \"acc_descr_value\": 34, \"acc_descr_multiline_value\": 35, \"namespaceIdentifier\": 36, \"STRUCT_START\": 37, \"classStatements\": 38, \"STRUCT_STOP\": 39, \"NAMESPACE\": 40, \"classIdentifier\": 41, \"STYLE_SEPARATOR\": 42, \"members\": 43, \"CLASS\": 44, \"ANNOTATION_START\": 45, \"ANNOTATION_END\": 46, \"MEMBER\": 47, \"SEPARATOR\": 48, \"relation\": 49, \"NOTE_FOR\": 50, \"noteText\": 51, \"NOTE\": 52, \"direction_tb\": 53, \"direction_bt\": 54, \"direction_rl\": 55, \"direction_lr\": 56, \"relationType\": 57, \"lineType\": 58, \"AGGREGATION\": 59, \"EXTENSION\": 60, \"COMPOSITION\": 61, \"DEPENDENCY\": 62, \"LOLLIPOP\": 63, \"LINE\": 64, \"DOTTED_LINE\": 65, \"CALLBACK\": 66, \"LINK\": 67, \"LINK_TARGET\": 68, \"CLICK\": 69, \"CALLBACK_NAME\": 70, \"CALLBACK_ARGS\": 71, \"HREF\": 72, \"STYLE\": 73, \"ALPHA\": 74, \"stylesOpt\": 75, \"CSSCLASS\": 76, \"style\": 77, \"COMMA\": 78, \"styleComponent\": 79, \"NUM\": 80, \"COLON\": 81, \"UNIT\": 82, \"SPACE\": 83, \"BRKT\": 84, \"PCT\": 85, \"commentToken\": 86, \"textToken\": 87, \"graphCodeTokens\": 88, \"textNoTagsToken\": 89, \"TAGSTART\": 90, \"TAGEND\": 91, \"==\": 92, \"--\": 93, \"DEFAULT\": 94, \"MINUS\": 95, \"keywords\": 96, \"UNICODE_TEXT\": 97, \"BQUOTE_STR\": 98, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 7: \"CLASS_DIAGRAM\", 8: \"NEWLINE\", 9: \"EOF\", 12: \"SQS\", 13: \"STR\", 14: \"SQE\", 19: \"GENERICTYPE\", 21: \"LABEL\", 31: \"acc_title\", 32: \"acc_title_value\", 33: \"acc_descr\", 34: \"acc_descr_value\", 35: \"acc_descr_multiline_value\", 37: \"STRUCT_START\", 39: \"STRUCT_STOP\", 40: \"NAMESPACE\", 42: \"STYLE_SEPARATOR\", 44: \"CLASS\", 45: \"ANNOTATION_START\", 46: \"ANNOTATION_END\", 47: \"MEMBER\", 48: \"SEPARATOR\", 50: \"NOTE_FOR\", 52: \"NOTE\", 53: \"direction_tb\", 54: \"direction_bt\", 55: \"direction_rl\", 56: \"direction_lr\", 59: \"AGGREGATION\", 60: \"EXTENSION\", 61: \"COMPOSITION\", 62: \"DEPENDENCY\", 63: \"LOLLIPOP\", 64: \"LINE\", 65: \"DOTTED_LINE\", 66: \"CALLBACK\", 67: \"LINK\", 68: \"LINK_TARGET\", 69: \"CLICK\", 70: \"CALLBACK_NAME\", 71: \"CALLBACK_ARGS\", 72: \"HREF\", 73: \"STYLE\", 74: \"ALPHA\", 76: \"CSSCLASS\", 78: \"COMMA\", 80: \"NUM\", 81: \"COLON\", 82: \"UNIT\", 83: \"SPACE\", 84: \"BRKT\", 85: \"PCT\", 88: \"graphCodeTokens\", 90: \"TAGSTART\", 91: \"TAGEND\", 92: \"==\", 93: \"--\", 94: \"DEFAULT\", 95: \"MINUS\", 96: \"keywords\", 97: \"UNICODE_TEXT\", 98: \"BQUOTE_STR\" },\n productions_: [0, [3, 1], [3, 1], [4, 1], [6, 4], [5, 1], [5, 2], [5, 3], [11, 3], [15, 1], [15, 2], [17, 1], [17, 1], [17, 2], [17, 2], [17, 2], [10, 1], [10, 2], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [22, 4], [22, 5], [36, 2], [38, 1], [38, 2], [38, 3], [23, 1], [23, 3], [23, 4], [23, 6], [41, 2], [41, 3], [25, 4], [43, 1], [43, 2], [24, 1], [24, 2], [24, 1], [24, 1], [20, 3], [20, 4], [20, 4], [20, 5], [29, 3], [29, 2], [30, 1], [30, 1], [30, 1], [30, 1], [49, 3], [49, 2], [49, 2], [49, 1], [57, 1], [57, 1], [57, 1], [57, 1], [57, 1], [58, 1], [58, 1], [26, 3], [26, 4], [26, 3], [26, 4], [26, 4], [26, 5], [26, 3], [26, 4], [26, 4], [26, 5], [26, 4], [26, 5], [26, 5], [26, 6], [27, 3], [28, 3], [75, 1], [75, 3], [77, 1], [77, 2], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [86, 1], [86, 1], [87, 1], [87, 1], [87, 1], [87, 1], [87, 1], [87, 1], [87, 1], [89, 1], [89, 1], [89, 1], [89, 1], [16, 1], [16, 1], [16, 1], [16, 1], [18, 1], [51, 1]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 8:\n this.$ = $$[$0 - 1];\n break;\n case 9:\n case 11:\n case 12:\n this.$ = $$[$0];\n break;\n case 10:\n case 13:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 14:\n case 15:\n this.$ = $$[$0 - 1] + \"~\" + $$[$0] + \"~\";\n break;\n case 16:\n yy.addRelation($$[$0]);\n break;\n case 17:\n $$[$0 - 1].title = yy.cleanupLabel($$[$0]);\n yy.addRelation($$[$0 - 1]);\n break;\n case 27:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 28:\n case 29:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 30:\n yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1]);\n break;\n case 31:\n yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1]);\n break;\n case 32:\n this.$ = $$[$0];\n yy.addNamespace($$[$0]);\n break;\n case 33:\n this.$ = [$$[$0]];\n break;\n case 34:\n this.$ = [$$[$0 - 1]];\n break;\n case 35:\n $$[$0].unshift($$[$0 - 2]);\n this.$ = $$[$0];\n break;\n case 37:\n yy.setCssClass($$[$0 - 2], $$[$0]);\n break;\n case 38:\n yy.addMembers($$[$0 - 3], $$[$0 - 1]);\n break;\n case 39:\n yy.setCssClass($$[$0 - 5], $$[$0 - 3]);\n yy.addMembers($$[$0 - 5], $$[$0 - 1]);\n break;\n case 40:\n this.$ = $$[$0];\n yy.addClass($$[$0]);\n break;\n case 41:\n this.$ = $$[$0 - 1];\n yy.addClass($$[$0 - 1]);\n yy.setClassLabel($$[$0 - 1], $$[$0]);\n break;\n case 42:\n yy.addAnnotation($$[$0], $$[$0 - 2]);\n break;\n case 43:\n this.$ = [$$[$0]];\n break;\n case 44:\n $$[$0].push($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 45:\n break;\n case 46:\n yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));\n break;\n case 47:\n break;\n case 48:\n break;\n case 49:\n this.$ = { \"id1\": $$[$0 - 2], \"id2\": $$[$0], relation: $$[$0 - 1], relationTitle1: \"none\", relationTitle2: \"none\" };\n break;\n case 50:\n this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 1], relationTitle1: $$[$0 - 2], relationTitle2: \"none\" };\n break;\n case 51:\n this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: \"none\", relationTitle2: $$[$0 - 1] };\n break;\n case 52:\n this.$ = { id1: $$[$0 - 4], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: $$[$0 - 3], relationTitle2: $$[$0 - 1] };\n break;\n case 53:\n yy.addNote($$[$0], $$[$0 - 1]);\n break;\n case 54:\n yy.addNote($$[$0]);\n break;\n case 55:\n yy.setDirection(\"TB\");\n break;\n case 56:\n yy.setDirection(\"BT\");\n break;\n case 57:\n yy.setDirection(\"RL\");\n break;\n case 58:\n yy.setDirection(\"LR\");\n break;\n case 59:\n this.$ = { type1: $$[$0 - 2], type2: $$[$0], lineType: $$[$0 - 1] };\n break;\n case 60:\n this.$ = { type1: \"none\", type2: $$[$0], lineType: $$[$0 - 1] };\n break;\n case 61:\n this.$ = { type1: $$[$0 - 1], type2: \"none\", lineType: $$[$0] };\n break;\n case 62:\n this.$ = { type1: \"none\", type2: \"none\", lineType: $$[$0] };\n break;\n case 63:\n this.$ = yy.relationType.AGGREGATION;\n break;\n case 64:\n this.$ = yy.relationType.EXTENSION;\n break;\n case 65:\n this.$ = yy.relationType.COMPOSITION;\n break;\n case 66:\n this.$ = yy.relationType.DEPENDENCY;\n break;\n case 67:\n this.$ = yy.relationType.LOLLIPOP;\n break;\n case 68:\n this.$ = yy.lineType.LINE;\n break;\n case 69:\n this.$ = yy.lineType.DOTTED_LINE;\n break;\n case 70:\n case 76:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 1], $$[$0]);\n break;\n case 71:\n case 77:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 2], $$[$0]);\n break;\n case 72:\n this.$ = $$[$0 - 2];\n yy.setLink($$[$0 - 1], $$[$0]);\n break;\n case 73:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 74:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 2], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 2], $$[$0]);\n break;\n case 75:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);\n yy.setTooltip($$[$0 - 3], $$[$0 - 1]);\n break;\n case 78:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 79:\n this.$ = $$[$0 - 4];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 80:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 2], $$[$0]);\n break;\n case 81:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 3], $$[$0 - 1], $$[$0]);\n break;\n case 82:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 3], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 83:\n this.$ = $$[$0 - 5];\n yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);\n yy.setTooltip($$[$0 - 4], $$[$0 - 1]);\n break;\n case 84:\n this.$ = $$[$0 - 2];\n yy.setCssStyle($$[$0 - 1], $$[$0]);\n break;\n case 85:\n yy.setCssClass($$[$0 - 1], $$[$0]);\n break;\n case 86:\n this.$ = [$$[$0]];\n break;\n case 87:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 89:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: [1, 6], 10: 5, 16: 37, 17: 20, 18: 38, 20: 7, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 27: 13, 28: 14, 29: 15, 30: 16, 31: $V0, 33: $V1, 35: $V2, 36: 21, 40: $V3, 41: 22, 44: $V4, 45: $V5, 47: $V6, 48: $V7, 50: $V8, 52: $V9, 53: $Va, 54: $Vb, 55: $Vc, 56: $Vd, 66: $Ve, 67: $Vf, 69: $Vg, 73: $Vh, 74: $Vi, 76: $Vj, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, o($Vo, [2, 5], { 8: [1, 46] }), { 8: [1, 47] }, o($Vp, [2, 16], { 21: [1, 48] }), o($Vp, [2, 18]), o($Vp, [2, 19]), o($Vp, [2, 20]), o($Vp, [2, 21]), o($Vp, [2, 22]), o($Vp, [2, 23]), o($Vp, [2, 24]), o($Vp, [2, 25]), o($Vp, [2, 26]), { 32: [1, 49] }, { 34: [1, 50] }, o($Vp, [2, 29]), o($Vp, [2, 45], { 49: 51, 57: 54, 58: 55, 13: [1, 52], 21: [1, 53], 59: $Vq, 60: $Vr, 61: $Vs, 62: $Vt, 63: $Vu, 64: $Vv, 65: $Vw }), { 37: [1, 63] }, o($Vx, [2, 36], { 37: [1, 65], 42: [1, 64] }), o($Vp, [2, 47]), o($Vp, [2, 48]), { 16: 66, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm }, { 16: 37, 17: 67, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 16: 37, 17: 68, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 16: 37, 17: 69, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 74: [1, 70] }, { 13: [1, 71] }, { 16: 37, 17: 72, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 13: $Vy, 51: 73 }, o($Vp, [2, 55]), o($Vp, [2, 56]), o($Vp, [2, 57]), o($Vp, [2, 58]), o($Vz, [2, 11], { 16: 37, 18: 38, 17: 75, 19: [1, 76], 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }), o($Vz, [2, 12], { 19: [1, 77] }), { 15: 78, 16: 79, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm }, { 16: 37, 17: 80, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, o($VA, [2, 112]), o($VA, [2, 113]), o($VA, [2, 114]), o($VA, [2, 115]), o([1, 8, 9, 12, 13, 19, 21, 37, 39, 42, 59, 60, 61, 62, 63, 64, 65, 70, 72], [2, 116]), o($Vo, [2, 6], { 10: 5, 20: 7, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 27: 13, 28: 14, 29: 15, 30: 16, 17: 20, 36: 21, 41: 22, 16: 37, 18: 38, 5: 81, 31: $V0, 33: $V1, 35: $V2, 40: $V3, 44: $V4, 45: $V5, 47: $V6, 48: $V7, 50: $V8, 52: $V9, 53: $Va, 54: $Vb, 55: $Vc, 56: $Vd, 66: $Ve, 67: $Vf, 69: $Vg, 73: $Vh, 74: $Vi, 76: $Vj, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }), { 5: 82, 10: 5, 16: 37, 17: 20, 18: 38, 20: 7, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 27: 13, 28: 14, 29: 15, 30: 16, 31: $V0, 33: $V1, 35: $V2, 36: 21, 40: $V3, 41: 22, 44: $V4, 45: $V5, 47: $V6, 48: $V7, 50: $V8, 52: $V9, 53: $Va, 54: $Vb, 55: $Vc, 56: $Vd, 66: $Ve, 67: $Vf, 69: $Vg, 73: $Vh, 74: $Vi, 76: $Vj, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, o($Vp, [2, 17]), o($Vp, [2, 27]), o($Vp, [2, 28]), { 13: [1, 84], 16: 37, 17: 83, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 49: 85, 57: 54, 58: 55, 59: $Vq, 60: $Vr, 61: $Vs, 62: $Vt, 63: $Vu, 64: $Vv, 65: $Vw }, o($Vp, [2, 46]), { 58: 86, 64: $Vv, 65: $Vw }, o($VB, [2, 62], { 57: 87, 59: $Vq, 60: $Vr, 61: $Vs, 62: $Vt, 63: $Vu }), o($VC, [2, 63]), o($VC, [2, 64]), o($VC, [2, 65]), o($VC, [2, 66]), o($VC, [2, 67]), o($VD, [2, 68]), o($VD, [2, 69]), { 8: [1, 89], 23: 90, 38: 88, 41: 22, 44: $V4 }, { 16: 91, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm }, { 43: 92, 47: $VE }, { 46: [1, 94] }, { 13: [1, 95] }, { 13: [1, 96] }, { 70: [1, 97], 72: [1, 98] }, { 21: $VF, 73: $VG, 74: $VH, 75: 99, 77: 100, 79: 101, 80: $VI, 81: $VJ, 82: $VK, 83: $VL, 84: $VM, 85: $VN }, { 74: [1, 111] }, { 13: $Vy, 51: 112 }, o($Vp, [2, 54]), o($Vp, [2, 117]), o($Vz, [2, 13]), o($Vz, [2, 14]), o($Vz, [2, 15]), { 37: [2, 32] }, { 15: 113, 16: 79, 37: [2, 9], 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm }, o($VO, [2, 40], { 11: 114, 12: [1, 115] }), o($Vo, [2, 7]), { 9: [1, 116] }, o($VP, [2, 49]), { 16: 37, 17: 117, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, { 13: [1, 119], 16: 37, 17: 118, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, o($VB, [2, 61], { 57: 120, 59: $Vq, 60: $Vr, 61: $Vs, 62: $Vt, 63: $Vu }), o($VB, [2, 60]), { 39: [1, 121] }, { 23: 90, 38: 122, 41: 22, 44: $V4 }, { 8: [1, 123], 39: [2, 33] }, o($Vx, [2, 37], { 37: [1, 124] }), { 39: [1, 125] }, { 39: [2, 43], 43: 126, 47: $VE }, { 16: 37, 17: 127, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, o($Vp, [2, 70], { 13: [1, 128] }), o($Vp, [2, 72], { 13: [1, 130], 68: [1, 129] }), o($Vp, [2, 76], { 13: [1, 131], 71: [1, 132] }), { 13: [1, 133] }, o($Vp, [2, 84], { 78: [1, 134] }), o($VQ, [2, 86], { 79: 135, 21: $VF, 73: $VG, 74: $VH, 80: $VI, 81: $VJ, 82: $VK, 83: $VL, 84: $VM, 85: $VN }), o($VR, [2, 88]), o($VR, [2, 90]), o($VR, [2, 91]), o($VR, [2, 92]), o($VR, [2, 93]), o($VR, [2, 94]), o($VR, [2, 95]), o($VR, [2, 96]), o($VR, [2, 97]), o($VR, [2, 98]), o($Vp, [2, 85]), o($Vp, [2, 53]), { 37: [2, 10] }, o($VO, [2, 41]), { 13: [1, 136] }, { 1: [2, 4] }, o($VP, [2, 51]), o($VP, [2, 50]), { 16: 37, 17: 137, 18: 38, 74: $Vi, 80: $Vk, 95: $Vl, 97: $Vm, 98: $Vn }, o($VB, [2, 59]), o($Vp, [2, 30]), { 39: [1, 138] }, { 23: 90, 38: 139, 39: [2, 34], 41: 22, 44: $V4 }, { 43: 140, 47: $VE }, o($Vx, [2, 38]), { 39: [2, 44] }, o($Vp, [2, 42]), o($Vp, [2, 71]), o($Vp, [2, 73]), o($Vp, [2, 74], { 68: [1, 141] }), o($Vp, [2, 77]), o($Vp, [2, 78], { 13: [1, 142] }), o($Vp, [2, 80], { 13: [1, 144], 68: [1, 143] }), { 21: $VF, 73: $VG, 74: $VH, 77: 145, 79: 101, 80: $VI, 81: $VJ, 82: $VK, 83: $VL, 84: $VM, 85: $VN }, o($VR, [2, 89]), { 14: [1, 146] }, o($VP, [2, 52]), o($Vp, [2, 31]), { 39: [2, 35] }, { 39: [1, 147] }, o($Vp, [2, 75]), o($Vp, [2, 79]), o($Vp, [2, 81]), o($Vp, [2, 82], { 68: [1, 148] }), o($VQ, [2, 87], { 79: 135, 21: $VF, 73: $VG, 74: $VH, 80: $VI, 81: $VJ, 82: $VK, 83: $VL, 84: $VM, 85: $VN }), o($VO, [2, 8]), o($Vx, [2, 39]), o($Vp, [2, 83])],\n defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 3], 78: [2, 32], 113: [2, 10], 116: [2, 4], 126: [2, 44], 139: [2, 35] },\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: {},\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n return 53;\n case 1:\n return 54;\n case 2:\n return 55;\n case 3:\n return 56;\n case 4:\n break;\n case 5:\n break;\n case 6:\n this.begin(\"acc_title\");\n return 31;\n case 7:\n this.popState();\n return \"acc_title_value\";\n case 8:\n this.begin(\"acc_descr\");\n return 33;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n case 13:\n return 8;\n case 14:\n break;\n case 15:\n return 7;\n case 16:\n return 7;\n case 17:\n return \"EDGE_STATE\";\n case 18:\n this.begin(\"callback_name\");\n break;\n case 19:\n this.popState();\n break;\n case 20:\n this.popState();\n this.begin(\"callback_args\");\n break;\n case 21:\n return 70;\n case 22:\n this.popState();\n break;\n case 23:\n return 71;\n case 24:\n this.popState();\n break;\n case 25:\n return \"STR\";\n case 26:\n this.begin(\"string\");\n break;\n case 27:\n return 73;\n case 28:\n this.begin(\"namespace\");\n return 40;\n case 29:\n this.popState();\n return 8;\n case 30:\n break;\n case 31:\n this.begin(\"namespace-body\");\n return 37;\n case 32:\n this.popState();\n return 39;\n case 33:\n return \"EOF_IN_STRUCT\";\n case 34:\n return 8;\n case 35:\n break;\n case 36:\n return \"EDGE_STATE\";\n case 37:\n this.begin(\"class\");\n return 44;\n case 38:\n this.popState();\n return 8;\n case 39:\n break;\n case 40:\n this.popState();\n this.popState();\n return 39;\n case 41:\n this.begin(\"class-body\");\n return 37;\n case 42:\n this.popState();\n return 39;\n case 43:\n return \"EOF_IN_STRUCT\";\n case 44:\n return \"EDGE_STATE\";\n case 45:\n return \"OPEN_IN_STRUCT\";\n case 46:\n break;\n case 47:\n return \"MEMBER\";\n case 48:\n return 76;\n case 49:\n return 66;\n case 50:\n return 67;\n case 51:\n return 69;\n case 52:\n return 50;\n case 53:\n return 52;\n case 54:\n return 45;\n case 55:\n return 46;\n case 56:\n return 72;\n case 57:\n this.popState();\n break;\n case 58:\n return \"GENERICTYPE\";\n case 59:\n this.begin(\"generic\");\n break;\n case 60:\n this.popState();\n break;\n case 61:\n return \"BQUOTE_STR\";\n case 62:\n this.begin(\"bqstring\");\n break;\n case 63:\n return 68;\n case 64:\n return 68;\n case 65:\n return 68;\n case 66:\n return 68;\n case 67:\n return 60;\n case 68:\n return 60;\n case 69:\n return 62;\n case 70:\n return 62;\n case 71:\n return 61;\n case 72:\n return 59;\n case 73:\n return 63;\n case 74:\n return 64;\n case 75:\n return 65;\n case 76:\n return 21;\n case 77:\n return 42;\n case 78:\n return 95;\n case 79:\n return \"DOT\";\n case 80:\n return \"PLUS\";\n case 81:\n return 81;\n case 82:\n return 78;\n case 83:\n return 84;\n case 84:\n return 84;\n case 85:\n return 85;\n case 86:\n return \"EQUALS\";\n case 87:\n return \"EQUALS\";\n case 88:\n return 74;\n case 89:\n return 12;\n case 90:\n return 14;\n case 91:\n return \"PUNCTUATION\";\n case 92:\n return 80;\n case 93:\n return 97;\n case 94:\n return 83;\n case 95:\n return 83;\n case 96:\n return 9;\n }\n },\n rules: [/^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/, /^(?:%%[^\\n]*(\\r?\\n)*)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:classDiagram-v2\\b)/, /^(?:classDiagram\\b)/, /^(?:\\[\\*\\])/, /^(?:call[\\s]+)/, /^(?:\\([\\s]*\\))/, /^(?:\\()/, /^(?:[^(]*)/, /^(?:\\))/, /^(?:[^)]*)/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:[\"])/, /^(?:style\\b)/, /^(?:namespace\\b)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:\\[\\*\\])/, /^(?:class\\b)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:[}])/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\\[\\*\\])/, /^(?:[{])/, /^(?:[\\n])/, /^(?:[^{}\\n]*)/, /^(?:cssClass\\b)/, /^(?:callback\\b)/, /^(?:link\\b)/, /^(?:click\\b)/, /^(?:note for\\b)/, /^(?:note\\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:href\\b)/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:~)/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:[`])/, /^(?:_self\\b)/, /^(?:_blank\\b)/, /^(?:_parent\\b)/, /^(?:_top\\b)/, /^(?:\\s*<\\|)/, /^(?:\\s*\\|>)/, /^(?:\\s*>)/, /^(?:\\s*<)/, /^(?:\\s*\\*)/, /^(?:\\s*o\\b)/, /^(?:\\s*\\(\\))/, /^(?:--)/, /^(?:\\.\\.)/, /^(?::{1}[^:\\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\\.)/, /^(?:\\+)/, /^(?::)/, /^(?:,)/, /^(?:#)/, /^(?:#)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\\w+)/, /^(?:\\[)/, /^(?:\\])/, /^(?:[!\"#$%&'*+,-.`?\\\\/])/, /^(?:[0-9]+)/, /^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/, /^(?:\\s)/, /^(?:\\s)/, /^(?:$)/],\n conditions: { \"namespace-body\": { \"rules\": [26, 32, 33, 34, 35, 36, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"namespace\": { \"rules\": [26, 28, 29, 30, 31, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"class-body\": { \"rules\": [26, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"class\": { \"rules\": [26, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [11, 12, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"acc_title\": { \"rules\": [7, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"callback_args\": { \"rules\": [22, 23, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"callback_name\": { \"rules\": [19, 20, 21, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"href\": { \"rules\": [26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"struct\": { \"rules\": [26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"generic\": { \"rules\": [26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"bqstring\": { \"rules\": [26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"string\": { \"rules\": [24, 25, 26, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 37, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nconst visibilityValues = [\"#\", \"+\", \"~\", \"-\", \"\"];\nclass ClassMember {\n constructor(input, memberType) {\n this.memberType = memberType;\n this.visibility = \"\";\n this.classifier = \"\";\n const sanitizedInput = sanitizeText$1(input, getConfig());\n this.parseMember(sanitizedInput);\n }\n getDisplayDetails() {\n let displayText = this.visibility + parseGenericTypes(this.id);\n if (this.memberType === \"method\") {\n displayText += `(${parseGenericTypes(this.parameters.trim())})`;\n if (this.returnType) {\n displayText += \" : \" + parseGenericTypes(this.returnType);\n }\n }\n displayText = displayText.trim();\n const cssStyle = this.parseClassifier();\n return {\n displayText,\n cssStyle\n };\n }\n parseMember(input) {\n let potentialClassifier = \"\";\n if (this.memberType === \"method\") {\n const methodRegEx = /([#+~-])?(.+)\\((.*)\\)([\\s$*])?(.*)([$*])?/;\n const match = input.match(methodRegEx);\n if (match) {\n const detectedVisibility = match[1] ? match[1].trim() : \"\";\n if (visibilityValues.includes(detectedVisibility)) {\n this.visibility = detectedVisibility;\n }\n this.id = match[2].trim();\n this.parameters = match[3] ? match[3].trim() : \"\";\n potentialClassifier = match[4] ? match[4].trim() : \"\";\n this.returnType = match[5] ? match[5].trim() : \"\";\n if (potentialClassifier === \"\") {\n const lastChar = this.returnType.substring(this.returnType.length - 1);\n if (lastChar.match(/[$*]/)) {\n potentialClassifier = lastChar;\n this.returnType = this.returnType.substring(0, this.returnType.length - 1);\n }\n }\n }\n } else {\n const length = input.length;\n const firstChar = input.substring(0, 1);\n const lastChar = input.substring(length - 1);\n if (visibilityValues.includes(firstChar)) {\n this.visibility = firstChar;\n }\n if (lastChar.match(/[$*]/)) {\n potentialClassifier = lastChar;\n }\n this.id = input.substring(\n this.visibility === \"\" ? 0 : 1,\n potentialClassifier === \"\" ? length : length - 1\n );\n }\n this.classifier = potentialClassifier;\n }\n parseClassifier() {\n switch (this.classifier) {\n case \"*\":\n return \"font-style:italic;\";\n case \"$\":\n return \"text-decoration:underline;\";\n default:\n return \"\";\n }\n }\n}\nconst MERMAID_DOM_ID_PREFIX = \"classId-\";\nlet relations = [];\nlet classes = {};\nlet notes = [];\nlet classCounter = 0;\nlet namespaces = {};\nlet namespaceCounter = 0;\nlet functions = [];\nconst sanitizeText = (txt) => common.sanitizeText(txt, getConfig());\nconst splitClassNameAndType = function(_id) {\n const id = common.sanitizeText(_id, getConfig());\n let genericType = \"\";\n let className = id;\n if (id.indexOf(\"~\") > 0) {\n const split = id.split(\"~\");\n className = sanitizeText(split[0]);\n genericType = sanitizeText(split[1]);\n }\n return { className, type: genericType };\n};\nconst setClassLabel = function(_id, label) {\n const id = common.sanitizeText(_id, getConfig());\n if (label) {\n label = sanitizeText(label);\n }\n const { className } = splitClassNameAndType(id);\n classes[className].label = label;\n};\nconst addClass = function(_id) {\n const id = common.sanitizeText(_id, getConfig());\n const { className, type } = splitClassNameAndType(id);\n if (Object.hasOwn(classes, className)) {\n return;\n }\n const name = common.sanitizeText(className, getConfig());\n classes[name] = {\n id: name,\n type,\n label: name,\n cssClasses: [],\n methods: [],\n members: [],\n annotations: [],\n styles: [],\n domId: MERMAID_DOM_ID_PREFIX + name + \"-\" + classCounter\n };\n classCounter++;\n};\nconst lookUpDomId = function(_id) {\n const id = common.sanitizeText(_id, getConfig());\n if (id in classes) {\n return classes[id].domId;\n }\n throw new Error(\"Class not found: \" + id);\n};\nconst clear = function() {\n relations = [];\n classes = {};\n notes = [];\n functions = [];\n functions.push(setupToolTips);\n namespaces = {};\n namespaceCounter = 0;\n clear$1();\n};\nconst getClass = function(id) {\n return classes[id];\n};\nconst getClasses = function() {\n return classes;\n};\nconst getRelations = function() {\n return relations;\n};\nconst getNotes = function() {\n return notes;\n};\nconst addRelation = function(relation) {\n log.debug(\"Adding relation: \" + JSON.stringify(relation));\n addClass(relation.id1);\n addClass(relation.id2);\n relation.id1 = splitClassNameAndType(relation.id1).className;\n relation.id2 = splitClassNameAndType(relation.id2).className;\n relation.relationTitle1 = common.sanitizeText(relation.relationTitle1.trim(), getConfig());\n relation.relationTitle2 = common.sanitizeText(relation.relationTitle2.trim(), getConfig());\n relations.push(relation);\n};\nconst addAnnotation = function(className, annotation) {\n const validatedClassName = splitClassNameAndType(className).className;\n classes[validatedClassName].annotations.push(annotation);\n};\nconst addMember = function(className, member) {\n addClass(className);\n const validatedClassName = splitClassNameAndType(className).className;\n const theClass = classes[validatedClassName];\n if (typeof member === \"string\") {\n const memberString = member.trim();\n if (memberString.startsWith(\"<<\") && memberString.endsWith(\">>\")) {\n theClass.annotations.push(sanitizeText(memberString.substring(2, memberString.length - 2)));\n } else if (memberString.indexOf(\")\") > 0) {\n theClass.methods.push(new ClassMember(memberString, \"method\"));\n } else if (memberString) {\n theClass.members.push(new ClassMember(memberString, \"attribute\"));\n }\n }\n};\nconst addMembers = function(className, members) {\n if (Array.isArray(members)) {\n members.reverse();\n members.forEach((member) => addMember(className, member));\n }\n};\nconst addNote = function(text, className) {\n const note = {\n id: `note${notes.length}`,\n class: className,\n text\n };\n notes.push(note);\n};\nconst cleanupLabel = function(label) {\n if (label.startsWith(\":\")) {\n label = label.substring(1);\n }\n return sanitizeText(label.trim());\n};\nconst setCssClass = function(ids, className) {\n ids.split(\",\").forEach(function(_id) {\n let id = _id;\n if (_id[0].match(/\\d/)) {\n id = MERMAID_DOM_ID_PREFIX + id;\n }\n if (classes[id] !== void 0) {\n classes[id].cssClasses.push(className);\n }\n });\n};\nconst setTooltip = function(ids, tooltip) {\n ids.split(\",\").forEach(function(id) {\n if (tooltip !== void 0) {\n classes[id].tooltip = sanitizeText(tooltip);\n }\n });\n};\nconst getTooltip = function(id, namespace) {\n if (namespace) {\n return namespaces[namespace].classes[id].tooltip;\n }\n return classes[id].tooltip;\n};\nconst setLink = function(ids, linkStr, target) {\n const config = getConfig();\n ids.split(\",\").forEach(function(_id) {\n let id = _id;\n if (_id[0].match(/\\d/)) {\n id = MERMAID_DOM_ID_PREFIX + id;\n }\n if (classes[id] !== void 0) {\n classes[id].link = utils.formatUrl(linkStr, config);\n if (config.securityLevel === \"sandbox\") {\n classes[id].linkTarget = \"_top\";\n } else if (typeof target === \"string\") {\n classes[id].linkTarget = sanitizeText(target);\n } else {\n classes[id].linkTarget = \"_blank\";\n }\n }\n });\n setCssClass(ids, \"clickable\");\n};\nconst setClickEvent = function(ids, functionName, functionArgs) {\n ids.split(\",\").forEach(function(id) {\n setClickFunc(id, functionName, functionArgs);\n classes[id].haveCallback = true;\n });\n setCssClass(ids, \"clickable\");\n};\nconst setClickFunc = function(_domId, functionName, functionArgs) {\n const domId = common.sanitizeText(_domId, getConfig());\n const config = getConfig();\n if (config.securityLevel !== \"loose\") {\n return;\n }\n if (functionName === void 0) {\n return;\n }\n const id = domId;\n if (classes[id] !== void 0) {\n const elemId = lookUpDomId(id);\n let argList = [];\n if (typeof functionArgs === \"string\") {\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n if (item.charAt(0) === '\"' && item.charAt(item.length - 1) === '\"') {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n if (argList.length === 0) {\n argList.push(elemId);\n }\n functions.push(function() {\n const elem = document.querySelector(`[id=\"${elemId}\"]`);\n if (elem !== null) {\n elem.addEventListener(\n \"click\",\n function() {\n utils.runFunc(functionName, ...argList);\n },\n false\n );\n }\n });\n }\n};\nconst bindFunctions = function(element) {\n functions.forEach(function(fun) {\n fun(element);\n });\n};\nconst lineType = {\n LINE: 0,\n DOTTED_LINE: 1\n};\nconst relationType = {\n AGGREGATION: 0,\n EXTENSION: 1,\n COMPOSITION: 2,\n DEPENDENCY: 3,\n LOLLIPOP: 4\n};\nconst setupToolTips = function(element) {\n let tooltipElem = d3select(\".mermaidTooltip\");\n if ((tooltipElem._groups || tooltipElem)[0][0] === null) {\n tooltipElem = d3select(\"body\").append(\"div\").attr(\"class\", \"mermaidTooltip\").style(\"opacity\", 0);\n }\n const svg = d3select(element).select(\"svg\");\n const nodes = svg.selectAll(\"g.node\");\n nodes.on(\"mouseover\", function() {\n const el = d3select(this);\n const title = el.attr(\"title\");\n if (title === null) {\n return;\n }\n const rect = this.getBoundingClientRect();\n tooltipElem.transition().duration(200).style(\"opacity\", \".9\");\n tooltipElem.text(el.attr(\"title\")).style(\"left\", window.scrollX + rect.left + (rect.right - rect.left) / 2 + \"px\").style(\"top\", window.scrollY + rect.top - 14 + document.body.scrollTop + \"px\");\n tooltipElem.html(tooltipElem.html().replace(/<br\\/>/g, \"
\"));\n el.classed(\"hover\", true);\n }).on(\"mouseout\", function() {\n tooltipElem.transition().duration(500).style(\"opacity\", 0);\n const el = d3select(this);\n el.classed(\"hover\", false);\n });\n};\nfunctions.push(setupToolTips);\nlet direction = \"TB\";\nconst getDirection = () => direction;\nconst setDirection = (dir) => {\n direction = dir;\n};\nconst addNamespace = function(id) {\n if (namespaces[id] !== void 0) {\n return;\n }\n namespaces[id] = {\n id,\n classes: {},\n children: {},\n domId: MERMAID_DOM_ID_PREFIX + id + \"-\" + namespaceCounter\n };\n namespaceCounter++;\n};\nconst getNamespace = function(name) {\n return namespaces[name];\n};\nconst getNamespaces = function() {\n return namespaces;\n};\nconst addClassesToNamespace = function(id, classNames) {\n if (namespaces[id] === void 0) {\n return;\n }\n for (const name of classNames) {\n const { className } = splitClassNameAndType(name);\n classes[className].parent = id;\n namespaces[id].classes[className] = classes[className];\n }\n};\nconst setCssStyle = function(id, styles2) {\n const thisClass = classes[id];\n if (!styles2 || !thisClass) {\n return;\n }\n for (const s of styles2) {\n if (s.includes(\",\")) {\n thisClass.styles.push(...s.split(\",\"));\n } else {\n thisClass.styles.push(s);\n }\n }\n};\nconst db = {\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n getConfig: () => getConfig().class,\n addClass,\n bindFunctions,\n clear,\n getClass,\n getClasses,\n getNotes,\n addAnnotation,\n addNote,\n getRelations,\n addRelation,\n getDirection,\n setDirection,\n addMember,\n addMembers,\n cleanupLabel,\n lineType,\n relationType,\n setClickEvent,\n setCssClass,\n setLink,\n getTooltip,\n setTooltip,\n lookUpDomId,\n setDiagramTitle,\n getDiagramTitle,\n setClassLabel,\n addNamespace,\n addClassesToNamespace,\n getNamespace,\n getNamespaces,\n setCssStyle\n};\nconst getStyles = (options) => `g.classGroup text {\n fill: ${options.nodeBorder || options.classText};\n stroke: none;\n font-family: ${options.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${options.classText};\n}\n.edgeLabel .label rect {\n fill: ${options.mainBkg};\n}\n.label text {\n fill: ${options.classText};\n}\n.edgeLabel .label span {\n background: ${options.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${options.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${options.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${options.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${options.mainBkg} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${options.mainBkg} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n}\n`;\nconst styles = getStyles;\nexport {\n db as d,\n parser$1 as p,\n styles as s\n};\n"], "mappings": "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IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,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I,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7/K,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE;AAAA,IACtH,YAAY,SAAS,WAAW,KAAK,MAAM;AACzC,UAAI,KAAK,aAAa;AACpB,aAAK,MAAM,GAAG;AAAA,MAChB,OAAO;AACL,YAAI,QAAQ,IAAI,MAAM,GAAG;AACzB,cAAM,OAAO;AACb,cAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,OAAO,SAAS,MAAM,OAAO;AAC3B,UAAI,OAAO,MAAM,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,QAAQ,KAAK,OAAO,SAAS,IAAI,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM;AACtJ,UAAI,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACzC,UAAI,SAAS,OAAO,OAAO,KAAK,KAAK;AACrC,UAAI,cAAc,EAAE,IAAI,CAAC,EAAE;AAC3B,eAAS,KAAK,KAAK,IAAI;AACrB,YAAI,OAAO,UAAU,eAAe,KAAK,KAAK,IAAI,CAAC,GAAG;AACpD,sBAAY,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;AAAA,QAC/B;AAAA,MACF;AACA,aAAO,SAAS,OAAO,YAAY,EAAE;AACrC,kBAAY,GAAG,QAAQ;AACvB,kBAAY,GAAG,SAAS;AACxB,UAAI,OAAO,OAAO,UAAU,aAAa;AACvC,eAAO,SAAS,CAAC;AAAA,MACnB;AACA,UAAI,QAAQ,OAAO;AACnB,aAAO,KAAK,KAAK;AACjB,UAAI,SAAS,OAAO,WAAW,OAAO,QAAQ;AAC9C,UAAI,OAAO,YAAY,GAAG,eAAe,YAAY;AACnD,aAAK,aAAa,YAAY,GAAG;AAAA,MACnC,OAAO;AACL,aAAK,aAAa,OAAO,eAAe,IAAI,EAAE;AAAA,MAChD;AACA,eAAS,MAAM;AACb,YAAI;AACJ,gBAAQ,OAAO,IAAI,KAAK,OAAO,IAAI,KAAK;AACxC,YAAI,OAAO,UAAU,UAAU;AAC7B,cAAI,iBAAiB,OAAO;AAC1B,qBAAS;AACT,oBAAQ,OAAO,IAAI;AAAA,UACrB;AACA,kBAAQ,KAAK,SAAS,KAAK,KAAK;AAAA,QAClC;AACA,eAAO;AAAA,MACT;AACA,UAAI,QAAQ,OAAO,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,KAAK,UAAU;AAC5D,aAAO,MAAM;AACX,gBAAQ,MAAM,MAAM,SAAS,CAAC;AAC9B,YAAI,KAAK,eAAe,KAAK,GAAG;AAC9B,mBAAS,KAAK,eAAe,KAAK;AAAA,QACpC,OAAO;AACL,cAAI,WAAW,QAAQ,OAAO,UAAU,aAAa;AACnD,qBAAS,IAAI;AAAA,UACf;AACA,mBAAS,MAAM,KAAK,KAAK,MAAM,KAAK,EAAE,MAAM;AAAA,QAC9C;AACA,YAAI,OAAO,WAAW,eAAe,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG;AACjE,cAAI,SAAS;AACb,qBAAW,CAAC;AACZ,eAAK,KAAK,MAAM,KAAK,GAAG;AACtB,gBAAI,KAAK,WAAW,CAAC,KAAK,IAAI,QAAQ;AACpC,uBAAS,KAAK,MAAM,KAAK,WAAW,CAAC,IAAI,GAAG;AAAA,YAC9C;AAAA,UACF;AACA,cAAI,OAAO,cAAc;AACvB,qBAAS,0BAA0B,WAAW,KAAK,QAAQ,OAAO,aAAa,IAAI,iBAAiB,SAAS,KAAK,IAAI,IAAI,aAAa,KAAK,WAAW,MAAM,KAAK,UAAU;AAAA,UAC9K,OAAO;AACL,qBAAS,0BAA0B,WAAW,KAAK,mBAAmB,UAAU,MAAM,iBAAiB,OAAO,KAAK,WAAW,MAAM,KAAK,UAAU;AAAA,UACrJ;AACA,eAAK,WAAW,QAAQ;AAAA,YACtB,MAAM,OAAO;AAAA,YACb,OAAO,KAAK,WAAW,MAAM,KAAK;AAAA,YAClC,MAAM,OAAO;AAAA,YACb,KAAK;AAAA,YACL;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,OAAO,CAAC,aAAa,SAAS,OAAO,SAAS,GAAG;AACnD,gBAAM,IAAI,MAAM,sDAAsD,QAAQ,cAAc,MAAM;AAAA,QACpG;AACA,gBAAQ,OAAO,CAAC,GAAG;AAAA,UACjB,KAAK;AACH,kBAAM,KAAK,MAAM;AACjB,mBAAO,KAAK,OAAO,MAAM;AACzB,mBAAO,KAAK,OAAO,MAAM;AACzB,kBAAM,KAAK,OAAO,CAAC,CAAC;AACpB,qBAAS;AACT;AACE,uBAAS,OAAO;AAChB,uBAAS,OAAO;AAChB,yBAAW,OAAO;AAClB,sBAAQ,OAAO;AAAA,YACjB;AACA;AAAA,UACF,KAAK;AACH,kBAAM,KAAK,aAAa,OAAO,CAAC,CAAC,EAAE,CAAC;AACpC,kBAAM,IAAI,OAAO,OAAO,SAAS,GAAG;AACpC,kBAAM,KAAK;AAAA,cACT,YAAY,OAAO,OAAO,UAAU,OAAO,EAAE,EAAE;AAAA,cAC/C,WAAW,OAAO,OAAO,SAAS,CAAC,EAAE;AAAA,cACrC,cAAc,OAAO,OAAO,UAAU,OAAO,EAAE,EAAE;AAAA,cACjD,aAAa,OAAO,OAAO,SAAS,CAAC,EAAE;AAAA,YACzC;AACA,gBAAI,QAAQ;AACV,oBAAM,GAAG,QAAQ;AAAA,gBACf,OAAO,OAAO,UAAU,OAAO,EAAE,EAAE,MAAM,CAAC;AAAA,gBAC1C,OAAO,OAAO,SAAS,CAAC,EAAE,MAAM,CAAC;AAAA,cACnC;AAAA,YACF;AACA,gBAAI,KAAK,cAAc,MAAM,OAAO;AAAA,cAClC;AAAA,cACA;AAAA,cACA;AAAA,cACA,YAAY;AAAA,cACZ,OAAO,CAAC;AAAA,cACR;AAAA,cACA;AAAA,YACF,EAAE,OAAO,IAAI,CAAC;AACd,gBAAI,OAAO,MAAM,aAAa;AAC5B,qBAAO;AAAA,YACT;AACA,gBAAI,KAAK;AACP,sBAAQ,MAAM,MAAM,GAAG,KAAK,MAAM,CAAC;AACnC,uBAAS,OAAO,MAAM,GAAG,KAAK,GAAG;AACjC,uBAAS,OAAO,MAAM,GAAG,KAAK,GAAG;AAAA,YACnC;AACA,kBAAM,KAAK,KAAK,aAAa,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,mBAAO,KAAK,MAAM,CAAC;AACnB,mBAAO,KAAK,MAAM,EAAE;AACpB,uBAAW,MAAM,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,MAAM,MAAM,SAAS,CAAC,CAAC;AACjE,kBAAM,KAAK,QAAQ;AACnB;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,QACX;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,QAAQ,2BAAW;AACrB,QAAI,SAAS;AAAA,MACX,KAAK;AAAA,MACL,YAAY,SAAS,WAAW,KAAK,MAAM;AACzC,YAAI,KAAK,GAAG,QAAQ;AAClB,eAAK,GAAG,OAAO,WAAW,KAAK,IAAI;AAAA,QACrC,OAAO;AACL,gBAAM,IAAI,MAAM,GAAG;AAAA,QACrB;AAAA,MACF;AAAA;AAAA,MAEA,UAAU,SAAS,OAAO,IAAI;AAC5B,aAAK,KAAK,MAAM,KAAK,MAAM,CAAC;AAC5B,aAAK,SAAS;AACd,aAAK,QAAQ,KAAK,aAAa,KAAK,OAAO;AAC3C,aAAK,WAAW,KAAK,SAAS;AAC9B,aAAK,SAAS,KAAK,UAAU,KAAK,QAAQ;AAC1C,aAAK,iBAAiB,CAAC,SAAS;AAChC,aAAK,SAAS;AAAA,UACZ,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,WAAW;AAAA,UACX,aAAa;AAAA,QACf;AACA,YAAI,KAAK,QAAQ,QAAQ;AACvB,eAAK,OAAO,QAAQ,CAAC,GAAG,CAAC;AAAA,QAC3B;AACA,aAAK,SAAS;AACd,eAAO;AAAA,MACT;AAAA;AAAA,MAEA,OAAO,WAAW;AAChB,YAAI,KAAK,KAAK,OAAO,CAAC;AACtB,aAAK,UAAU;AACf,aAAK;AACL,aAAK;AACL,aAAK,SAAS;AACd,aAAK,WAAW;AAChB,YAAI,QAAQ,GAAG,MAAM,iBAAiB;AACtC,YAAI,OAAO;AACT,eAAK;AACL,eAAK,OAAO;AAAA,QACd,OAAO;AACL,eAAK,OAAO;AAAA,QACd;AACA,YAAI,KAAK,QAAQ,QAAQ;AACvB,eAAK,OAAO,MAAM,CAAC;AAAA,QACrB;AACA,aAAK,SAAS,KAAK,OAAO,MAAM,CAAC;AACjC,eAAO;AAAA,MACT;AAAA;AAAA,MAEA,OAAO,SAAS,IAAI;AAClB,YAAI,MAAM,GAAG;AACb,YAAI,QAAQ,GAAG,MAAM,eAAe;AACpC,aAAK,SAAS,KAAK,KAAK;AACxB,aAAK,SAAS,KAAK,OAAO,OAAO,GAAG,KAAK,OAAO,SAAS,GAAG;AAC5D,aAAK,UAAU;AACf,YAAI,WAAW,KAAK,MAAM,MAAM,eAAe;AAC/C,aAAK,QAAQ,KAAK,MAAM,OAAO,GAAG,KAAK,MAAM,SAAS,CAAC;AACvD,aAAK,UAAU,KAAK,QAAQ,OAAO,GAAG,KAAK,QAAQ,SAAS,CAAC;AAC7D,YAAI,MAAM,SAAS,GAAG;AACpB,eAAK,YAAY,MAAM,SAAS;AAAA,QAClC;AACA,YAAI,IAAI,KAAK,OAAO;AACpB,aAAK,SAAS;AAAA,UACZ,YAAY,KAAK,OAAO;AAAA,UACxB,WAAW,KAAK,WAAW;AAAA,UAC3B,cAAc,KAAK,OAAO;AAAA,UAC1B,aAAa,SAAS,MAAM,WAAW,SAAS,SAAS,KAAK,OAAO,eAAe,KAAK,SAAS,SAAS,SAAS,MAAM,MAAM,EAAE,SAAS,MAAM,CAAC,EAAE,SAAS,KAAK,OAAO,eAAe;AAAA,QAC1L;AACA,YAAI,KAAK,QAAQ,QAAQ;AACvB,eAAK,OAAO,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS,GAAG;AAAA,QACrD;AACA,aAAK,SAAS,KAAK,OAAO;AAC1B,eAAO;AAAA,MACT;AAAA;AAAA,MAEA,MAAM,WAAW;AACf,aAAK,QAAQ;AACb,eAAO;AAAA,MACT;AAAA;AAAA,MAEA,QAAQ,WAAW;AACjB,YAAI,KAAK,QAAQ,iBAAiB;AAChC,eAAK,aAAa;AAAA,QACpB,OAAO;AACL,iBAAO,KAAK,WAAW,4BAA4B,KAAK,WAAW,KAAK,qIAAqI,KAAK,aAAa,GAAG;AAAA,YAChO,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM,KAAK;AAAA,UACb,CAAC;AAAA,QACH;AACA,eAAO;AAAA,MACT;AAAA;AAAA,MAEA,MAAM,SAAS,GAAG;AAChB,aAAK,MAAM,KAAK,MAAM,MAAM,CAAC,CAAC;AAAA,MAChC;AAAA;AAAA,MAEA,WAAW,WAAW;AACpB,YAAI,OAAO,KAAK,QAAQ,OAAO,GAAG,KAAK,QAAQ,SAAS,KAAK,MAAM,MAAM;AACzE,gBAAQ,KAAK,SAAS,KAAK,QAAQ,MAAM,KAAK,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE;AAAA,MAC7E;AAAA;AAAA,MAEA,eAAe,WAAW;AACxB,YAAI,OAAO,KAAK;AAChB,YAAI,KAAK,SAAS,IAAI;AACpB,kBAAQ,KAAK,OAAO,OAAO,GAAG,KAAK,KAAK,MAAM;AAAA,QAChD;AACA,gBAAQ,KAAK,OAAO,GAAG,EAAE,KAAK,KAAK,SAAS,KAAK,QAAQ,KAAK,QAAQ,OAAO,EAAE;AAAA,MACjF;AAAA;AAAA,MAEA,cAAc,WAAW;AACvB,YAAI,MAAM,KAAK,UAAU;AACzB,YAAI,IAAI,IAAI,MAAM,IAAI,SAAS,CAAC,EAAE,KAAK,GAAG;AAC1C,eAAO,MAAM,KAAK,cAAc,IAAI,OAAO,IAAI;AAAA,MACjD;AAAA;AAAA,MAEA,YAAY,SAAS,OAAO,cAAc;AACxC,YAAI,OAAO,OAAO;AAClB,YAAI,KAAK,QAAQ,iBAAiB;AAChC,mBAAS;AAAA,YACP,UAAU,KAAK;AAAA,YACf,QAAQ;AAAA,cACN,YAAY,KAAK,OAAO;AAAA,cACxB,WAAW,KAAK;AAAA,cAChB,cAAc,KAAK,OAAO;AAAA,cAC1B,aAAa,KAAK,OAAO;AAAA,YAC3B;AAAA,YACA,QAAQ,KAAK;AAAA,YACb,OAAO,KAAK;AAAA,YACZ,SAAS,KAAK;AAAA,YACd,SAAS,KAAK;AAAA,YACd,QAAQ,KAAK;AAAA,YACb,QAAQ,KAAK;AAAA,YACb,OAAO,KAAK;AAAA,YACZ,QAAQ,KAAK;AAAA,YACb,IAAI,KAAK;AAAA,YACT,gBAAgB,KAAK,eAAe,MAAM,CAAC;AAAA,YAC3C,MAAM,KAAK;AAAA,UACb;AACA,cAAI,KAAK,QAAQ,QAAQ;AACvB,mBAAO,OAAO,QAAQ,KAAK,OAAO,MAAM,MAAM,CAAC;AAAA,UACjD;AAAA,QACF;AACA,gBAAQ,MAAM,CAAC,EAAE,MAAM,iBAAiB;AACxC,YAAI,OAAO;AACT,eAAK,YAAY,MAAM;AAAA,QACzB;AACA,aAAK,SAAS;AAAA,UACZ,YAAY,KAAK,OAAO;AAAA,UACxB,WAAW,KAAK,WAAW;AAAA,UAC3B,cAAc,KAAK,OAAO;AAAA,UAC1B,aAAa,QAAQ,MAAM,MAAM,SAAS,CAAC,EAAE,SAAS,MAAM,MAAM,SAAS,CAAC,EAAE,MAAM,QAAQ,EAAE,CAAC,EAAE,SAAS,KAAK,OAAO,cAAc,MAAM,CAAC,EAAE;AAAA,QAC/I;AACA,aAAK,UAAU,MAAM,CAAC;AACtB,aAAK,SAAS,MAAM,CAAC;AACrB,aAAK,UAAU;AACf,aAAK,SAAS,KAAK,OAAO;AAC1B,YAAI,KAAK,QAAQ,QAAQ;AACvB,eAAK,OAAO,QAAQ,CAAC,KAAK,QAAQ,KAAK,UAAU,KAAK,MAAM;AAAA,QAC9D;AACA,aAAK,QAAQ;AACb,aAAK,aAAa;AAClB,aAAK,SAAS,KAAK,OAAO,MAAM,MAAM,CAAC,EAAE,MAAM;AAC/C,aAAK,WAAW,MAAM,CAAC;AACvB,gBAAQ,KAAK,cAAc,KAAK,MAAM,KAAK,IAAI,MAAM,cAAc,KAAK,eAAe,KAAK,eAAe,SAAS,CAAC,CAAC;AACtH,YAAI,KAAK,QAAQ,KAAK,QAAQ;AAC5B,eAAK,OAAO;AAAA,QACd;AACA,YAAI,OAAO;AACT,iBAAO;AAAA,QACT,WAAW,KAAK,YAAY;AAC1B,mBAAS,KAAK,QAAQ;AACpB,iBAAK,CAAC,IAAI,OAAO,CAAC;AAAA,UACpB;AACA,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT;AAAA;AAAA,MAEA,MAAM,WAAW;AACf,YAAI,KAAK,MAAM;AACb,iBAAO,KAAK;AAAA,QACd;AACA,YAAI,CAAC,KAAK,QAAQ;AAChB,eAAK,OAAO;AAAA,QACd;AACA,YAAI,OAAO,OAAO,WAAW;AAC7B,YAAI,CAAC,KAAK,OAAO;AACf,eAAK,SAAS;AACd,eAAK,QAAQ;AAAA,QACf;AACA,YAAI,QAAQ,KAAK,cAAc;AAC/B,iBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,sBAAY,KAAK,OAAO,MAAM,KAAK,MAAM,MAAM,CAAC,CAAC,CAAC;AAClD,cAAI,cAAc,CAAC,SAAS,UAAU,CAAC,EAAE,SAAS,MAAM,CAAC,EAAE,SAAS;AAClE,oBAAQ;AACR,oBAAQ;AACR,gBAAI,KAAK,QAAQ,iBAAiB;AAChC,sBAAQ,KAAK,WAAW,WAAW,MAAM,CAAC,CAAC;AAC3C,kBAAI,UAAU,OAAO;AACnB,uBAAO;AAAA,cACT,WAAW,KAAK,YAAY;AAC1B,wBAAQ;AACR;AAAA,cACF,OAAO;AACL,uBAAO;AAAA,cACT;AAAA,YACF,WAAW,CAAC,KAAK,QAAQ,MAAM;AAC7B;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,YAAI,OAAO;AACT,kBAAQ,KAAK,WAAW,OAAO,MAAM,KAAK,CAAC;AAC3C,cAAI,UAAU,OAAO;AACnB,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT;AACA,YAAI,KAAK,WAAW,IAAI;AACtB,iBAAO,KAAK;AAAA,QACd,OAAO;AACL,iBAAO,KAAK,WAAW,4BAA4B,KAAK,WAAW,KAAK,2BAA2B,KAAK,aAAa,GAAG;AAAA,YACtH,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM,KAAK;AAAA,UACb,CAAC;AAAA,QACH;AAAA,MACF;AAAA;AAAA,MAEA,KAAK,SAAS,MAAM;AAClB,YAAI,IAAI,KAAK,KAAK;AAClB,YAAI,GAAG;AACL,iBAAO;AAAA,QACT,OAAO;AACL,iBAAO,KAAK,IAAI;AAAA,QAClB;AAAA,MACF;AAAA;AAAA,MAEA,OAAO,SAAS,MAAM,WAAW;AAC/B,aAAK,eAAe,KAAK,SAAS;AAAA,MACpC;AAAA;AAAA,MAEA,UAAU,SAAS,WAAW;AAC5B,YAAI,IAAI,KAAK,eAAe,SAAS;AACrC,YAAI,IAAI,GAAG;AACT,iBAAO,KAAK,eAAe,IAAI;AAAA,QACjC,OAAO;AACL,iBAAO,KAAK,eAAe,CAAC;AAAA,QAC9B;AAAA,MACF;AAAA;AAAA,MAEA,eAAe,SAAS,gBAAgB;AACtC,YAAI,KAAK,eAAe,UAAU,KAAK,eAAe,KAAK,eAAe,SAAS,CAAC,GAAG;AACrF,iBAAO,KAAK,WAAW,KAAK,eAAe,KAAK,eAAe,SAAS,CAAC,CAAC,EAAE;AAAA,QAC9E,OAAO;AACL,iBAAO,KAAK,WAAW,SAAS,EAAE;AAAA,QACpC;AAAA,MACF;AAAA;AAAA,MAEA,UAAU,SAAS,SAAS,GAAG;AAC7B,YAAI,KAAK,eAAe,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC;AACpD,YAAI,KAAK,GAAG;AACV,iBAAO,KAAK,eAAe,CAAC;AAAA,QAC9B,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAAA;AAAA,MAEA,WAAW,SAAS,UAAU,WAAW;AACvC,aAAK,MAAM,SAAS;AAAA,MACtB;AAAA;AAAA,MAEA,gBAAgB,SAAS,iBAAiB;AACxC,eAAO,KAAK,eAAe;AAAA,MAC7B;AAAA,MACA,SAAS,CAAC;AAAA,MACV,eAAe,SAAS,UAAU,IAAI,KAAK,2BAA2B,UAAU;AAC9E,gBAAQ,2BAA2B;AAAA,UACjC,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH;AAAA,UACF,KAAK;AACH;AAAA,UACF,KAAK;AACH,iBAAK,MAAM,WAAW;AACtB,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,WAAW;AACtB,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,qBAAqB;AAChC;AAAA,UACF,KAAK;AACH,iBAAK,SAAS;AACd;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,eAAe;AAC1B;AAAA,UACF,KAAK;AACH,iBAAK,SAAS;AACd;AAAA,UACF,KAAK;AACH,iBAAK,SAAS;AACd,iBAAK,MAAM,eAAe;AAC1B;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,QAAQ;AACnB;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,WAAW;AACtB,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH;AAAA,UACF,KAAK;AACH,iBAAK,MAAM,gBAAgB;AAC3B,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,OAAO;AAClB,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH;AAAA,UACF,KAAK;AACH,iBAAK,SAAS;AACd,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,YAAY;AACvB,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,SAAS;AACd;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,SAAS;AACpB;AAAA,UACF,KAAK;AACH,iBAAK,SAAS;AACd;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,iBAAK,MAAM,UAAU;AACrB;AAAA,UACF,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,UACT,KAAK;AACH,mBAAO;AAAA,QACX;AAAA,MACF;AAAA,MACA,OAAO,CAAC,+BAA+B,+BAA+B,+BAA+B,+BAA+B,iCAAiC,yBAAyB,wBAAwB,wBAAwB,wBAAwB,wBAAwB,yBAAyB,aAAa,eAAe,oBAAoB,YAAY,0BAA0B,uBAAuB,eAAe,kBAAkB,kBAAkB,WAAW,cAAc,WAAW,cAAc,YAAY,cAAc,YAAY,gBAAgB,oBAAoB,oBAAoB,YAAY,YAAY,YAAY,UAAU,oBAAoB,YAAY,eAAe,gBAAgB,oBAAoB,YAAY,YAAY,YAAY,YAAY,UAAU,eAAe,YAAY,aAAa,iBAAiB,mBAAmB,mBAAmB,eAAe,gBAAgB,mBAAmB,eAAe,WAAW,WAAW,eAAe,YAAY,cAAc,UAAU,YAAY,cAAc,YAAY,gBAAgB,iBAAiB,kBAAkB,eAAe,eAAe,eAAe,aAAa,aAAa,cAAc,eAAe,gBAAgB,WAAW,aAAa,qBAAqB,aAAa,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,YAAY,WAAW,WAAW,4BAA4B,eAAe,sxIAAsxI,WAAW,WAAW,QAAQ;AAAA,MACzvL,YAAY,EAAE,kBAAkB,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,aAAa,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,aAAa,MAAM,GAAG,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,aAAa,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,aAAa,MAAM,GAAG,uBAAuB,EAAE,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,aAAa,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,GAAG,aAAa,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,I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", "names": ["clear"] diff --git a/docs/.vitepress/cache/deps/chunk-QE6SGBYU.js b/docs/.vitepress/cache/deps/chunk-B5HJZSKN.js similarity index 98% rename from docs/.vitepress/cache/deps/chunk-QE6SGBYU.js rename to docs/.vitepress/cache/deps/chunk-B5HJZSKN.js index 51d727a8..c83f822e 100644 --- a/docs/.vitepress/cache/deps/chunk-QE6SGBYU.js +++ b/docs/.vitepress/cache/deps/chunk-B5HJZSKN.js @@ -1,6 +1,6 @@ import { clone -} from "./chunk-XWZ73NBO.js"; +} from "./chunk-A6QXRUVC.js"; import { clear, clear$1, @@ -15,26 +15,26 @@ import { positionNode, setNodeElem, updateNodeBounds -} from "./chunk-3Q2RJGHC.js"; +} from "./chunk-RQWEZMV7.js"; import { createText -} from "./chunk-F24SW226.js"; +} from "./chunk-VSZREH27.js"; import { layout, map -} from "./chunk-GQSU3LSO.js"; +} from "./chunk-S7YHCZXR.js"; import { Graph, isUndefined -} from "./chunk-RPTJ2D5Y.js"; +} from "./chunk-FVOCDV6K.js"; import { d3select, evaluate, getConfig, log$1 -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/index-ade8a1b6.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/index-ade8a1b6.js function write(g) { var json = { options: { @@ -693,4 +693,4 @@ var render = async (elem, graph, markers, diagramType, id) => { export { render }; -//# sourceMappingURL=chunk-QE6SGBYU.js.map +//# sourceMappingURL=chunk-B5HJZSKN.js.map diff --git a/docs/.vitepress/cache/deps/chunk-QE6SGBYU.js.map b/docs/.vitepress/cache/deps/chunk-B5HJZSKN.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-QE6SGBYU.js.map rename to docs/.vitepress/cache/deps/chunk-B5HJZSKN.js.map index 3bc0d8c3..69164731 100644 --- a/docs/.vitepress/cache/deps/chunk-QE6SGBYU.js.map +++ b/docs/.vitepress/cache/deps/chunk-B5HJZSKN.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/index-ade8a1b6.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/index-ade8a1b6.js"], "sourcesContent": ["import { i as isUndefined, G as Graph } from \"./graph-cdf81e0e.js\";\nimport { m as map, l as layout } from \"./layout-833f5d09.js\";\nimport { c as clone } from \"./clone-64cfc140.js\";\nimport { c as createLabel, g as getSubGraphTitleMargins, i as intersectRect, a as insertMarkers, b as clear$2, d as clear$3, u as updateNodeBounds, s as setNodeElem, e as insertNode, f as insertEdgeLabel, p as positionNode, h as insertEdge, j as positionEdgeLabel } from \"./edges-56c921ab.js\";\nimport { l as log, c as getConfig, p as evaluate, j as d3select } from \"./mermaid-bea41e51.js\";\nimport { a as createText } from \"./createText-a21f6bb1.js\";\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound()\n },\n nodes: writeNodes(g),\n edges: writeEdges(g)\n };\n if (!isUndefined(g.graph())) {\n json.value = clone(g.graph());\n }\n return json;\n}\nfunction writeNodes(g) {\n return map(g.nodes(), function(v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v };\n if (!isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\nfunction writeEdges(g) {\n return map(g.edges(), function(e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\nlet clusterDb = {};\nlet descendants = {};\nlet parents = {};\nconst clear$1 = () => {\n descendants = {};\n parents = {};\n clusterDb = {};\n};\nconst isDescendant = (id, ancestorId) => {\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", descendants[ancestorId].includes(id));\n if (descendants[ancestorId].includes(id)) {\n return true;\n }\n return false;\n};\nconst edgeInCluster = (edge, clusterId) => {\n log.info(\"Descendants of \", clusterId, \" is \", descendants[clusterId]);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId) {\n return false;\n }\n if (edge.w === clusterId) {\n return false;\n }\n if (!descendants[clusterId]) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return descendants[clusterId].includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || descendants[clusterId].includes(edge.w);\n};\nconst copy = (clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n};\nconst extractDescendants = (id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents[child] = id;\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n};\nconst findNonClusterChild = (id, graph) => {\n log.trace(\"Searching\", id);\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n log.trace(\"This is a valid node\", id);\n return id;\n }\n for (const child of children) {\n const _id = findNonClusterChild(child, graph);\n if (_id) {\n log.trace(\"Found replacement for\", id, \" => \", _id);\n return _id;\n }\n }\n};\nconst getAnchorId = (id) => {\n if (!clusterDb[id]) {\n return id;\n }\n if (!clusterDb[id].externalConnections) {\n return id;\n }\n if (clusterDb[id]) {\n return clusterDb[id].id;\n }\n return id;\n};\nconst adjustClustersAndEdges = (graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph)\n );\n descendants[id] = extractDescendants(id, graph);\n clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n if (edge.v !== id && edge.w !== id) {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants[id]);\n clusterDb[id].externalConnections = true;\n }\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of Object.keys(clusterDb)) {\n const nonClusterChild = clusterDb[id].id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb[parent] && !clusterDb[parent].externalConnections) {\n clusterDb[id].id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb[e.v],\n \" --- \",\n clusterDb[e.w]\n );\n if (clusterDb[e.v] && clusterDb[e.w] && clusterDb[e.v] === clusterDb[e.w]) {\n log.warn(\"Fixing and trixing link to self - removing XXX\", e.v, e.w, e.name);\n log.warn(\"Fixing and trixing - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n const specialId = e.w + \"---\" + e.v;\n graph.setNode(specialId, {\n domId: specialId,\n id: specialId,\n labelStyle: \"\",\n labelText: edge.label,\n padding: 0,\n shape: \"labelRect\",\n style: \"\"\n });\n const edge1 = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge2.label = \"\";\n edge1.fromCluster = e.v;\n edge2.toCluster = e.v;\n graph.setEdge(v, specialId, edge1, e.name + \"-cyclic-special\");\n graph.setEdge(specialId, w, edge2, e.name + \"-cyclic-special\");\n } else if (clusterDb[e.v] || clusterDb[e.w]) {\n log.warn(\"Fixing and trixing - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb[parent].externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb[parent].externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n};\nconst extractor = (graph, depth) => {\n log.warn(\"extractor - \", depth, write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb[node] && !clusterDb[node].externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb[node]) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb[node].externalConnections && // !graph.parent(node) &&\n graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb[node] && clusterDb[node].clusterData && clusterDb[node].clusterData.dir) {\n dir = clusterDb[node].clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb[node].clusterData.dir, dir);\n }\n const clusterGraph = new Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n // Todo: set proper spacing\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb[node].clusterData,\n labelText: clusterDb[node].labelText,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", write(clusterGraph));\n log.debug(\"Old graph after copy\", write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb[node].externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n};\nconst sorter = (graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign(nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n};\nconst sortNodesByHierarchy = (graph) => sorter(graph, graph.children());\nconst rect = (parent, node) => {\n log.info(\"Creating subgraph rect for \", node.id, node);\n const siteConfig = getConfig();\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"cluster\" + (node.class ? \" \" + node.class : \"\")).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const useHtmlLabels = evaluate(siteConfig.flowchart.htmlLabels);\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n const text = node.labelType === \"markdown\" ? createText(label, node.labelText, { style: node.labelStyle, useHtmlLabels }) : label.node().appendChild(createLabel(node.labelText, node.labelStyle, void 0, true));\n let bbox = text.getBBox();\n if (evaluate(siteConfig.flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = d3select(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;\n if (node.width <= bbox.width + padding) {\n node.diff = (bbox.width - node.width) / 2 - node.padding / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n log.trace(\"Data \", node, JSON.stringify(node));\n rect2.attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - width / 2).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", width).attr(\"height\", node.height + padding);\n const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);\n if (useHtmlLabels) {\n label.attr(\n \"transform\",\n // This puts the label on top of the box instead of inside it\n `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`\n );\n } else {\n label.attr(\n \"transform\",\n // This puts the label on top of the box instead of inside it\n `translate(${node.x}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`\n );\n }\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst noteGroup = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"note-cluster\").attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding).attr(\"fill\", \"none\");\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst roundedWithTitle = (parent, node) => {\n const siteConfig = getConfig();\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.classes).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n const innerRect = shapeSvg.append(\"rect\");\n const text = label.node().appendChild(createLabel(node.labelText, node.labelStyle, void 0, true));\n let bbox = text.getBBox();\n if (evaluate(siteConfig.flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = d3select(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n bbox = text.getBBox();\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (bbox.width + node.padding * 0 - node.width) / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n rect2.attr(\"class\", \"outer\").attr(\"x\", node.x - width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", width + padding).attr(\"height\", node.height + padding);\n innerRect.attr(\"class\", \"inner\").attr(\"x\", node.x - width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding + bbox.height - 1).attr(\"width\", width + padding).attr(\"height\", node.height + padding - bbox.height - 3);\n const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);\n label.attr(\n \"transform\",\n `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 - node.padding / 3 + (evaluate(siteConfig.flowchart.htmlLabels) ? 5 : 3) + subGraphTitleTopMargin})`\n );\n const rectBox = rect2.node().getBBox();\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst divider = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.classes).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"class\", \"divider\").attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding);\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.diff = -node.padding / 2;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst shapes = { rect, roundedWithTitle, noteGroup, divider };\nlet clusterElems = {};\nconst insertCluster = (elem, node) => {\n log.trace(\"Inserting cluster\");\n const shape = node.shape || \"rect\";\n clusterElems[node.id] = shapes[shape](elem, node);\n};\nconst clear = () => {\n clusterElems = {};\n};\nconst recursiveRender = async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.info(\"Graph in recursive render: XXX\", write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.trace(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.info(\"Setting data for cluster XXX (\", v, \") \", data, parentCluster);\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node && node.clusterNode) {\n log.info(\"Cluster identified\", v, node.width, graph.node(v));\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\"Node bounds (abc123)\", v, node, node.width, node.x, node.y);\n setNodeElem(newEl, node);\n log.warn(\"Recursive render complete \", newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\"Cluster - the non recursive path XXX\", v, node.id, node, graph);\n log.info(findNonClusterChild(node.id, graph));\n clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };\n } else {\n log.info(\"Node - the non recursive path\", v, node.id, node);\n await insertNode(nodes, graph.node(v), dir);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\"Fix\", clusterDb, \"ids:\", e.v, e.w, \"Translating: \", clusterDb[e.v], clusterDb[e.w]);\n insertEdgeLabel(edgeLabels, edge);\n });\n graph.edges().forEach(function(e) {\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n });\n log.info(\"#############################################\");\n log.info(\"### Layout ###\");\n log.info(\"#############################################\");\n log.info(graph);\n layout(graph);\n log.info(\"Graph after layout:\", write(graph));\n let diff = 0;\n const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n sortNodesByHierarchy(graph).forEach(function(v) {\n const node = graph.node(v);\n log.info(\"Position \" + v + \": \" + JSON.stringify(graph.node(v)));\n log.info(\n \"Position \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node && node.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n node.height += subGraphTitleTotalMargin;\n insertCluster(clusters, node);\n clusterDb[node.id].node = node;\n } else {\n node.y += subGraphTitleTotalMargin / 2;\n positionNode(node);\n }\n }\n });\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramType, graph, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.type === \"group\") {\n diff = n.diff;\n }\n });\n return { elem, diff };\n};\nconst render = async (elem, graph, markers, diagramType, id) => {\n insertMarkers(elem, markers, diagramType, id);\n clear$2();\n clear$3();\n clear();\n clear$1();\n log.warn(\"Graph at first:\", JSON.stringify(write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after:\", JSON.stringify(write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(elem, graph, diagramType, id, void 0, siteConfig);\n};\nexport {\n render as r\n};\n"], "mappings": "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", "names": ["clear$1", "clear"] diff --git a/docs/.vitepress/cache/deps/chunk-6E3MYWKG.js b/docs/.vitepress/cache/deps/chunk-DEECTGUT.js similarity index 98% rename from docs/.vitepress/cache/deps/chunk-6E3MYWKG.js rename to docs/.vitepress/cache/deps/chunk-DEECTGUT.js index 9105f5b0..0b064c5c 100644 --- a/docs/.vitepress/cache/deps/chunk-6E3MYWKG.js +++ b/docs/.vitepress/cache/deps/chunk-DEECTGUT.js @@ -1,12 +1,12 @@ import { channel$1 -} from "./chunk-TPMOBHCD.js"; +} from "./chunk-QL2ECDH6.js"; import { render -} from "./chunk-QE6SGBYU.js"; +} from "./chunk-B5HJZSKN.js"; import { Graph -} from "./chunk-RPTJ2D5Y.js"; +} from "./chunk-FVOCDV6K.js"; import { Selection$1, array, @@ -25,9 +25,9 @@ import { root$2, setupGraphViewbox$1, utils -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/styles-91e7de3c.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/styles-91e7de3c.js function selectAll(selector) { return typeof selector === "string" ? new Selection$1([document.querySelectorAll(selector)], [document.documentElement]) : new Selection$1([array(selector)], root$2); } @@ -596,4 +596,4 @@ export { flowRendererV2, flowStyles }; -//# sourceMappingURL=chunk-6E3MYWKG.js.map +//# sourceMappingURL=chunk-DEECTGUT.js.map diff --git a/docs/.vitepress/cache/deps/chunk-6E3MYWKG.js.map b/docs/.vitepress/cache/deps/chunk-DEECTGUT.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-6E3MYWKG.js.map rename to docs/.vitepress/cache/deps/chunk-DEECTGUT.js.map index 244b8fd1..40121676 100644 --- a/docs/.vitepress/cache/deps/chunk-6E3MYWKG.js.map +++ b/docs/.vitepress/cache/deps/chunk-DEECTGUT.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/styles-91e7de3c.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/styles-91e7de3c.js"], "sourcesContent": ["import { G as Graph } from \"./graph-cdf81e0e.js\";\nimport { S as Selection, v as root, x as array, y as isPlainObject, z as isFunction, o as getStylesFromArray, l as log, p as evaluate, c as getConfig, f as common, r as renderKatex, q as interpolateToCurve, n as curveLinear, j as d3select, A as utils, t as setupGraphViewbox, B as rgba } from \"./mermaid-bea41e51.js\";\nimport { r as render } from \"./index-ade8a1b6.js\";\nimport { c as channel } from \"./channel-34943bd6.js\";\nfunction selectAll(selector) {\n return typeof selector === \"string\" ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) : new Selection([array(selector)], root);\n}\nfunction isSubgraph(g, v) {\n return !!g.children(v).length;\n}\nfunction edgeToId(e) {\n return escapeId(e.v) + \":\" + escapeId(e.w) + \":\" + escapeId(e.name);\n}\nvar ID_DELIM = /:/g;\nfunction escapeId(str) {\n return str ? String(str).replace(ID_DELIM, \"\\\\:\") : \"\";\n}\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr(\"style\", styleFn);\n }\n}\nfunction applyClass(dom, classFn, otherClasses) {\n if (classFn) {\n dom.attr(\"class\", classFn).attr(\"class\", otherClasses + \" \" + dom.attr(\"class\"));\n }\n}\nfunction applyTransition(selection, g) {\n var graph = g.graph();\n if (isPlainObject(graph)) {\n var transition = graph.transition;\n if (isFunction(transition)) {\n return transition(selection);\n }\n }\n return selection;\n}\nfunction addHtmlLabel(root2, node) {\n var fo = root2.append(\"foreignObject\").attr(\"width\", \"100000\");\n var div = fo.append(\"xhtml:div\");\n div.attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\");\n var label = node.label;\n switch (typeof label) {\n case \"function\":\n div.insert(label);\n break;\n case \"object\":\n div.insert(function() {\n return label;\n });\n break;\n default:\n div.html(label);\n }\n applyStyle(div, node.labelStyle);\n div.style(\"display\", \"inline-block\");\n div.style(\"white-space\", \"nowrap\");\n var client = div.node().getBoundingClientRect();\n fo.attr(\"width\", client.width).attr(\"height\", client.height);\n return fo;\n}\nconst conf = {};\nconst setConf = function(cnf) {\n const keys = Object.keys(cnf);\n for (const key of keys) {\n conf[key] = cnf[key];\n }\n};\nconst addVertices = async function(vert, g, svgId, root2, doc, diagObj) {\n const svg = root2.select(`[id=\"${svgId}\"]`);\n const keys = Object.keys(vert);\n for (const id of keys) {\n const vertex = vert[id];\n let classStr = \"default\";\n if (vertex.classes.length > 0) {\n classStr = vertex.classes.join(\" \");\n }\n classStr = classStr + \" flowchart-label\";\n const styles = getStylesFromArray(vertex.styles);\n let vertexText = vertex.text !== void 0 ? vertex.text : vertex.id;\n let vertexNode;\n log.info(\"vertex\", vertex, vertex.labelType);\n if (vertex.labelType === \"markdown\") {\n log.info(\"vertex\", vertex, vertex.labelType);\n } else {\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const node = {\n label: vertexText\n };\n vertexNode = addHtmlLabel(svg, node).node();\n vertexNode.parentNode.removeChild(vertexNode);\n } else {\n const svgLabel = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"style\", styles.labelStyle.replace(\"color:\", \"fill:\"));\n const rows = vertexText.split(common.lineBreakRegex);\n for (const row of rows) {\n const tspan = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"1\");\n tspan.textContent = row;\n svgLabel.appendChild(tspan);\n }\n vertexNode = svgLabel;\n }\n }\n let radius = 0;\n let _shape = \"\";\n switch (vertex.type) {\n case \"round\":\n radius = 5;\n _shape = \"rect\";\n break;\n case \"square\":\n _shape = \"rect\";\n break;\n case \"diamond\":\n _shape = \"question\";\n break;\n case \"hexagon\":\n _shape = \"hexagon\";\n break;\n case \"odd\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"lean_right\":\n _shape = \"lean_right\";\n break;\n case \"lean_left\":\n _shape = \"lean_left\";\n break;\n case \"trapezoid\":\n _shape = \"trapezoid\";\n break;\n case \"inv_trapezoid\":\n _shape = \"inv_trapezoid\";\n break;\n case \"odd_right\":\n _shape = \"rect_left_inv_arrow\";\n break;\n case \"circle\":\n _shape = \"circle\";\n break;\n case \"ellipse\":\n _shape = \"ellipse\";\n break;\n case \"stadium\":\n _shape = \"stadium\";\n break;\n case \"subroutine\":\n _shape = \"subroutine\";\n break;\n case \"cylinder\":\n _shape = \"cylinder\";\n break;\n case \"group\":\n _shape = \"rect\";\n break;\n case \"doublecircle\":\n _shape = \"doublecircle\";\n break;\n default:\n _shape = \"rect\";\n }\n const labelText = await renderKatex(vertexText, getConfig());\n g.setNode(vertex.id, {\n labelStyle: styles.labelStyle,\n shape: _shape,\n labelText,\n labelType: vertex.labelType,\n rx: radius,\n ry: radius,\n class: classStr,\n style: styles.style,\n id: vertex.id,\n link: vertex.link,\n linkTarget: vertex.linkTarget,\n tooltip: diagObj.db.getTooltip(vertex.id) || \"\",\n domId: diagObj.db.lookUpDomId(vertex.id),\n haveCallback: vertex.haveCallback,\n width: vertex.type === \"group\" ? 500 : void 0,\n dir: vertex.dir,\n type: vertex.type,\n props: vertex.props,\n padding: getConfig().flowchart.padding\n });\n log.info(\"setNode\", {\n labelStyle: styles.labelStyle,\n labelType: vertex.labelType,\n shape: _shape,\n labelText,\n rx: radius,\n ry: radius,\n class: classStr,\n style: styles.style,\n id: vertex.id,\n domId: diagObj.db.lookUpDomId(vertex.id),\n width: vertex.type === \"group\" ? 500 : void 0,\n type: vertex.type,\n dir: vertex.dir,\n props: vertex.props,\n padding: getConfig().flowchart.padding\n });\n }\n};\nconst addEdges = async function(edges, g, diagObj) {\n log.info(\"abc78 edges = \", edges);\n let cnt = 0;\n let linkIdCnt = {};\n let defaultStyle;\n let defaultLabelStyle;\n if (edges.defaultStyle !== void 0) {\n const defaultStyles = getStylesFromArray(edges.defaultStyle);\n defaultStyle = defaultStyles.style;\n defaultLabelStyle = defaultStyles.labelStyle;\n }\n for (const edge of edges) {\n cnt++;\n const linkIdBase = \"L-\" + edge.start + \"-\" + edge.end;\n if (linkIdCnt[linkIdBase] === void 0) {\n linkIdCnt[linkIdBase] = 0;\n log.info(\"abc78 new entry\", linkIdBase, linkIdCnt[linkIdBase]);\n } else {\n linkIdCnt[linkIdBase]++;\n log.info(\"abc78 new entry\", linkIdBase, linkIdCnt[linkIdBase]);\n }\n let linkId = linkIdBase + \"-\" + linkIdCnt[linkIdBase];\n log.info(\"abc78 new link id to be used is\", linkIdBase, linkId, linkIdCnt[linkIdBase]);\n const linkNameStart = \"LS-\" + edge.start;\n const linkNameEnd = \"LE-\" + edge.end;\n const edgeData = { style: \"\", labelStyle: \"\" };\n edgeData.minlen = edge.length || 1;\n if (edge.type === \"arrow_open\") {\n edgeData.arrowhead = \"none\";\n } else {\n edgeData.arrowhead = \"normal\";\n }\n edgeData.arrowTypeStart = \"arrow_open\";\n edgeData.arrowTypeEnd = \"arrow_open\";\n switch (edge.type) {\n case \"double_arrow_cross\":\n edgeData.arrowTypeStart = \"arrow_cross\";\n case \"arrow_cross\":\n edgeData.arrowTypeEnd = \"arrow_cross\";\n break;\n case \"double_arrow_point\":\n edgeData.arrowTypeStart = \"arrow_point\";\n case \"arrow_point\":\n edgeData.arrowTypeEnd = \"arrow_point\";\n break;\n case \"double_arrow_circle\":\n edgeData.arrowTypeStart = \"arrow_circle\";\n case \"arrow_circle\":\n edgeData.arrowTypeEnd = \"arrow_circle\";\n break;\n }\n let style = \"\";\n let labelStyle = \"\";\n switch (edge.stroke) {\n case \"normal\":\n style = \"fill:none;\";\n if (defaultStyle !== void 0) {\n style = defaultStyle;\n }\n if (defaultLabelStyle !== void 0) {\n labelStyle = defaultLabelStyle;\n }\n edgeData.thickness = \"normal\";\n edgeData.pattern = \"solid\";\n break;\n case \"dotted\":\n edgeData.thickness = \"normal\";\n edgeData.pattern = \"dotted\";\n edgeData.style = \"fill:none;stroke-width:2px;stroke-dasharray:3;\";\n break;\n case \"thick\":\n edgeData.thickness = \"thick\";\n edgeData.pattern = \"solid\";\n edgeData.style = \"stroke-width: 3.5px;fill:none;\";\n break;\n case \"invisible\":\n edgeData.thickness = \"invisible\";\n edgeData.pattern = \"solid\";\n edgeData.style = \"stroke-width: 0;fill:none;\";\n break;\n }\n if (edge.style !== void 0) {\n const styles = getStylesFromArray(edge.style);\n style = styles.style;\n labelStyle = styles.labelStyle;\n }\n edgeData.style = edgeData.style += style;\n edgeData.labelStyle = edgeData.labelStyle += labelStyle;\n if (edge.interpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edge.interpolate, curveLinear);\n } else if (edges.defaultInterpolate !== void 0) {\n edgeData.curve = interpolateToCurve(edges.defaultInterpolate, curveLinear);\n } else {\n edgeData.curve = interpolateToCurve(conf.curve, curveLinear);\n }\n if (edge.text === void 0) {\n if (edge.style !== void 0) {\n edgeData.arrowheadStyle = \"fill: #333\";\n }\n } else {\n edgeData.arrowheadStyle = \"fill: #333\";\n edgeData.labelpos = \"c\";\n }\n edgeData.labelType = edge.labelType;\n edgeData.label = await renderKatex(edge.text.replace(common.lineBreakRegex, \"\\n\"), getConfig());\n if (edge.style === void 0) {\n edgeData.style = edgeData.style || \"stroke: #333; stroke-width: 1.5px;fill:none;\";\n }\n edgeData.labelStyle = edgeData.labelStyle.replace(\"color:\", \"fill:\");\n edgeData.id = linkId;\n edgeData.classes = \"flowchart-link \" + linkNameStart + \" \" + linkNameEnd;\n g.setEdge(edge.start, edge.end, edgeData, cnt);\n }\n};\nconst getClasses = function(text, diagObj) {\n return diagObj.db.getClasses();\n};\nconst draw = async function(text, id, _version, diagObj) {\n log.info(\"Drawing flowchart\");\n let dir = diagObj.db.getDirection();\n if (dir === void 0) {\n dir = \"TD\";\n }\n const { securityLevel, flowchart: conf2 } = getConfig();\n const nodeSpacing = conf2.nodeSpacing || 50;\n const rankSpacing = conf2.rankSpacing || 50;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root2 = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n const g = new Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: nodeSpacing,\n ranksep: rankSpacing,\n marginx: 0,\n marginy: 0\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n let subG;\n const subGraphs = diagObj.db.getSubGraphs();\n log.info(\"Subgraphs - \", subGraphs);\n for (let i2 = subGraphs.length - 1; i2 >= 0; i2--) {\n subG = subGraphs[i2];\n log.info(\"Subgraph - \", subG);\n diagObj.db.addVertex(\n subG.id,\n { text: subG.title, type: subG.labelType },\n \"group\",\n void 0,\n subG.classes,\n subG.dir\n );\n }\n const vert = diagObj.db.getVertices();\n const edges = diagObj.db.getEdges();\n log.info(\"Edges\", edges);\n let i = 0;\n for (i = subGraphs.length - 1; i >= 0; i--) {\n subG = subGraphs[i];\n selectAll(\"cluster\").append(\"text\");\n for (let j = 0; j < subG.nodes.length; j++) {\n log.info(\"Setting up subgraphs\", subG.nodes[j], subG.id);\n g.setParent(subG.nodes[j], subG.id);\n }\n }\n await addVertices(vert, g, id, root2, doc, diagObj);\n await addEdges(edges, g);\n const svg = root2.select(`[id=\"${id}\"]`);\n const element = root2.select(\"#\" + id + \" g\");\n await render(element, g, [\"point\", \"circle\", \"cross\"], \"flowchart\", id);\n utils.insertTitle(svg, \"flowchartTitleText\", conf2.titleTopMargin, diagObj.db.getDiagramTitle());\n setupGraphViewbox(g, svg, conf2.diagramPadding, conf2.useMaxWidth);\n diagObj.db.indexNodes(\"subGraph\" + i);\n if (!conf2.htmlLabels) {\n const labels = doc.querySelectorAll('[id=\"' + id + '\"] .edgeLabel .label');\n for (const label of labels) {\n const dim = label.getBBox();\n const rect = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n rect.setAttribute(\"rx\", 0);\n rect.setAttribute(\"ry\", 0);\n rect.setAttribute(\"width\", dim.width);\n rect.setAttribute(\"height\", dim.height);\n label.insertBefore(rect, label.firstChild);\n }\n }\n const keys = Object.keys(vert);\n keys.forEach(function(key) {\n const vertex = vert[key];\n if (vertex.link) {\n const node = d3select(\"#\" + id + ' [id=\"' + key + '\"]');\n if (node) {\n const link = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"class\", vertex.classes.join(\" \"));\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"href\", vertex.link);\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"rel\", \"noopener\");\n if (securityLevel === \"sandbox\") {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", \"_top\");\n } else if (vertex.linkTarget) {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", vertex.linkTarget);\n }\n const linkNode = node.insert(function() {\n return link;\n }, \":first-child\");\n const shape = node.select(\".label-container\");\n if (shape) {\n linkNode.append(function() {\n return shape.node();\n });\n }\n const label = node.select(\".label\");\n if (label) {\n linkNode.append(function() {\n return label.node();\n });\n }\n }\n }\n });\n};\nconst flowRendererV2 = {\n setConf,\n addVertices,\n addEdges,\n getClasses,\n draw\n};\nconst fade = (color, opacity) => {\n const channel$1 = channel;\n const r = channel$1(color, \"r\");\n const g = channel$1(color, \"g\");\n const b = channel$1(color, \"b\");\n return rgba(r, g, b, opacity);\n};\nconst getStyles = (options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span,p {\n color: ${options.titleColor};\n }\n\n .label text,span,p {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground, 0.5)};\n // background-color: \n }\n\n .cluster rect {\n fill: ${options.clusterBkg};\n stroke: ${options.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span,p {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`;\nconst flowStyles = getStyles;\nexport {\n applyStyle as a,\n addHtmlLabel as b,\n applyTransition as c,\n applyClass as d,\n edgeToId as e,\n flowRendererV2 as f,\n flowStyles as g,\n isSubgraph as i,\n selectAll as s\n};\n"], "mappings": "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", "names": ["channel$1"] diff --git a/docs/.vitepress/cache/deps/chunk-K7JYRSNN.js b/docs/.vitepress/cache/deps/chunk-EYFRCF3X.js similarity index 99% rename from docs/.vitepress/cache/deps/chunk-K7JYRSNN.js rename to docs/.vitepress/cache/deps/chunk-EYFRCF3X.js index 1b065580..4159da94 100644 --- a/docs/.vitepress/cache/deps/chunk-K7JYRSNN.js +++ b/docs/.vitepress/cache/deps/chunk-EYFRCF3X.js @@ -3,9 +3,9 @@ import { createElementBlock, defineComponent, openBlock -} from "./chunk-SSSTV3QS.js"; +} from "./chunk-NKPCMO6O.js"; -// node_modules/@element-plus/icons-vue/dist/index.js +// node_modules/.pnpm/@element-plus+icons-vue@2.3.1_vue@3.5.13_typescript@5.7.2_/node_modules/@element-plus/icons-vue/dist/index.js var add_location_vue_vue_type_script_setup_true_lang_default = defineComponent({ name: "AddLocation", __name: "add-location", @@ -5479,4 +5479,4 @@ export { @element-plus/icons-vue/dist/index.js: (*! Element Plus Icons Vue v2.3.1 *) */ -//# sourceMappingURL=chunk-K7JYRSNN.js.map +//# sourceMappingURL=chunk-EYFRCF3X.js.map diff --git a/docs/.vitepress/cache/deps/chunk-K7JYRSNN.js.map b/docs/.vitepress/cache/deps/chunk-EYFRCF3X.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-K7JYRSNN.js.map rename to docs/.vitepress/cache/deps/chunk-EYFRCF3X.js.map index 070029cd..3d268914 100644 --- a/docs/.vitepress/cache/deps/chunk-K7JYRSNN.js.map +++ b/docs/.vitepress/cache/deps/chunk-EYFRCF3X.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/@element-plus/icons-vue/dist/index.js"], + "sources": ["../../../../node_modules/.pnpm/@element-plus+icons-vue@2.3.1_vue@3.5.13_typescript@5.7.2_/node_modules/@element-plus/icons-vue/dist/index.js"], "sourcesContent": ["/*! Element Plus Icons Vue v2.3.1 */\n\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/add-location.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent } from \"vue\";\nimport { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nvar add_location_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent({\n name: \"AddLocation\",\n __name: \"add-location\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock(), _createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n }),\n _createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544\"\n }),\n _createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0z\"\n })\n ]));\n }\n});\n\n// src/components/add-location.vue\nvar add_location_default = add_location_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/aim.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent2 } from \"vue\";\nimport { createElementVNode as _createElementVNode2, openBlock as _openBlock2, createElementBlock as _createElementBlock2 } from \"vue\";\nvar aim_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent2({\n name: \"Aim\",\n __name: \"aim\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock2(), _createElementBlock2(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode2(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n _createElementVNode2(\"path\", {\n fill: \"currentColor\",\n d: \"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32m0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32M96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32m576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32\"\n })\n ]));\n }\n});\n\n// src/components/aim.vue\nvar aim_default = aim_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/alarm-clock.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent3 } from \"vue\";\nimport { createElementVNode as _createElementVNode3, openBlock as _openBlock3, createElementBlock as _createElementBlock3 } from \"vue\";\nvar alarm_clock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent3({\n name: \"AlarmClock\",\n __name: \"alarm-clock\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock3(), _createElementBlock3(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode3(\"path\", {\n fill: \"currentColor\",\n d: \"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768\"\n }),\n _createElementVNode3(\"path\", {\n fill: \"currentColor\",\n d: \"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128z\"\n })\n ]));\n }\n});\n\n// src/components/alarm-clock.vue\nvar alarm_clock_default = alarm_clock_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/apple.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent4 } from \"vue\";\nimport { createElementVNode as _createElementVNode4, openBlock as _openBlock4, createElementBlock as _createElementBlock4 } from \"vue\";\nvar apple_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent4({\n name: \"Apple\",\n __name: \"apple\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock4(), _createElementBlock4(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode4(\"path\", {\n fill: \"currentColor\",\n d: \"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z\"\n })\n ]));\n }\n});\n\n// src/components/apple.vue\nvar apple_default = apple_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-down-bold.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent5 } from \"vue\";\nimport { createElementVNode as _createElementVNode5, openBlock as _openBlock5, createElementBlock as _createElementBlock5 } from \"vue\";\nvar arrow_down_bold_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent5({\n name: \"ArrowDownBold\",\n __name: \"arrow-down-bold\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock5(), _createElementBlock5(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode5(\"path\", {\n fill: \"currentColor\",\n d: \"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-down-bold.vue\nvar arrow_down_bold_default = arrow_down_bold_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-down.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent6 } from \"vue\";\nimport { createElementVNode as _createElementVNode6, openBlock as _openBlock6, createElementBlock as _createElementBlock6 } from \"vue\";\nvar arrow_down_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent6({\n name: \"ArrowDown\",\n __name: \"arrow-down\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock6(), _createElementBlock6(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode6(\"path\", {\n fill: \"currentColor\",\n d: \"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-down.vue\nvar arrow_down_default = arrow_down_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-left-bold.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent7 } from \"vue\";\nimport { createElementVNode as _createElementVNode7, openBlock as _openBlock7, createElementBlock as _createElementBlock7 } from \"vue\";\nvar arrow_left_bold_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent7({\n name: \"ArrowLeftBold\",\n __name: \"arrow-left-bold\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock7(), _createElementBlock7(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode7(\"path\", {\n fill: \"currentColor\",\n d: \"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-left-bold.vue\nvar arrow_left_bold_default = arrow_left_bold_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-left.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent8 } from \"vue\";\nimport { createElementVNode as _createElementVNode8, openBlock as _openBlock8, createElementBlock as _createElementBlock8 } from \"vue\";\nvar arrow_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent8({\n name: \"ArrowLeft\",\n __name: \"arrow-left\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock8(), _createElementBlock8(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode8(\"path\", {\n fill: \"currentColor\",\n d: \"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-left.vue\nvar arrow_left_default = arrow_left_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-right-bold.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent9 } from \"vue\";\nimport { createElementVNode as _createElementVNode9, openBlock as _openBlock9, createElementBlock as _createElementBlock9 } from \"vue\";\nvar arrow_right_bold_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent9({\n name: \"ArrowRightBold\",\n __name: \"arrow-right-bold\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock9(), _createElementBlock9(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode9(\"path\", {\n fill: \"currentColor\",\n d: \"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-right-bold.vue\nvar arrow_right_bold_default = arrow_right_bold_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent10 } from \"vue\";\nimport { createElementVNode as _createElementVNode10, openBlock as _openBlock10, createElementBlock as _createElementBlock10 } from \"vue\";\nvar arrow_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent10({\n name: \"ArrowRight\",\n __name: \"arrow-right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock10(), _createElementBlock10(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode10(\"path\", {\n fill: \"currentColor\",\n d: \"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-right.vue\nvar arrow_right_default = arrow_right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-up-bold.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent11 } from \"vue\";\nimport { createElementVNode as _createElementVNode11, openBlock as _openBlock11, createElementBlock as _createElementBlock11 } from \"vue\";\nvar arrow_up_bold_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent11({\n name: \"ArrowUpBold\",\n __name: \"arrow-up-bold\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock11(), _createElementBlock11(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode11(\"path\", {\n fill: \"currentColor\",\n d: \"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z\"\n })\n ]));\n }\n});\n\n// src/components/arrow-up-bold.vue\nvar arrow_up_bold_default = arrow_up_bold_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/arrow-up.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent12 } from \"vue\";\nimport { createElementVNode as _createElementVNode12, openBlock as _openBlock12, createElementBlock as _createElementBlock12 } from \"vue\";\nvar arrow_up_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent12({\n name: \"ArrowUp\",\n __name: \"arrow-up\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock12(), _createElementBlock12(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode12(\"path\", {\n fill: \"currentColor\",\n d: \"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0\"\n })\n ]));\n }\n});\n\n// src/components/arrow-up.vue\nvar arrow_up_default = arrow_up_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/avatar.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent13 } from \"vue\";\nimport { createElementVNode as _createElementVNode13, openBlock as _openBlock13, createElementBlock as _createElementBlock13 } from \"vue\";\nvar avatar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent13({\n name: \"Avatar\",\n __name: \"avatar\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock13(), _createElementBlock13(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode13(\"path\", {\n fill: \"currentColor\",\n d: \"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0\"\n })\n ]));\n }\n});\n\n// src/components/avatar.vue\nvar avatar_default = avatar_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/back.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent14 } from \"vue\";\nimport { createElementVNode as _createElementVNode14, openBlock as _openBlock14, createElementBlock as _createElementBlock14 } from \"vue\";\nvar back_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent14({\n name: \"Back\",\n __name: \"back\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock14(), _createElementBlock14(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode14(\"path\", {\n fill: \"currentColor\",\n d: \"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64\"\n }),\n _createElementVNode14(\"path\", {\n fill: \"currentColor\",\n d: \"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z\"\n })\n ]));\n }\n});\n\n// src/components/back.vue\nvar back_default = back_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/baseball.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent15 } from \"vue\";\nimport { createElementVNode as _createElementVNode15, openBlock as _openBlock15, createElementBlock as _createElementBlock15 } from \"vue\";\nvar baseball_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent15({\n name: \"Baseball\",\n __name: \"baseball\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock15(), _createElementBlock15(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode15(\"path\", {\n fill: \"currentColor\",\n d: \"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104\"\n }),\n _createElementVNode15(\"path\", {\n fill: \"currentColor\",\n d: \"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z\"\n })\n ]));\n }\n});\n\n// src/components/baseball.vue\nvar baseball_default = baseball_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/basketball.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent16 } from \"vue\";\nimport { createElementVNode as _createElementVNode16, openBlock as _openBlock16, createElementBlock as _createElementBlock16 } from \"vue\";\nvar basketball_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent16({\n name: \"Basketball\",\n __name: \"basketball\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock16(), _createElementBlock16(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode16(\"path\", {\n fill: \"currentColor\",\n d: \"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336m-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8m106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6\"\n })\n ]));\n }\n});\n\n// src/components/basketball.vue\nvar basketball_default = basketball_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bell-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent17 } from \"vue\";\nimport { createElementVNode as _createElementVNode17, openBlock as _openBlock17, createElementBlock as _createElementBlock17 } from \"vue\";\nvar bell_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent17({\n name: \"BellFilled\",\n __name: \"bell-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock17(), _createElementBlock17(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode17(\"path\", {\n fill: \"currentColor\",\n d: \"M640 832a128 128 0 0 1-256 0zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8z\"\n })\n ]));\n }\n});\n\n// src/components/bell-filled.vue\nvar bell_filled_default = bell_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bell.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent18 } from \"vue\";\nimport { createElementVNode as _createElementVNode18, openBlock as _openBlock18, createElementBlock as _createElementBlock18 } from \"vue\";\nvar bell_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent18({\n name: \"Bell\",\n __name: \"bell\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock18(), _createElementBlock18(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode18(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64\"\n }),\n _createElementVNode18(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320\"\n }),\n _createElementVNode18(\"path\", {\n fill: \"currentColor\",\n d: \"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0\"\n })\n ]));\n }\n});\n\n// src/components/bell.vue\nvar bell_default = bell_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bicycle.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent19 } from \"vue\";\nimport { createElementVNode as _createElementVNode19, openBlock as _openBlock19, createElementBlock as _createElementBlock19 } from \"vue\";\nvar bicycle_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent19({\n name: \"Bicycle\",\n __name: \"bicycle\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock19(), _createElementBlock19(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode19(\"path\", {\n fill: \"currentColor\",\n d: \"M256 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384\"\n }),\n _createElementVNode19(\"path\", {\n fill: \"currentColor\",\n d: \"M288 672h320q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n }),\n _createElementVNode19(\"path\", {\n fill: \"currentColor\",\n d: \"M768 832a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384\"\n }),\n _createElementVNode19(\"path\", {\n fill: \"currentColor\",\n d: \"M480 192a32 32 0 0 1 0-64h160a32 32 0 0 1 31.04 24.256l96 384a32 32 0 0 1-62.08 15.488L615.04 192zM96 384a32 32 0 0 1 0-64h128a32 32 0 0 1 30.336 21.888l64 192a32 32 0 1 1-60.672 20.224L200.96 384z\"\n }),\n _createElementVNode19(\"path\", {\n fill: \"currentColor\",\n d: \"m373.376 599.808-42.752-47.616 320-288 42.752 47.616z\"\n })\n ]));\n }\n});\n\n// src/components/bicycle.vue\nvar bicycle_default = bicycle_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bottom-left.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent20 } from \"vue\";\nimport { createElementVNode as _createElementVNode20, openBlock as _openBlock20, createElementBlock as _createElementBlock20 } from \"vue\";\nvar bottom_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent20({\n name: \"BottomLeft\",\n __name: \"bottom-left\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock20(), _createElementBlock20(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode20(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0z\"\n }),\n _createElementVNode20(\"path\", {\n fill: \"currentColor\",\n d: \"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z\"\n })\n ]));\n }\n});\n\n// src/components/bottom-left.vue\nvar bottom_left_default = bottom_left_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bottom-right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent21 } from \"vue\";\nimport { createElementVNode as _createElementVNode21, openBlock as _openBlock21, createElementBlock as _createElementBlock21 } from \"vue\";\nvar bottom_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent21({\n name: \"BottomRight\",\n __name: \"bottom-right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock21(), _createElementBlock21(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode21(\"path\", {\n fill: \"currentColor\",\n d: \"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416z\"\n }),\n _createElementVNode21(\"path\", {\n fill: \"currentColor\",\n d: \"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312z\"\n })\n ]));\n }\n});\n\n// src/components/bottom-right.vue\nvar bottom_right_default = bottom_right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bottom.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent22 } from \"vue\";\nimport { createElementVNode as _createElementVNode22, openBlock as _openBlock22, createElementBlock as _createElementBlock22 } from \"vue\";\nvar bottom_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent22({\n name: \"Bottom\",\n __name: \"bottom\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock22(), _createElementBlock22(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode22(\"path\", {\n fill: \"currentColor\",\n d: \"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z\"\n })\n ]));\n }\n});\n\n// src/components/bottom.vue\nvar bottom_default = bottom_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/bowl.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent23 } from \"vue\";\nimport { createElementVNode as _createElementVNode23, openBlock as _openBlock23, createElementBlock as _createElementBlock23 } from \"vue\";\nvar bowl_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent23({\n name: \"Bowl\",\n __name: \"bowl\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock23(), _createElementBlock23(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode23(\"path\", {\n fill: \"currentColor\",\n d: \"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424zM352 768v64h320v-64z\"\n })\n ]));\n }\n});\n\n// src/components/bowl.vue\nvar bowl_default = bowl_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/box.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent24 } from \"vue\";\nimport { createElementVNode as _createElementVNode24, openBlock as _openBlock24, createElementBlock as _createElementBlock24 } from \"vue\";\nvar box_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent24({\n name: \"Box\",\n __name: \"box\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock24(), _createElementBlock24(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode24(\"path\", {\n fill: \"currentColor\",\n d: \"M317.056 128 128 344.064V896h768V344.064L706.944 128zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z\"\n }),\n _createElementVNode24(\"path\", {\n fill: \"currentColor\",\n d: \"M64 320h896v64H64z\"\n }),\n _createElementVNode24(\"path\", {\n fill: \"currentColor\",\n d: \"M448 327.872V640h128V327.872L526.08 128h-28.16zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320z\"\n })\n ]));\n }\n});\n\n// src/components/box.vue\nvar box_default = box_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/briefcase.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent25 } from \"vue\";\nimport { createElementVNode as _createElementVNode25, openBlock as _openBlock25, createElementBlock as _createElementBlock25 } from \"vue\";\nvar briefcase_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent25({\n name: \"Briefcase\",\n __name: \"briefcase\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock25(), _createElementBlock25(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode25(\"path\", {\n fill: \"currentColor\",\n d: \"M320 320V128h384v192h192v192H128V320zM128 576h768v320H128zm256-256h256.064V192H384z\"\n })\n ]));\n }\n});\n\n// src/components/briefcase.vue\nvar briefcase_default = briefcase_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/brush-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent26 } from \"vue\";\nimport { createElementVNode as _createElementVNode26, openBlock as _openBlock26, createElementBlock as _createElementBlock26 } from \"vue\";\nvar brush_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent26({\n name: \"BrushFilled\",\n __name: \"brush-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock26(), _createElementBlock26(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode26(\"path\", {\n fill: \"currentColor\",\n d: \"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128zM192 512V128.064h640V512z\"\n })\n ]));\n }\n});\n\n// src/components/brush-filled.vue\nvar brush_filled_default = brush_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/brush.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent27 } from \"vue\";\nimport { createElementVNode as _createElementVNode27, openBlock as _openBlock27, createElementBlock as _createElementBlock27 } from \"vue\";\nvar brush_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent27({\n name: \"Brush\",\n __name: \"brush\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock27(), _createElementBlock27(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode27(\"path\", {\n fill: \"currentColor\",\n d: \"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z\"\n })\n ]));\n }\n});\n\n// src/components/brush.vue\nvar brush_default = brush_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/burger.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent28 } from \"vue\";\nimport { createElementVNode as _createElementVNode28, openBlock as _openBlock28, createElementBlock as _createElementBlock28 } from \"vue\";\nvar burger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent28({\n name: \"Burger\",\n __name: \"burger\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock28(), _createElementBlock28(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode28(\"path\", {\n fill: \"currentColor\",\n d: \"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44M832 448a320 320 0 0 0-640 0zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704z\"\n })\n ]));\n }\n});\n\n// src/components/burger.vue\nvar burger_default = burger_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/calendar.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent29 } from \"vue\";\nimport { createElementVNode as _createElementVNode29, openBlock as _openBlock29, createElementBlock as _createElementBlock29 } from \"vue\";\nvar calendar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent29({\n name: \"Calendar\",\n __name: \"calendar\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock29(), _createElementBlock29(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode29(\"path\", {\n fill: \"currentColor\",\n d: \"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64\"\n })\n ]));\n }\n});\n\n// src/components/calendar.vue\nvar calendar_default = calendar_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/camera-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent30 } from \"vue\";\nimport { createElementVNode as _createElementVNode30, openBlock as _openBlock30, createElementBlock as _createElementBlock30 } from \"vue\";\nvar camera_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent30({\n name: \"CameraFilled\",\n __name: \"camera-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock30(), _createElementBlock30(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode30(\"path\", {\n fill: \"currentColor\",\n d: \"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4m0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512\"\n })\n ]));\n }\n});\n\n// src/components/camera-filled.vue\nvar camera_filled_default = camera_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/camera.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent31 } from \"vue\";\nimport { createElementVNode as _createElementVNode31, openBlock as _openBlock31, createElementBlock as _createElementBlock31 } from \"vue\";\nvar camera_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent31({\n name: \"Camera\",\n __name: \"camera\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock31(), _createElementBlock31(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode31(\"path\", {\n fill: \"currentColor\",\n d: \"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448\"\n })\n ]));\n }\n});\n\n// src/components/camera.vue\nvar camera_default = camera_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/caret-bottom.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent32 } from \"vue\";\nimport { createElementVNode as _createElementVNode32, openBlock as _openBlock32, createElementBlock as _createElementBlock32 } from \"vue\";\nvar caret_bottom_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent32({\n name: \"CaretBottom\",\n __name: \"caret-bottom\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock32(), _createElementBlock32(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode32(\"path\", {\n fill: \"currentColor\",\n d: \"m192 384 320 384 320-384z\"\n })\n ]));\n }\n});\n\n// src/components/caret-bottom.vue\nvar caret_bottom_default = caret_bottom_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/caret-left.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent33 } from \"vue\";\nimport { createElementVNode as _createElementVNode33, openBlock as _openBlock33, createElementBlock as _createElementBlock33 } from \"vue\";\nvar caret_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent33({\n name: \"CaretLeft\",\n __name: \"caret-left\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock33(), _createElementBlock33(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode33(\"path\", {\n fill: \"currentColor\",\n d: \"M672 192 288 511.936 672 832z\"\n })\n ]));\n }\n});\n\n// src/components/caret-left.vue\nvar caret_left_default = caret_left_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/caret-right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent34 } from \"vue\";\nimport { createElementVNode as _createElementVNode34, openBlock as _openBlock34, createElementBlock as _createElementBlock34 } from \"vue\";\nvar caret_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent34({\n name: \"CaretRight\",\n __name: \"caret-right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock34(), _createElementBlock34(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode34(\"path\", {\n fill: \"currentColor\",\n d: \"M384 192v640l384-320.064z\"\n })\n ]));\n }\n});\n\n// src/components/caret-right.vue\nvar caret_right_default = caret_right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/caret-top.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent35 } from \"vue\";\nimport { createElementVNode as _createElementVNode35, openBlock as _openBlock35, createElementBlock as _createElementBlock35 } from \"vue\";\nvar caret_top_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent35({\n name: \"CaretTop\",\n __name: \"caret-top\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock35(), _createElementBlock35(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode35(\"path\", {\n fill: \"currentColor\",\n d: \"M512 320 192 704h639.936z\"\n })\n ]));\n }\n});\n\n// src/components/caret-top.vue\nvar caret_top_default = caret_top_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/cellphone.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent36 } from \"vue\";\nimport { createElementVNode as _createElementVNode36, openBlock as _openBlock36, createElementBlock as _createElementBlock36 } from \"vue\";\nvar cellphone_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent36({\n name: \"Cellphone\",\n __name: \"cellphone\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock36(), _createElementBlock36(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode36(\"path\", {\n fill: \"currentColor\",\n d: \"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64m128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64m128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128\"\n })\n ]));\n }\n});\n\n// src/components/cellphone.vue\nvar cellphone_default = cellphone_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chat-dot-round.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent37 } from \"vue\";\nimport { createElementVNode as _createElementVNode37, openBlock as _openBlock37, createElementBlock as _createElementBlock37 } from \"vue\";\nvar chat_dot_round_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent37({\n name: \"ChatDotRound\",\n __name: \"chat-dot-round\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock37(), _createElementBlock37(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode37(\"path\", {\n fill: \"currentColor\",\n d: \"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z\"\n }),\n _createElementVNode37(\"path\", {\n fill: \"currentColor\",\n d: \"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4m-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4\"\n })\n ]));\n }\n});\n\n// src/components/chat-dot-round.vue\nvar chat_dot_round_default = chat_dot_round_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chat-dot-square.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent38 } from \"vue\";\nimport { createElementVNode as _createElementVNode38, openBlock as _openBlock38, createElementBlock as _createElementBlock38 } from \"vue\";\nvar chat_dot_square_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent38({\n name: \"ChatDotSquare\",\n __name: \"chat-dot-square\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock38(), _createElementBlock38(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode38(\"path\", {\n fill: \"currentColor\",\n d: \"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z\"\n }),\n _createElementVNode38(\"path\", {\n fill: \"currentColor\",\n d: \"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z\"\n })\n ]));\n }\n});\n\n// src/components/chat-dot-square.vue\nvar chat_dot_square_default = chat_dot_square_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chat-line-round.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent39 } from \"vue\";\nimport { createElementVNode as _createElementVNode39, openBlock as _openBlock39, createElementBlock as _createElementBlock39 } from \"vue\";\nvar chat_line_round_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent39({\n name: \"ChatLineRound\",\n __name: \"chat-line-round\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock39(), _createElementBlock39(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode39(\"path\", {\n fill: \"currentColor\",\n d: \"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z\"\n }),\n _createElementVNode39(\"path\", {\n fill: \"currentColor\",\n d: \"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/chat-line-round.vue\nvar chat_line_round_default = chat_line_round_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chat-line-square.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent40 } from \"vue\";\nimport { createElementVNode as _createElementVNode40, openBlock as _openBlock40, createElementBlock as _createElementBlock40 } from \"vue\";\nvar chat_line_square_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent40({\n name: \"ChatLineSquare\",\n __name: \"chat-line-square\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock40(), _createElementBlock40(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode40(\"path\", {\n fill: \"currentColor\",\n d: \"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z\"\n }),\n _createElementVNode40(\"path\", {\n fill: \"currentColor\",\n d: \"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/chat-line-square.vue\nvar chat_line_square_default = chat_line_square_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chat-round.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent41 } from \"vue\";\nimport { createElementVNode as _createElementVNode41, openBlock as _openBlock41, createElementBlock as _createElementBlock41 } from \"vue\";\nvar chat_round_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent41({\n name: \"ChatRound\",\n __name: \"chat-round\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock41(), _createElementBlock41(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode41(\"path\", {\n fill: \"currentColor\",\n d: \"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z\"\n })\n ]));\n }\n});\n\n// src/components/chat-round.vue\nvar chat_round_default = chat_round_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chat-square.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent42 } from \"vue\";\nimport { createElementVNode as _createElementVNode42, openBlock as _openBlock42, createElementBlock as _createElementBlock42 } from \"vue\";\nvar chat_square_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent42({\n name: \"ChatSquare\",\n __name: \"chat-square\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock42(), _createElementBlock42(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode42(\"path\", {\n fill: \"currentColor\",\n d: \"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z\"\n })\n ]));\n }\n});\n\n// src/components/chat-square.vue\nvar chat_square_default = chat_square_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/check.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent43 } from \"vue\";\nimport { createElementVNode as _createElementVNode43, openBlock as _openBlock43, createElementBlock as _createElementBlock43 } from \"vue\";\nvar check_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent43({\n name: \"Check\",\n __name: \"check\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock43(), _createElementBlock43(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode43(\"path\", {\n fill: \"currentColor\",\n d: \"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z\"\n })\n ]));\n }\n});\n\n// src/components/check.vue\nvar check_default = check_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/checked.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent44 } from \"vue\";\nimport { createElementVNode as _createElementVNode44, openBlock as _openBlock44, createElementBlock as _createElementBlock44 } from \"vue\";\nvar checked_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent44({\n name: \"Checked\",\n __name: \"checked\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock44(), _createElementBlock44(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode44(\"path\", {\n fill: \"currentColor\",\n d: \"M704 192h160v736H160V192h160.064v64H704zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024zM384 192V96h256v96z\"\n })\n ]));\n }\n});\n\n// src/components/checked.vue\nvar checked_default = checked_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/cherry.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent45 } from \"vue\";\nimport { createElementVNode as _createElementVNode45, openBlock as _openBlock45, createElementBlock as _createElementBlock45 } from \"vue\";\nvar cherry_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent45({\n name: \"Cherry\",\n __name: \"cherry\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock45(), _createElementBlock45(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode45(\"path\", {\n fill: \"currentColor\",\n d: \"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320m448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320\"\n })\n ]));\n }\n});\n\n// src/components/cherry.vue\nvar cherry_default = cherry_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chicken.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent46 } from \"vue\";\nimport { createElementVNode as _createElementVNode46, openBlock as _openBlock46, createElementBlock as _createElementBlock46 } from \"vue\";\nvar chicken_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent46({\n name: \"Chicken\",\n __name: \"chicken\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock46(), _createElementBlock46(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode46(\"path\", {\n fill: \"currentColor\",\n d: \"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84M244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z\"\n })\n ]));\n }\n});\n\n// src/components/chicken.vue\nvar chicken_default = chicken_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/chrome-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent47 } from \"vue\";\nimport { createElementVNode as _createElementVNode47, openBlock as _openBlock47, createElementBlock as _createElementBlock47 } from \"vue\";\nvar chrome_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent47({\n name: \"ChromeFilled\",\n __name: \"chrome-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock47(), _createElementBlock47(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode47(\"path\", {\n fill: \"currentColor\",\n d: \"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z\"\n }),\n _createElementVNode47(\"path\", {\n fill: \"currentColor\",\n d: \"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91\"\n }),\n _createElementVNode47(\"path\", {\n fill: \"currentColor\",\n d: \"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21m117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z\"\n })\n ]));\n }\n});\n\n// src/components/chrome-filled.vue\nvar chrome_filled_default = chrome_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/circle-check-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent48 } from \"vue\";\nimport { createElementVNode as _createElementVNode48, openBlock as _openBlock48, createElementBlock as _createElementBlock48 } from \"vue\";\nvar circle_check_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent48({\n name: \"CircleCheckFilled\",\n __name: \"circle-check-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock48(), _createElementBlock48(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode48(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"\n })\n ]));\n }\n});\n\n// src/components/circle-check-filled.vue\nvar circle_check_filled_default = circle_check_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/circle-check.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent49 } from \"vue\";\nimport { createElementVNode as _createElementVNode49, openBlock as _openBlock49, createElementBlock as _createElementBlock49 } from \"vue\";\nvar circle_check_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent49({\n name: \"CircleCheck\",\n __name: \"circle-check\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock49(), _createElementBlock49(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode49(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n _createElementVNode49(\"path\", {\n fill: \"currentColor\",\n d: \"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z\"\n })\n ]));\n }\n});\n\n// src/components/circle-check.vue\nvar circle_check_default = circle_check_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/circle-close-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent50 } from \"vue\";\nimport { createElementVNode as _createElementVNode50, openBlock as _openBlock50, createElementBlock as _createElementBlock50 } from \"vue\";\nvar circle_close_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent50({\n name: \"CircleCloseFilled\",\n __name: \"circle-close-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock50(), _createElementBlock50(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode50(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z\"\n })\n ]));\n }\n});\n\n// src/components/circle-close-filled.vue\nvar circle_close_filled_default = circle_close_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/circle-close.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent51 } from \"vue\";\nimport { createElementVNode as _createElementVNode51, openBlock as _openBlock51, createElementBlock as _createElementBlock51 } from \"vue\";\nvar circle_close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent51({\n name: \"CircleClose\",\n __name: \"circle-close\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock51(), _createElementBlock51(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode51(\"path\", {\n fill: \"currentColor\",\n d: \"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z\"\n }),\n _createElementVNode51(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n })\n ]));\n }\n});\n\n// src/components/circle-close.vue\nvar circle_close_default = circle_close_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/circle-plus-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent52 } from \"vue\";\nimport { createElementVNode as _createElementVNode52, openBlock as _openBlock52, createElementBlock as _createElementBlock52 } from \"vue\";\nvar circle_plus_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent52({\n name: \"CirclePlusFilled\",\n __name: \"circle-plus-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock52(), _createElementBlock52(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode52(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z\"\n })\n ]));\n }\n});\n\n// src/components/circle-plus-filled.vue\nvar circle_plus_filled_default = circle_plus_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/circle-plus.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent53 } from \"vue\";\nimport { createElementVNode as _createElementVNode53, openBlock as _openBlock53, createElementBlock as _createElementBlock53 } from \"vue\";\nvar circle_plus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent53({\n name: \"CirclePlus\",\n __name: \"circle-plus\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock53(), _createElementBlock53(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode53(\"path\", {\n fill: \"currentColor\",\n d: \"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64\"\n }),\n _createElementVNode53(\"path\", {\n fill: \"currentColor\",\n d: \"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0\"\n }),\n _createElementVNode53(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n })\n ]));\n }\n});\n\n// src/components/circle-plus.vue\nvar circle_plus_default = circle_plus_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/clock.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent54 } from \"vue\";\nimport { createElementVNode as _createElementVNode54, openBlock as _openBlock54, createElementBlock as _createElementBlock54 } from \"vue\";\nvar clock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent54({\n name: \"Clock\",\n __name: \"clock\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock54(), _createElementBlock54(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode54(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n _createElementVNode54(\"path\", {\n fill: \"currentColor\",\n d: \"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32\"\n }),\n _createElementVNode54(\"path\", {\n fill: \"currentColor\",\n d: \"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/clock.vue\nvar clock_default = clock_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/close-bold.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent55 } from \"vue\";\nimport { createElementVNode as _createElementVNode55, openBlock as _openBlock55, createElementBlock as _createElementBlock55 } from \"vue\";\nvar close_bold_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent55({\n name: \"CloseBold\",\n __name: \"close-bold\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock55(), _createElementBlock55(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode55(\"path\", {\n fill: \"currentColor\",\n d: \"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\"\n })\n ]));\n }\n});\n\n// src/components/close-bold.vue\nvar close_bold_default = close_bold_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/close.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent56 } from \"vue\";\nimport { createElementVNode as _createElementVNode56, openBlock as _openBlock56, createElementBlock as _createElementBlock56 } from \"vue\";\nvar close_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent56({\n name: \"Close\",\n __name: \"close\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock56(), _createElementBlock56(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode56(\"path\", {\n fill: \"currentColor\",\n d: \"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n })\n ]));\n }\n});\n\n// src/components/close.vue\nvar close_default = close_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/cloudy.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent57 } from \"vue\";\nimport { createElementVNode as _createElementVNode57, openBlock as _openBlock57, createElementBlock as _createElementBlock57 } from \"vue\";\nvar cloudy_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent57({\n name: \"Cloudy\",\n __name: \"cloudy\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock57(), _createElementBlock57(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode57(\"path\", {\n fill: \"currentColor\",\n d: \"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z\"\n })\n ]));\n }\n});\n\n// src/components/cloudy.vue\nvar cloudy_default = cloudy_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/coffee-cup.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent58 } from \"vue\";\nimport { createElementVNode as _createElementVNode58, openBlock as _openBlock58, createElementBlock as _createElementBlock58 } from \"vue\";\nvar coffee_cup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent58({\n name: \"CoffeeCup\",\n __name: \"coffee-cup\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock58(), _createElementBlock58(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode58(\"path\", {\n fill: \"currentColor\",\n d: \"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v256a128 128 0 1 0 0-256M96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192z\"\n })\n ]));\n }\n});\n\n// src/components/coffee-cup.vue\nvar coffee_cup_default = coffee_cup_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/coffee.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent59 } from \"vue\";\nimport { createElementVNode as _createElementVNode59, openBlock as _openBlock59, createElementBlock as _createElementBlock59 } from \"vue\";\nvar coffee_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent59({\n name: \"Coffee\",\n __name: \"coffee\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock59(), _createElementBlock59(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode59(\"path\", {\n fill: \"currentColor\",\n d: \"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304zm-64.128 0 4.544-64H260.736l4.544 64h493.184m-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784m68.736 64 36.544 512H708.16l36.544-512z\"\n })\n ]));\n }\n});\n\n// src/components/coffee.vue\nvar coffee_default = coffee_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/coin.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent60 } from \"vue\";\nimport { createElementVNode as _createElementVNode60, openBlock as _openBlock60, createElementBlock as _createElementBlock60 } from \"vue\";\nvar coin_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent60({\n name: \"Coin\",\n __name: \"coin\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock60(), _createElementBlock60(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode60(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z\"\n }),\n _createElementVNode60(\"path\", {\n fill: \"currentColor\",\n d: \"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z\"\n }),\n _createElementVNode60(\"path\", {\n fill: \"currentColor\",\n d: \"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160\"\n })\n ]));\n }\n});\n\n// src/components/coin.vue\nvar coin_default = coin_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/cold-drink.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent61 } from \"vue\";\nimport { createElementVNode as _createElementVNode61, openBlock as _openBlock61, createElementBlock as _createElementBlock61 } from \"vue\";\nvar cold_drink_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent61({\n name: \"ColdDrink\",\n __name: \"cold-drink\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock61(), _createElementBlock61(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode61(\"path\", {\n fill: \"currentColor\",\n d: \"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64M656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928z\"\n })\n ]));\n }\n});\n\n// src/components/cold-drink.vue\nvar cold_drink_default = cold_drink_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/collection-tag.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent62 } from \"vue\";\nimport { createElementVNode as _createElementVNode62, openBlock as _openBlock62, createElementBlock as _createElementBlock62 } from \"vue\";\nvar collection_tag_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent62({\n name: \"CollectionTag\",\n __name: \"collection-tag\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock62(), _createElementBlock62(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode62(\"path\", {\n fill: \"currentColor\",\n d: \"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/collection-tag.vue\nvar collection_tag_default = collection_tag_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/collection.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent63 } from \"vue\";\nimport { createElementVNode as _createElementVNode63, openBlock as _openBlock63, createElementBlock as _createElementBlock63 } from \"vue\";\nvar collection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent63({\n name: \"Collection\",\n __name: \"collection\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock63(), _createElementBlock63(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode63(\"path\", {\n fill: \"currentColor\",\n d: \"M192 736h640V128H256a64 64 0 0 0-64 64zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64\"\n }),\n _createElementVNode63(\"path\", {\n fill: \"currentColor\",\n d: \"M240 800a48 48 0 1 0 0 96h592v-96zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224m144-608v250.88l96-76.8 96 76.8V128zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44z\"\n })\n ]));\n }\n});\n\n// src/components/collection.vue\nvar collection_default = collection_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/comment.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent64 } from \"vue\";\nimport { createElementVNode as _createElementVNode64, openBlock as _openBlock64, createElementBlock as _createElementBlock64 } from \"vue\";\nvar comment_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent64({\n name: \"Comment\",\n __name: \"comment\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock64(), _createElementBlock64(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode64(\"path\", {\n fill: \"currentColor\",\n d: \"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112m-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112M128 128v640h192v160l224-160h352V128z\"\n })\n ]));\n }\n});\n\n// src/components/comment.vue\nvar comment_default = comment_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/compass.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent65 } from \"vue\";\nimport { createElementVNode as _createElementVNode65, openBlock as _openBlock65, createElementBlock as _createElementBlock65 } from \"vue\";\nvar compass_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent65({\n name: \"Compass\",\n __name: \"compass\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock65(), _createElementBlock65(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode65(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n _createElementVNode65(\"path\", {\n fill: \"currentColor\",\n d: \"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832\"\n })\n ]));\n }\n});\n\n// src/components/compass.vue\nvar compass_default = compass_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/connection.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent66 } from \"vue\";\nimport { createElementVNode as _createElementVNode66, openBlock as _openBlock66, createElementBlock as _createElementBlock66 } from \"vue\";\nvar connection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent66({\n name: \"Connection\",\n __name: \"connection\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock66(), _createElementBlock66(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode66(\"path\", {\n fill: \"currentColor\",\n d: \"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z\"\n }),\n _createElementVNode66(\"path\", {\n fill: \"currentColor\",\n d: \"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z\"\n })\n ]));\n }\n});\n\n// src/components/connection.vue\nvar connection_default = connection_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/coordinate.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent67 } from \"vue\";\nimport { createElementVNode as _createElementVNode67, openBlock as _openBlock67, createElementBlock as _createElementBlock67 } from \"vue\";\nvar coordinate_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent67({\n name: \"Coordinate\",\n __name: \"coordinate\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock67(), _createElementBlock67(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode67(\"path\", {\n fill: \"currentColor\",\n d: \"M480 512h64v320h-64z\"\n }),\n _createElementVNode67(\"path\", {\n fill: \"currentColor\",\n d: \"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64m64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128m256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512\"\n })\n ]));\n }\n});\n\n// src/components/coordinate.vue\nvar coordinate_default = coordinate_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/copy-document.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent68 } from \"vue\";\nimport { createElementVNode as _createElementVNode68, openBlock as _openBlock68, createElementBlock as _createElementBlock68 } from \"vue\";\nvar copy_document_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent68({\n name: \"CopyDocument\",\n __name: \"copy-document\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock68(), _createElementBlock68(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode68(\"path\", {\n fill: \"currentColor\",\n d: \"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z\"\n }),\n _createElementVNode68(\"path\", {\n fill: \"currentColor\",\n d: \"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64\"\n })\n ]));\n }\n});\n\n// src/components/copy-document.vue\nvar copy_document_default = copy_document_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/cpu.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent69 } from \"vue\";\nimport { createElementVNode as _createElementVNode69, openBlock as _openBlock69, createElementBlock as _createElementBlock69 } from \"vue\";\nvar cpu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent69({\n name: \"Cpu\",\n __name: \"cpu\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock69(), _createElementBlock69(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode69(\"path\", {\n fill: \"currentColor\",\n d: \"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128\"\n }),\n _createElementVNode69(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32\"\n })\n ]));\n }\n});\n\n// src/components/cpu.vue\nvar cpu_default = cpu_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/credit-card.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent70 } from \"vue\";\nimport { createElementVNode as _createElementVNode70, openBlock as _openBlock70, createElementBlock as _createElementBlock70 } from \"vue\";\nvar credit_card_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent70({\n name: \"CreditCard\",\n __name: \"credit-card\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock70(), _createElementBlock70(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode70(\"path\", {\n fill: \"currentColor\",\n d: \"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z\"\n }),\n _createElementVNode70(\"path\", {\n fill: \"currentColor\",\n d: \"M64 320h896v64H64zm0 128h896v64H64zm128 192h256v64H192z\"\n })\n ]));\n }\n});\n\n// src/components/credit-card.vue\nvar credit_card_default = credit_card_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/crop.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent71 } from \"vue\";\nimport { createElementVNode as _createElementVNode71, openBlock as _openBlock71, createElementBlock as _createElementBlock71 } from \"vue\";\nvar crop_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent71({\n name: \"Crop\",\n __name: \"crop\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock71(), _createElementBlock71(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode71(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0z\"\n }),\n _createElementVNode71(\"path\", {\n fill: \"currentColor\",\n d: \"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32\"\n })\n ]));\n }\n});\n\n// src/components/crop.vue\nvar crop_default = crop_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/d-arrow-left.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent72 } from \"vue\";\nimport { createElementVNode as _createElementVNode72, openBlock as _openBlock72, createElementBlock as _createElementBlock72 } from \"vue\";\nvar d_arrow_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent72({\n name: \"DArrowLeft\",\n __name: \"d-arrow-left\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock72(), _createElementBlock72(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode72(\"path\", {\n fill: \"currentColor\",\n d: \"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z\"\n })\n ]));\n }\n});\n\n// src/components/d-arrow-left.vue\nvar d_arrow_left_default = d_arrow_left_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/d-arrow-right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent73 } from \"vue\";\nimport { createElementVNode as _createElementVNode73, openBlock as _openBlock73, createElementBlock as _createElementBlock73 } from \"vue\";\nvar d_arrow_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent73({\n name: \"DArrowRight\",\n __name: \"d-arrow-right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock73(), _createElementBlock73(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode73(\"path\", {\n fill: \"currentColor\",\n d: \"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z\"\n })\n ]));\n }\n});\n\n// src/components/d-arrow-right.vue\nvar d_arrow_right_default = d_arrow_right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/d-caret.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent74 } from \"vue\";\nimport { createElementVNode as _createElementVNode74, openBlock as _openBlock74, createElementBlock as _createElementBlock74 } from \"vue\";\nvar d_caret_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent74({\n name: \"DCaret\",\n __name: \"d-caret\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock74(), _createElementBlock74(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode74(\"path\", {\n fill: \"currentColor\",\n d: \"m512 128 288 320H224zM224 576h576L512 896z\"\n })\n ]));\n }\n});\n\n// src/components/d-caret.vue\nvar d_caret_default = d_caret_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/data-analysis.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent75 } from \"vue\";\nimport { createElementVNode as _createElementVNode75, openBlock as _openBlock75, createElementBlock as _createElementBlock75 } from \"vue\";\nvar data_analysis_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent75({\n name: \"DataAnalysis\",\n __name: \"data-analysis\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock75(), _createElementBlock75(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode75(\"path\", {\n fill: \"currentColor\",\n d: \"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32zM832 192H192v512h640zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32m160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/data-analysis.vue\nvar data_analysis_default = data_analysis_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/data-board.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent76 } from \"vue\";\nimport { createElementVNode as _createElementVNode76, openBlock as _openBlock76, createElementBlock as _createElementBlock76 } from \"vue\";\nvar data_board_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent76({\n name: \"DataBoard\",\n __name: \"data-board\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock76(), _createElementBlock76(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode76(\"path\", {\n fill: \"currentColor\",\n d: \"M32 128h960v64H32z\"\n }),\n _createElementVNode76(\"path\", {\n fill: \"currentColor\",\n d: \"M192 192v512h640V192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z\"\n }),\n _createElementVNode76(\"path\", {\n fill: \"currentColor\",\n d: \"M322.176 960H248.32l144.64-250.56 55.424 32zm453.888 0h-73.856L576 741.44l55.424-32z\"\n })\n ]));\n }\n});\n\n// src/components/data-board.vue\nvar data_board_default = data_board_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/data-line.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent77 } from \"vue\";\nimport { createElementVNode as _createElementVNode77, openBlock as _openBlock77, createElementBlock as _createElementBlock77 } from \"vue\";\nvar data_line_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent77({\n name: \"DataLine\",\n __name: \"data-line\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock77(), _createElementBlock77(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode77(\"path\", {\n fill: \"currentColor\",\n d: \"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32zM832 192H192v512h640zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z\"\n })\n ]));\n }\n});\n\n// src/components/data-line.vue\nvar data_line_default = data_line_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/delete-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent78 } from \"vue\";\nimport { createElementVNode as _createElementVNode78, openBlock as _openBlock78, createElementBlock as _createElementBlock78 } from \"vue\";\nvar delete_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent78({\n name: \"DeleteFilled\",\n __name: \"delete-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock78(), _createElementBlock78(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode78(\"path\", {\n fill: \"currentColor\",\n d: \"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64zm64 0h192v-64H416zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32m192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32\"\n })\n ]));\n }\n});\n\n// src/components/delete-filled.vue\nvar delete_filled_default = delete_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/delete-location.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent79 } from \"vue\";\nimport { createElementVNode as _createElementVNode79, openBlock as _openBlock79, createElementBlock as _createElementBlock79 } from \"vue\";\nvar delete_location_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent79({\n name: \"DeleteLocation\",\n __name: \"delete-location\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock79(), _createElementBlock79(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode79(\"path\", {\n fill: \"currentColor\",\n d: \"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n }),\n _createElementVNode79(\"path\", {\n fill: \"currentColor\",\n d: \"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544\"\n }),\n _createElementVNode79(\"path\", {\n fill: \"currentColor\",\n d: \"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/delete-location.vue\nvar delete_location_default = delete_location_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/delete.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent80 } from \"vue\";\nimport { createElementVNode as _createElementVNode80, openBlock as _openBlock80, createElementBlock as _createElementBlock80 } from \"vue\";\nvar delete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent80({\n name: \"Delete\",\n __name: \"delete\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock80(), _createElementBlock80(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode80(\"path\", {\n fill: \"currentColor\",\n d: \"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32\"\n })\n ]));\n }\n});\n\n// src/components/delete.vue\nvar delete_default = delete_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/dessert.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent81 } from \"vue\";\nimport { createElementVNode as _createElementVNode81, openBlock as _openBlock81, createElementBlock as _createElementBlock81 } from \"vue\";\nvar dessert_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent81({\n name: \"Dessert\",\n __name: \"dessert\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock81(), _createElementBlock81(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode81(\"path\", {\n fill: \"currentColor\",\n d: \"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416m287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48m339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736M384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64\"\n })\n ]));\n }\n});\n\n// src/components/dessert.vue\nvar dessert_default = dessert_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/discount.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent82 } from \"vue\";\nimport { createElementVNode as _createElementVNode82, openBlock as _openBlock82, createElementBlock as _createElementBlock82 } from \"vue\";\nvar discount_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent82({\n name: \"Discount\",\n __name: \"discount\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock82(), _createElementBlock82(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode82(\"path\", {\n fill: \"currentColor\",\n d: \"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zm0 64v128h576V768zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0\"\n }),\n _createElementVNode82(\"path\", {\n fill: \"currentColor\",\n d: \"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256\"\n })\n ]));\n }\n});\n\n// src/components/discount.vue\nvar discount_default = discount_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/dish-dot.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent83 } from \"vue\";\nimport { createElementVNode as _createElementVNode83, openBlock as _openBlock83, createElementBlock as _createElementBlock83 } from \"vue\";\nvar dish_dot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent83({\n name: \"DishDot\",\n __name: \"dish-dot\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock83(), _createElementBlock83(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode83(\"path\", {\n fill: \"currentColor\",\n d: \"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64m32-128h768a384 384 0 1 0-768 0m447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256z\"\n })\n ]));\n }\n});\n\n// src/components/dish-dot.vue\nvar dish_dot_default = dish_dot_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/dish.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent84 } from \"vue\";\nimport { createElementVNode as _createElementVNode84, openBlock as _openBlock84, createElementBlock as _createElementBlock84 } from \"vue\";\nvar dish_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent84({\n name: \"Dish\",\n __name: \"dish\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock84(), _createElementBlock84(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode84(\"path\", {\n fill: \"currentColor\",\n d: \"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152M128 704h768a384 384 0 1 0-768 0M96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64\"\n })\n ]));\n }\n});\n\n// src/components/dish.vue\nvar dish_default = dish_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/document-add.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent85 } from \"vue\";\nimport { createElementVNode as _createElementVNode85, openBlock as _openBlock85, createElementBlock as _createElementBlock85 } from \"vue\";\nvar document_add_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent85({\n name: \"DocumentAdd\",\n __name: \"document-add\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock85(), _createElementBlock85(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode85(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m320 512V448h64v128h128v64H544v128h-64V640H352v-64z\"\n })\n ]));\n }\n});\n\n// src/components/document-add.vue\nvar document_add_default = document_add_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/document-checked.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent86 } from \"vue\";\nimport { createElementVNode as _createElementVNode86, openBlock as _openBlock86, createElementBlock as _createElementBlock86 } from \"vue\";\nvar document_checked_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent86({\n name: \"DocumentChecked\",\n __name: \"document-checked\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock86(), _createElementBlock86(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode86(\"path\", {\n fill: \"currentColor\",\n d: \"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312z\"\n })\n ]));\n }\n});\n\n// src/components/document-checked.vue\nvar document_checked_default = document_checked_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/document-copy.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent87 } from \"vue\";\nimport { createElementVNode as _createElementVNode87, openBlock as _openBlock87, createElementBlock as _createElementBlock87 } from \"vue\";\nvar document_copy_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent87({\n name: \"DocumentCopy\",\n __name: \"document-copy\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock87(), _createElementBlock87(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode87(\"path\", {\n fill: \"currentColor\",\n d: \"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z\"\n })\n ]));\n }\n});\n\n// src/components/document-copy.vue\nvar document_copy_default = document_copy_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/document-delete.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent88 } from \"vue\";\nimport { createElementVNode as _createElementVNode88, openBlock as _openBlock88, createElementBlock as _createElementBlock88 } from \"vue\";\nvar document_delete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent88({\n name: \"DocumentDelete\",\n __name: \"document-delete\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock88(), _createElementBlock88(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode88(\"path\", {\n fill: \"currentColor\",\n d: \"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z\"\n })\n ]));\n }\n});\n\n// src/components/document-delete.vue\nvar document_delete_default = document_delete_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/document-remove.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent89 } from \"vue\";\nimport { createElementVNode as _createElementVNode89, openBlock as _openBlock89, createElementBlock as _createElementBlock89 } from \"vue\";\nvar document_remove_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent89({\n name: \"DocumentRemove\",\n __name: \"document-remove\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock89(), _createElementBlock89(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode89(\"path\", {\n fill: \"currentColor\",\n d: \"M805.504 320 640 154.496V320zM832 384H576V128H192v768h640zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m192 512h320v64H352z\"\n })\n ]));\n }\n});\n\n// src/components/document-remove.vue\nvar document_remove_default = document_remove_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/document.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent90 } from \"vue\";\nimport { createElementVNode as _createElementVNode90, openBlock as _openBlock90, createElementBlock as _createElementBlock90 } from \"vue\";\nvar document_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent90({\n name: \"Document\",\n __name: \"document\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock90(), _createElementBlock90(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode90(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z\"\n })\n ]));\n }\n});\n\n// src/components/document.vue\nvar document_default = document_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/download.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent91 } from \"vue\";\nimport { createElementVNode as _createElementVNode91, openBlock as _openBlock91, createElementBlock as _createElementBlock91 } from \"vue\";\nvar download_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent91({\n name: \"Download\",\n __name: \"download\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock91(), _createElementBlock91(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode91(\"path\", {\n fill: \"currentColor\",\n d: \"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64z\"\n })\n ]));\n }\n});\n\n// src/components/download.vue\nvar download_default = download_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/drizzling.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent92 } from \"vue\";\nimport { createElementVNode as _createElementVNode92, openBlock as _openBlock92, createElementBlock as _createElementBlock92 } from \"vue\";\nvar drizzling_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent92({\n name: \"Drizzling\",\n __name: \"drizzling\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock92(), _createElementBlock92(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode92(\"path\", {\n fill: \"currentColor\",\n d: \"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M288 800h64v64h-64zm192 0h64v64h-64zm-96 96h64v64h-64zm192 0h64v64h-64zm96-96h64v64h-64z\"\n })\n ]));\n }\n});\n\n// src/components/drizzling.vue\nvar drizzling_default = drizzling_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/edit-pen.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent93 } from \"vue\";\nimport { createElementVNode as _createElementVNode93, openBlock as _openBlock93, createElementBlock as _createElementBlock93 } from \"vue\";\nvar edit_pen_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent93({\n name: \"EditPen\",\n __name: \"edit-pen\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock93(), _createElementBlock93(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode93(\"path\", {\n fill: \"currentColor\",\n d: \"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64h-448z\"\n })\n ]));\n }\n});\n\n// src/components/edit-pen.vue\nvar edit_pen_default = edit_pen_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/edit.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent94 } from \"vue\";\nimport { createElementVNode as _createElementVNode94, openBlock as _openBlock94, createElementBlock as _createElementBlock94 } from \"vue\";\nvar edit_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent94({\n name: \"Edit\",\n __name: \"edit\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock94(), _createElementBlock94(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode94(\"path\", {\n fill: \"currentColor\",\n d: \"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z\"\n }),\n _createElementVNode94(\"path\", {\n fill: \"currentColor\",\n d: \"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z\"\n })\n ]));\n }\n});\n\n// src/components/edit.vue\nvar edit_default = edit_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/eleme-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent95 } from \"vue\";\nimport { createElementVNode as _createElementVNode95, openBlock as _openBlock95, createElementBlock as _createElementBlock95 } from \"vue\";\nvar eleme_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent95({\n name: \"ElemeFilled\",\n __name: \"eleme-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock95(), _createElementBlock95(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode95(\"path\", {\n fill: \"currentColor\",\n d: \"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112m150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z\"\n })\n ]));\n }\n});\n\n// src/components/eleme-filled.vue\nvar eleme_filled_default = eleme_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/eleme.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent96 } from \"vue\";\nimport { createElementVNode as _createElementVNode96, openBlock as _openBlock96, createElementBlock as _createElementBlock96 } from \"vue\";\nvar eleme_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent96({\n name: \"Eleme\",\n __name: \"eleme\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock96(), _createElementBlock96(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode96(\"path\", {\n fill: \"currentColor\",\n d: \"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z\"\n })\n ]));\n }\n});\n\n// src/components/eleme.vue\nvar eleme_default = eleme_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/element-plus.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent97 } from \"vue\";\nimport { createElementVNode as _createElementVNode97, openBlock as _openBlock97, createElementBlock as _createElementBlock97 } from \"vue\";\nvar element_plus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent97({\n name: \"ElementPlus\",\n __name: \"element-plus\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock97(), _createElementBlock97(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode97(\"path\", {\n fill: \"currentColor\",\n d: \"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8M714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z\"\n })\n ]));\n }\n});\n\n// src/components/element-plus.vue\nvar element_plus_default = element_plus_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/expand.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent98 } from \"vue\";\nimport { createElementVNode as _createElementVNode98, openBlock as _openBlock98, createElementBlock as _createElementBlock98 } from \"vue\";\nvar expand_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent98({\n name: \"Expand\",\n __name: \"expand\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock98(), _createElementBlock98(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode98(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192h768v128H128zm0 256h512v128H128zm0 256h768v128H128zm576-352 192 160-192 128z\"\n })\n ]));\n }\n});\n\n// src/components/expand.vue\nvar expand_default = expand_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/failed.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent99 } from \"vue\";\nimport { createElementVNode as _createElementVNode99, openBlock as _openBlock99, createElementBlock as _createElementBlock99 } from \"vue\";\nvar failed_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent99({\n name: \"Failed\",\n __name: \"failed\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock99(), _createElementBlock99(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode99(\"path\", {\n fill: \"currentColor\",\n d: \"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384zm-320 0V96h256v96z\"\n })\n ]));\n }\n});\n\n// src/components/failed.vue\nvar failed_default = failed_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/female.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent100 } from \"vue\";\nimport { createElementVNode as _createElementVNode100, openBlock as _openBlock100, createElementBlock as _createElementBlock100 } from \"vue\";\nvar female_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent100({\n name: \"Female\",\n __name: \"female\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock100(), _createElementBlock100(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode100(\"path\", {\n fill: \"currentColor\",\n d: \"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640\"\n }),\n _createElementVNode100(\"path\", {\n fill: \"currentColor\",\n d: \"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32\"\n }),\n _createElementVNode100(\"path\", {\n fill: \"currentColor\",\n d: \"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/female.vue\nvar female_default = female_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/files.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent101 } from \"vue\";\nimport { createElementVNode as _createElementVNode101, openBlock as _openBlock101, createElementBlock as _createElementBlock101 } from \"vue\";\nvar files_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent101({\n name: \"Files\",\n __name: \"files\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock101(), _createElementBlock101(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode101(\"path\", {\n fill: \"currentColor\",\n d: \"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z\"\n })\n ]));\n }\n});\n\n// src/components/files.vue\nvar files_default = files_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/film.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent102 } from \"vue\";\nimport { createElementVNode as _createElementVNode102, openBlock as _openBlock102, createElementBlock as _createElementBlock102 } from \"vue\";\nvar film_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent102({\n name: \"Film\",\n __name: \"film\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock102(), _createElementBlock102(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode102(\"path\", {\n fill: \"currentColor\",\n d: \"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32\"\n }),\n _createElementVNode102(\"path\", {\n fill: \"currentColor\",\n d: \"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64z\"\n })\n ]));\n }\n});\n\n// src/components/film.vue\nvar film_default = film_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/filter.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent103 } from \"vue\";\nimport { createElementVNode as _createElementVNode103, openBlock as _openBlock103, createElementBlock as _createElementBlock103 } from \"vue\";\nvar filter_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent103({\n name: \"Filter\",\n __name: \"filter\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock103(), _createElementBlock103(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode103(\"path\", {\n fill: \"currentColor\",\n d: \"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288z\"\n })\n ]));\n }\n});\n\n// src/components/filter.vue\nvar filter_default = filter_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/finished.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent104 } from \"vue\";\nimport { createElementVNode as _createElementVNode104, openBlock as _openBlock104, createElementBlock as _createElementBlock104 } from \"vue\";\nvar finished_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent104({\n name: \"Finished\",\n __name: \"finished\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock104(), _createElementBlock104(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode104(\"path\", {\n fill: \"currentColor\",\n d: \"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64z\"\n })\n ]));\n }\n});\n\n// src/components/finished.vue\nvar finished_default = finished_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/first-aid-kit.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent105 } from \"vue\";\nimport { createElementVNode as _createElementVNode105, openBlock as _openBlock105, createElementBlock as _createElementBlock105 } from \"vue\";\nvar first_aid_kit_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent105({\n name: \"FirstAidKit\",\n __name: \"first-aid-kit\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock105(), _createElementBlock105(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode105(\"path\", {\n fill: \"currentColor\",\n d: \"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128\"\n }),\n _createElementVNode105(\"path\", {\n fill: \"currentColor\",\n d: \"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0zM352 128v64h320v-64zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/first-aid-kit.vue\nvar first_aid_kit_default = first_aid_kit_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/flag.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent106 } from \"vue\";\nimport { createElementVNode as _createElementVNode106, openBlock as _openBlock106, createElementBlock as _createElementBlock106 } from \"vue\";\nvar flag_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent106({\n name: \"Flag\",\n __name: \"flag\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock106(), _createElementBlock106(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode106(\"path\", {\n fill: \"currentColor\",\n d: \"M288 128h608L736 384l160 256H288v320h-96V64h96z\"\n })\n ]));\n }\n});\n\n// src/components/flag.vue\nvar flag_default = flag_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/fold.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent107 } from \"vue\";\nimport { createElementVNode as _createElementVNode107, openBlock as _openBlock107, createElementBlock as _createElementBlock107 } from \"vue\";\nvar fold_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent107({\n name: \"Fold\",\n __name: \"fold\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock107(), _createElementBlock107(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode107(\"path\", {\n fill: \"currentColor\",\n d: \"M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z\"\n })\n ]));\n }\n});\n\n// src/components/fold.vue\nvar fold_default = fold_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/folder-add.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent108 } from \"vue\";\nimport { createElementVNode as _createElementVNode108, openBlock as _openBlock108, createElementBlock as _createElementBlock108 } from \"vue\";\nvar folder_add_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent108({\n name: \"FolderAdd\",\n __name: \"folder-add\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock108(), _createElementBlock108(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode108(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m384 416V416h64v128h128v64H544v128h-64V608H352v-64z\"\n })\n ]));\n }\n});\n\n// src/components/folder-add.vue\nvar folder_add_default = folder_add_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/folder-checked.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent109 } from \"vue\";\nimport { createElementVNode as _createElementVNode109, openBlock as _openBlock109, createElementBlock as _createElementBlock109 } from \"vue\";\nvar folder_checked_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent109({\n name: \"FolderChecked\",\n __name: \"folder-checked\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock109(), _createElementBlock109(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode109(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312z\"\n })\n ]));\n }\n});\n\n// src/components/folder-checked.vue\nvar folder_checked_default = folder_checked_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/folder-delete.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent110 } from \"vue\";\nimport { createElementVNode as _createElementVNode110, openBlock as _openBlock110, createElementBlock as _createElementBlock110 } from \"vue\";\nvar folder_delete_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent110({\n name: \"FolderDelete\",\n __name: \"folder-delete\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock110(), _createElementBlock110(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode110(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248z\"\n })\n ]));\n }\n});\n\n// src/components/folder-delete.vue\nvar folder_delete_default = folder_delete_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/folder-opened.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent111 } from \"vue\";\nimport { createElementVNode as _createElementVNode111, openBlock as _openBlock111, createElementBlock as _createElementBlock111 } from \"vue\";\nvar folder_opened_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent111({\n name: \"FolderOpened\",\n __name: \"folder-opened\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock111(), _createElementBlock111(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode111(\"path\", {\n fill: \"currentColor\",\n d: \"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896\"\n })\n ]));\n }\n});\n\n// src/components/folder-opened.vue\nvar folder_opened_default = folder_opened_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/folder-remove.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent112 } from \"vue\";\nimport { createElementVNode as _createElementVNode112, openBlock as _openBlock112, createElementBlock as _createElementBlock112 } from \"vue\";\nvar folder_remove_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent112({\n name: \"FolderRemove\",\n __name: \"folder-remove\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock112(), _createElementBlock112(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode112(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32m256 416h320v64H352z\"\n })\n ]));\n }\n});\n\n// src/components/folder-remove.vue\nvar folder_remove_default = folder_remove_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/folder.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent113 } from \"vue\";\nimport { createElementVNode as _createElementVNode113, openBlock as _openBlock113, createElementBlock as _createElementBlock113 } from \"vue\";\nvar folder_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent113({\n name: \"Folder\",\n __name: \"folder\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock113(), _createElementBlock113(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode113(\"path\", {\n fill: \"currentColor\",\n d: \"M128 192v640h768V320H485.76L357.504 192zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/folder.vue\nvar folder_default = folder_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/food.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent114 } from \"vue\";\nimport { createElementVNode as _createElementVNode114, openBlock as _openBlock114, createElementBlock as _createElementBlock114 } from \"vue\";\nvar food_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent114({\n name: \"Food\",\n __name: \"food\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock114(), _createElementBlock114(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode114(\"path\", {\n fill: \"currentColor\",\n d: \"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0m128 0h192a96 96 0 0 0-192 0m439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352M672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288\"\n })\n ]));\n }\n});\n\n// src/components/food.vue\nvar food_default = food_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/football.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent115 } from \"vue\";\nimport { createElementVNode as _createElementVNode115, openBlock as _openBlock115, createElementBlock as _createElementBlock115 } from \"vue\";\nvar football_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent115({\n name: \"Football\",\n __name: \"football\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock115(), _createElementBlock115(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode115(\"path\", {\n fill: \"currentColor\",\n d: \"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768\"\n }),\n _createElementVNode115(\"path\", {\n fill: \"currentColor\",\n d: \"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0m-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z\"\n })\n ]));\n }\n});\n\n// src/components/football.vue\nvar football_default = football_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/fork-spoon.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent116 } from \"vue\";\nimport { createElementVNode as _createElementVNode116, openBlock as _openBlock116, createElementBlock as _createElementBlock116 } from \"vue\";\nvar fork_spoon_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent116({\n name: \"ForkSpoon\",\n __name: \"fork-spoon\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock116(), _createElementBlock116(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode116(\"path\", {\n fill: \"currentColor\",\n d: \"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192\"\n })\n ]));\n }\n});\n\n// src/components/fork-spoon.vue\nvar fork_spoon_default = fork_spoon_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/fries.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent117 } from \"vue\";\nimport { createElementVNode as _createElementVNode117, openBlock as _openBlock117, createElementBlock as _createElementBlock117 } from \"vue\";\nvar fries_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent117({\n name: \"Fries\",\n __name: \"fries\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock117(), _createElementBlock117(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode117(\"path\", {\n fill: \"currentColor\",\n d: \"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480zm-128 96V224a32 32 0 0 0-64 0v160zh-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704z\"\n })\n ]));\n }\n});\n\n// src/components/fries.vue\nvar fries_default = fries_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/full-screen.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent118 } from \"vue\";\nimport { createElementVNode as _createElementVNode118, openBlock as _openBlock118, createElementBlock as _createElementBlock118 } from \"vue\";\nvar full_screen_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent118({\n name: \"FullScreen\",\n __name: \"full-screen\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock118(), _createElementBlock118(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode118(\"path\", {\n fill: \"currentColor\",\n d: \"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z\"\n })\n ]));\n }\n});\n\n// src/components/full-screen.vue\nvar full_screen_default = full_screen_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/goblet-full.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent119 } from \"vue\";\nimport { createElementVNode as _createElementVNode119, openBlock as _openBlock119, createElementBlock as _createElementBlock119 } from \"vue\";\nvar goblet_full_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent119({\n name: \"GobletFull\",\n __name: \"goblet-full\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock119(), _createElementBlock119(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode119(\"path\", {\n fill: \"currentColor\",\n d: \"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320m503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4\"\n })\n ]));\n }\n});\n\n// src/components/goblet-full.vue\nvar goblet_full_default = goblet_full_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/goblet-square-full.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent120 } from \"vue\";\nimport { createElementVNode as _createElementVNode120, openBlock as _openBlock120, createElementBlock as _createElementBlock120 } from \"vue\";\nvar goblet_square_full_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent120({\n name: \"GobletSquareFull\",\n __name: \"goblet-square-full\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock120(), _createElementBlock120(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode120(\"path\", {\n fill: \"currentColor\",\n d: \"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96z\"\n })\n ]));\n }\n});\n\n// src/components/goblet-square-full.vue\nvar goblet_square_full_default = goblet_square_full_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/goblet-square.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent121 } from \"vue\";\nimport { createElementVNode as _createElementVNode121, openBlock as _openBlock121, createElementBlock as _createElementBlock121 } from \"vue\";\nvar goblet_square_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent121({\n name: \"GobletSquare\",\n __name: \"goblet-square\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock121(), _createElementBlock121(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode121(\"path\", {\n fill: \"currentColor\",\n d: \"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912M256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256z\"\n })\n ]));\n }\n});\n\n// src/components/goblet-square.vue\nvar goblet_square_default = goblet_square_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/goblet.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent122 } from \"vue\";\nimport { createElementVNode as _createElementVNode122, openBlock as _openBlock122, createElementBlock as _createElementBlock122 } from \"vue\";\nvar goblet_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent122({\n name: \"Goblet\",\n __name: \"goblet\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock122(), _createElementBlock122(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode122(\"path\", {\n fill: \"currentColor\",\n d: \"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4M256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320\"\n })\n ]));\n }\n});\n\n// src/components/goblet.vue\nvar goblet_default = goblet_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/gold-medal.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent123 } from \"vue\";\nimport { createElementVNode as _createElementVNode123, openBlock as _openBlock123, createElementBlock as _createElementBlock123 } from \"vue\";\nvar gold_medal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent123({\n name: \"GoldMedal\",\n __name: \"gold-medal\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock123(), _createElementBlock123(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode123(\"path\", {\n fill: \"currentColor\",\n d: \"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z\"\n }),\n _createElementVNode123(\"path\", {\n fill: \"currentColor\",\n d: \"M544 480H416v64h64v192h-64v64h192v-64h-64z\"\n })\n ]));\n }\n});\n\n// src/components/gold-medal.vue\nvar gold_medal_default = gold_medal_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/goods-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent124 } from \"vue\";\nimport { createElementVNode as _createElementVNode124, openBlock as _openBlock124, createElementBlock as _createElementBlock124 } from \"vue\";\nvar goods_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent124({\n name: \"GoodsFilled\",\n __name: \"goods-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock124(), _createElementBlock124(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode124(\"path\", {\n fill: \"currentColor\",\n d: \"M192 352h640l64 544H128zm128 224h64V448h-64zm320 0h64V448h-64zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0\"\n })\n ]));\n }\n});\n\n// src/components/goods-filled.vue\nvar goods_filled_default = goods_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/goods.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent125 } from \"vue\";\nimport { createElementVNode as _createElementVNode125, openBlock as _openBlock125, createElementBlock as _createElementBlock125 } from \"vue\";\nvar goods_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent125({\n name: \"Goods\",\n __name: \"goods\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock125(), _createElementBlock125(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode125(\"path\", {\n fill: \"currentColor\",\n d: \"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0z\"\n })\n ]));\n }\n});\n\n// src/components/goods.vue\nvar goods_default = goods_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/grape.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent126 } from \"vue\";\nimport { createElementVNode as _createElementVNode126, openBlock as _openBlock126, createElementBlock as _createElementBlock126 } from \"vue\";\nvar grape_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent126({\n name: \"Grape\",\n __name: \"grape\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock126(), _createElementBlock126(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode126(\"path\", {\n fill: \"currentColor\",\n d: \"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192m-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192m128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192\"\n })\n ]));\n }\n});\n\n// src/components/grape.vue\nvar grape_default = grape_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/grid.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent127 } from \"vue\";\nimport { createElementVNode as _createElementVNode127, openBlock as _openBlock127, createElementBlock as _createElementBlock127 } from \"vue\";\nvar grid_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent127({\n name: \"Grid\",\n __name: \"grid\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock127(), _createElementBlock127(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode127(\"path\", {\n fill: \"currentColor\",\n d: \"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z\"\n })\n ]));\n }\n});\n\n// src/components/grid.vue\nvar grid_default = grid_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/guide.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent128 } from \"vue\";\nimport { createElementVNode as _createElementVNode128, openBlock as _openBlock128, createElementBlock as _createElementBlock128 } from \"vue\";\nvar guide_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent128({\n name: \"Guide\",\n __name: \"guide\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock128(), _createElementBlock128(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode128(\"path\", {\n fill: \"currentColor\",\n d: \"M640 608h-64V416h64zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768zM384 608V416h64v192zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32z\"\n }),\n _createElementVNode128(\"path\", {\n fill: \"currentColor\",\n d: \"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192m678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z\"\n })\n ]));\n }\n});\n\n// src/components/guide.vue\nvar guide_default = guide_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/handbag.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent129 } from \"vue\";\nimport { createElementVNode as _createElementVNode129, openBlock as _openBlock129, createElementBlock as _createElementBlock129 } from \"vue\";\nvar handbag_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent129({\n name: \"Handbag\",\n __name: \"handbag\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock129(), _createElementBlock129(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode129(\"path\", {\n fill: \"currentColor\",\n d: \"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01M421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5M832 896H192V320h128v128h64V320h256v128h64V320h128z\"\n })\n ]));\n }\n});\n\n// src/components/handbag.vue\nvar handbag_default = handbag_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/headset.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent130 } from \"vue\";\nimport { createElementVNode as _createElementVNode130, openBlock as _openBlock130, createElementBlock as _createElementBlock130 } from \"vue\";\nvar headset_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent130({\n name: \"Headset\",\n __name: \"headset\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock130(), _createElementBlock130(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode130(\"path\", {\n fill: \"currentColor\",\n d: \"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848M896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0\"\n })\n ]));\n }\n});\n\n// src/components/headset.vue\nvar headset_default = headset_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/help-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent131 } from \"vue\";\nimport { createElementVNode as _createElementVNode131, openBlock as _openBlock131, createElementBlock as _createElementBlock131 } from \"vue\";\nvar help_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent131({\n name: \"HelpFilled\",\n __name: \"help-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock131(), _createElementBlock131(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode131(\"path\", {\n fill: \"currentColor\",\n d: \"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480m0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z\"\n })\n ]));\n }\n});\n\n// src/components/help-filled.vue\nvar help_filled_default = help_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/help.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent132 } from \"vue\";\nimport { createElementVNode as _createElementVNode132, openBlock as _openBlock132, createElementBlock as _createElementBlock132 } from \"vue\";\nvar help_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent132({\n name: \"Help\",\n __name: \"help\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock132(), _createElementBlock132(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode132(\"path\", {\n fill: \"currentColor\",\n d: \"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752m45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n })\n ]));\n }\n});\n\n// src/components/help.vue\nvar help_default = help_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/hide.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent133 } from \"vue\";\nimport { createElementVNode as _createElementVNode133, openBlock as _openBlock133, createElementBlock as _createElementBlock133 } from \"vue\";\nvar hide_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent133({\n name: \"Hide\",\n __name: \"hide\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock133(), _createElementBlock133(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode133(\"path\", {\n fill: \"currentColor\",\n d: \"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z\"\n }),\n _createElementVNode133(\"path\", {\n fill: \"currentColor\",\n d: \"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z\"\n })\n ]));\n }\n});\n\n// src/components/hide.vue\nvar hide_default = hide_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/histogram.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent134 } from \"vue\";\nimport { createElementVNode as _createElementVNode134, openBlock as _openBlock134, createElementBlock as _createElementBlock134 } from \"vue\";\nvar histogram_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent134({\n name: \"Histogram\",\n __name: \"histogram\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock134(), _createElementBlock134(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode134(\"path\", {\n fill: \"currentColor\",\n d: \"M416 896V128h192v768zm-288 0V448h192v448zm576 0V320h192v576z\"\n })\n ]));\n }\n});\n\n// src/components/histogram.vue\nvar histogram_default = histogram_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/home-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent135 } from \"vue\";\nimport { createElementVNode as _createElementVNode135, openBlock as _openBlock135, createElementBlock as _createElementBlock135 } from \"vue\";\nvar home_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent135({\n name: \"HomeFilled\",\n __name: \"home-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock135(), _createElementBlock135(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode135(\"path\", {\n fill: \"currentColor\",\n d: \"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z\"\n })\n ]));\n }\n});\n\n// src/components/home-filled.vue\nvar home_filled_default = home_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/hot-water.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent136 } from \"vue\";\nimport { createElementVNode as _createElementVNode136, openBlock as _openBlock136, createElementBlock as _createElementBlock136 } from \"vue\";\nvar hot_water_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent136({\n name: \"HotWater\",\n __name: \"hot-water\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock136(), _createElementBlock136(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode136(\"path\", {\n fill: \"currentColor\",\n d: \"M273.067 477.867h477.866V409.6H273.067zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133m273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133M170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z\"\n })\n ]));\n }\n});\n\n// src/components/hot-water.vue\nvar hot_water_default = hot_water_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/house.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent137 } from \"vue\";\nimport { createElementVNode as _createElementVNode137, openBlock as _openBlock137, createElementBlock as _createElementBlock137 } from \"vue\";\nvar house_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent137({\n name: \"House\",\n __name: \"house\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock137(), _createElementBlock137(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode137(\"path\", {\n fill: \"currentColor\",\n d: \"M192 413.952V896h640V413.952L512 147.328zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576\"\n })\n ]));\n }\n});\n\n// src/components/house.vue\nvar house_default = house_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ice-cream-round.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent138 } from \"vue\";\nimport { createElementVNode as _createElementVNode138, openBlock as _openBlock138, createElementBlock as _createElementBlock138 } from \"vue\";\nvar ice_cream_round_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent138({\n name: \"IceCreamRound\",\n __name: \"ice-cream-round\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock138(), _createElementBlock138(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode138(\"path\", {\n fill: \"currentColor\",\n d: \"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z\"\n })\n ]));\n }\n});\n\n// src/components/ice-cream-round.vue\nvar ice_cream_round_default = ice_cream_round_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ice-cream-square.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent139 } from \"vue\";\nimport { createElementVNode as _createElementVNode139, openBlock as _openBlock139, createElementBlock as _createElementBlock139 } from \"vue\";\nvar ice_cream_square_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent139({\n name: \"IceCreamSquare\",\n __name: \"ice-cream-square\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock139(), _createElementBlock139(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode139(\"path\", {\n fill: \"currentColor\",\n d: \"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96zm-64 0h-64v160a32 32 0 1 0 64 0z\"\n })\n ]));\n }\n});\n\n// src/components/ice-cream-square.vue\nvar ice_cream_square_default = ice_cream_square_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ice-cream.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent140 } from \"vue\";\nimport { createElementVNode as _createElementVNode140, openBlock as _openBlock140, createElementBlock as _createElementBlock140 } from \"vue\";\nvar ice_cream_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent140({\n name: \"IceCream\",\n __name: \"ice-cream\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock140(), _createElementBlock140(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode140(\"path\", {\n fill: \"currentColor\",\n d: \"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56\"\n })\n ]));\n }\n});\n\n// src/components/ice-cream.vue\nvar ice_cream_default = ice_cream_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ice-drink.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent141 } from \"vue\";\nimport { createElementVNode as _createElementVNode141, openBlock as _openBlock141, createElementBlock as _createElementBlock141 } from \"vue\";\nvar ice_drink_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent141({\n name: \"IceDrink\",\n __name: \"ice-drink\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock141(), _createElementBlock141(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode141(\"path\", {\n fill: \"currentColor\",\n d: \"M512 448v128h239.68l16.064-128zm-64 0H256.256l16.064 128H448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64m-64 8.064A256.448 256.448 0 0 0 264.256 384H448zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32zM743.68 640H280.32l32.128 256h399.104z\"\n })\n ]));\n }\n});\n\n// src/components/ice-drink.vue\nvar ice_drink_default = ice_drink_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ice-tea.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent142 } from \"vue\";\nimport { createElementVNode as _createElementVNode142, openBlock as _openBlock142, createElementBlock as _createElementBlock142 } from \"vue\";\nvar ice_tea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent142({\n name: \"IceTea\",\n __name: \"ice-tea\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock142(), _createElementBlock142(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode142(\"path\", {\n fill: \"currentColor\",\n d: \"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352M264.064 256h495.872a256.128 256.128 0 0 0-495.872 0m495.424 256H264.512l48 384h398.976zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32m160 192h64v64h-64zm192 64h64v64h-64zm-128 64h64v64h-64zm64-192h64v64h-64z\"\n })\n ]));\n }\n});\n\n// src/components/ice-tea.vue\nvar ice_tea_default = ice_tea_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/info-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent143 } from \"vue\";\nimport { createElementVNode as _createElementVNode143, openBlock as _openBlock143, createElementBlock as _createElementBlock143 } from \"vue\";\nvar info_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent143({\n name: \"InfoFilled\",\n __name: \"info-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock143(), _createElementBlock143(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode143(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z\"\n })\n ]));\n }\n});\n\n// src/components/info-filled.vue\nvar info_filled_default = info_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/iphone.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent144 } from \"vue\";\nimport { createElementVNode as _createElementVNode144, openBlock as _openBlock144, createElementBlock as _createElementBlock144 } from \"vue\";\nvar iphone_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent144({\n name: \"Iphone\",\n __name: \"iphone\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock144(), _createElementBlock144(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode144(\"path\", {\n fill: \"currentColor\",\n d: \"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0\"\n })\n ]));\n }\n});\n\n// src/components/iphone.vue\nvar iphone_default = iphone_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/key.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent145 } from \"vue\";\nimport { createElementVNode as _createElementVNode145, openBlock as _openBlock145, createElementBlock as _createElementBlock145 } from \"vue\";\nvar key_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent145({\n name: \"Key\",\n __name: \"key\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock145(), _createElementBlock145(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode145(\"path\", {\n fill: \"currentColor\",\n d: \"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064M512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384\"\n })\n ]));\n }\n});\n\n// src/components/key.vue\nvar key_default = key_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/knife-fork.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent146 } from \"vue\";\nimport { createElementVNode as _createElementVNode146, openBlock as _openBlock146, createElementBlock as _createElementBlock146 } from \"vue\";\nvar knife_fork_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent146({\n name: \"KnifeFork\",\n __name: \"knife-fork\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock146(), _createElementBlock146(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode146(\"path\", {\n fill: \"currentColor\",\n d: \"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56m384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288z\"\n })\n ]));\n }\n});\n\n// src/components/knife-fork.vue\nvar knife_fork_default = knife_fork_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/lightning.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent147 } from \"vue\";\nimport { createElementVNode as _createElementVNode147, openBlock as _openBlock147, createElementBlock as _createElementBlock147 } from \"vue\";\nvar lightning_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent147({\n name: \"Lightning\",\n __name: \"lightning\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock147(), _createElementBlock147(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode147(\"path\", {\n fill: \"currentColor\",\n d: \"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z\"\n }),\n _createElementVNode147(\"path\", {\n fill: \"currentColor\",\n d: \"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736z\"\n })\n ]));\n }\n});\n\n// src/components/lightning.vue\nvar lightning_default = lightning_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/link.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent148 } from \"vue\";\nimport { createElementVNode as _createElementVNode148, openBlock as _openBlock148, createElementBlock as _createElementBlock148 } from \"vue\";\nvar link_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent148({\n name: \"Link\",\n __name: \"link\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock148(), _createElementBlock148(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode148(\"path\", {\n fill: \"currentColor\",\n d: \"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152z\"\n })\n ]));\n }\n});\n\n// src/components/link.vue\nvar link_default = link_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/list.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent149 } from \"vue\";\nimport { createElementVNode as _createElementVNode149, openBlock as _openBlock149, createElementBlock as _createElementBlock149 } from \"vue\";\nvar list_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent149({\n name: \"List\",\n __name: \"list\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock149(), _createElementBlock149(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode149(\"path\", {\n fill: \"currentColor\",\n d: \"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z\"\n })\n ]));\n }\n});\n\n// src/components/list.vue\nvar list_default = list_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/loading.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent150 } from \"vue\";\nimport { createElementVNode as _createElementVNode150, openBlock as _openBlock150, createElementBlock as _createElementBlock150 } from \"vue\";\nvar loading_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent150({\n name: \"Loading\",\n __name: \"loading\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock150(), _createElementBlock150(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode150(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z\"\n })\n ]));\n }\n});\n\n// src/components/loading.vue\nvar loading_default = loading_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/location-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent151 } from \"vue\";\nimport { createElementVNode as _createElementVNode151, openBlock as _openBlock151, createElementBlock as _createElementBlock151 } from \"vue\";\nvar location_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent151({\n name: \"LocationFilled\",\n __name: \"location-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock151(), _createElementBlock151(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode151(\"path\", {\n fill: \"currentColor\",\n d: \"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928m0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6\"\n })\n ]));\n }\n});\n\n// src/components/location-filled.vue\nvar location_filled_default = location_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/location-information.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent152 } from \"vue\";\nimport { createElementVNode as _createElementVNode152, openBlock as _openBlock152, createElementBlock as _createElementBlock152 } from \"vue\";\nvar location_information_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent152({\n name: \"LocationInformation\",\n __name: \"location-information\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock152(), _createElementBlock152(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode152(\"path\", {\n fill: \"currentColor\",\n d: \"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n }),\n _createElementVNode152(\"path\", {\n fill: \"currentColor\",\n d: \"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544\"\n }),\n _createElementVNode152(\"path\", {\n fill: \"currentColor\",\n d: \"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320\"\n })\n ]));\n }\n});\n\n// src/components/location-information.vue\nvar location_information_default = location_information_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/location.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent153 } from \"vue\";\nimport { createElementVNode as _createElementVNode153, openBlock as _openBlock153, createElementBlock as _createElementBlock153 } from \"vue\";\nvar location_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent153({\n name: \"Location\",\n __name: \"location\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock153(), _createElementBlock153(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode153(\"path\", {\n fill: \"currentColor\",\n d: \"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544\"\n }),\n _createElementVNode153(\"path\", {\n fill: \"currentColor\",\n d: \"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192m0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320\"\n })\n ]));\n }\n});\n\n// src/components/location.vue\nvar location_default = location_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/lock.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent154 } from \"vue\";\nimport { createElementVNode as _createElementVNode154, openBlock as _openBlock154, createElementBlock as _createElementBlock154 } from \"vue\";\nvar lock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent154({\n name: \"Lock\",\n __name: \"lock\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock154(), _createElementBlock154(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode154(\"path\", {\n fill: \"currentColor\",\n d: \"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96\"\n }),\n _createElementVNode154(\"path\", {\n fill: \"currentColor\",\n d: \"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64\"\n })\n ]));\n }\n});\n\n// src/components/lock.vue\nvar lock_default = lock_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/lollipop.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent155 } from \"vue\";\nimport { createElementVNode as _createElementVNode155, openBlock as _openBlock155, createElementBlock as _createElementBlock155 } from \"vue\";\nvar lollipop_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent155({\n name: \"Lollipop\",\n __name: \"lollipop\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock155(), _createElementBlock155(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode155(\"path\", {\n fill: \"currentColor\",\n d: \"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696m105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z\"\n })\n ]));\n }\n});\n\n// src/components/lollipop.vue\nvar lollipop_default = lollipop_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/magic-stick.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent156 } from \"vue\";\nimport { createElementVNode as _createElementVNode156, openBlock as _openBlock156, createElementBlock as _createElementBlock156 } from \"vue\";\nvar magic_stick_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent156({\n name: \"MagicStick\",\n __name: \"magic-stick\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock156(), _createElementBlock156(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode156(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64h64v192h-64zm0 576h64v192h-64zM160 480v-64h192v64zm576 0v-64h192v64zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248z\"\n })\n ]));\n }\n});\n\n// src/components/magic-stick.vue\nvar magic_stick_default = magic_stick_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/magnet.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent157 } from \"vue\";\nimport { createElementVNode as _createElementVNode157, openBlock as _openBlock157, createElementBlock as _createElementBlock157 } from \"vue\";\nvar magnet_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent157({\n name: \"Magnet\",\n __name: \"magnet\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock157(), _createElementBlock157(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode157(\"path\", {\n fill: \"currentColor\",\n d: \"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0\"\n })\n ]));\n }\n});\n\n// src/components/magnet.vue\nvar magnet_default = magnet_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/male.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent158 } from \"vue\";\nimport { createElementVNode as _createElementVNode158, openBlock as _openBlock158, createElementBlock as _createElementBlock158 } from \"vue\";\nvar male_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent158({\n name: \"Male\",\n __name: \"male\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock158(), _createElementBlock158(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode158(\"path\", {\n fill: \"currentColor\",\n d: \"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450m0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5m253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125\"\n }),\n _createElementVNode158(\"path\", {\n fill: \"currentColor\",\n d: \"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125\"\n }),\n _createElementVNode158(\"path\", {\n fill: \"currentColor\",\n d: \"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z\"\n })\n ]));\n }\n});\n\n// src/components/male.vue\nvar male_default = male_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/management.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent159 } from \"vue\";\nimport { createElementVNode as _createElementVNode159, openBlock as _openBlock159, createElementBlock as _createElementBlock159 } from \"vue\";\nvar management_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent159({\n name: \"Management\",\n __name: \"management\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock159(), _createElementBlock159(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode159(\"path\", {\n fill: \"currentColor\",\n d: \"M576 128v288l96-96 96 96V128h128v768H320V128zm-448 0h128v768H128z\"\n })\n ]));\n }\n});\n\n// src/components/management.vue\nvar management_default = management_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/map-location.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent160 } from \"vue\";\nimport { createElementVNode as _createElementVNode160, openBlock as _openBlock160, createElementBlock as _createElementBlock160 } from \"vue\";\nvar map_location_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent160({\n name: \"MapLocation\",\n __name: \"map-location\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock160(), _createElementBlock160(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode160(\"path\", {\n fill: \"currentColor\",\n d: \"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416M512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544\"\n }),\n _createElementVNode160(\"path\", {\n fill: \"currentColor\",\n d: \"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256m345.6 192L960 960H672v-64H352v64H64l102.4-256zm-68.928 0H235.328l-76.8 192h706.944z\"\n })\n ]));\n }\n});\n\n// src/components/map-location.vue\nvar map_location_default = map_location_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/medal.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent161 } from \"vue\";\nimport { createElementVNode as _createElementVNode161, openBlock as _openBlock161, createElementBlock as _createElementBlock161 } from \"vue\";\nvar medal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent161({\n name: \"Medal\",\n __name: \"medal\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock161(), _createElementBlock161(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode161(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640\"\n }),\n _createElementVNode161(\"path\", {\n fill: \"currentColor\",\n d: \"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64\"\n })\n ]));\n }\n});\n\n// src/components/medal.vue\nvar medal_default = medal_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/memo.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent162 } from \"vue\";\nimport { createElementVNode as _createElementVNode162, openBlock as _openBlock162, createElementBlock as _createElementBlock162 } from \"vue\";\nvar memo_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent162({\n name: \"Memo\",\n __name: \"memo\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock162(), _createElementBlock162(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode162(\"path\", {\n fill: \"currentColor\",\n d: \"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32\"\n }),\n _createElementVNode162(\"path\", {\n fill: \"currentColor\",\n d: \"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z\"\n }),\n _createElementVNode162(\"path\", {\n fill: \"currentColor\",\n d: \"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32\"\n })\n ]));\n }\n});\n\n// src/components/memo.vue\nvar memo_default = memo_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/menu.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent163 } from \"vue\";\nimport { createElementVNode as _createElementVNode163, openBlock as _openBlock163, createElementBlock as _createElementBlock163 } from \"vue\";\nvar menu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent163({\n name: \"Menu\",\n __name: \"menu\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock163(), _createElementBlock163(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode163(\"path\", {\n fill: \"currentColor\",\n d: \"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32z\"\n })\n ]));\n }\n});\n\n// src/components/menu.vue\nvar menu_default = menu_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/message-box.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent164 } from \"vue\";\nimport { createElementVNode as _createElementVNode164, openBlock as _openBlock164, createElementBlock as _createElementBlock164 } from \"vue\";\nvar message_box_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent164({\n name: \"MessageBox\",\n __name: \"message-box\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock164(), _createElementBlock164(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode164(\"path\", {\n fill: \"currentColor\",\n d: \"M288 384h448v64H288zm96-128h256v64H384zM131.456 512H384v128h256V512h252.544L721.856 192H302.144zM896 576H704v128H320V576H128v256h768zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z\"\n })\n ]));\n }\n});\n\n// src/components/message-box.vue\nvar message_box_default = message_box_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/message.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent165 } from \"vue\";\nimport { createElementVNode as _createElementVNode165, openBlock as _openBlock165, createElementBlock as _createElementBlock165 } from \"vue\";\nvar message_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent165({\n name: \"Message\",\n __name: \"message\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock165(), _createElementBlock165(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode165(\"path\", {\n fill: \"currentColor\",\n d: \"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64\"\n }),\n _createElementVNode165(\"path\", {\n fill: \"currentColor\",\n d: \"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056\"\n })\n ]));\n }\n});\n\n// src/components/message.vue\nvar message_default = message_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/mic.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent166 } from \"vue\";\nimport { createElementVNode as _createElementVNode166, openBlock as _openBlock166, createElementBlock as _createElementBlock166 } from \"vue\";\nvar mic_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent166({\n name: \"Mic\",\n __name: \"mic\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock166(), _createElementBlock166(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode166(\"path\", {\n fill: \"currentColor\",\n d: \"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128z\"\n })\n ]));\n }\n});\n\n// src/components/mic.vue\nvar mic_default = mic_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/microphone.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent167 } from \"vue\";\nimport { createElementVNode as _createElementVNode167, openBlock as _openBlock167, createElementBlock as _createElementBlock167 } from \"vue\";\nvar microphone_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent167({\n name: \"Microphone\",\n __name: \"microphone\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock167(), _createElementBlock167(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode167(\"path\", {\n fill: \"currentColor\",\n d: \"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128m0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64m-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64z\"\n })\n ]));\n }\n});\n\n// src/components/microphone.vue\nvar microphone_default = microphone_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/milk-tea.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent168 } from \"vue\";\nimport { createElementVNode as _createElementVNode168, openBlock as _openBlock168, createElementBlock as _createElementBlock168 } from \"vue\";\nvar milk_tea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent168({\n name: \"MilkTea\",\n __name: \"milk-tea\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock168(), _createElementBlock168(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode168(\"path\", {\n fill: \"currentColor\",\n d: \"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64m493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12\"\n })\n ]));\n }\n});\n\n// src/components/milk-tea.vue\nvar milk_tea_default = milk_tea_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/minus.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent169 } from \"vue\";\nimport { createElementVNode as _createElementVNode169, openBlock as _openBlock169, createElementBlock as _createElementBlock169 } from \"vue\";\nvar minus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent169({\n name: \"Minus\",\n __name: \"minus\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock169(), _createElementBlock169(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode169(\"path\", {\n fill: \"currentColor\",\n d: \"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64\"\n })\n ]));\n }\n});\n\n// src/components/minus.vue\nvar minus_default = minus_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/money.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent170 } from \"vue\";\nimport { createElementVNode as _createElementVNode170, openBlock as _openBlock170, createElementBlock as _createElementBlock170 } from \"vue\";\nvar money_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent170({\n name: \"Money\",\n __name: \"money\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock170(), _createElementBlock170(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode170(\"path\", {\n fill: \"currentColor\",\n d: \"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640z\"\n }),\n _createElementVNode170(\"path\", {\n fill: \"currentColor\",\n d: \"M768 192H128v448h640zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z\"\n }),\n _createElementVNode170(\"path\", {\n fill: \"currentColor\",\n d: \"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320m0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192\"\n })\n ]));\n }\n});\n\n// src/components/money.vue\nvar money_default = money_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/monitor.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent171 } from \"vue\";\nimport { createElementVNode as _createElementVNode171, openBlock as _openBlock171, createElementBlock as _createElementBlock171 } from \"vue\";\nvar monitor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent171({\n name: \"Monitor\",\n __name: \"monitor\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock171(), _createElementBlock171(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode171(\"path\", {\n fill: \"currentColor\",\n d: \"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64z\"\n })\n ]));\n }\n});\n\n// src/components/monitor.vue\nvar monitor_default = monitor_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/moon-night.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent172 } from \"vue\";\nimport { createElementVNode as _createElementVNode172, openBlock as _openBlock172, createElementBlock as _createElementBlock172 } from \"vue\";\nvar moon_night_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent172({\n name: \"MoonNight\",\n __name: \"moon-night\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock172(), _createElementBlock172(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode172(\"path\", {\n fill: \"currentColor\",\n d: \"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512M171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z\"\n }),\n _createElementVNode172(\"path\", {\n fill: \"currentColor\",\n d: \"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z\"\n })\n ]));\n }\n});\n\n// src/components/moon-night.vue\nvar moon_night_default = moon_night_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/moon.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent173 } from \"vue\";\nimport { createElementVNode as _createElementVNode173, openBlock as _openBlock173, createElementBlock as _createElementBlock173 } from \"vue\";\nvar moon_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent173({\n name: \"Moon\",\n __name: \"moon\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock173(), _createElementBlock173(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode173(\"path\", {\n fill: \"currentColor\",\n d: \"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696\"\n })\n ]));\n }\n});\n\n// src/components/moon.vue\nvar moon_default = moon_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/more-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent174 } from \"vue\";\nimport { createElementVNode as _createElementVNode174, openBlock as _openBlock174, createElementBlock as _createElementBlock174 } from \"vue\";\nvar more_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent174({\n name: \"MoreFilled\",\n __name: \"more-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock174(), _createElementBlock174(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode174(\"path\", {\n fill: \"currentColor\",\n d: \"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224\"\n })\n ]));\n }\n});\n\n// src/components/more-filled.vue\nvar more_filled_default = more_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/more.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent175 } from \"vue\";\nimport { createElementVNode as _createElementVNode175, openBlock as _openBlock175, createElementBlock as _createElementBlock175 } from \"vue\";\nvar more_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent175({\n name: \"More\",\n __name: \"more\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock175(), _createElementBlock175(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode175(\"path\", {\n fill: \"currentColor\",\n d: \"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96\"\n })\n ]));\n }\n});\n\n// src/components/more.vue\nvar more_default = more_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/mostly-cloudy.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent176 } from \"vue\";\nimport { createElementVNode as _createElementVNode176, openBlock as _openBlock176, createElementBlock as _createElementBlock176 } from \"vue\";\nvar mostly_cloudy_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent176({\n name: \"MostlyCloudy\",\n __name: \"mostly-cloudy\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock176(), _createElementBlock176(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode176(\"path\", {\n fill: \"currentColor\",\n d: \"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048m15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72\"\n })\n ]));\n }\n});\n\n// src/components/mostly-cloudy.vue\nvar mostly_cloudy_default = mostly_cloudy_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/mouse.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent177 } from \"vue\";\nimport { createElementVNode as _createElementVNode177, openBlock as _openBlock177, createElementBlock as _createElementBlock177 } from \"vue\";\nvar mouse_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent177({\n name: \"Mouse\",\n __name: \"mouse\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock177(), _createElementBlock177(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode177(\"path\", {\n fill: \"currentColor\",\n d: \"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z\"\n }),\n _createElementVNode177(\"path\", {\n fill: \"currentColor\",\n d: \"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32m32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96z\"\n })\n ]));\n }\n});\n\n// src/components/mouse.vue\nvar mouse_default = mouse_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/mug.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent178 } from \"vue\";\nimport { createElementVNode as _createElementVNode178, openBlock as _openBlock178, createElementBlock as _createElementBlock178 } from \"vue\";\nvar mug_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent178({\n name: \"Mug\",\n __name: \"mug\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock178(), _createElementBlock178(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode178(\"path\", {\n fill: \"currentColor\",\n d: \"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64m64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32z\"\n })\n ]));\n }\n});\n\n// src/components/mug.vue\nvar mug_default = mug_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/mute-notification.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent179 } from \"vue\";\nimport { createElementVNode as _createElementVNode179, openBlock as _openBlock179, createElementBlock as _createElementBlock179 } from \"vue\";\nvar mute_notification_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent179({\n name: \"MuteNotification\",\n __name: \"mute-notification\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock179(), _createElementBlock179(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode179(\"path\", {\n fill: \"currentColor\",\n d: \"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0\"\n }),\n _createElementVNode179(\"path\", {\n fill: \"currentColor\",\n d: \"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z\"\n })\n ]));\n }\n});\n\n// src/components/mute-notification.vue\nvar mute_notification_default = mute_notification_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/mute.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent180 } from \"vue\";\nimport { createElementVNode as _createElementVNode180, openBlock as _openBlock180, createElementBlock as _createElementBlock180 } from \"vue\";\nvar mute_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent180({\n name: \"Mute\",\n __name: \"mute\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock180(), _createElementBlock180(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode180(\"path\", {\n fill: \"currentColor\",\n d: \"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128m51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032M266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288z\"\n }),\n _createElementVNode180(\"path\", {\n fill: \"currentColor\",\n d: \"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z\"\n })\n ]));\n }\n});\n\n// src/components/mute.vue\nvar mute_default = mute_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/no-smoking.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent181 } from \"vue\";\nimport { createElementVNode as _createElementVNode181, openBlock as _openBlock181, createElementBlock as _createElementBlock181 } from \"vue\";\nvar no_smoking_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent181({\n name: \"NoSmoking\",\n __name: \"no-smoking\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock181(), _createElementBlock181(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode181(\"path\", {\n fill: \"currentColor\",\n d: \"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744zM768 576v128h128V576zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z\"\n })\n ]));\n }\n});\n\n// src/components/no-smoking.vue\nvar no_smoking_default = no_smoking_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/notebook.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent182 } from \"vue\";\nimport { createElementVNode as _createElementVNode182, openBlock as _openBlock182, createElementBlock as _createElementBlock182 } from \"vue\";\nvar notebook_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent182({\n name: \"Notebook\",\n __name: \"notebook\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock182(), _createElementBlock182(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode182(\"path\", {\n fill: \"currentColor\",\n d: \"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32\"\n }),\n _createElementVNode182(\"path\", {\n fill: \"currentColor\",\n d: \"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32m0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/notebook.vue\nvar notebook_default = notebook_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/notification.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent183 } from \"vue\";\nimport { createElementVNode as _createElementVNode183, openBlock as _openBlock183, createElementBlock as _createElementBlock183 } from \"vue\";\nvar notification_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent183({\n name: \"Notification\",\n __name: \"notification\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock183(), _createElementBlock183(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode183(\"path\", {\n fill: \"currentColor\",\n d: \"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128z\"\n }),\n _createElementVNode183(\"path\", {\n fill: \"currentColor\",\n d: \"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256m0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384\"\n })\n ]));\n }\n});\n\n// src/components/notification.vue\nvar notification_default = notification_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/odometer.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent184 } from \"vue\";\nimport { createElementVNode as _createElementVNode184, openBlock as _openBlock184, createElementBlock as _createElementBlock184 } from \"vue\";\nvar odometer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent184({\n name: \"Odometer\",\n __name: \"odometer\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock184(), _createElementBlock184(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode184(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n _createElementVNode184(\"path\", {\n fill: \"currentColor\",\n d: \"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0\"\n }),\n _createElementVNode184(\"path\", {\n fill: \"currentColor\",\n d: \"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928\"\n })\n ]));\n }\n});\n\n// src/components/odometer.vue\nvar odometer_default = odometer_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/office-building.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent185 } from \"vue\";\nimport { createElementVNode as _createElementVNode185, openBlock as _openBlock185, createElementBlock as _createElementBlock185 } from \"vue\";\nvar office_building_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent185({\n name: \"OfficeBuilding\",\n __name: \"office-building\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock185(), _createElementBlock185(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode185(\"path\", {\n fill: \"currentColor\",\n d: \"M192 128v704h384V128zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32\"\n }),\n _createElementVNode185(\"path\", {\n fill: \"currentColor\",\n d: \"M256 256h256v64H256zm0 192h256v64H256zm0 192h256v64H256zm384-128h128v64H640zm0 128h128v64H640zM64 832h896v64H64z\"\n }),\n _createElementVNode185(\"path\", {\n fill: \"currentColor\",\n d: \"M640 384v448h192V384zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/office-building.vue\nvar office_building_default = office_building_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/open.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent186 } from \"vue\";\nimport { createElementVNode as _createElementVNode186, openBlock as _openBlock186, createElementBlock as _createElementBlock186 } from \"vue\";\nvar open_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent186({\n name: \"Open\",\n __name: \"open\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock186(), _createElementBlock186(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode186(\"path\", {\n fill: \"currentColor\",\n d: \"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z\"\n }),\n _createElementVNode186(\"path\", {\n fill: \"currentColor\",\n d: \"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088\"\n })\n ]));\n }\n});\n\n// src/components/open.vue\nvar open_default = open_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/operation.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent187 } from \"vue\";\nimport { createElementVNode as _createElementVNode187, openBlock as _openBlock187, createElementBlock as _createElementBlock187 } from \"vue\";\nvar operation_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent187({\n name: \"Operation\",\n __name: \"operation\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock187(), _createElementBlock187(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode187(\"path\", {\n fill: \"currentColor\",\n d: \"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64z\"\n })\n ]));\n }\n});\n\n// src/components/operation.vue\nvar operation_default = operation_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/opportunity.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent188 } from \"vue\";\nimport { createElementVNode as _createElementVNode188, openBlock as _openBlock188, createElementBlock as _createElementBlock188 } from \"vue\";\nvar opportunity_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent188({\n name: \"Opportunity\",\n __name: \"opportunity\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock188(), _createElementBlock188(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode188(\"path\", {\n fill: \"currentColor\",\n d: \"M384 960v-64h192.064v64zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416m-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288z\"\n })\n ]));\n }\n});\n\n// src/components/opportunity.vue\nvar opportunity_default = opportunity_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/orange.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent189 } from \"vue\";\nimport { createElementVNode as _createElementVNode189, openBlock as _openBlock189, createElementBlock as _createElementBlock189 } from \"vue\";\nvar orange_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent189({\n name: \"Orange\",\n __name: \"orange\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock189(), _createElementBlock189(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode189(\"path\", {\n fill: \"currentColor\",\n d: \"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896m0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128\"\n })\n ]));\n }\n});\n\n// src/components/orange.vue\nvar orange_default = orange_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/paperclip.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent190 } from \"vue\";\nimport { createElementVNode as _createElementVNode190, openBlock as _openBlock190, createElementBlock as _createElementBlock190 } from \"vue\";\nvar paperclip_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent190({\n name: \"Paperclip\",\n __name: \"paperclip\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock190(), _createElementBlock190(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode190(\"path\", {\n fill: \"currentColor\",\n d: \"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z\"\n })\n ]));\n }\n});\n\n// src/components/paperclip.vue\nvar paperclip_default = paperclip_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/partly-cloudy.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent191 } from \"vue\";\nimport { createElementVNode as _createElementVNode191, openBlock as _openBlock191, createElementBlock as _createElementBlock191 } from \"vue\";\nvar partly_cloudy_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent191({\n name: \"PartlyCloudy\",\n __name: \"partly-cloudy\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock191(), _createElementBlock191(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode191(\"path\", {\n fill: \"currentColor\",\n d: \"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872m-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z\"\n }),\n _createElementVNode191(\"path\", {\n fill: \"currentColor\",\n d: \"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z\"\n })\n ]));\n }\n});\n\n// src/components/partly-cloudy.vue\nvar partly_cloudy_default = partly_cloudy_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/pear.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent192 } from \"vue\";\nimport { createElementVNode as _createElementVNode192, openBlock as _openBlock192, createElementBlock as _createElementBlock192 } from \"vue\";\nvar pear_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent192({\n name: \"Pear\",\n __name: \"pear\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock192(), _createElementBlock192(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode192(\"path\", {\n fill: \"currentColor\",\n d: \"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z\"\n })\n ]));\n }\n});\n\n// src/components/pear.vue\nvar pear_default = pear_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/phone-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent193 } from \"vue\";\nimport { createElementVNode as _createElementVNode193, openBlock as _openBlock193, createElementBlock as _createElementBlock193 } from \"vue\";\nvar phone_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent193({\n name: \"PhoneFilled\",\n __name: \"phone-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock193(), _createElementBlock193(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode193(\"path\", {\n fill: \"currentColor\",\n d: \"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z\"\n })\n ]));\n }\n});\n\n// src/components/phone-filled.vue\nvar phone_filled_default = phone_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/phone.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent194 } from \"vue\";\nimport { createElementVNode as _createElementVNode194, openBlock as _openBlock194, createElementBlock as _createElementBlock194 } from \"vue\";\nvar phone_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent194({\n name: \"Phone\",\n __name: \"phone\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock194(), _createElementBlock194(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode194(\"path\", {\n fill: \"currentColor\",\n d: \"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192m0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384\"\n })\n ]));\n }\n});\n\n// src/components/phone.vue\nvar phone_default = phone_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/picture-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent195 } from \"vue\";\nimport { createElementVNode as _createElementVNode195, openBlock as _openBlock195, createElementBlock as _createElementBlock195 } from \"vue\";\nvar picture_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent195({\n name: \"PictureFilled\",\n __name: \"picture-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock195(), _createElementBlock195(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode195(\"path\", {\n fill: \"currentColor\",\n d: \"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384\"\n })\n ]));\n }\n});\n\n// src/components/picture-filled.vue\nvar picture_filled_default = picture_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/picture-rounded.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent196 } from \"vue\";\nimport { createElementVNode as _createElementVNode196, openBlock as _openBlock196, createElementBlock as _createElementBlock196 } from \"vue\";\nvar picture_rounded_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent196({\n name: \"PictureRounded\",\n __name: \"picture-rounded\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock196(), _createElementBlock196(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode196(\"path\", {\n fill: \"currentColor\",\n d: \"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768m0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896\"\n }),\n _createElementVNode196(\"path\", {\n fill: \"currentColor\",\n d: \"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64M214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z\"\n })\n ]));\n }\n});\n\n// src/components/picture-rounded.vue\nvar picture_rounded_default = picture_rounded_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/picture.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent197 } from \"vue\";\nimport { createElementVNode as _createElementVNode197, openBlock as _openBlock197, createElementBlock as _createElementBlock197 } from \"vue\";\nvar picture_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent197({\n name: \"Picture\",\n __name: \"picture\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock197(), _createElementBlock197(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode197(\"path\", {\n fill: \"currentColor\",\n d: \"M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32\"\n }),\n _createElementVNode197(\"path\", {\n fill: \"currentColor\",\n d: \"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z\"\n })\n ]));\n }\n});\n\n// src/components/picture.vue\nvar picture_default = picture_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/pie-chart.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent198 } from \"vue\";\nimport { createElementVNode as _createElementVNode198, openBlock as _openBlock198, createElementBlock as _createElementBlock198 } from \"vue\";\nvar pie_chart_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent198({\n name: \"PieChart\",\n __name: \"pie-chart\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock198(), _createElementBlock198(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode198(\"path\", {\n fill: \"currentColor\",\n d: \"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z\"\n }),\n _createElementVNode198(\"path\", {\n fill: \"currentColor\",\n d: \"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512z\"\n })\n ]));\n }\n});\n\n// src/components/pie-chart.vue\nvar pie_chart_default = pie_chart_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/place.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent199 } from \"vue\";\nimport { createElementVNode as _createElementVNode199, openBlock as _openBlock199, createElementBlock as _createElementBlock199 } from \"vue\";\nvar place_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent199({\n name: \"Place\",\n __name: \"place\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock199(), _createElementBlock199(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode199(\"path\", {\n fill: \"currentColor\",\n d: \"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512\"\n }),\n _createElementVNode199(\"path\", {\n fill: \"currentColor\",\n d: \"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32\"\n }),\n _createElementVNode199(\"path\", {\n fill: \"currentColor\",\n d: \"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912\"\n })\n ]));\n }\n});\n\n// src/components/place.vue\nvar place_default = place_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/platform.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent200 } from \"vue\";\nimport { createElementVNode as _createElementVNode200, openBlock as _openBlock200, createElementBlock as _createElementBlock200 } from \"vue\";\nvar platform_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent200({\n name: \"Platform\",\n __name: \"platform\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock200(), _createElementBlock200(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode200(\"path\", {\n fill: \"currentColor\",\n d: \"M448 832v-64h128v64h192v64H256v-64zM128 704V128h768v576z\"\n })\n ]));\n }\n});\n\n// src/components/platform.vue\nvar platform_default = platform_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/plus.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent201 } from \"vue\";\nimport { createElementVNode as _createElementVNode201, openBlock as _openBlock201, createElementBlock as _createElementBlock201 } from \"vue\";\nvar plus_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent201({\n name: \"Plus\",\n __name: \"plus\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock201(), _createElementBlock201(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode201(\"path\", {\n fill: \"currentColor\",\n d: \"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z\"\n })\n ]));\n }\n});\n\n// src/components/plus.vue\nvar plus_default = plus_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/pointer.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent202 } from \"vue\";\nimport { createElementVNode as _createElementVNode202, openBlock as _openBlock202, createElementBlock as _createElementBlock202 } from \"vue\";\nvar pointer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent202({\n name: \"Pointer\",\n __name: \"pointer\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock202(), _createElementBlock202(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode202(\"path\", {\n fill: \"currentColor\",\n d: \"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128M359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32z\"\n })\n ]));\n }\n});\n\n// src/components/pointer.vue\nvar pointer_default = pointer_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/position.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent203 } from \"vue\";\nimport { createElementVNode as _createElementVNode203, openBlock as _openBlock203, createElementBlock as _createElementBlock203 } from \"vue\";\nvar position_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent203({\n name: \"Position\",\n __name: \"position\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock203(), _createElementBlock203(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode203(\"path\", {\n fill: \"currentColor\",\n d: \"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z\"\n })\n ]));\n }\n});\n\n// src/components/position.vue\nvar position_default = position_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/postcard.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent204 } from \"vue\";\nimport { createElementVNode as _createElementVNode204, openBlock as _openBlock204, createElementBlock as _createElementBlock204 } from \"vue\";\nvar postcard_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent204({\n name: \"Postcard\",\n __name: \"postcard\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock204(), _createElementBlock204(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode204(\"path\", {\n fill: \"currentColor\",\n d: \"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96\"\n }),\n _createElementVNode204(\"path\", {\n fill: \"currentColor\",\n d: \"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128M288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32m0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/postcard.vue\nvar postcard_default = postcard_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/pouring.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent205 } from \"vue\";\nimport { createElementVNode as _createElementVNode205, openBlock as _openBlock205, createElementBlock as _createElementBlock205 } from \"vue\";\nvar pouring_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent205({\n name: \"Pouring\",\n __name: \"pouring\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock205(), _createElementBlock205(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode205(\"path\", {\n fill: \"currentColor\",\n d: \"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480M224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32m192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/pouring.vue\nvar pouring_default = pouring_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/present.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent206 } from \"vue\";\nimport { createElementVNode as _createElementVNode206, openBlock as _openBlock206, createElementBlock as _createElementBlock206 } from \"vue\";\nvar present_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent206({\n name: \"Present\",\n __name: \"present\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock206(), _createElementBlock206(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode206(\"path\", {\n fill: \"currentColor\",\n d: \"M480 896V640H192v-64h288V320H192v576zm64 0h288V320H544v256h288v64H544zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32z\"\n }),\n _createElementVNode206(\"path\", {\n fill: \"currentColor\",\n d: \"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32\"\n }),\n _createElementVNode206(\"path\", {\n fill: \"currentColor\",\n d: \"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256\"\n }),\n _createElementVNode206(\"path\", {\n fill: \"currentColor\",\n d: \"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256\"\n })\n ]));\n }\n});\n\n// src/components/present.vue\nvar present_default = present_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/price-tag.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent207 } from \"vue\";\nimport { createElementVNode as _createElementVNode207, openBlock as _openBlock207, createElementBlock as _createElementBlock207 } from \"vue\";\nvar price_tag_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent207({\n name: \"PriceTag\",\n __name: \"price-tag\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock207(), _createElementBlock207(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode207(\"path\", {\n fill: \"currentColor\",\n d: \"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z\"\n }),\n _createElementVNode207(\"path\", {\n fill: \"currentColor\",\n d: \"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256\"\n })\n ]));\n }\n});\n\n// src/components/price-tag.vue\nvar price_tag_default = price_tag_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/printer.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent208 } from \"vue\";\nimport { createElementVNode as _createElementVNode208, openBlock as _openBlock208, createElementBlock as _createElementBlock208 } from \"vue\";\nvar printer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent208({\n name: \"Printer\",\n __name: \"printer\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock208(), _createElementBlock208(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode208(\"path\", {\n fill: \"currentColor\",\n d: \"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256zm64-192v320h384V576zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704zm64-448h384V128H320zm-64 128h64v64h-64zm128 0h64v64h-64z\"\n })\n ]));\n }\n});\n\n// src/components/printer.vue\nvar printer_default = printer_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/promotion.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent209 } from \"vue\";\nimport { createElementVNode as _createElementVNode209, openBlock as _openBlock209, createElementBlock as _createElementBlock209 } from \"vue\";\nvar promotion_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent209({\n name: \"Promotion\",\n __name: \"promotion\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock209(), _createElementBlock209(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode209(\"path\", {\n fill: \"currentColor\",\n d: \"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472zm256 512V657.024L512 768z\"\n })\n ]));\n }\n});\n\n// src/components/promotion.vue\nvar promotion_default = promotion_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/quartz-watch.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent210 } from \"vue\";\nimport { createElementVNode as _createElementVNode210, openBlock as _openBlock210, createElementBlock as _createElementBlock210 } from \"vue\";\nvar quartz_watch_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent210({\n name: \"QuartzWatch\",\n __name: \"quartz-watch\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock210(), _createElementBlock210(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode210(\"path\", {\n fill: \"currentColor\",\n d: \"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01m6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49M512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99m183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01\"\n }),\n _createElementVNode210(\"path\", {\n fill: \"currentColor\",\n d: \"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5M416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768\"\n }),\n _createElementVNode210(\"path\", {\n fill: \"currentColor\",\n d: \"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99m112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02\"\n })\n ]));\n }\n});\n\n// src/components/quartz-watch.vue\nvar quartz_watch_default = quartz_watch_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/question-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent211 } from \"vue\";\nimport { createElementVNode as _createElementVNode211, openBlock as _openBlock211, createElementBlock as _createElementBlock211 } from \"vue\";\nvar question_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent211({\n name: \"QuestionFilled\",\n __name: \"question-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock211(), _createElementBlock211(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode211(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z\"\n })\n ]));\n }\n});\n\n// src/components/question-filled.vue\nvar question_filled_default = question_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/rank.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent212 } from \"vue\";\nimport { createElementVNode as _createElementVNode212, openBlock as _openBlock212, createElementBlock as _createElementBlock212 } from \"vue\";\nvar rank_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent212({\n name: \"Rank\",\n __name: \"rank\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock212(), _createElementBlock212(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode212(\"path\", {\n fill: \"currentColor\",\n d: \"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z\"\n })\n ]));\n }\n});\n\n// src/components/rank.vue\nvar rank_default = rank_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/reading-lamp.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent213 } from \"vue\";\nimport { createElementVNode as _createElementVNode213, openBlock as _openBlock213, createElementBlock as _createElementBlock213 } from \"vue\";\nvar reading_lamp_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent213({\n name: \"ReadingLamp\",\n __name: \"reading-lamp\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock213(), _createElementBlock213(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode213(\"path\", {\n fill: \"currentColor\",\n d: \"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m-44.672-768-99.52 448h608.384l-99.52-448zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z\"\n }),\n _createElementVNode213(\"path\", {\n fill: \"currentColor\",\n d: \"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32m-192-.064h64V960h-64z\"\n })\n ]));\n }\n});\n\n// src/components/reading-lamp.vue\nvar reading_lamp_default = reading_lamp_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/reading.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent214 } from \"vue\";\nimport { createElementVNode as _createElementVNode214, openBlock as _openBlock214, createElementBlock as _createElementBlock214 } from \"vue\";\nvar reading_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent214({\n name: \"Reading\",\n __name: \"reading\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock214(), _createElementBlock214(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode214(\"path\", {\n fill: \"currentColor\",\n d: \"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z\"\n }),\n _createElementVNode214(\"path\", {\n fill: \"currentColor\",\n d: \"M480 192h64v704h-64z\"\n })\n ]));\n }\n});\n\n// src/components/reading.vue\nvar reading_default = reading_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/refresh-left.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent215 } from \"vue\";\nimport { createElementVNode as _createElementVNode215, openBlock as _openBlock215, createElementBlock as _createElementBlock215 } from \"vue\";\nvar refresh_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent215({\n name: \"RefreshLeft\",\n __name: \"refresh-left\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock215(), _createElementBlock215(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode215(\"path\", {\n fill: \"currentColor\",\n d: \"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z\"\n })\n ]));\n }\n});\n\n// src/components/refresh-left.vue\nvar refresh_left_default = refresh_left_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/refresh-right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent216 } from \"vue\";\nimport { createElementVNode as _createElementVNode216, openBlock as _openBlock216, createElementBlock as _createElementBlock216 } from \"vue\";\nvar refresh_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent216({\n name: \"RefreshRight\",\n __name: \"refresh-right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock216(), _createElementBlock216(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode216(\"path\", {\n fill: \"currentColor\",\n d: \"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z\"\n })\n ]));\n }\n});\n\n// src/components/refresh-right.vue\nvar refresh_right_default = refresh_right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/refresh.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent217 } from \"vue\";\nimport { createElementVNode as _createElementVNode217, openBlock as _openBlock217, createElementBlock as _createElementBlock217 } from \"vue\";\nvar refresh_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent217({\n name: \"Refresh\",\n __name: \"refresh\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock217(), _createElementBlock217(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode217(\"path\", {\n fill: \"currentColor\",\n d: \"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z\"\n })\n ]));\n }\n});\n\n// src/components/refresh.vue\nvar refresh_default = refresh_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/refrigerator.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent218 } from \"vue\";\nimport { createElementVNode as _createElementVNode218, openBlock as _openBlock218, createElementBlock as _createElementBlock218 } from \"vue\";\nvar refrigerator_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent218({\n name: \"Refrigerator\",\n __name: \"refrigerator\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock218(), _createElementBlock218(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode218(\"path\", {\n fill: \"currentColor\",\n d: \"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96m32 224h64v96h-64zm0 288h64v96h-64z\"\n })\n ]));\n }\n});\n\n// src/components/refrigerator.vue\nvar refrigerator_default = refrigerator_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/remove-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent219 } from \"vue\";\nimport { createElementVNode as _createElementVNode219, openBlock as _openBlock219, createElementBlock as _createElementBlock219 } from \"vue\";\nvar remove_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent219({\n name: \"RemoveFilled\",\n __name: \"remove-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock219(), _createElementBlock219(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode219(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896M288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512\"\n })\n ]));\n }\n});\n\n// src/components/remove-filled.vue\nvar remove_filled_default = remove_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/remove.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent220 } from \"vue\";\nimport { createElementVNode as _createElementVNode220, openBlock as _openBlock220, createElementBlock as _createElementBlock220 } from \"vue\";\nvar remove_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent220({\n name: \"Remove\",\n __name: \"remove\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock220(), _createElementBlock220(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode220(\"path\", {\n fill: \"currentColor\",\n d: \"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64\"\n }),\n _createElementVNode220(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n })\n ]));\n }\n});\n\n// src/components/remove.vue\nvar remove_default = remove_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent221 } from \"vue\";\nimport { createElementVNode as _createElementVNode221, openBlock as _openBlock221, createElementBlock as _createElementBlock221 } from \"vue\";\nvar right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent221({\n name: \"Right\",\n __name: \"right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock221(), _createElementBlock221(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode221(\"path\", {\n fill: \"currentColor\",\n d: \"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312z\"\n })\n ]));\n }\n});\n\n// src/components/right.vue\nvar right_default = right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/scale-to-original.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent222 } from \"vue\";\nimport { createElementVNode as _createElementVNode222, openBlock as _openBlock222, createElementBlock as _createElementBlock222 } from \"vue\";\nvar scale_to_original_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent222({\n name: \"ScaleToOriginal\",\n __name: \"scale-to-original\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock222(), _createElementBlock222(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode222(\"path\", {\n fill: \"currentColor\",\n d: \"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118M512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412M512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512\"\n })\n ]));\n }\n});\n\n// src/components/scale-to-original.vue\nvar scale_to_original_default = scale_to_original_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/school.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent223 } from \"vue\";\nimport { createElementVNode as _createElementVNode223, openBlock as _openBlock223, createElementBlock as _createElementBlock223 } from \"vue\";\nvar school_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent223({\n name: \"School\",\n __name: \"school\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock223(), _createElementBlock223(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode223(\"path\", {\n fill: \"currentColor\",\n d: \"M224 128v704h576V128zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32\"\n }),\n _createElementVNode223(\"path\", {\n fill: \"currentColor\",\n d: \"M64 832h896v64H64zm256-640h128v96H320z\"\n }),\n _createElementVNode223(\"path\", {\n fill: \"currentColor\",\n d: \"M384 832h256v-64a128 128 0 1 0-256 0zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192M320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z\"\n })\n ]));\n }\n});\n\n// src/components/school.vue\nvar school_default = school_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/scissor.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent224 } from \"vue\";\nimport { createElementVNode as _createElementVNode224, openBlock as _openBlock224, createElementBlock as _createElementBlock224 } from \"vue\";\nvar scissor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent224({\n name: \"Scissor\",\n __name: \"scissor\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock224(), _createElementBlock224(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode224(\"path\", {\n fill: \"currentColor\",\n d: \"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248\"\n })\n ]));\n }\n});\n\n// src/components/scissor.vue\nvar scissor_default = scissor_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/search.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent225 } from \"vue\";\nimport { createElementVNode as _createElementVNode225, openBlock as _openBlock225, createElementBlock as _createElementBlock225 } from \"vue\";\nvar search_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent225({\n name: \"Search\",\n __name: \"search\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock225(), _createElementBlock225(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode225(\"path\", {\n fill: \"currentColor\",\n d: \"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704\"\n })\n ]));\n }\n});\n\n// src/components/search.vue\nvar search_default = search_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/select.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent226 } from \"vue\";\nimport { createElementVNode as _createElementVNode226, openBlock as _openBlock226, createElementBlock as _createElementBlock226 } from \"vue\";\nvar select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent226({\n name: \"Select\",\n __name: \"select\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock226(), _createElementBlock226(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode226(\"path\", {\n fill: \"currentColor\",\n d: \"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z\"\n })\n ]));\n }\n});\n\n// src/components/select.vue\nvar select_default = select_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sell.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent227 } from \"vue\";\nimport { createElementVNode as _createElementVNode227, openBlock as _openBlock227, createElementBlock as _createElementBlock227 } from \"vue\";\nvar sell_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent227({\n name: \"Sell\",\n __name: \"sell\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock227(), _createElementBlock227(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode227(\"path\", {\n fill: \"currentColor\",\n d: \"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z\"\n })\n ]));\n }\n});\n\n// src/components/sell.vue\nvar sell_default = sell_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/semi-select.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent228 } from \"vue\";\nimport { createElementVNode as _createElementVNode228, openBlock as _openBlock228, createElementBlock as _createElementBlock228 } from \"vue\";\nvar semi_select_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent228({\n name: \"SemiSelect\",\n __name: \"semi-select\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock228(), _createElementBlock228(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode228(\"path\", {\n fill: \"currentColor\",\n d: \"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64\"\n })\n ]));\n }\n});\n\n// src/components/semi-select.vue\nvar semi_select_default = semi_select_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/service.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent229 } from \"vue\";\nimport { createElementVNode as _createElementVNode229, openBlock as _openBlock229, createElementBlock as _createElementBlock229 } from \"vue\";\nvar service_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent229({\n name: \"Service\",\n __name: \"service\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock229(), _createElementBlock229(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode229(\"path\", {\n fill: \"currentColor\",\n d: \"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0M256 448a128 128 0 1 0 0 256zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128\"\n })\n ]));\n }\n});\n\n// src/components/service.vue\nvar service_default = service_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/set-up.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent230 } from \"vue\";\nimport { createElementVNode as _createElementVNode230, openBlock as _openBlock230, createElementBlock as _createElementBlock230 } from \"vue\";\nvar set_up_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent230({\n name: \"SetUp\",\n __name: \"set-up\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock230(), _createElementBlock230(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode230(\"path\", {\n fill: \"currentColor\",\n d: \"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96\"\n }),\n _createElementVNode230(\"path\", {\n fill: \"currentColor\",\n d: \"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256\"\n }),\n _createElementVNode230(\"path\", {\n fill: \"currentColor\",\n d: \"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32m160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128m0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256\"\n }),\n _createElementVNode230(\"path\", {\n fill: \"currentColor\",\n d: \"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/set-up.vue\nvar set_up_default = set_up_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/setting.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent231 } from \"vue\";\nimport { createElementVNode as _createElementVNode231, openBlock as _openBlock231, createElementBlock as _createElementBlock231 } from \"vue\";\nvar setting_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent231({\n name: \"Setting\",\n __name: \"setting\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock231(), _createElementBlock231(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode231(\"path\", {\n fill: \"currentColor\",\n d: \"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256\"\n })\n ]));\n }\n});\n\n// src/components/setting.vue\nvar setting_default = setting_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/share.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent232 } from \"vue\";\nimport { createElementVNode as _createElementVNode232, openBlock as _openBlock232, createElementBlock as _createElementBlock232 } from \"vue\";\nvar share_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent232({\n name: \"Share\",\n __name: \"share\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock232(), _createElementBlock232(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode232(\"path\", {\n fill: \"currentColor\",\n d: \"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z\"\n })\n ]));\n }\n});\n\n// src/components/share.vue\nvar share_default = share_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ship.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent233 } from \"vue\";\nimport { createElementVNode as _createElementVNode233, openBlock as _openBlock233, createElementBlock as _createElementBlock233 } from \"vue\";\nvar ship_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent233({\n name: \"Ship\",\n __name: \"ship\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock233(), _createElementBlock233(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode233(\"path\", {\n fill: \"currentColor\",\n d: \"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216zm0-70.272 144.768-65.792L512 171.84zM512 512H148.864l18.24 64H856.96l18.24-64zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408\"\n })\n ]));\n }\n});\n\n// src/components/ship.vue\nvar ship_default = ship_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/shop.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent234 } from \"vue\";\nimport { createElementVNode as _createElementVNode234, openBlock as _openBlock234, createElementBlock as _createElementBlock234 } from \"vue\";\nvar shop_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent234({\n name: \"Shop\",\n __name: \"shop\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock234(), _createElementBlock234(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode234(\"path\", {\n fill: \"currentColor\",\n d: \"M704 704h64v192H256V704h64v64h384zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640z\"\n })\n ]));\n }\n});\n\n// src/components/shop.vue\nvar shop_default = shop_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/shopping-bag.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent235 } from \"vue\";\nimport { createElementVNode as _createElementVNode235, openBlock as _openBlock235, createElementBlock as _createElementBlock235 } from \"vue\";\nvar shopping_bag_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent235({\n name: \"ShoppingBag\",\n __name: \"shopping-bag\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock235(), _createElementBlock235(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode235(\"path\", {\n fill: \"currentColor\",\n d: \"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zm64 0h256a128 128 0 1 0-256 0\"\n }),\n _createElementVNode235(\"path\", {\n fill: \"currentColor\",\n d: \"M192 704h640v64H192z\"\n })\n ]));\n }\n});\n\n// src/components/shopping-bag.vue\nvar shopping_bag_default = shopping_bag_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/shopping-cart-full.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent236 } from \"vue\";\nimport { createElementVNode as _createElementVNode236, openBlock as _openBlock236, createElementBlock as _createElementBlock236 } from \"vue\";\nvar shopping_cart_full_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent236({\n name: \"ShoppingCartFull\",\n __name: \"shopping-cart-full\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock236(), _createElementBlock236(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode236(\"path\", {\n fill: \"currentColor\",\n d: \"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z\"\n }),\n _createElementVNode236(\"path\", {\n fill: \"currentColor\",\n d: \"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04\"\n })\n ]));\n }\n});\n\n// src/components/shopping-cart-full.vue\nvar shopping_cart_full_default = shopping_cart_full_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/shopping-cart.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent237 } from \"vue\";\nimport { createElementVNode as _createElementVNode237, openBlock as _openBlock237, createElementBlock as _createElementBlock237 } from \"vue\";\nvar shopping_cart_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent237({\n name: \"ShoppingCart\",\n __name: \"shopping-cart\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock237(), _createElementBlock237(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode237(\"path\", {\n fill: \"currentColor\",\n d: \"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96m320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96M96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128zm314.24 576h395.904l82.304-384H333.44l76.8 384z\"\n })\n ]));\n }\n});\n\n// src/components/shopping-cart.vue\nvar shopping_cart_default = shopping_cart_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/shopping-trolley.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent238 } from \"vue\";\nimport { createElementVNode as _createElementVNode238, openBlock as _openBlock238, createElementBlock as _createElementBlock238 } from \"vue\";\nvar shopping_trolley_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent238({\n name: \"ShoppingTrolley\",\n __name: \"shopping-trolley\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock238(), _createElementBlock238(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode238(\"path\", {\n fill: \"currentColor\",\n d: \"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833m439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64zM256 192h622l-96 384H256zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833\"\n })\n ]));\n }\n});\n\n// src/components/shopping-trolley.vue\nvar shopping_trolley_default = shopping_trolley_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/smoking.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent239 } from \"vue\";\nimport { createElementVNode as _createElementVNode239, openBlock as _openBlock239, createElementBlock as _createElementBlock239 } from \"vue\";\nvar smoking_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent239({\n name: \"Smoking\",\n __name: \"smoking\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock239(), _createElementBlock239(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode239(\"path\", {\n fill: \"currentColor\",\n d: \"M256 576v128h640V576zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32\"\n }),\n _createElementVNode239(\"path\", {\n fill: \"currentColor\",\n d: \"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z\"\n })\n ]));\n }\n});\n\n// src/components/smoking.vue\nvar smoking_default = smoking_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/soccer.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent240 } from \"vue\";\nimport { createElementVNode as _createElementVNode240, openBlock as _openBlock240, createElementBlock as _createElementBlock240 } from \"vue\";\nvar soccer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent240({\n name: \"Soccer\",\n __name: \"soccer\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock240(), _createElementBlock240(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode240(\"path\", {\n fill: \"currentColor\",\n d: \"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24m72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152m452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z\"\n })\n ]));\n }\n});\n\n// src/components/soccer.vue\nvar soccer_default = soccer_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sold-out.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent241 } from \"vue\";\nimport { createElementVNode as _createElementVNode241, openBlock as _openBlock241, createElementBlock as _createElementBlock241 } from \"vue\";\nvar sold_out_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent241({\n name: \"SoldOut\",\n __name: \"sold-out\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock241(), _createElementBlock241(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode241(\"path\", {\n fill: \"currentColor\",\n d: \"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z\"\n })\n ]));\n }\n});\n\n// src/components/sold-out.vue\nvar sold_out_default = sold_out_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sort-down.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent242 } from \"vue\";\nimport { createElementVNode as _createElementVNode242, openBlock as _openBlock242, createElementBlock as _createElementBlock242 } from \"vue\";\nvar sort_down_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent242({\n name: \"SortDown\",\n __name: \"sort-down\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock242(), _createElementBlock242(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode242(\"path\", {\n fill: \"currentColor\",\n d: \"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0\"\n })\n ]));\n }\n});\n\n// src/components/sort-down.vue\nvar sort_down_default = sort_down_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sort-up.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent243 } from \"vue\";\nimport { createElementVNode as _createElementVNode243, openBlock as _openBlock243, createElementBlock as _createElementBlock243 } from \"vue\";\nvar sort_up_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent243({\n name: \"SortUp\",\n __name: \"sort-up\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock243(), _createElementBlock243(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode243(\"path\", {\n fill: \"currentColor\",\n d: \"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248\"\n })\n ]));\n }\n});\n\n// src/components/sort-up.vue\nvar sort_up_default = sort_up_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sort.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent244 } from \"vue\";\nimport { createElementVNode as _createElementVNode244, openBlock as _openBlock244, createElementBlock as _createElementBlock244 } from \"vue\";\nvar sort_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent244({\n name: \"Sort\",\n __name: \"sort\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock244(), _createElementBlock244(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode244(\"path\", {\n fill: \"currentColor\",\n d: \"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z\"\n })\n ]));\n }\n});\n\n// src/components/sort.vue\nvar sort_default = sort_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/stamp.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent245 } from \"vue\";\nimport { createElementVNode as _createElementVNode245, openBlock as _openBlock245, createElementBlock as _createElementBlock245 } from \"vue\";\nvar stamp_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent245({\n name: \"Stamp\",\n __name: \"stamp\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock245(), _createElementBlock245(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode245(\"path\", {\n fill: \"currentColor\",\n d: \"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0M128 896v-64h768v64z\"\n })\n ]));\n }\n});\n\n// src/components/stamp.vue\nvar stamp_default = stamp_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/star-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent246 } from \"vue\";\nimport { createElementVNode as _createElementVNode246, openBlock as _openBlock246, createElementBlock as _createElementBlock246 } from \"vue\";\nvar star_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent246({\n name: \"StarFilled\",\n __name: \"star-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock246(), _createElementBlock246(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode246(\"path\", {\n fill: \"currentColor\",\n d: \"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z\"\n })\n ]));\n }\n});\n\n// src/components/star-filled.vue\nvar star_filled_default = star_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/star.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent247 } from \"vue\";\nimport { createElementVNode as _createElementVNode247, openBlock as _openBlock247, createElementBlock as _createElementBlock247 } from \"vue\";\nvar star_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent247({\n name: \"Star\",\n __name: \"star\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock247(), _createElementBlock247(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode247(\"path\", {\n fill: \"currentColor\",\n d: \"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z\"\n })\n ]));\n }\n});\n\n// src/components/star.vue\nvar star_default = star_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/stopwatch.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent248 } from \"vue\";\nimport { createElementVNode as _createElementVNode248, openBlock as _openBlock248, createElementBlock as _createElementBlock248 } from \"vue\";\nvar stopwatch_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent248({\n name: \"Stopwatch\",\n __name: \"stopwatch\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock248(), _createElementBlock248(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode248(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n _createElementVNode248(\"path\", {\n fill: \"currentColor\",\n d: \"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z\"\n })\n ]));\n }\n});\n\n// src/components/stopwatch.vue\nvar stopwatch_default = stopwatch_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/success-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent249 } from \"vue\";\nimport { createElementVNode as _createElementVNode249, openBlock as _openBlock249, createElementBlock as _createElementBlock249 } from \"vue\";\nvar success_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent249({\n name: \"SuccessFilled\",\n __name: \"success-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock249(), _createElementBlock249(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode249(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z\"\n })\n ]));\n }\n});\n\n// src/components/success-filled.vue\nvar success_filled_default = success_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sugar.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent250 } from \"vue\";\nimport { createElementVNode as _createElementVNode250, openBlock as _openBlock250, createElementBlock as _createElementBlock250 } from \"vue\";\nvar sugar_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent250({\n name: \"Sugar\",\n __name: \"sugar\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock250(), _createElementBlock250(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode250(\"path\", {\n fill: \"currentColor\",\n d: \"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z\"\n })\n ]));\n }\n});\n\n// src/components/sugar.vue\nvar sugar_default = sugar_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/suitcase-line.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent251 } from \"vue\";\nimport { createElementVNode as _createElementVNode251, openBlock as _openBlock251, createElementBlock as _createElementBlock251 } from \"vue\";\nvar suitcase_line_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent251({\n name: \"SuitcaseLine\",\n __name: \"suitcase-line\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock251(), _createElementBlock251(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode251(\"path\", {\n fill: \"currentColor\",\n d: \"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5M384 128h256v64H384zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128zm448 0H320V448h384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320z\"\n })\n ]));\n }\n});\n\n// src/components/suitcase-line.vue\nvar suitcase_line_default = suitcase_line_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/suitcase.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent252 } from \"vue\";\nimport { createElementVNode as _createElementVNode252, openBlock as _openBlock252, createElementBlock as _createElementBlock252 } from \"vue\";\nvar suitcase_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent252({\n name: \"Suitcase\",\n __name: \"suitcase\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock252(), _createElementBlock252(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode252(\"path\", {\n fill: \"currentColor\",\n d: \"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128\"\n }),\n _createElementVNode252(\"path\", {\n fill: \"currentColor\",\n d: \"M384 128v64h256v-64zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64\"\n })\n ]));\n }\n});\n\n// src/components/suitcase.vue\nvar suitcase_default = suitcase_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sunny.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent253 } from \"vue\";\nimport { createElementVNode as _createElementVNode253, openBlock as _openBlock253, createElementBlock as _createElementBlock253 } from \"vue\";\nvar sunny_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent253({\n name: \"Sunny\",\n __name: \"sunny\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock253(), _createElementBlock253(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode253(\"path\", {\n fill: \"currentColor\",\n d: \"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32M195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248M64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32m768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32M195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0\"\n })\n ]));\n }\n});\n\n// src/components/sunny.vue\nvar sunny_default = sunny_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sunrise.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent254 } from \"vue\";\nimport { createElementVNode as _createElementVNode254, openBlock as _openBlock254, createElementBlock as _createElementBlock254 } from \"vue\";\nvar sunrise_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent254({\n name: \"Sunrise\",\n __name: \"sunrise\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock254(), _createElementBlock254(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode254(\"path\", {\n fill: \"currentColor\",\n d: \"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64m129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32m407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248\"\n })\n ]));\n }\n});\n\n// src/components/sunrise.vue\nvar sunrise_default = sunrise_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/sunset.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent255 } from \"vue\";\nimport { createElementVNode as _createElementVNode255, openBlock as _openBlock255, createElementBlock as _createElementBlock255 } from \"vue\";\nvar sunset_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent255({\n name: \"Sunset\",\n __name: \"sunset\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock255(), _createElementBlock255(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode255(\"path\", {\n fill: \"currentColor\",\n d: \"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32m256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32\"\n })\n ]));\n }\n});\n\n// src/components/sunset.vue\nvar sunset_default = sunset_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/switch-button.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent256 } from \"vue\";\nimport { createElementVNode as _createElementVNode256, openBlock as _openBlock256, createElementBlock as _createElementBlock256 } from \"vue\";\nvar switch_button_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent256({\n name: \"SwitchButton\",\n __name: \"switch-button\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock256(), _createElementBlock256(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode256(\"path\", {\n fill: \"currentColor\",\n d: \"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z\"\n }),\n _createElementVNode256(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32\"\n })\n ]));\n }\n});\n\n// src/components/switch-button.vue\nvar switch_button_default = switch_button_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/switch-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent257 } from \"vue\";\nimport { createElementVNode as _createElementVNode257, openBlock as _openBlock257, createElementBlock as _createElementBlock257 } from \"vue\";\nvar switch_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent257({\n name: \"SwitchFilled\",\n __name: \"switch-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock257(), _createElementBlock257(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode257(\"path\", {\n fill: \"currentColor\",\n d: \"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z\"\n }),\n _createElementVNode257(\"path\", {\n fill: \"currentColor\",\n d: \"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z\"\n })\n ]));\n }\n});\n\n// src/components/switch-filled.vue\nvar switch_filled_default = switch_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/switch.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent258 } from \"vue\";\nimport { createElementVNode as _createElementVNode258, openBlock as _openBlock258, createElementBlock as _createElementBlock258 } from \"vue\";\nvar switch_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent258({\n name: \"Switch\",\n __name: \"switch\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock258(), _createElementBlock258(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode258(\"path\", {\n fill: \"currentColor\",\n d: \"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32\"\n })\n ]));\n }\n});\n\n// src/components/switch.vue\nvar switch_default = switch_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/takeaway-box.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent259 } from \"vue\";\nimport { createElementVNode as _createElementVNode259, openBlock as _openBlock259, createElementBlock as _createElementBlock259 } from \"vue\";\nvar takeaway_box_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent259({\n name: \"TakeawayBox\",\n __name: \"takeaway-box\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock259(), _createElementBlock259(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode259(\"path\", {\n fill: \"currentColor\",\n d: \"M832 384H192v448h640zM96 320h832V128H96zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64\"\n })\n ]));\n }\n});\n\n// src/components/takeaway-box.vue\nvar takeaway_box_default = takeaway_box_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/ticket.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent260 } from \"vue\";\nimport { createElementVNode as _createElementVNode260, openBlock as _openBlock260, createElementBlock as _createElementBlock260 } from \"vue\";\nvar ticket_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent260({\n name: \"Ticket\",\n __name: \"ticket\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock260(), _createElementBlock260(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode260(\"path\", {\n fill: \"currentColor\",\n d: \"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64zm0-416v192h64V416z\"\n })\n ]));\n }\n});\n\n// src/components/ticket.vue\nvar ticket_default = ticket_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/tickets.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent261 } from \"vue\";\nimport { createElementVNode as _createElementVNode261, openBlock as _openBlock261, createElementBlock as _createElementBlock261 } from \"vue\";\nvar tickets_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent261({\n name: \"Tickets\",\n __name: \"tickets\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock261(), _createElementBlock261(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode261(\"path\", {\n fill: \"currentColor\",\n d: \"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z\"\n })\n ]));\n }\n});\n\n// src/components/tickets.vue\nvar tickets_default = tickets_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/timer.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent262 } from \"vue\";\nimport { createElementVNode as _createElementVNode262, openBlock as _openBlock262, createElementBlock as _createElementBlock262 } from \"vue\";\nvar timer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent262({\n name: \"Timer\",\n __name: \"timer\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock262(), _createElementBlock262(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode262(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640m0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768\"\n }),\n _createElementVNode262(\"path\", {\n fill: \"currentColor\",\n d: \"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32\"\n }),\n _createElementVNode262(\"path\", {\n fill: \"currentColor\",\n d: \"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0m96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64z\"\n })\n ]));\n }\n});\n\n// src/components/timer.vue\nvar timer_default = timer_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/toilet-paper.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent263 } from \"vue\";\nimport { createElementVNode as _createElementVNode263, openBlock as _openBlock263, createElementBlock as _createElementBlock263 } from \"vue\";\nvar toilet_paper_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent263({\n name: \"ToiletPaper\",\n __name: \"toilet-paper\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock263(), _createElementBlock263(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode263(\"path\", {\n fill: \"currentColor\",\n d: \"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224M736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224\"\n }),\n _createElementVNode263(\"path\", {\n fill: \"currentColor\",\n d: \"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96\"\n })\n ]));\n }\n});\n\n// src/components/toilet-paper.vue\nvar toilet_paper_default = toilet_paper_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/tools.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent264 } from \"vue\";\nimport { createElementVNode as _createElementVNode264, openBlock as _openBlock264, createElementBlock as _createElementBlock264 } from \"vue\";\nvar tools_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent264({\n name: \"Tools\",\n __name: \"tools\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock264(), _createElementBlock264(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode264(\"path\", {\n fill: \"currentColor\",\n d: \"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0\"\n })\n ]));\n }\n});\n\n// src/components/tools.vue\nvar tools_default = tools_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/top-left.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent265 } from \"vue\";\nimport { createElementVNode as _createElementVNode265, openBlock as _openBlock265, createElementBlock as _createElementBlock265 } from \"vue\";\nvar top_left_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent265({\n name: \"TopLeft\",\n __name: \"top-left\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock265(), _createElementBlock265(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode265(\"path\", {\n fill: \"currentColor\",\n d: \"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0z\"\n }),\n _createElementVNode265(\"path\", {\n fill: \"currentColor\",\n d: \"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z\"\n })\n ]));\n }\n});\n\n// src/components/top-left.vue\nvar top_left_default = top_left_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/top-right.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent266 } from \"vue\";\nimport { createElementVNode as _createElementVNode266, openBlock as _openBlock266, createElementBlock as _createElementBlock266 } from \"vue\";\nvar top_right_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent266({\n name: \"TopRight\",\n __name: \"top-right\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock266(), _createElementBlock266(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode266(\"path\", {\n fill: \"currentColor\",\n d: \"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0z\"\n }),\n _createElementVNode266(\"path\", {\n fill: \"currentColor\",\n d: \"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z\"\n })\n ]));\n }\n});\n\n// src/components/top-right.vue\nvar top_right_default = top_right_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/top.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent267 } from \"vue\";\nimport { createElementVNode as _createElementVNode267, openBlock as _openBlock267, createElementBlock as _createElementBlock267 } from \"vue\";\nvar top_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent267({\n name: \"Top\",\n __name: \"top\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock267(), _createElementBlock267(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode267(\"path\", {\n fill: \"currentColor\",\n d: \"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z\"\n })\n ]));\n }\n});\n\n// src/components/top.vue\nvar top_default = top_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/trend-charts.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent268 } from \"vue\";\nimport { createElementVNode as _createElementVNode268, openBlock as _openBlock268, createElementBlock as _createElementBlock268 } from \"vue\";\nvar trend_charts_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent268({\n name: \"TrendCharts\",\n __name: \"trend-charts\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock268(), _createElementBlock268(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode268(\"path\", {\n fill: \"currentColor\",\n d: \"M128 896V128h768v768zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0\"\n })\n ]));\n }\n});\n\n// src/components/trend-charts.vue\nvar trend_charts_default = trend_charts_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/trophy-base.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent269 } from \"vue\";\nimport { createElementVNode as _createElementVNode269, openBlock as _openBlock269, createElementBlock as _createElementBlock269 } from \"vue\";\nvar trophy_base_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent269({\n name: \"TrophyBase\",\n __name: \"trophy-base\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock269(), _createElementBlock269(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode269(\"path\", {\n fill: \"currentColor\",\n d: \"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4m172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6\"\n })\n ]));\n }\n});\n\n// src/components/trophy-base.vue\nvar trophy_base_default = trophy_base_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/trophy.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent270 } from \"vue\";\nimport { createElementVNode as _createElementVNode270, openBlock as _openBlock270, createElementBlock as _createElementBlock270 } from \"vue\";\nvar trophy_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent270({\n name: \"Trophy\",\n __name: \"trophy\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock270(), _createElementBlock270(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode270(\"path\", {\n fill: \"currentColor\",\n d: \"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64zm224-448V128H320v320a192 192 0 1 0 384 0m64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448z\"\n })\n ]));\n }\n});\n\n// src/components/trophy.vue\nvar trophy_default = trophy_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/turn-off.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent271 } from \"vue\";\nimport { createElementVNode as _createElementVNode271, openBlock as _openBlock271, createElementBlock as _createElementBlock271 } from \"vue\";\nvar turn_off_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent271({\n name: \"TurnOff\",\n __name: \"turn-off\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock271(), _createElementBlock271(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode271(\"path\", {\n fill: \"currentColor\",\n d: \"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z\"\n }),\n _createElementVNode271(\"path\", {\n fill: \"currentColor\",\n d: \"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454m0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088\"\n })\n ]));\n }\n});\n\n// src/components/turn-off.vue\nvar turn_off_default = turn_off_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/umbrella.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent272 } from \"vue\";\nimport { createElementVNode as _createElementVNode272, openBlock as _openBlock272, createElementBlock as _createElementBlock272 } from \"vue\";\nvar umbrella_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent272({\n name: \"Umbrella\",\n __name: \"umbrella\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock272(), _createElementBlock272(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode272(\"path\", {\n fill: \"currentColor\",\n d: \"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0m570.688-320a384.128 384.128 0 0 0-757.376 0z\"\n })\n ]));\n }\n});\n\n// src/components/umbrella.vue\nvar umbrella_default = umbrella_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/unlock.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent273 } from \"vue\";\nimport { createElementVNode as _createElementVNode273, openBlock as _openBlock273, createElementBlock as _createElementBlock273 } from \"vue\";\nvar unlock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent273({\n name: \"Unlock\",\n __name: \"unlock\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock273(), _createElementBlock273(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode273(\"path\", {\n fill: \"currentColor\",\n d: \"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96\"\n }),\n _createElementVNode273(\"path\", {\n fill: \"currentColor\",\n d: \"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104z\"\n })\n ]));\n }\n});\n\n// src/components/unlock.vue\nvar unlock_default = unlock_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/upload-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent274 } from \"vue\";\nimport { createElementVNode as _createElementVNode274, openBlock as _openBlock274, createElementBlock as _createElementBlock274 } from \"vue\";\nvar upload_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent274({\n name: \"UploadFilled\",\n __name: \"upload-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock274(), _createElementBlock274(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode274(\"path\", {\n fill: \"currentColor\",\n d: \"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z\"\n })\n ]));\n }\n});\n\n// src/components/upload-filled.vue\nvar upload_filled_default = upload_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/upload.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent275 } from \"vue\";\nimport { createElementVNode as _createElementVNode275, openBlock as _openBlock275, createElementBlock as _createElementBlock275 } from \"vue\";\nvar upload_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent275({\n name: \"Upload\",\n __name: \"upload\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock275(), _createElementBlock275(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode275(\"path\", {\n fill: \"currentColor\",\n d: \"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248z\"\n })\n ]));\n }\n});\n\n// src/components/upload.vue\nvar upload_default = upload_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/user-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent276 } from \"vue\";\nimport { createElementVNode as _createElementVNode276, openBlock as _openBlock276, createElementBlock as _createElementBlock276 } from \"vue\";\nvar user_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent276({\n name: \"UserFilled\",\n __name: \"user-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock276(), _createElementBlock276(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode276(\"path\", {\n fill: \"currentColor\",\n d: \"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z\"\n })\n ]));\n }\n});\n\n// src/components/user-filled.vue\nvar user_filled_default = user_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/user.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent277 } from \"vue\";\nimport { createElementVNode as _createElementVNode277, openBlock as _openBlock277, createElementBlock as _createElementBlock277 } from \"vue\";\nvar user_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent277({\n name: \"User\",\n __name: \"user\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock277(), _createElementBlock277(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode277(\"path\", {\n fill: \"currentColor\",\n d: \"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0\"\n })\n ]));\n }\n});\n\n// src/components/user.vue\nvar user_default = user_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/van.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent278 } from \"vue\";\nimport { createElementVNode as _createElementVNode278, openBlock as _openBlock278, createElementBlock as _createElementBlock278 } from \"vue\";\nvar van_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent278({\n name: \"Van\",\n __name: \"van\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock278(), _createElementBlock278(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode278(\"path\", {\n fill: \"currentColor\",\n d: \"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672m48.128-192-14.72-96H704v96h151.872M688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160m-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160\"\n })\n ]));\n }\n});\n\n// src/components/van.vue\nvar van_default = van_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/video-camera-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent279 } from \"vue\";\nimport { createElementVNode as _createElementVNode279, openBlock as _openBlock279, createElementBlock as _createElementBlock279 } from \"vue\";\nvar video_camera_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent279({\n name: \"VideoCameraFilled\",\n __name: \"video-camera-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock279(), _createElementBlock279(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode279(\"path\", {\n fill: \"currentColor\",\n d: \"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zM192 768v64h384v-64zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0m64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288m-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320m64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0\"\n })\n ]));\n }\n});\n\n// src/components/video-camera-filled.vue\nvar video_camera_filled_default = video_camera_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/video-camera.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent280 } from \"vue\";\nimport { createElementVNode as _createElementVNode280, openBlock as _openBlock280, createElementBlock as _createElementBlock280 } from \"vue\";\nvar video_camera_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent280({\n name: \"VideoCamera\",\n __name: \"video-camera\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock280(), _createElementBlock280(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode280(\"path\", {\n fill: \"currentColor\",\n d: \"M704 768V256H128v512zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32zm0 71.552v176.896l128 64V359.552zM192 320h192v64H192z\"\n })\n ]));\n }\n});\n\n// src/components/video-camera.vue\nvar video_camera_default = video_camera_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/video-pause.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent281 } from \"vue\";\nimport { createElementVNode as _createElementVNode281, openBlock as _openBlock281, createElementBlock as _createElementBlock281 } from \"vue\";\nvar video_pause_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent281({\n name: \"VideoPause\",\n __name: \"video-pause\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock281(), _createElementBlock281(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode281(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32m192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32\"\n })\n ]));\n }\n});\n\n// src/components/video-pause.vue\nvar video_pause_default = video_pause_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/video-play.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent282 } from \"vue\";\nimport { createElementVNode as _createElementVNode282, openBlock as _openBlock282, createElementBlock as _createElementBlock282 } from \"vue\";\nvar video_play_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent282({\n name: \"VideoPlay\",\n __name: \"video-play\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock282(), _createElementBlock282(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode282(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m-48-247.616L668.608 512 464 375.616zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z\"\n })\n ]));\n }\n});\n\n// src/components/video-play.vue\nvar video_play_default = video_play_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/view.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent283 } from \"vue\";\nimport { createElementVNode as _createElementVNode283, openBlock as _openBlock283, createElementBlock as _createElementBlock283 } from \"vue\";\nvar view_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent283({\n name: \"View\",\n __name: \"view\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock283(), _createElementBlock283(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode283(\"path\", {\n fill: \"currentColor\",\n d: \"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160\"\n })\n ]));\n }\n});\n\n// src/components/view.vue\nvar view_default = view_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/wallet-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent284 } from \"vue\";\nimport { createElementVNode as _createElementVNode284, openBlock as _openBlock284, createElementBlock as _createElementBlock284 } from \"vue\";\nvar wallet_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent284({\n name: \"WalletFilled\",\n __name: \"wallet-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock284(), _createElementBlock284(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode284(\"path\", {\n fill: \"currentColor\",\n d: \"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96m-80-544 128 160H384z\"\n })\n ]));\n }\n});\n\n// src/components/wallet-filled.vue\nvar wallet_filled_default = wallet_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/wallet.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent285 } from \"vue\";\nimport { createElementVNode as _createElementVNode285, openBlock as _openBlock285, createElementBlock as _createElementBlock285 } from \"vue\";\nvar wallet_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent285({\n name: \"Wallet\",\n __name: \"wallet\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock285(), _createElementBlock285(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode285(\"path\", {\n fill: \"currentColor\",\n d: \"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32z\"\n }),\n _createElementVNode285(\"path\", {\n fill: \"currentColor\",\n d: \"M128 320v512h768V320zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32\"\n }),\n _createElementVNode285(\"path\", {\n fill: \"currentColor\",\n d: \"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128\"\n })\n ]));\n }\n});\n\n// src/components/wallet.vue\nvar wallet_default = wallet_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/warn-triangle-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent286 } from \"vue\";\nimport { createElementVNode as _createElementVNode286, openBlock as _openBlock286, createElementBlock as _createElementBlock286 } from \"vue\";\nvar warn_triangle_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent286({\n name: \"WarnTriangleFilled\",\n __name: \"warn-triangle-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock286(), _createElementBlock286(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xml:space\": \"preserve\",\n style: { \"enable-background\": \"new 0 0 1024 1024\" },\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode286(\"path\", {\n fill: \"currentColor\",\n d: \"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03M554.67 768h-85.33v-85.33h85.33zm0-426.67v298.66h-85.33V341.32z\"\n })\n ]));\n }\n});\n\n// src/components/warn-triangle-filled.vue\nvar warn_triangle_filled_default = warn_triangle_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/warning-filled.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent287 } from \"vue\";\nimport { createElementVNode as _createElementVNode287, openBlock as _openBlock287, createElementBlock as _createElementBlock287 } from \"vue\";\nvar warning_filled_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent287({\n name: \"WarningFilled\",\n __name: \"warning-filled\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock287(), _createElementBlock287(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode287(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4\"\n })\n ]));\n }\n});\n\n// src/components/warning-filled.vue\nvar warning_filled_default = warning_filled_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/warning.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent288 } from \"vue\";\nimport { createElementVNode as _createElementVNode288, openBlock as _openBlock288, createElementBlock as _createElementBlock288 } from \"vue\";\nvar warning_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent288({\n name: \"Warning\",\n __name: \"warning\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock288(), _createElementBlock288(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode288(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32\"\n })\n ]));\n }\n});\n\n// src/components/warning.vue\nvar warning_default = warning_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/watch.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent289 } from \"vue\";\nimport { createElementVNode as _createElementVNode289, openBlock as _openBlock289, createElementBlock as _createElementBlock289 } from \"vue\";\nvar watch_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent289({\n name: \"Watch\",\n __name: \"watch\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock289(), _createElementBlock289(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode289(\"path\", {\n fill: \"currentColor\",\n d: \"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512m0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640\"\n }),\n _createElementVNode289(\"path\", {\n fill: \"currentColor\",\n d: \"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32\"\n }),\n _createElementVNode289(\"path\", {\n fill: \"currentColor\",\n d: \"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32m128-256V128H416v128h-64V64h320v192zM416 768v128h192V768h64v192H352V768z\"\n })\n ]));\n }\n});\n\n// src/components/watch.vue\nvar watch_default = watch_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/watermelon.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent290 } from \"vue\";\nimport { createElementVNode as _createElementVNode290, openBlock as _openBlock290, createElementBlock as _createElementBlock290 } from \"vue\";\nvar watermelon_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent290({\n name: \"Watermelon\",\n __name: \"watermelon\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock290(), _createElementBlock290(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode290(\"path\", {\n fill: \"currentColor\",\n d: \"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248zm231.552 141.056a448 448 0 1 1-632-632l632 632\"\n })\n ]));\n }\n});\n\n// src/components/watermelon.vue\nvar watermelon_default = watermelon_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/wind-power.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent291 } from \"vue\";\nimport { createElementVNode as _createElementVNode291, openBlock as _openBlock291, createElementBlock as _createElementBlock291 } from \"vue\";\nvar wind_power_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent291({\n name: \"WindPower\",\n __name: \"wind-power\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock291(), _createElementBlock291(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode291(\"path\", {\n fill: \"currentColor\",\n d: \"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32m416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96z\"\n })\n ]));\n }\n});\n\n// src/components/wind-power.vue\nvar wind_power_default = wind_power_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/zoom-in.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent292 } from \"vue\";\nimport { createElementVNode as _createElementVNode292, openBlock as _openBlock292, createElementBlock as _createElementBlock292 } from \"vue\";\nvar zoom_in_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent292({\n name: \"ZoomIn\",\n __name: \"zoom-in\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock292(), _createElementBlock292(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode292(\"path\", {\n fill: \"currentColor\",\n d: \"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z\"\n })\n ]));\n }\n});\n\n// src/components/zoom-in.vue\nvar zoom_in_default = zoom_in_vue_vue_type_script_setup_true_lang_default;\n\n// unplugin-vue:/home/runner/work/element-plus-icons/element-plus-icons/packages/vue/src/components/zoom-out.vue?vue&type=script&setup=true&lang.ts\nimport { defineComponent as _defineComponent293 } from \"vue\";\nimport { createElementVNode as _createElementVNode293, openBlock as _openBlock293, createElementBlock as _createElementBlock293 } from \"vue\";\nvar zoom_out_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ _defineComponent293({\n name: \"ZoomOut\",\n __name: \"zoom-out\",\n setup(__props) {\n return (_ctx, _cache) => (_openBlock293(), _createElementBlock293(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n _createElementVNode293(\"path\", {\n fill: \"currentColor\",\n d: \"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64\"\n })\n ]));\n }\n});\n\n// src/components/zoom-out.vue\nvar zoom_out_default = zoom_out_vue_vue_type_script_setup_true_lang_default;\nexport {\n add_location_default as AddLocation,\n aim_default as Aim,\n alarm_clock_default as AlarmClock,\n apple_default as Apple,\n arrow_down_default as ArrowDown,\n arrow_down_bold_default as ArrowDownBold,\n arrow_left_default as ArrowLeft,\n arrow_left_bold_default as ArrowLeftBold,\n arrow_right_default as ArrowRight,\n arrow_right_bold_default as ArrowRightBold,\n arrow_up_default as ArrowUp,\n arrow_up_bold_default as ArrowUpBold,\n avatar_default as Avatar,\n back_default as Back,\n baseball_default as Baseball,\n basketball_default as Basketball,\n bell_default as Bell,\n bell_filled_default as BellFilled,\n bicycle_default as Bicycle,\n bottom_default as Bottom,\n bottom_left_default as BottomLeft,\n bottom_right_default as BottomRight,\n bowl_default as Bowl,\n box_default as Box,\n briefcase_default as Briefcase,\n brush_default as Brush,\n brush_filled_default as BrushFilled,\n burger_default as Burger,\n calendar_default as Calendar,\n camera_default as Camera,\n camera_filled_default as CameraFilled,\n caret_bottom_default as CaretBottom,\n caret_left_default as CaretLeft,\n caret_right_default as CaretRight,\n caret_top_default as CaretTop,\n cellphone_default as Cellphone,\n chat_dot_round_default as ChatDotRound,\n chat_dot_square_default as ChatDotSquare,\n chat_line_round_default as ChatLineRound,\n chat_line_square_default as ChatLineSquare,\n chat_round_default as ChatRound,\n chat_square_default as ChatSquare,\n check_default as Check,\n checked_default as Checked,\n cherry_default as Cherry,\n chicken_default as Chicken,\n chrome_filled_default as ChromeFilled,\n circle_check_default as CircleCheck,\n circle_check_filled_default as CircleCheckFilled,\n circle_close_default as CircleClose,\n circle_close_filled_default as CircleCloseFilled,\n circle_plus_default as CirclePlus,\n circle_plus_filled_default as CirclePlusFilled,\n clock_default as Clock,\n close_default as Close,\n close_bold_default as CloseBold,\n cloudy_default as Cloudy,\n coffee_default as Coffee,\n coffee_cup_default as CoffeeCup,\n coin_default as Coin,\n cold_drink_default as ColdDrink,\n collection_default as Collection,\n collection_tag_default as CollectionTag,\n comment_default as Comment,\n compass_default as Compass,\n connection_default as Connection,\n coordinate_default as Coordinate,\n copy_document_default as CopyDocument,\n cpu_default as Cpu,\n credit_card_default as CreditCard,\n crop_default as Crop,\n d_arrow_left_default as DArrowLeft,\n d_arrow_right_default as DArrowRight,\n d_caret_default as DCaret,\n data_analysis_default as DataAnalysis,\n data_board_default as DataBoard,\n data_line_default as DataLine,\n delete_default as Delete,\n delete_filled_default as DeleteFilled,\n delete_location_default as DeleteLocation,\n dessert_default as Dessert,\n discount_default as Discount,\n dish_default as Dish,\n dish_dot_default as DishDot,\n document_default as Document,\n document_add_default as DocumentAdd,\n document_checked_default as DocumentChecked,\n document_copy_default as DocumentCopy,\n document_delete_default as DocumentDelete,\n document_remove_default as DocumentRemove,\n download_default as Download,\n drizzling_default as Drizzling,\n edit_default as Edit,\n edit_pen_default as EditPen,\n eleme_default as Eleme,\n eleme_filled_default as ElemeFilled,\n element_plus_default as ElementPlus,\n expand_default as Expand,\n failed_default as Failed,\n female_default as Female,\n files_default as Files,\n film_default as Film,\n filter_default as Filter,\n finished_default as Finished,\n first_aid_kit_default as FirstAidKit,\n flag_default as Flag,\n fold_default as Fold,\n folder_default as Folder,\n folder_add_default as FolderAdd,\n folder_checked_default as FolderChecked,\n folder_delete_default as FolderDelete,\n folder_opened_default as FolderOpened,\n folder_remove_default as FolderRemove,\n food_default as Food,\n football_default as Football,\n fork_spoon_default as ForkSpoon,\n fries_default as Fries,\n full_screen_default as FullScreen,\n goblet_default as Goblet,\n goblet_full_default as GobletFull,\n goblet_square_default as GobletSquare,\n goblet_square_full_default as GobletSquareFull,\n gold_medal_default as GoldMedal,\n goods_default as Goods,\n goods_filled_default as GoodsFilled,\n grape_default as Grape,\n grid_default as Grid,\n guide_default as Guide,\n handbag_default as Handbag,\n headset_default as Headset,\n help_default as Help,\n help_filled_default as HelpFilled,\n hide_default as Hide,\n histogram_default as Histogram,\n home_filled_default as HomeFilled,\n hot_water_default as HotWater,\n house_default as House,\n ice_cream_default as IceCream,\n ice_cream_round_default as IceCreamRound,\n ice_cream_square_default as IceCreamSquare,\n ice_drink_default as IceDrink,\n ice_tea_default as IceTea,\n info_filled_default as InfoFilled,\n iphone_default as Iphone,\n key_default as Key,\n knife_fork_default as KnifeFork,\n lightning_default as Lightning,\n link_default as Link,\n list_default as List,\n loading_default as Loading,\n location_default as Location,\n location_filled_default as LocationFilled,\n location_information_default as LocationInformation,\n lock_default as Lock,\n lollipop_default as Lollipop,\n magic_stick_default as MagicStick,\n magnet_default as Magnet,\n male_default as Male,\n management_default as Management,\n map_location_default as MapLocation,\n medal_default as Medal,\n memo_default as Memo,\n menu_default as Menu,\n message_default as Message,\n message_box_default as MessageBox,\n mic_default as Mic,\n microphone_default as Microphone,\n milk_tea_default as MilkTea,\n minus_default as Minus,\n money_default as Money,\n monitor_default as Monitor,\n moon_default as Moon,\n moon_night_default as MoonNight,\n more_default as More,\n more_filled_default as MoreFilled,\n mostly_cloudy_default as MostlyCloudy,\n mouse_default as Mouse,\n mug_default as Mug,\n mute_default as Mute,\n mute_notification_default as MuteNotification,\n no_smoking_default as NoSmoking,\n notebook_default as Notebook,\n notification_default as Notification,\n odometer_default as Odometer,\n office_building_default as OfficeBuilding,\n open_default as Open,\n operation_default as Operation,\n opportunity_default as Opportunity,\n orange_default as Orange,\n paperclip_default as Paperclip,\n partly_cloudy_default as PartlyCloudy,\n pear_default as Pear,\n phone_default as Phone,\n phone_filled_default as PhoneFilled,\n picture_default as Picture,\n picture_filled_default as PictureFilled,\n picture_rounded_default as PictureRounded,\n pie_chart_default as PieChart,\n place_default as Place,\n platform_default as Platform,\n plus_default as Plus,\n pointer_default as Pointer,\n position_default as Position,\n postcard_default as Postcard,\n pouring_default as Pouring,\n present_default as Present,\n price_tag_default as PriceTag,\n printer_default as Printer,\n promotion_default as Promotion,\n quartz_watch_default as QuartzWatch,\n question_filled_default as QuestionFilled,\n rank_default as Rank,\n reading_default as Reading,\n reading_lamp_default as ReadingLamp,\n refresh_default as Refresh,\n refresh_left_default as RefreshLeft,\n refresh_right_default as RefreshRight,\n refrigerator_default as Refrigerator,\n remove_default as Remove,\n remove_filled_default as RemoveFilled,\n right_default as Right,\n scale_to_original_default as ScaleToOriginal,\n school_default as School,\n scissor_default as Scissor,\n search_default as Search,\n select_default as Select,\n sell_default as Sell,\n semi_select_default as SemiSelect,\n service_default as Service,\n set_up_default as SetUp,\n setting_default as Setting,\n share_default as Share,\n ship_default as Ship,\n shop_default as Shop,\n shopping_bag_default as ShoppingBag,\n shopping_cart_default as ShoppingCart,\n shopping_cart_full_default as ShoppingCartFull,\n shopping_trolley_default as ShoppingTrolley,\n smoking_default as Smoking,\n soccer_default as Soccer,\n sold_out_default as SoldOut,\n sort_default as Sort,\n sort_down_default as SortDown,\n sort_up_default as SortUp,\n stamp_default as Stamp,\n star_default as Star,\n star_filled_default as StarFilled,\n stopwatch_default as Stopwatch,\n success_filled_default as SuccessFilled,\n sugar_default as Sugar,\n suitcase_default as Suitcase,\n suitcase_line_default as SuitcaseLine,\n sunny_default as Sunny,\n sunrise_default as Sunrise,\n sunset_default as Sunset,\n switch_default as Switch,\n switch_button_default as SwitchButton,\n switch_filled_default as SwitchFilled,\n takeaway_box_default as TakeawayBox,\n ticket_default as Ticket,\n tickets_default as Tickets,\n timer_default as Timer,\n toilet_paper_default as ToiletPaper,\n tools_default as Tools,\n top_default as Top,\n top_left_default as TopLeft,\n top_right_default as TopRight,\n trend_charts_default as TrendCharts,\n trophy_default as Trophy,\n trophy_base_default as TrophyBase,\n turn_off_default as TurnOff,\n umbrella_default as Umbrella,\n unlock_default as Unlock,\n upload_default as Upload,\n upload_filled_default as UploadFilled,\n user_default as User,\n user_filled_default as UserFilled,\n van_default as Van,\n video_camera_default as VideoCamera,\n video_camera_filled_default as VideoCameraFilled,\n video_pause_default as VideoPause,\n video_play_default as VideoPlay,\n view_default as View,\n wallet_default as Wallet,\n wallet_filled_default as WalletFilled,\n warn_triangle_filled_default as WarnTriangleFilled,\n warning_default as Warning,\n warning_filled_default as WarningFilled,\n watch_default as Watch,\n watermelon_default as Watermelon,\n wind_power_default as WindPower,\n zoom_in_default as ZoomIn,\n zoom_out_default as ZoomOut\n};\n"], "mappings": "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", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-RPTJ2D5Y.js b/docs/.vitepress/cache/deps/chunk-FVOCDV6K.js similarity index 99% rename from docs/.vitepress/cache/deps/chunk-RPTJ2D5Y.js rename to docs/.vitepress/cache/deps/chunk-FVOCDV6K.js index fdf299d2..043f6e1c 100644 --- a/docs/.vitepress/cache/deps/chunk-RPTJ2D5Y.js +++ b/docs/.vitepress/cache/deps/chunk-FVOCDV6K.js @@ -37,9 +37,9 @@ import { keysIn, memoize, nodeUtil$1 -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/graph-cdf81e0e.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/graph-cdf81e0e.js var symbolTag$3 = "[object Symbol]"; function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag$3; @@ -1387,4 +1387,4 @@ export { reduce, Graph }; -//# sourceMappingURL=chunk-RPTJ2D5Y.js.map +//# sourceMappingURL=chunk-FVOCDV6K.js.map diff --git a/docs/.vitepress/cache/deps/chunk-RPTJ2D5Y.js.map b/docs/.vitepress/cache/deps/chunk-FVOCDV6K.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-RPTJ2D5Y.js.map rename to docs/.vitepress/cache/deps/chunk-FVOCDV6K.js.map index 492e0aa9..2af0d1b1 100644 --- a/docs/.vitepress/cache/deps/chunk-RPTJ2D5Y.js.map +++ b/docs/.vitepress/cache/deps/chunk-FVOCDV6K.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/graph-cdf81e0e.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/graph-cdf81e0e.js"], "sourcesContent": ["import { aK as isObjectLike, aL as baseGetTag, aM as Symbol$1, ah as isArray, ag as isArrayLike, aN as arrayLikeKeys, aO as baseKeys, aP as memoize, aQ as isArguments, aR as copyObject, ae as keysIn, aS as getPrototype, aT as cloneArrayBuffer, aU as cloneTypedArray, aV as getTag, aW as nodeUtil, an as baseUnary, a8 as isObject, aX as copyArray, aY as isBuffer, aZ as cloneBuffer, a_ as initCloneObject, a$ as Stack, am as assignValue, b0 as MapCache, af as eq, b1 as Uint8Array, b2 as isTypedArray, b3 as isLength, al as isIndex, ak as identity, ai as baseFor, b4 as Set, ac as baseRest, b5 as isArrayLikeObject, ao as constant, z as isFunction, b6 as isEmpty } from \"./mermaid-bea41e51.js\";\nvar symbolTag$3 = \"[object Symbol]\";\nfunction isSymbol(value) {\n return typeof value == \"symbol\" || isObjectLike(value) && baseGetTag(value) == symbolTag$3;\n}\nfunction arrayMap(array, iteratee) {\n var index = -1, length = array == null ? 0 : array.length, result = Array(length);\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\nvar INFINITY$2 = 1 / 0;\nvar symbolProto$2 = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0;\nfunction baseToString(value) {\n if (typeof value == \"string\") {\n return value;\n }\n if (isArray(value)) {\n return arrayMap(value, baseToString) + \"\";\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : \"\";\n }\n var result = value + \"\";\n return result == \"0\" && 1 / value == -INFINITY$2 ? \"-0\" : result;\n}\nfunction noop() {\n}\nfunction arrayEach(array, iteratee) {\n var index = -1, length = array == null ? 0 : array.length;\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length, index = fromIndex + (fromRight ? 1 : -1);\n while (fromRight ? index-- : ++index < length) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\nfunction baseIsNaN(value) {\n return value !== value;\n}\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1, length = array.length;\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);\n}\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, reIsPlainProp = /^\\w*$/;\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == \"number\" || type == \"symbol\" || type == \"boolean\" || value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\nvar MAX_MEMOIZE_SIZE = 500;\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n var cache = result.cache;\n return result;\n}\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g;\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46) {\n result.push(\"\");\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, \"$1\") : number || match);\n });\n return result;\n});\nconst stringToPath$1 = stringToPath;\nfunction toString(value) {\n return value == null ? \"\" : baseToString(value);\n}\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath$1(toString(value));\n}\nvar INFINITY$1 = 1 / 0;\nfunction toKey(value) {\n if (typeof value == \"string\" || isSymbol(value)) {\n return value;\n }\n var result = value + \"\";\n return result == \"0\" && 1 / value == -INFINITY$1 ? \"-0\" : result;\n}\nfunction baseGet(object, path) {\n path = castPath(path, object);\n var index = 0, length = path.length;\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return index && index == length ? object : void 0;\n}\nfunction get(object, path, defaultValue) {\n var result = object == null ? void 0 : baseGet(object, path);\n return result === void 0 ? defaultValue : result;\n}\nfunction arrayPush(array, values2) {\n var index = -1, length = values2.length, offset = array.length;\n while (++index < length) {\n array[offset + index] = values2[index];\n }\n return array;\n}\nvar spreadableSymbol = Symbol$1 ? Symbol$1.isConcatSpreadable : void 0;\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1, length = array.length;\n predicate || (predicate = isFlattenable);\n result || (result = []);\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1, length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\nfunction arrayFilter(array, predicate) {\n var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\nfunction stubArray() {\n return [];\n}\nvar objectProto$4 = Object.prototype;\nvar propertyIsEnumerable = objectProto$4.propertyIsEnumerable;\nvar nativeGetSymbols$1 = Object.getOwnPropertySymbols;\nvar getSymbols = !nativeGetSymbols$1 ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols$1(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\nconst getSymbols$1 = getSymbols;\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols$1(source), object);\n}\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols$1(object));\n object = getPrototype(object);\n }\n return result;\n};\nconst getSymbolsIn$1 = getSymbolsIn;\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn$1(source), object);\n}\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols$1);\n}\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn$1);\n}\nvar objectProto$3 = Object.prototype;\nvar hasOwnProperty$3 = objectProto$3.hasOwnProperty;\nfunction initCloneArray(array) {\n var length = array.length, result = new array.constructor(length);\n if (length && typeof array[0] == \"string\" && hasOwnProperty$3.call(array, \"index\")) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\nvar reFlags = /\\w*$/;\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\nvar symbolProto$1 = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0;\nfunction cloneSymbol(symbol) {\n return symbolValueOf$1 ? Object(symbolValueOf$1.call(symbol)) : {};\n}\nvar boolTag$2 = \"[object Boolean]\", dateTag$2 = \"[object Date]\", mapTag$3 = \"[object Map]\", numberTag$2 = \"[object Number]\", regexpTag$2 = \"[object RegExp]\", setTag$3 = \"[object Set]\", stringTag$2 = \"[object String]\", symbolTag$2 = \"[object Symbol]\";\nvar arrayBufferTag$2 = \"[object ArrayBuffer]\", dataViewTag$2 = \"[object DataView]\", float32Tag$1 = \"[object Float32Array]\", float64Tag$1 = \"[object Float64Array]\", int8Tag$1 = \"[object Int8Array]\", int16Tag$1 = \"[object Int16Array]\", int32Tag$1 = \"[object Int32Array]\", uint8Tag$1 = \"[object Uint8Array]\", uint8ClampedTag$1 = \"[object Uint8ClampedArray]\", uint16Tag$1 = \"[object Uint16Array]\", uint32Tag$1 = \"[object Uint32Array]\";\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag$2:\n return cloneArrayBuffer(object);\n case boolTag$2:\n case dateTag$2:\n return new Ctor(+object);\n case dataViewTag$2:\n return cloneDataView(object, isDeep);\n case float32Tag$1:\n case float64Tag$1:\n case int8Tag$1:\n case int16Tag$1:\n case int32Tag$1:\n case uint8Tag$1:\n case uint8ClampedTag$1:\n case uint16Tag$1:\n case uint32Tag$1:\n return cloneTypedArray(object, isDeep);\n case mapTag$3:\n return new Ctor();\n case numberTag$2:\n case stringTag$2:\n return new Ctor(object);\n case regexpTag$2:\n return cloneRegExp(object);\n case setTag$3:\n return new Ctor();\n case symbolTag$2:\n return cloneSymbol(object);\n }\n}\nvar mapTag$2 = \"[object Map]\";\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag$2;\n}\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\nconst isMap$1 = isMap;\nvar setTag$2 = \"[object Set]\";\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag$2;\n}\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\nconst isSet$1 = isSet;\nvar CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;\nvar argsTag$1 = \"[object Arguments]\", arrayTag$1 = \"[object Array]\", boolTag$1 = \"[object Boolean]\", dateTag$1 = \"[object Date]\", errorTag$1 = \"[object Error]\", funcTag = \"[object Function]\", genTag = \"[object GeneratorFunction]\", mapTag$1 = \"[object Map]\", numberTag$1 = \"[object Number]\", objectTag$1 = \"[object Object]\", regexpTag$1 = \"[object RegExp]\", setTag$1 = \"[object Set]\", stringTag$1 = \"[object String]\", symbolTag$1 = \"[object Symbol]\", weakMapTag = \"[object WeakMap]\";\nvar arrayBufferTag$1 = \"[object ArrayBuffer]\", dataViewTag$1 = \"[object DataView]\", float32Tag = \"[object Float32Array]\", float64Tag = \"[object Float64Array]\", int8Tag = \"[object Int8Array]\", int16Tag = \"[object Int16Array]\", int32Tag = \"[object Int32Array]\", uint8Tag = \"[object Uint8Array]\", uint8ClampedTag = \"[object Uint8ClampedArray]\", uint16Tag = \"[object Uint16Array]\", uint32Tag = \"[object Uint32Array]\";\nvar cloneableTags = {};\ncloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$1] = cloneableTags[numberTag$1] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$1] = cloneableTags[stringTag$1] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== void 0) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value), isFunc = tag == funcTag || tag == genTag;\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag$1 || tag == argsTag$1 || isFunc && !object) {\n result = isFlat || isFunc ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n stack || (stack = new Stack());\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n if (isSet$1(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap$1(value)) {\n value.forEach(function(subValue, key2) {\n result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack));\n });\n }\n var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;\n var props = isArr ? void 0 : keysFunc(value);\n arrayEach(props || value, function(subValue, key2) {\n if (props) {\n key2 = subValue;\n subValue = value[key2];\n }\n assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack));\n });\n return result;\n}\nvar HASH_UNDEFINED = \"__lodash_hash_undefined__\";\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\nfunction SetCache(values2) {\n var index = -1, length = values2 == null ? 0 : values2.length;\n this.__data__ = new MapCache();\n while (++index < length) {\n this.add(values2[index]);\n }\n}\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\nfunction arraySome(array, predicate) {\n var index = -1, length = array == null ? 0 : array.length;\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\nvar COMPARE_PARTIAL_FLAG$5 = 1, COMPARE_UNORDERED_FLAG$3 = 2;\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$5, arrLength = array.length, othLength = other.length;\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG$3 ? new SetCache() : void 0;\n stack.set(array, other);\n stack.set(other, array);\n while (++index < arrLength) {\n var arrValue = array[index], othValue = other[index];\n if (customizer) {\n var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== void 0) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n if (seen) {\n if (!arraySome(other, function(othValue2, othIndex) {\n if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n result = false;\n break;\n }\n }\n stack[\"delete\"](array);\n stack[\"delete\"](other);\n return result;\n}\nfunction mapToArray(map) {\n var index = -1, result = Array(map.size);\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\nfunction setToArray(set) {\n var index = -1, result = Array(set.size);\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\nvar COMPARE_PARTIAL_FLAG$4 = 1, COMPARE_UNORDERED_FLAG$2 = 2;\nvar boolTag = \"[object Boolean]\", dateTag = \"[object Date]\", errorTag = \"[object Error]\", mapTag = \"[object Map]\", numberTag = \"[object Number]\", regexpTag = \"[object RegExp]\", setTag = \"[object Set]\", stringTag = \"[object String]\", symbolTag = \"[object Symbol]\";\nvar arrayBufferTag = \"[object ArrayBuffer]\", dataViewTag = \"[object DataView]\";\nvar symbolProto = Symbol$1 ? Symbol$1.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n case arrayBufferTag:\n if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n case boolTag:\n case dateTag:\n case numberTag:\n return eq(+object, +other);\n case errorTag:\n return object.name == other.name && object.message == other.message;\n case regexpTag:\n case stringTag:\n return object == other + \"\";\n case mapTag:\n var convert = mapToArray;\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$4;\n convert || (convert = setToArray);\n if (object.size != other.size && !isPartial) {\n return false;\n }\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG$2;\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack[\"delete\"](object);\n return result;\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\nvar COMPARE_PARTIAL_FLAG$3 = 1;\nvar objectProto$2 = Object.prototype;\nvar hasOwnProperty$2 = objectProto$2.hasOwnProperty;\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG$3, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty$2.call(other, key))) {\n return false;\n }\n }\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key], othValue = other[key];\n if (customizer) {\n var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);\n }\n if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == \"constructor\");\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor, othCtor = other.constructor;\n if (objCtor != othCtor && (\"constructor\" in object && \"constructor\" in other) && !(typeof objCtor == \"function\" && objCtor instanceof objCtor && typeof othCtor == \"function\" && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack[\"delete\"](object);\n stack[\"delete\"](other);\n return result;\n}\nvar COMPARE_PARTIAL_FLAG$2 = 1;\nvar argsTag = \"[object Arguments]\", arrayTag = \"[object Array]\", objectTag = \"[object Object]\";\nvar objectProto$1 = Object.prototype;\nvar hasOwnProperty$1 = objectProto$1.hasOwnProperty;\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack());\n return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG$2)) {\n var objIsWrapped = objIsObj && hasOwnProperty$1.call(object, \"__wrapped__\"), othIsWrapped = othIsObj && hasOwnProperty$1.call(other, \"__wrapped__\");\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;\n stack || (stack = new Stack());\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack());\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\nvar COMPARE_PARTIAL_FLAG$1 = 1, COMPARE_UNORDERED_FLAG$1 = 2;\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length, length = index, noCustomizer = !customizer;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0], objValue = object[key], srcValue = data[1];\n if (noCustomizer && data[2]) {\n if (objValue === void 0 && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack();\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$1 | COMPARE_UNORDERED_FLAG$1, customizer, stack) : result)) {\n return false;\n }\n }\n }\n return true;\n}\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\nfunction getMatchData(object) {\n var result = keys(object), length = result.length;\n while (length--) {\n var key = result[length], value = object[key];\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));\n };\n}\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n var index = -1, length = path.length, result = false;\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));\n}\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\nvar COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2;\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? void 0 : object[key];\n };\n}\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\nfunction baseIteratee(value) {\n if (typeof value == \"function\") {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == \"object\") {\n return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);\n }\n return property(value);\n}\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);\n while (fromRight ? index-- : ++index < length) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\nvar baseEach = createBaseEach(baseForOwn);\nconst baseEach$1 = baseEach;\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1, length = array == null ? 0 : array.length;\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\nfunction castFunction(value) {\n return typeof value == \"function\" ? value : identity;\n}\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach$1;\n return func(collection, castFunction(iteratee));\n}\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach$1(collection, function(value, index, collection2) {\n if (predicate(value, index, collection2)) {\n result.push(value);\n }\n });\n return result;\n}\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate));\n}\nvar objectProto = Object.prototype;\nvar hasOwnProperty = objectProto.hasOwnProperty;\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\nfunction isUndefined(value) {\n return value === void 0;\n}\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection2) {\n accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2);\n });\n return accumulator;\n}\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;\n return func(collection, baseIteratee(iteratee), accumulator, initAccum, baseEach$1);\n}\nvar INFINITY = 1 / 0;\nvar createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function(values2) {\n return new Set(values2);\n};\nconst createSet$1 = createSet;\nvar LARGE_ARRAY_SIZE = 200;\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n } else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet$1(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache();\n } else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index], computed = iteratee ? iteratee(value) : value;\n value = comparator || value !== 0 ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n } else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\nconst union$1 = union;\nvar DEFAULT_EDGE_NAME = \"\\0\";\nvar GRAPH_NODE = \"\\0\";\nvar EDGE_KEY_DELIM = \"\u0001\";\nclass Graph {\n constructor(opts = {}) {\n this._isDirected = has(opts, \"directed\") ? opts.directed : true;\n this._isMultigraph = has(opts, \"multigraph\") ? opts.multigraph : false;\n this._isCompound = has(opts, \"compound\") ? opts.compound : false;\n this._label = void 0;\n this._defaultNodeLabelFn = constant(void 0);\n this._defaultEdgeLabelFn = constant(void 0);\n this._nodes = {};\n if (this._isCompound) {\n this._parent = {};\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n this._in = {};\n this._preds = {};\n this._out = {};\n this._sucs = {};\n this._edgeObjs = {};\n this._edgeLabels = {};\n }\n /* === Graph functions ========= */\n isDirected() {\n return this._isDirected;\n }\n isMultigraph() {\n return this._isMultigraph;\n }\n isCompound() {\n return this._isCompound;\n }\n setGraph(label) {\n this._label = label;\n return this;\n }\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n setDefaultNodeLabel(newDefault) {\n if (!isFunction(newDefault)) {\n newDefault = constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n nodeCount() {\n return this._nodeCount;\n }\n nodes() {\n return keys(this._nodes);\n }\n sources() {\n var self = this;\n return filter(this.nodes(), function(v) {\n return isEmpty(self._in[v]);\n });\n }\n sinks() {\n var self = this;\n return filter(this.nodes(), function(v) {\n return isEmpty(self._out[v]);\n });\n }\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n forEach(vs, function(v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n setNode(v, value) {\n if (has(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n node(v) {\n return this._nodes[v];\n }\n hasNode(v) {\n return has(this._nodes, v);\n }\n removeNode(v) {\n var self = this;\n if (has(this._nodes, v)) {\n var removeEdge = function(e) {\n self.removeEdge(self._edgeObjs[e]);\n };\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n forEach(this.children(v), function(child) {\n self.setParent(child);\n });\n delete this._children[v];\n }\n forEach(keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n forEach(keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error(\"Cannot set parent in a non-compound graph\");\n }\n if (isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n parent += \"\";\n for (var ancestor = parent; !isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error(\"Setting \" + parent + \" as parent of \" + v + \" would create a cycle\");\n }\n }\n this.setNode(parent);\n }\n this.setNode(v);\n this._removeFromParentsChildList(v);\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n children(v) {\n if (isUndefined(v)) {\n v = GRAPH_NODE;\n }\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return keys(predsV);\n }\n }\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return keys(sucsV);\n }\n }\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return union$1(preds, this.successors(v));\n }\n }\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n filterNodes(filter2) {\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound\n });\n copy.setGraph(this.graph());\n var self = this;\n forEach(this._nodes, function(value, v) {\n if (filter2(v)) {\n copy.setNode(v, value);\n }\n });\n forEach(this._edgeObjs, function(e) {\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === void 0 || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n if (this._isCompound) {\n forEach(copy.nodes(), function(v) {\n copy.setParent(v, findParent(v));\n });\n }\n return copy;\n }\n /* === Edge functions ========== */\n setDefaultEdgeLabel(newDefault) {\n if (!isFunction(newDefault)) {\n newDefault = constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n edgeCount() {\n return this._edgeCount;\n }\n edges() {\n return values(this._edgeObjs);\n }\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n reduce(vs, function(v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n /*\n * setEdge(v, w, [value, [name]])\n * setEdge({ v, w, [name] }, [value])\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n if (typeof arg0 === \"object\" && arg0 !== null && \"v\" in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n v = \"\" + v;\n w = \"\" + w;\n if (!isUndefined(name)) {\n name = \"\" + name;\n }\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (has(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n if (!isUndefined(name) && !this._isMultigraph) {\n throw new Error(\"Cannot set a named edge when isMultigraph = false\");\n }\n this.setNode(v);\n this.setNode(w);\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n v = edgeObj.v;\n w = edgeObj.w;\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n edge(v, w, name) {\n var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n hasEdge(v, w, name) {\n var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);\n return has(this._edgeLabels, e);\n }\n removeEdge(v, w, name) {\n var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = values(inV);\n if (!u) {\n return edges;\n }\n return filter(edges, function(edge) {\n return edge.v === u;\n });\n }\n }\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = values(outV);\n if (!w) {\n return edges;\n }\n return filter(edges, function(edge) {\n return edge.w === w;\n });\n }\n }\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\nGraph.prototype._nodeCount = 0;\nGraph.prototype._edgeCount = 0;\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = \"\" + v_;\n var w = \"\" + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = \"\" + v_;\n var w = \"\" + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v, w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\nexport {\n Graph as G,\n isSymbol as a,\n baseFlatten as b,\n baseClone as c,\n baseIteratee as d,\n baseFindIndex as e,\n forEach as f,\n baseEach$1 as g,\n has as h,\n isUndefined as i,\n arrayMap as j,\n keys as k,\n castFunction as l,\n baseForOwn as m,\n castPath as n,\n baseGet as o,\n hasIn as p,\n toString as q,\n filter as r,\n reduce as s,\n toKey as t,\n values as v\n};\n"], "mappings": "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", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-BJ4J42HH.js b/docs/.vitepress/cache/deps/chunk-KEDGJU25.js similarity index 88% rename from docs/.vitepress/cache/deps/chunk-BJ4J42HH.js rename to docs/.vitepress/cache/deps/chunk-KEDGJU25.js index b51f3ea3..d26c0533 100644 --- a/docs/.vitepress/cache/deps/chunk-BJ4J42HH.js +++ b/docs/.vitepress/cache/deps/chunk-KEDGJU25.js @@ -1,15 +1,15 @@ import { array -} from "./chunk-XP7M6FJS.js"; +} from "./chunk-QJSAEEOK.js"; import { constant, withPath -} from "./chunk-2AA25MXT.js"; +} from "./chunk-4ISJML4K.js"; import { curveLinear -} from "./chunk-ORKV5D4O.js"; +} from "./chunk-KPMAGHCB.js"; -// node_modules/mermaid/dist/line-ef4db9e4.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/line-ef4db9e4.js function x(p) { return p[0]; } @@ -58,4 +58,4 @@ function line(x$1, y$1) { export { line }; -//# sourceMappingURL=chunk-BJ4J42HH.js.map +//# sourceMappingURL=chunk-KEDGJU25.js.map diff --git a/docs/.vitepress/cache/deps/chunk-BJ4J42HH.js.map b/docs/.vitepress/cache/deps/chunk-KEDGJU25.js.map similarity index 96% rename from docs/.vitepress/cache/deps/chunk-BJ4J42HH.js.map rename to docs/.vitepress/cache/deps/chunk-KEDGJU25.js.map index 43aa0263..78e479f3 100644 --- a/docs/.vitepress/cache/deps/chunk-BJ4J42HH.js.map +++ b/docs/.vitepress/cache/deps/chunk-KEDGJU25.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/line-ef4db9e4.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/line-ef4db9e4.js"], "sourcesContent": ["import { a as array } from \"./array-b7dcf730.js\";\nimport { w as withPath, c as constant } from \"./path-39bad7e2.js\";\nimport { n as curveLinear } from \"./mermaid-bea41e51.js\";\nfunction x(p) {\n return p[0];\n}\nfunction y(p) {\n return p[1];\n}\nfunction line(x$1, y$1) {\n var defined = constant(true), context = null, curve = curveLinear, output = null, path = withPath(line2);\n x$1 = typeof x$1 === \"function\" ? x$1 : x$1 === void 0 ? x : constant(x$1);\n y$1 = typeof y$1 === \"function\" ? y$1 : y$1 === void 0 ? y : constant(y$1);\n function line2(data) {\n var i, n = (data = array(data)).length, d, defined0 = false, buffer;\n if (context == null)\n output = curve(buffer = path());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0)\n output.lineStart();\n else\n output.lineEnd();\n }\n if (defined0)\n output.point(+x$1(d, i, data), +y$1(d, i, data));\n }\n if (buffer)\n return output = null, buffer + \"\" || null;\n }\n line2.x = function(_) {\n return arguments.length ? (x$1 = typeof _ === \"function\" ? _ : constant(+_), line2) : x$1;\n };\n line2.y = function(_) {\n return arguments.length ? (y$1 = typeof _ === \"function\" ? _ : constant(+_), line2) : y$1;\n };\n line2.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line2) : defined;\n };\n line2.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line2) : curve;\n };\n line2.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line2) : context;\n };\n return line2;\n}\nexport {\n line as l\n};\n"], "mappings": ";;;;;;;;;;;;AAGA,SAAS,EAAE,GAAG;AACZ,SAAO,EAAE,CAAC;AACZ;AACA,SAAS,EAAE,GAAG;AACZ,SAAO,EAAE,CAAC;AACZ;AACA,SAAS,KAAK,KAAK,KAAK;AACtB,MAAI,UAAU,SAAS,IAAI,GAAG,UAAU,MAAM,QAAQ,aAAa,SAAS,MAAM,OAAO,SAAS,KAAK;AACvG,QAAM,OAAO,QAAQ,aAAa,MAAM,QAAQ,SAAS,IAAI,SAAS,GAAG;AACzE,QAAM,OAAO,QAAQ,aAAa,MAAM,QAAQ,SAAS,IAAI,SAAS,GAAG;AACzE,WAAS,MAAM,MAAM;AACnB,QAAI,GAAG,KAAK,OAAO,MAAM,IAAI,GAAG,QAAQ,GAAG,WAAW,OAAO;AAC7D,QAAI,WAAW;AACb,eAAS,MAAM,SAAS,KAAK,CAAC;AAChC,SAAK,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG;AACvB,UAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,OAAO,UAAU;AAC1D,YAAI,WAAW,CAAC;AACd,iBAAO,UAAU;AAAA;AAEjB,iBAAO,QAAQ;AAAA,MACnB;AACA,UAAI;AACF,eAAO,MAAM,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC;AAAA,IACnD;AACA,QAAI;AACF,aAAO,SAAS,MAAM,SAAS,MAAM;AAAA,EACzC;AACA,QAAM,IAAI,SAAS,GAAG;AACpB,WAAO,UAAU,UAAU,MAAM,OAAO,MAAM,aAAa,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS;AAAA,EACxF;AACA,QAAM,IAAI,SAAS,GAAG;AACpB,WAAO,UAAU,UAAU,MAAM,OAAO,MAAM,aAAa,IAAI,SAAS,CAAC,CAAC,GAAG,SAAS;AAAA,EACxF;AACA,QAAM,UAAU,SAAS,GAAG;AAC1B,WAAO,UAAU,UAAU,UAAU,OAAO,MAAM,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;AAAA,EAC7F;AACA,QAAM,QAAQ,SAAS,GAAG;AACxB,WAAO,UAAU,UAAU,QAAQ,GAAG,WAAW,SAAS,SAAS,MAAM,OAAO,IAAI,SAAS;AAAA,EAC/F;AACA,QAAM,UAAU,SAAS,GAAG;AAC1B,WAAO,UAAU,UAAU,KAAK,OAAO,UAAU,SAAS,OAAO,SAAS,MAAM,UAAU,CAAC,GAAG,SAAS;AAAA,EACzG;AACA,SAAO;AACT;", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-ORKV5D4O.js b/docs/.vitepress/cache/deps/chunk-KPMAGHCB.js similarity index 99% rename from docs/.vitepress/cache/deps/chunk-ORKV5D4O.js rename to docs/.vitepress/cache/deps/chunk-KPMAGHCB.js index d5a4ff9e..46d68e63 100644 --- a/docs/.vitepress/cache/deps/chunk-ORKV5D4O.js +++ b/docs/.vitepress/cache/deps/chunk-KPMAGHCB.js @@ -1,4 +1,4 @@ -// node_modules/mermaid/dist/mermaid-bea41e51.js +// node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/mermaid-bea41e51.js function dedent(templ) { var values = []; for (var _i = 1; _i < arguments.length; _i++) { @@ -4752,7 +4752,7 @@ var renderKatex = async (text2, config2) => { if (!isMathMLSupported() && !config2.legacyMathML) { return text2.replace(katexRegex, "MathML is unsupported in this environment."); } - const { default: katex } = await import("./katex-79a689fb-D5I24NMG.js"); + const { default: katex } = await import("./katex-79a689fb-SQTEGBCO.js"); return text2.split(lineBreakRegex).map( (line2) => hasKatex(line2) ? `
@@ -9365,7 +9365,7 @@ var detector$l = (txt) => { return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt); }; var loader$m = async () => { - const { diagram: diagram2 } = await import("./c4Diagram-5e436c10-YNV6CQNH.js"); + const { diagram: diagram2 } = await import("./c4Diagram-5e436c10-EUIRZFMQ.js"); return { id: id$l, diagram: diagram2 }; }; var plugin$j = { @@ -9383,7 +9383,7 @@ var detector$k = (txt, config2) => { return /^\s*graph/.test(txt); }; var loader$l = async () => { - const { diagram: diagram2 } = await import("./flowDiagram-b36fdd76-SPZXGXCV.js"); + const { diagram: diagram2 } = await import("./flowDiagram-b36fdd76-YDYKKQ7O.js"); return { id: id$k, diagram: diagram2 }; }; var plugin$i = { @@ -9404,7 +9404,7 @@ var detector$j = (txt, config2) => { return /^\s*flowchart/.test(txt); }; var loader$k = async () => { - const { diagram: diagram2 } = await import("./flowDiagram-v2-74c8dbcc-B4XFK4IQ.js"); + const { diagram: diagram2 } = await import("./flowDiagram-v2-74c8dbcc-YX25K2A4.js"); return { id: id$j, diagram: diagram2 }; }; var plugin$h = { @@ -9418,7 +9418,7 @@ var detector$i = (txt) => { return /^\s*erDiagram/.test(txt); }; var loader$j = async () => { - const { diagram: diagram2 } = await import("./erDiagram-59d1cdbd-LIG3CFIU.js"); + const { diagram: diagram2 } = await import("./erDiagram-59d1cdbd-BGZWS5WJ.js"); return { id: id$i, diagram: diagram2 }; }; var plugin$g = { @@ -9432,7 +9432,7 @@ var detector$h = (txt) => { return /^\s*gitGraph/.test(txt); }; var loader$i = async () => { - const { diagram: diagram2 } = await import("./gitGraphDiagram-75f65184-RASVDRS4.js"); + const { diagram: diagram2 } = await import("./gitGraphDiagram-75f65184-FAT55AD7.js"); return { id: id$h, diagram: diagram2 }; }; var plugin$f = { @@ -9446,7 +9446,7 @@ var detector$g = (txt) => { return /^\s*gantt/.test(txt); }; var loader$h = async () => { - const { diagram: diagram2 } = await import("./ganttDiagram-066785da-QIHTMBPU.js"); + const { diagram: diagram2 } = await import("./ganttDiagram-066785da-7ADDO7KR.js"); return { id: id$g, diagram: diagram2 }; }; var plugin$e = { @@ -9460,7 +9460,7 @@ var detector$f = (txt) => { return /^\s*info/.test(txt); }; var loader$g = async () => { - const { diagram: diagram2 } = await import("./infoDiagram-f5302396-MESJJMXU.js"); + const { diagram: diagram2 } = await import("./infoDiagram-f5302396-TZKHGBFO.js"); return { id: id$f, diagram: diagram2 }; }; var info = { @@ -9473,7 +9473,7 @@ var detector$e = (txt) => { return /^\s*pie/.test(txt); }; var loader$f = async () => { - const { diagram: diagram2 } = await import("./pieDiagram-520b736b-E7P35XWC.js"); + const { diagram: diagram2 } = await import("./pieDiagram-520b736b-HWO7GESP.js"); return { id: id$e, diagram: diagram2 }; }; var pie = { @@ -9486,7 +9486,7 @@ var detector$d = (txt) => { return /^\s*quadrantChart/.test(txt); }; var loader$e = async () => { - const { diagram: diagram2 } = await import("./quadrantDiagram-74843a00-3A3VNDXW.js"); + const { diagram: diagram2 } = await import("./quadrantDiagram-74843a00-J7CRG5AD.js"); return { id: id$d, diagram: diagram2 }; }; var plugin$d = { @@ -9500,7 +9500,7 @@ var detector$c = (txt) => { return /^\s*xychart-beta/.test(txt); }; var loader$d = async () => { - const { diagram: diagram2 } = await import("./xychartDiagram-a93c88e9-GEMR2YZ4.js"); + const { diagram: diagram2 } = await import("./xychartDiagram-a93c88e9-BKQDCIGF.js"); return { id: id$c, diagram: diagram2 }; }; var plugin$c = { @@ -9514,7 +9514,7 @@ var detector$b = (txt) => { return /^\s*requirement(Diagram)?/.test(txt); }; var loader$c = async () => { - const { diagram: diagram2 } = await import("./requirementDiagram-074fa166-QATS2N4U.js"); + const { diagram: diagram2 } = await import("./requirementDiagram-074fa166-DW46LFRY.js"); return { id: id$b, diagram: diagram2 }; }; var plugin$b = { @@ -9528,7 +9528,7 @@ var detector$a = (txt) => { return /^\s*sequenceDiagram/.test(txt); }; var loader$b = async () => { - const { diagram: diagram2 } = await import("./sequenceDiagram-9f7b83ce-A464LS6E.js"); + const { diagram: diagram2 } = await import("./sequenceDiagram-9f7b83ce-NLMYE573.js"); return { id: id$a, diagram: diagram2 }; }; var plugin$a = { @@ -9546,7 +9546,7 @@ var detector$9 = (txt, config2) => { return /^\s*classDiagram/.test(txt); }; var loader$a = async () => { - const { diagram: diagram2 } = await import("./classDiagram-52c92d29-JM3HZUPW.js"); + const { diagram: diagram2 } = await import("./classDiagram-52c92d29-2HTP4FVU.js"); return { id: id$9, diagram: diagram2 }; }; var plugin$9 = { @@ -9564,7 +9564,7 @@ var detector$8 = (txt, config2) => { return /^\s*classDiagram-v2/.test(txt); }; var loader$9 = async () => { - const { diagram: diagram2 } = await import("./classDiagram-v2-70fd67bc-4E5BJ4Z5.js"); + const { diagram: diagram2 } = await import("./classDiagram-v2-70fd67bc-GDNSGQDH.js"); return { id: id$8, diagram: diagram2 }; }; var plugin$8 = { @@ -9582,7 +9582,7 @@ var detector$7 = (txt, config2) => { return /^\s*stateDiagram/.test(txt); }; var loader$8 = async () => { - const { diagram: diagram2 } = await import("./stateDiagram-728b288d-CY2I5AP6.js"); + const { diagram: diagram2 } = await import("./stateDiagram-728b288d-E5CR7H3T.js"); return { id: id$7, diagram: diagram2 }; }; var plugin$7 = { @@ -9603,7 +9603,7 @@ var detector$6 = (txt, config2) => { return false; }; var loader$7 = async () => { - const { diagram: diagram2 } = await import("./stateDiagram-v2-2fae770b-XWETV5FA.js"); + const { diagram: diagram2 } = await import("./stateDiagram-v2-2fae770b-5XR5UF47.js"); return { id: id$6, diagram: diagram2 }; }; var plugin$6 = { @@ -9617,7 +9617,7 @@ var detector$5 = (txt) => { return /^\s*journey/.test(txt); }; var loader$6 = async () => { - const { diagram: diagram2 } = await import("./journeyDiagram-6eaaa22b-67FR5QKB.js"); + const { diagram: diagram2 } = await import("./journeyDiagram-6eaaa22b-FKUU4CMD.js"); return { id: id$5, diagram: diagram2 }; }; var plugin$5 = { @@ -9872,7 +9872,7 @@ var detector$4 = (txt, config2) => { return false; }; var loader$5 = async () => { - const { diagram: diagram2 } = await import("./flowchart-elk-definition-8cc78aa3-ZC2T3HAR.js"); + const { diagram: diagram2 } = await import("./flowchart-elk-definition-8cc78aa3-7GBQDVN7.js"); return { id: id$4, diagram: diagram2 }; }; var plugin$4 = { @@ -9886,7 +9886,7 @@ var detector$3 = (txt) => { return /^\s*timeline/.test(txt); }; var loader$4 = async () => { - const { diagram: diagram2 } = await import("./timeline-definition-c33fa219-YVNRSXOQ.js"); + const { diagram: diagram2 } = await import("./timeline-definition-c33fa219-KH27M72V.js"); return { id: id$3, diagram: diagram2 }; }; var plugin$3 = { @@ -9900,7 +9900,7 @@ var detector$2 = (txt) => { return /^\s*mindmap/.test(txt); }; var loader$3 = async () => { - const { diagram: diagram2 } = await import("./mindmap-definition-b3e57be3-PZFK3DTH.js"); + const { diagram: diagram2 } = await import("./mindmap-definition-b3e57be3-2E2LNBIA.js"); return { id: id$2, diagram: diagram2 }; }; var plugin$2 = { @@ -9914,7 +9914,7 @@ var detector$1 = (txt) => { return /^\s*sankey-beta/.test(txt); }; var loader$2 = async () => { - const { diagram: diagram2 } = await import("./sankeyDiagram-99ff93d7-3WUXFAIK.js"); + const { diagram: diagram2 } = await import("./sankeyDiagram-99ff93d7-LR4BSUCJ.js"); return { id: id$1, diagram: diagram2 }; }; var plugin$1 = { @@ -9928,7 +9928,7 @@ var detector = (txt) => { return /^\s*block-beta/.test(txt); }; var loader$1 = async () => { - const { diagram: diagram2 } = await import("./blockDiagram-47a8f1e6-LTGK65DM.js"); + const { diagram: diagram2 } = await import("./blockDiagram-47a8f1e6-JBCSRNWW.js"); return { id, diagram: diagram2 }; }; var plugin = { @@ -12898,4 +12898,4 @@ mermaid/dist/mermaid-bea41e51.js: * Wait for document loaded before starting the execution *) */ -//# sourceMappingURL=chunk-ORKV5D4O.js.map +//# sourceMappingURL=chunk-KPMAGHCB.js.map diff --git a/docs/.vitepress/cache/deps/chunk-ORKV5D4O.js.map b/docs/.vitepress/cache/deps/chunk-KPMAGHCB.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-ORKV5D4O.js.map rename to docs/.vitepress/cache/deps/chunk-KPMAGHCB.js.map index 28b7266f..bb769139 100644 --- a/docs/.vitepress/cache/deps/chunk-ORKV5D4O.js.map +++ b/docs/.vitepress/cache/deps/chunk-KPMAGHCB.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/mermaid/dist/mermaid-bea41e51.js"], + "sources": ["../../../../node_modules/.pnpm/mermaid@10.9.3/node_modules/mermaid/dist/mermaid-bea41e51.js"], "sourcesContent": ["function dedent(templ) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n var strings = Array.from(typeof templ === \"string\" ? [templ] : templ);\n strings[strings.length - 1] = strings[strings.length - 1].replace(/\\r?\\n([\\t ]*)$/, \"\");\n var indentLengths = strings.reduce(function(arr, str2) {\n var matches = str2.match(/\\n([\\t ]+|(?!\\s).)/g);\n if (matches) {\n return arr.concat(matches.map(function(match) {\n var _a, _b;\n return (_b = (_a = match.match(/[\\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;\n }));\n }\n return arr;\n }, []);\n if (indentLengths.length) {\n var pattern_1 = new RegExp(\"\\n[\t ]{\" + Math.min.apply(Math, indentLengths) + \"}\", \"g\");\n strings = strings.map(function(str2) {\n return str2.replace(pattern_1, \"\\n\");\n });\n }\n strings[0] = strings[0].replace(/^\\r?\\n/, \"\");\n var string = strings[0];\n values.forEach(function(value, i) {\n var endentations = string.match(/(?:^|\\n)( *)$/);\n var endentation = endentations ? endentations[1] : \"\";\n var indentedValue = value;\n if (typeof value === \"string\" && value.includes(\"\\n\")) {\n indentedValue = String(value).split(\"\\n\").map(function(str2, i2) {\n return i2 === 0 ? str2 : \"\" + endentation + str2;\n }).join(\"\\n\");\n }\n string += indentedValue + strings[i + 1];\n });\n return string;\n}\nvar commonjsGlobal = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nvar dayjs_min = { exports: {} };\n(function(module2, exports2) {\n !function(t, e) {\n module2.exports = e();\n }(commonjsGlobal, function() {\n var t = 1e3, e = 6e4, n = 36e5, r = \"millisecond\", i = \"second\", s = \"minute\", u = \"hour\", a = \"day\", o = \"week\", c = \"month\", f = \"quarter\", h = \"year\", d = \"date\", l = \"Invalid Date\", $ = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/, y = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: \"en\", weekdays: \"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"), months: \"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"), ordinal: function(t2) {\n var e2 = [\"th\", \"st\", \"nd\", \"rd\"], n2 = t2 % 100;\n return \"[\" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + \"]\";\n } }, m = function(t2, e2, n2) {\n var r2 = String(t2);\n return !r2 || r2.length >= e2 ? t2 : \"\" + Array(e2 + 1 - r2.length).join(n2) + t2;\n }, v = { s: m, z: function(t2) {\n var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;\n return (e2 <= 0 ? \"+\" : \"-\") + m(r2, 2, \"0\") + \":\" + m(i2, 2, \"0\");\n }, m: function t2(e2, n2) {\n if (e2.date() < n2.date())\n return -t2(n2, e2);\n var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);\n return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);\n }, a: function(t2) {\n return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);\n }, p: function(t2) {\n return { M: c, y: h, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || \"\").toLowerCase().replace(/s$/, \"\");\n }, u: function(t2) {\n return void 0 === t2;\n } }, g = \"en\", D = {};\n D[g] = M;\n var p = \"$isDayjsObject\", S = function(t2) {\n return t2 instanceof _2 || !(!t2 || !t2[p]);\n }, w = function t2(e2, n2, r2) {\n var i2;\n if (!e2)\n return g;\n if (\"string\" == typeof e2) {\n var s2 = e2.toLowerCase();\n D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);\n var u2 = e2.split(\"-\");\n if (!i2 && u2.length > 1)\n return t2(u2[0]);\n } else {\n var a2 = e2.name;\n D[a2] = e2, i2 = a2;\n }\n return !r2 && i2 && (g = i2), i2 || !r2 && g;\n }, O = function(t2, e2) {\n if (S(t2))\n return t2.clone();\n var n2 = \"object\" == typeof e2 ? e2 : {};\n return n2.date = t2, n2.args = arguments, new _2(n2);\n }, b = v;\n b.l = w, b.i = S, b.w = function(t2, e2) {\n return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });\n };\n var _2 = function() {\n function M2(t2) {\n this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;\n }\n var m2 = M2.prototype;\n return m2.parse = function(t2) {\n this.$d = function(t3) {\n var e2 = t3.date, n2 = t3.utc;\n if (null === e2)\n return /* @__PURE__ */ new Date(NaN);\n if (b.u(e2))\n return /* @__PURE__ */ new Date();\n if (e2 instanceof Date)\n return new Date(e2);\n if (\"string\" == typeof e2 && !/Z$/i.test(e2)) {\n var r2 = e2.match($);\n if (r2) {\n var i2 = r2[2] - 1 || 0, s2 = (r2[7] || \"0\").substring(0, 3);\n return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);\n }\n }\n return new Date(e2);\n }(t2), this.init();\n }, m2.init = function() {\n var t2 = this.$d;\n this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();\n }, m2.$utils = function() {\n return b;\n }, m2.isValid = function() {\n return !(this.$d.toString() === l);\n }, m2.isSame = function(t2, e2) {\n var n2 = O(t2);\n return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);\n }, m2.isAfter = function(t2, e2) {\n return O(t2) < this.startOf(e2);\n }, m2.isBefore = function(t2, e2) {\n return this.endOf(e2) < O(t2);\n }, m2.$g = function(t2, e2, n2) {\n return b.u(t2) ? this[e2] : this.set(n2, t2);\n }, m2.unix = function() {\n return Math.floor(this.valueOf() / 1e3);\n }, m2.valueOf = function() {\n return this.$d.getTime();\n }, m2.startOf = function(t2, e2) {\n var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {\n var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);\n return r2 ? i2 : i2.endOf(a);\n }, $2 = function(t3, e3) {\n return b.w(n2.toDate()[t3].apply(n2.toDate(\"s\"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);\n }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = \"set\" + (this.$u ? \"UTC\" : \"\");\n switch (f2) {\n case h:\n return r2 ? l2(1, 0) : l2(31, 11);\n case c:\n return r2 ? l2(1, M3) : l2(0, M3 + 1);\n case o:\n var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;\n return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);\n case a:\n case d:\n return $2(v2 + \"Hours\", 0);\n case u:\n return $2(v2 + \"Minutes\", 1);\n case s:\n return $2(v2 + \"Seconds\", 2);\n case i:\n return $2(v2 + \"Milliseconds\", 3);\n default:\n return this.clone();\n }\n }, m2.endOf = function(t2) {\n return this.startOf(t2, false);\n }, m2.$set = function(t2, e2) {\n var n2, o2 = b.p(t2), f2 = \"set\" + (this.$u ? \"UTC\" : \"\"), l2 = (n2 = {}, n2[a] = f2 + \"Date\", n2[d] = f2 + \"Date\", n2[c] = f2 + \"Month\", n2[h] = f2 + \"FullYear\", n2[u] = f2 + \"Hours\", n2[s] = f2 + \"Minutes\", n2[i] = f2 + \"Seconds\", n2[r] = f2 + \"Milliseconds\", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;\n if (o2 === c || o2 === h) {\n var y2 = this.clone().set(d, 1);\n y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;\n } else\n l2 && this.$d[l2]($2);\n return this.init(), this;\n }, m2.set = function(t2, e2) {\n return this.clone().$set(t2, e2);\n }, m2.get = function(t2) {\n return this[b.p(t2)]();\n }, m2.add = function(r2, f2) {\n var d2, l2 = this;\n r2 = Number(r2);\n var $2 = b.p(f2), y2 = function(t2) {\n var e2 = O(l2);\n return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);\n };\n if ($2 === c)\n return this.set(c, this.$M + r2);\n if ($2 === h)\n return this.set(h, this.$y + r2);\n if ($2 === a)\n return y2(1);\n if ($2 === o)\n return y2(7);\n var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;\n return b.w(m3, this);\n }, m2.subtract = function(t2, e2) {\n return this.add(-1 * t2, e2);\n }, m2.format = function(t2) {\n var e2 = this, n2 = this.$locale();\n if (!this.isValid())\n return n2.invalidDate || l;\n var r2 = t2 || \"YYYY-MM-DDTHH:mm:ssZ\", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h2 = function(t3, n3, i3, s3) {\n return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);\n }, d2 = function(t3) {\n return b.s(s2 % 12 || 12, t3, \"0\");\n }, $2 = f2 || function(t3, e3, n3) {\n var r3 = t3 < 12 ? \"AM\" : \"PM\";\n return n3 ? r3.toLowerCase() : r3;\n };\n return r2.replace(y, function(t3, r3) {\n return r3 || function(t4) {\n switch (t4) {\n case \"YY\":\n return String(e2.$y).slice(-2);\n case \"YYYY\":\n return b.s(e2.$y, 4, \"0\");\n case \"M\":\n return a2 + 1;\n case \"MM\":\n return b.s(a2 + 1, 2, \"0\");\n case \"MMM\":\n return h2(n2.monthsShort, a2, c2, 3);\n case \"MMMM\":\n return h2(c2, a2);\n case \"D\":\n return e2.$D;\n case \"DD\":\n return b.s(e2.$D, 2, \"0\");\n case \"d\":\n return String(e2.$W);\n case \"dd\":\n return h2(n2.weekdaysMin, e2.$W, o2, 2);\n case \"ddd\":\n return h2(n2.weekdaysShort, e2.$W, o2, 3);\n case \"dddd\":\n return o2[e2.$W];\n case \"H\":\n return String(s2);\n case \"HH\":\n return b.s(s2, 2, \"0\");\n case \"h\":\n return d2(1);\n case \"hh\":\n return d2(2);\n case \"a\":\n return $2(s2, u2, true);\n case \"A\":\n return $2(s2, u2, false);\n case \"m\":\n return String(u2);\n case \"mm\":\n return b.s(u2, 2, \"0\");\n case \"s\":\n return String(e2.$s);\n case \"ss\":\n return b.s(e2.$s, 2, \"0\");\n case \"SSS\":\n return b.s(e2.$ms, 3, \"0\");\n case \"Z\":\n return i2;\n }\n return null;\n }(t3) || i2.replace(\":\", \"\");\n });\n }, m2.utcOffset = function() {\n return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);\n }, m2.diff = function(r2, d2, l2) {\n var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {\n return b.m(y2, m3);\n };\n switch (M3) {\n case h:\n $2 = D2() / 12;\n break;\n case c:\n $2 = D2();\n break;\n case f:\n $2 = D2() / 3;\n break;\n case o:\n $2 = (g2 - v2) / 6048e5;\n break;\n case a:\n $2 = (g2 - v2) / 864e5;\n break;\n case u:\n $2 = g2 / n;\n break;\n case s:\n $2 = g2 / e;\n break;\n case i:\n $2 = g2 / t;\n break;\n default:\n $2 = g2;\n }\n return l2 ? $2 : b.a($2);\n }, m2.daysInMonth = function() {\n return this.endOf(c).$D;\n }, m2.$locale = function() {\n return D[this.$L];\n }, m2.locale = function(t2, e2) {\n if (!t2)\n return this.$L;\n var n2 = this.clone(), r2 = w(t2, e2, true);\n return r2 && (n2.$L = r2), n2;\n }, m2.clone = function() {\n return b.w(this.$d, this);\n }, m2.toDate = function() {\n return new Date(this.valueOf());\n }, m2.toJSON = function() {\n return this.isValid() ? this.toISOString() : null;\n }, m2.toISOString = function() {\n return this.$d.toISOString();\n }, m2.toString = function() {\n return this.$d.toUTCString();\n }, M2;\n }(), k = _2.prototype;\n return O.prototype = k, [[\"$ms\", r], [\"$s\", i], [\"$m\", s], [\"$H\", u], [\"$W\", a], [\"$M\", c], [\"$y\", h], [\"$D\", d]].forEach(function(t2) {\n k[t2[1]] = function(e2) {\n return this.$g(e2, t2[0], t2[1]);\n };\n }), O.extend = function(t2, e2) {\n return t2.$i || (t2(e2, _2, O), t2.$i = true), O;\n }, O.locale = w, O.isDayjs = S, O.unix = function(t2) {\n return O(1e3 * t2);\n }, O.en = D[g], O.Ls = D, O.p = {}, O;\n });\n})(dayjs_min);\nvar dayjs_minExports = dayjs_min.exports;\nconst dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);\nconst LEVELS = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n fatal: 5\n};\nconst log$1 = {\n trace: (..._args) => {\n },\n debug: (..._args) => {\n },\n info: (..._args) => {\n },\n warn: (..._args) => {\n },\n error: (..._args) => {\n },\n fatal: (..._args) => {\n }\n};\nconst setLogLevel$1 = function(level = \"fatal\") {\n let numericLevel = LEVELS.fatal;\n if (typeof level === \"string\") {\n level = level.toLowerCase();\n if (level in LEVELS) {\n numericLevel = LEVELS[level];\n }\n } else if (typeof level === \"number\") {\n numericLevel = level;\n }\n log$1.trace = () => {\n };\n log$1.debug = () => {\n };\n log$1.info = () => {\n };\n log$1.warn = () => {\n };\n log$1.error = () => {\n };\n log$1.fatal = () => {\n };\n if (numericLevel <= LEVELS.fatal) {\n log$1.fatal = console.error ? console.error.bind(console, format(\"FATAL\"), \"color: orange\") : console.log.bind(console, \"\\x1B[35m\", format(\"FATAL\"));\n }\n if (numericLevel <= LEVELS.error) {\n log$1.error = console.error ? console.error.bind(console, format(\"ERROR\"), \"color: orange\") : console.log.bind(console, \"\\x1B[31m\", format(\"ERROR\"));\n }\n if (numericLevel <= LEVELS.warn) {\n log$1.warn = console.warn ? console.warn.bind(console, format(\"WARN\"), \"color: orange\") : console.log.bind(console, `\\x1B[33m`, format(\"WARN\"));\n }\n if (numericLevel <= LEVELS.info) {\n log$1.info = console.info ? console.info.bind(console, format(\"INFO\"), \"color: lightblue\") : console.log.bind(console, \"\\x1B[34m\", format(\"INFO\"));\n }\n if (numericLevel <= LEVELS.debug) {\n log$1.debug = console.debug ? console.debug.bind(console, format(\"DEBUG\"), \"color: lightgreen\") : console.log.bind(console, \"\\x1B[32m\", format(\"DEBUG\"));\n }\n if (numericLevel <= LEVELS.trace) {\n log$1.trace = console.debug ? console.debug.bind(console, format(\"TRACE\"), \"color: lightgreen\") : console.log.bind(console, \"\\x1B[32m\", format(\"TRACE\"));\n }\n};\nconst format = (level) => {\n const time = dayjs().format(\"ss.SSS\");\n return `%c${time} : ${level} : `;\n};\nvar dist = {};\n(function(exports2) {\n Object.defineProperty(exports2, \"__esModule\", { value: true });\n exports2.sanitizeUrl = exports2.BLANK_URL = void 0;\n var invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\n var htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\n var htmlCtrlEntityRegex = /&(newline|tab);/gi;\n var ctrlCharactersRegex = /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\n var urlSchemeRegex = /^.+(:|:)/gim;\n var relativeFirstCharacters = [\".\", \"/\"];\n exports2.BLANK_URL = \"about:blank\";\n function isRelativeUrlWithoutProtocol(url) {\n return relativeFirstCharacters.indexOf(url[0]) > -1;\n }\n function decodeHtmlCharacters(str2) {\n var removedNullByte = str2.replace(ctrlCharactersRegex, \"\");\n return removedNullByte.replace(htmlEntitiesRegex, function(match, dec) {\n return String.fromCharCode(dec);\n });\n }\n function sanitizeUrl(url) {\n if (!url) {\n return exports2.BLANK_URL;\n }\n var sanitizedUrl = decodeHtmlCharacters(url).replace(htmlCtrlEntityRegex, \"\").replace(ctrlCharactersRegex, \"\").trim();\n if (!sanitizedUrl) {\n return exports2.BLANK_URL;\n }\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n var urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n var urlScheme = urlSchemeParseResults[0];\n if (invalidProtocolRegex.test(urlScheme)) {\n return exports2.BLANK_URL;\n }\n return sanitizedUrl;\n }\n exports2.sanitizeUrl = sanitizeUrl;\n})(dist);\nvar noop$1 = { value: () => {\n} };\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _2 = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || t in _2 || /[\\s.]/.test(t))\n throw new Error(\"illegal type: \" + t);\n _2[t] = [];\n }\n return new Dispatch(_2);\n}\nfunction Dispatch(_2) {\n this._ = _2;\n}\nfunction parseTypenames$1(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0)\n name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t))\n throw new Error(\"unknown type: \" + t);\n return { type: t, name };\n });\n}\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _2 = this._, T = parseTypenames$1(typename + \"\", _2), t, i = -1, n = T.length;\n if (arguments.length < 2) {\n while (++i < n)\n if ((t = (typename = T[i]).type) && (t = get$1(_2[t], typename.name)))\n return t;\n return;\n }\n if (callback != null && typeof callback !== \"function\")\n throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type)\n _2[t] = set$2(_2[t], typename.name, callback);\n else if (callback == null)\n for (t in _2)\n _2[t] = set$2(_2[t], typename.name, null);\n }\n return this;\n },\n copy: function() {\n var copy = {}, _2 = this._;\n for (var t in _2)\n copy[t] = _2[t].slice();\n return new Dispatch(copy);\n },\n call: function(type2, that) {\n if ((n = arguments.length - 2) > 0)\n for (var args = new Array(n), i = 0, n, t; i < n; ++i)\n args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type2))\n throw new Error(\"unknown type: \" + type2);\n for (t = this._[type2], i = 0, n = t.length; i < n; ++i)\n t[i].value.apply(that, args);\n },\n apply: function(type2, that, args) {\n if (!this._.hasOwnProperty(type2))\n throw new Error(\"unknown type: \" + type2);\n for (var t = this._[type2], i = 0, n = t.length; i < n; ++i)\n t[i].value.apply(that, args);\n }\n};\nfunction get$1(type2, name) {\n for (var i = 0, n = type2.length, c; i < n; ++i) {\n if ((c = type2[i]).name === name) {\n return c.value;\n }\n }\n}\nfunction set$2(type2, name, callback) {\n for (var i = 0, n = type2.length; i < n; ++i) {\n if (type2[i].name === name) {\n type2[i] = noop$1, type2 = type2.slice(0, i).concat(type2.slice(i + 1));\n break;\n }\n }\n if (callback != null)\n type2.push({ name, value: callback });\n return type2;\n}\nvar xhtml = \"http://www.w3.org/1999/xhtml\";\nconst namespaces = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\nfunction namespace(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\")\n name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name;\n}\nfunction creatorInherit(name) {\n return function() {\n var document2 = this.ownerDocument, uri = this.namespaceURI;\n return uri === xhtml && document2.documentElement.namespaceURI === xhtml ? document2.createElement(name) : document2.createElementNS(uri, name);\n };\n}\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\nfunction creator(name) {\n var fullname = namespace(name);\n return (fullname.local ? creatorFixed : creatorInherit)(fullname);\n}\nfunction none() {\n}\nfunction selector(selector2) {\n return selector2 == null ? none : function() {\n return this.querySelector(selector2);\n };\n}\nfunction selection_select(select) {\n if (typeof select !== \"function\")\n select = selector(select);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node2, subnode, i = 0; i < n; ++i) {\n if ((node2 = group[i]) && (subnode = select.call(node2, node2.__data__, i, group))) {\n if (\"__data__\" in node2)\n subnode.__data__ = node2.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n return new Selection$1(subgroups, this._parents);\n}\nfunction array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\nfunction empty() {\n return [];\n}\nfunction selectorAll(selector2) {\n return selector2 == null ? empty : function() {\n return this.querySelectorAll(selector2);\n };\n}\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\nfunction selection_selectAll(select) {\n if (typeof select === \"function\")\n select = arrayAll(select);\n else\n select = selectorAll(select);\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node2, i = 0; i < n; ++i) {\n if (node2 = group[i]) {\n subgroups.push(select.call(node2, node2.__data__, i, group));\n parents.push(node2);\n }\n }\n }\n return new Selection$1(subgroups, parents);\n}\nfunction matcher(selector2) {\n return function() {\n return this.matches(selector2);\n };\n}\nfunction childMatcher(selector2) {\n return function(node2) {\n return node2.matches(selector2);\n };\n}\nvar find = Array.prototype.find;\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\nfunction childFirst() {\n return this.firstElementChild;\n}\nfunction selection_selectChild(match) {\n return this.select(match == null ? childFirst : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\nvar filter = Array.prototype.filter;\nfunction children() {\n return Array.from(this.children);\n}\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\nfunction selection_selectChildren(match) {\n return this.selectAll(match == null ? children : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\nfunction selection_filter(match) {\n if (typeof match !== \"function\")\n match = matcher(match);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node2, i = 0; i < n; ++i) {\n if ((node2 = group[i]) && match.call(node2, node2.__data__, i, group)) {\n subgroup.push(node2);\n }\n }\n }\n return new Selection$1(subgroups, this._parents);\n}\nfunction sparse(update) {\n return new Array(update.length);\n}\nfunction selection_enter() {\n return new Selection$1(this._enter || this._groups.map(sparse), this._parents);\n}\nfunction EnterNode(parent, datum2) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum2;\n}\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) {\n return this._parent.insertBefore(child, this._next);\n },\n insertBefore: function(child, next2) {\n return this._parent.insertBefore(child, next2);\n },\n querySelector: function(selector2) {\n return this._parent.querySelector(selector2);\n },\n querySelectorAll: function(selector2) {\n return this._parent.querySelectorAll(selector2);\n }\n};\nfunction constant$2(x) {\n return function() {\n return x;\n };\n}\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0, node2, groupLength = group.length, dataLength = data.length;\n for (; i < dataLength; ++i) {\n if (node2 = group[i]) {\n node2.__data__ = data[i];\n update[i] = node2;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n for (; i < groupLength; ++i) {\n if (node2 = group[i]) {\n exit[i] = node2;\n }\n }\n}\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i, node2, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;\n for (i = 0; i < groupLength; ++i) {\n if (node2 = group[i]) {\n keyValues[i] = keyValue = key.call(node2, node2.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node2;\n } else {\n nodeByKeyValue.set(keyValue, node2);\n }\n }\n }\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node2 = nodeByKeyValue.get(keyValue)) {\n update[i] = node2;\n node2.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n for (i = 0; i < groupLength; ++i) {\n if ((node2 = group[i]) && nodeByKeyValue.get(keyValues[i]) === node2) {\n exit[i] = node2;\n }\n }\n}\nfunction datum(node2) {\n return node2.__data__;\n}\nfunction selection_data(value, key) {\n if (!arguments.length)\n return Array.from(this, datum);\n var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups;\n if (typeof value !== \"function\")\n value = constant$2(value);\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n for (var i0 = 0, i1 = 0, previous, next2; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1)\n i1 = i0 + 1;\n while (!(next2 = updateGroup[i1]) && ++i1 < dataLength)\n ;\n previous._next = next2 || null;\n }\n }\n }\n update = new Selection$1(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data ? data : Array.from(data);\n}\nfunction selection_exit() {\n return new Selection$1(this._exit || this._groups.map(sparse), this._parents);\n}\nfunction selection_join(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter)\n enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update)\n update = update.selection();\n }\n if (onexit == null)\n exit.remove();\n else\n onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\nfunction selection_merge(context) {\n var selection2 = context.selection ? context.selection() : context;\n for (var groups0 = this._groups, groups1 = selection2._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge2 = merges[j] = new Array(n), node2, i = 0; i < n; ++i) {\n if (node2 = group0[i] || group1[i]) {\n merge2[i] = node2;\n }\n }\n }\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n return new Selection$1(merges, this._parents);\n}\nfunction selection_order() {\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {\n for (var group = groups[j], i = group.length - 1, next2 = group[i], node2; --i >= 0; ) {\n if (node2 = group[i]) {\n if (next2 && node2.compareDocumentPosition(next2) ^ 4)\n next2.parentNode.insertBefore(node2, next2);\n next2 = node2;\n }\n }\n }\n return this;\n}\nfunction selection_sort(compare) {\n if (!compare)\n compare = ascending;\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node2, i = 0; i < n; ++i) {\n if (node2 = group[i]) {\n sortgroup[i] = node2;\n }\n }\n sortgroup.sort(compareNode);\n }\n return new Selection$1(sortgroups, this._parents).order();\n}\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\nfunction selection_call() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\nfunction selection_nodes() {\n return Array.from(this);\n}\nfunction selection_node() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node2 = group[i];\n if (node2)\n return node2;\n }\n }\n return null;\n}\nfunction selection_size() {\n let size = 0;\n for (const node2 of this)\n ++size;\n return size;\n}\nfunction selection_empty() {\n return !this.node();\n}\nfunction selection_each(callback) {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node2; i < n; ++i) {\n if (node2 = group[i])\n callback.call(node2, node2.__data__, i, group);\n }\n }\n return this;\n}\nfunction attrRemove$1(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\nfunction attrRemoveNS$1(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\nfunction attrConstant$1(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\nfunction attrConstantNS$1(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\nfunction attrFunction$1(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null)\n this.removeAttribute(name);\n else\n this.setAttribute(name, v);\n };\n}\nfunction attrFunctionNS$1(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null)\n this.removeAttributeNS(fullname.space, fullname.local);\n else\n this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\nfunction selection_attr(name, value) {\n var fullname = namespace(name);\n if (arguments.length < 2) {\n var node2 = this.node();\n return fullname.local ? node2.getAttributeNS(fullname.space, fullname.local) : node2.getAttribute(fullname);\n }\n return this.each((value == null ? fullname.local ? attrRemoveNS$1 : attrRemove$1 : typeof value === \"function\" ? fullname.local ? attrFunctionNS$1 : attrFunction$1 : fullname.local ? attrConstantNS$1 : attrConstant$1)(fullname, value));\n}\nfunction defaultView(node2) {\n return node2.ownerDocument && node2.ownerDocument.defaultView || node2.document && node2 || node2.defaultView;\n}\nfunction styleRemove$1(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\nfunction styleConstant$1(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\nfunction styleFunction$1(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null)\n this.style.removeProperty(name);\n else\n this.style.setProperty(name, v, priority);\n };\n}\nfunction selection_style(name, value, priority) {\n return arguments.length > 1 ? this.each((value == null ? styleRemove$1 : typeof value === \"function\" ? styleFunction$1 : styleConstant$1)(name, value, priority == null ? \"\" : priority)) : styleValue(this.node(), name);\n}\nfunction styleValue(node2, name) {\n return node2.style.getPropertyValue(name) || defaultView(node2).getComputedStyle(node2, null).getPropertyValue(name);\n}\nfunction propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null)\n delete this[name];\n else\n this[name] = v;\n };\n}\nfunction selection_property(name, value) {\n return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === \"function\" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];\n}\nfunction classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\nfunction classList(node2) {\n return node2.classList || new ClassList(node2);\n}\nfunction ClassList(node2) {\n this._node = node2;\n this._names = classArray(node2.getAttribute(\"class\") || \"\");\n}\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\nfunction classedAdd(node2, names) {\n var list = classList(node2), i = -1, n = names.length;\n while (++i < n)\n list.add(names[i]);\n}\nfunction classedRemove(node2, names) {\n var list = classList(node2), i = -1, n = names.length;\n while (++i < n)\n list.remove(names[i]);\n}\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\nfunction selection_classed(name, value) {\n var names = classArray(name + \"\");\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n)\n if (!list.contains(names[i]))\n return false;\n return true;\n }\n return this.each((typeof value === \"function\" ? classedFunction : value ? classedTrue : classedFalse)(names, value));\n}\nfunction textRemove() {\n this.textContent = \"\";\n}\nfunction textConstant$1(value) {\n return function() {\n this.textContent = value;\n };\n}\nfunction textFunction$1(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\nfunction selection_text(value) {\n return arguments.length ? this.each(value == null ? textRemove : (typeof value === \"function\" ? textFunction$1 : textConstant$1)(value)) : this.node().textContent;\n}\nfunction htmlRemove() {\n this.innerHTML = \"\";\n}\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\nfunction selection_html(value) {\n return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === \"function\" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML;\n}\nfunction raise() {\n if (this.nextSibling)\n this.parentNode.appendChild(this);\n}\nfunction selection_raise() {\n return this.each(raise);\n}\nfunction lower() {\n if (this.previousSibling)\n this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\nfunction selection_lower() {\n return this.each(lower);\n}\nfunction selection_append(name) {\n var create2 = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create2.apply(this, arguments));\n });\n}\nfunction constantNull() {\n return null;\n}\nfunction selection_insert(name, before) {\n var create2 = typeof name === \"function\" ? name : creator(name), select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create2.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\nfunction remove() {\n var parent = this.parentNode;\n if (parent)\n parent.removeChild(this);\n}\nfunction selection_remove() {\n return this.each(remove);\n}\nfunction selection_cloneShallow() {\n var clone2 = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone2, this.nextSibling) : clone2;\n}\nfunction selection_cloneDeep() {\n var clone2 = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone2, this.nextSibling) : clone2;\n}\nfunction selection_clone(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\nfunction selection_datum(value) {\n return arguments.length ? this.property(\"__data__\", value) : this.node().__data__;\n}\nfunction contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0)\n name = t.slice(i + 1), t = t.slice(0, i);\n return { type: t, name };\n });\n}\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on)\n return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i)\n on.length = i;\n else\n delete this.__on;\n };\n}\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on)\n for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = { type: typename.type, name: typename.name, value, listener, options };\n if (!on)\n this.__on = [o];\n else\n on.push(o);\n };\n}\nfunction selection_on(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on)\n for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i)\n this.each(on(typenames[i], value, options));\n return this;\n}\nfunction dispatchEvent(node2, type2, params) {\n var window2 = defaultView(node2), event = window2.CustomEvent;\n if (typeof event === \"function\") {\n event = new event(type2, params);\n } else {\n event = window2.document.createEvent(\"Event\");\n if (params)\n event.initEvent(type2, params.bubbles, params.cancelable), event.detail = params.detail;\n else\n event.initEvent(type2, false, false);\n }\n node2.dispatchEvent(event);\n}\nfunction dispatchConstant(type2, params) {\n return function() {\n return dispatchEvent(this, type2, params);\n };\n}\nfunction dispatchFunction(type2, params) {\n return function() {\n return dispatchEvent(this, type2, params.apply(this, arguments));\n };\n}\nfunction selection_dispatch(type2, params) {\n return this.each((typeof params === \"function\" ? dispatchFunction : dispatchConstant)(type2, params));\n}\nfunction* selection_iterator() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node2; i < n; ++i) {\n if (node2 = group[i])\n yield node2;\n }\n }\n}\nvar root$2 = [null];\nfunction Selection$1(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\nfunction selection() {\n return new Selection$1([[document.documentElement]], root$2);\n}\nfunction selection_selection() {\n return this;\n}\nSelection$1.prototype = selection.prototype = {\n constructor: Selection$1,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\nfunction d3select(selector2) {\n return typeof selector2 === \"string\" ? new Selection$1([[document.querySelector(selector2)]], [document.documentElement]) : new Selection$1([[selector2]], root$2);\n}\nfunction define(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\nfunction extend$1(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition)\n prototype[key] = definition[key];\n return prototype;\n}\nfunction Color$2() {\n}\nvar darker = 0.7;\nvar brighter = 1 / darker;\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\", reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\", reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`), reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`), reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`), reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`), reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`), reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\nvar named = {\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n};\ndefine(Color$2, color, {\n copy(channels2) {\n return Object.assign(new this.constructor(), this, channels2);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\nfunction color(format2) {\n var m, l;\n format2 = (format2 + \"\").trim().toLowerCase();\n return (m = reHex.exec(format2)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba$2(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba$2(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format2)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format2)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format2)) ? rgba$2(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format2)) ? rgba$2(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format2)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format2)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : null;\n}\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);\n}\nfunction rgba$2(r, g, b, a) {\n if (a <= 0)\n r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\nfunction rgbConvert(o) {\n if (!(o instanceof Color$2))\n o = color(o);\n if (!o)\n return new Rgb();\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\nfunction rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\nfunction Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\ndefine(Rgb, rgb, extend$1(Color$2, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\nfunction hsla(h, s, l, a) {\n if (a <= 0)\n h = s = l = NaN;\n else if (l <= 0 || l >= 1)\n h = s = NaN;\n else if (s <= 0)\n h = NaN;\n return new Hsl(h, s, l, a);\n}\nfunction hslConvert(o) {\n if (o instanceof Hsl)\n return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color$2))\n o = color(o);\n if (!o)\n return new Hsl();\n if (o instanceof Hsl)\n return o;\n o = o.rgb();\n var r = o.r / 255, g = o.g / 255, b = o.b / 255, min2 = Math.min(r, g, b), max2 = Math.max(r, g, b), h = NaN, s = max2 - min2, l = (max2 + min2) / 2;\n if (s) {\n if (r === max2)\n h = (g - b) / s + (g < b) * 6;\n else if (g === max2)\n h = (b - r) / s + 2;\n else\n h = (r - g) / s + 4;\n s /= l < 0.5 ? max2 + min2 : 2 - max2 - min2;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\nfunction hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\ndefine(Hsl, hsl, extend$1(Color$2, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n}\nconst constant$1 = (x) => () => x;\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\nfunction hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant$1(isNaN(a) ? b : a);\n}\nfunction gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant$1(isNaN(a) ? b : a);\n };\n}\nfunction nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant$1(isNaN(a) ? b : a);\n}\nconst interpolateRgb = function rgbGamma(y) {\n var color2 = gamma(y);\n function rgb$1(start2, end) {\n var r = color2((start2 = rgb(start2)).r, (end = rgb(end)).r), g = color2(start2.g, end.g), b = color2(start2.b, end.b), opacity = nogamma(start2.opacity, end.opacity);\n return function(t) {\n start2.r = r(t);\n start2.g = g(t);\n start2.b = b(t);\n start2.opacity = opacity(t);\n return start2 + \"\";\n };\n }\n rgb$1.gamma = rgbGamma;\n return rgb$1;\n}(1);\nfunction interpolateNumber(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, reB = new RegExp(reA.source, \"g\");\nfunction zero(b) {\n return function() {\n return b;\n };\n}\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\nfunction interpolateString(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n a = a + \"\", b = b + \"\";\n while ((am = reA.exec(a)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n bs = b.slice(bi, bs);\n if (s[i])\n s[i] += bs;\n else\n s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n if (s[i])\n s[i] += bm;\n else\n s[++i] = bm;\n } else {\n s[++i] = null;\n q.push({ i, x: interpolateNumber(am, bm) });\n }\n bi = reB.lastIndex;\n }\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i])\n s[i] += bs;\n else\n s[++i] = bs;\n }\n return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) {\n for (var i2 = 0, o; i2 < b; ++i2)\n s[(o = q[i2]).i] = o.x(t);\n return s.join(\"\");\n });\n}\nvar degrees = 180 / Math.PI;\nvar identity$1 = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction decompose(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b))\n a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d)\n c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d))\n c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c)\n a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX,\n scaleY\n };\n}\nvar svgNode;\nfunction parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity$1 : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\nfunction parseSvg(value) {\n if (value == null)\n return identity$1;\n if (!svgNode)\n svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate()))\n return identity$1;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\nfunction interpolateTransform(parse2, pxComma, pxParen, degParen) {\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({ i: i - 4, x: interpolateNumber(xa, xb) }, { i: i - 2, x: interpolateNumber(ya, yb) });\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180)\n b += 360;\n else if (b - a > 180)\n a += 360;\n q.push({ i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: interpolateNumber(a, b) });\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({ i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: interpolateNumber(a, b) });\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({ i: i - 4, x: interpolateNumber(xa, xb) }, { i: i - 2, x: interpolateNumber(ya, yb) });\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n return function(a, b) {\n var s = [], q = [];\n a = parse2(a), b = parse2(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null;\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n)\n s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\nvar interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nvar interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\nvar frame = 0, timeout$1 = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance === \"object\" && performance.now ? performance : Date, setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) {\n setTimeout(f, 17);\n};\nfunction now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\nfunction clearNow() {\n clockNow = 0;\n}\nfunction Timer() {\n this._call = this._time = this._next = null;\n}\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\")\n throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail)\n taskTail._next = this;\n else\n taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\nfunction timer(callback, delay, time) {\n var t = new Timer();\n t.restart(callback, delay, time);\n return t;\n}\nfunction timerFlush() {\n now();\n ++frame;\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0)\n t._call.call(void 0, e);\n t = t._next;\n }\n --frame;\n}\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout$1 = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\nfunction poke() {\n var now2 = clock.now(), delay = now2 - clockLast;\n if (delay > pokeDelay)\n clockSkew -= delay, clockLast = now2;\n}\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time)\n time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\nfunction sleep(time) {\n if (frame)\n return;\n if (timeout$1)\n timeout$1 = clearTimeout(timeout$1);\n var delay = time - clockNow;\n if (delay > 24) {\n if (time < Infinity)\n timeout$1 = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval)\n interval = clearInterval(interval);\n } else {\n if (!interval)\n clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\nfunction timeout(callback, delay, time) {\n var t = new Timer();\n delay = delay == null ? 0 : +delay;\n t.restart((elapsed) => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\nvar CREATED = 0;\nvar SCHEDULED = 1;\nvar STARTING = 2;\nvar STARTED = 3;\nvar RUNNING = 4;\nvar ENDING = 5;\nvar ENDED = 6;\nfunction schedule(node2, name, id2, index, group, timing) {\n var schedules = node2.__transition;\n if (!schedules)\n node2.__transition = {};\n else if (id2 in schedules)\n return;\n create$1(node2, id2, {\n name,\n index,\n // For context during callback.\n group,\n // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\nfunction init$1(node2, id2) {\n var schedule2 = get(node2, id2);\n if (schedule2.state > CREATED)\n throw new Error(\"too late; already scheduled\");\n return schedule2;\n}\nfunction set$1(node2, id2) {\n var schedule2 = get(node2, id2);\n if (schedule2.state > STARTED)\n throw new Error(\"too late; already running\");\n return schedule2;\n}\nfunction get(node2, id2) {\n var schedule2 = node2.__transition;\n if (!schedule2 || !(schedule2 = schedule2[id2]))\n throw new Error(\"transition not found\");\n return schedule2;\n}\nfunction create$1(node2, id2, self2) {\n var schedules = node2.__transition, tween;\n schedules[id2] = self2;\n self2.timer = timer(schedule2, 0, self2.time);\n function schedule2(elapsed) {\n self2.state = SCHEDULED;\n self2.timer.restart(start2, self2.delay, self2.time);\n if (self2.delay <= elapsed)\n start2(elapsed - self2.delay);\n }\n function start2(elapsed) {\n var i, j, n, o;\n if (self2.state !== SCHEDULED)\n return stop();\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self2.name)\n continue;\n if (o.state === STARTED)\n return timeout(start2);\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node2, node2.__data__, o.index, o.group);\n delete schedules[i];\n } else if (+i < id2) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node2, node2.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n timeout(function() {\n if (self2.state === STARTED) {\n self2.state = RUNNING;\n self2.timer.restart(tick, self2.delay, self2.time);\n tick(elapsed);\n }\n });\n self2.state = STARTING;\n self2.on.call(\"start\", node2, node2.__data__, self2.index, self2.group);\n if (self2.state !== STARTING)\n return;\n self2.state = STARTED;\n tween = new Array(n = self2.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self2.tween[i].value.call(node2, node2.__data__, self2.index, self2.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n function tick(elapsed) {\n var t = elapsed < self2.duration ? self2.ease.call(null, elapsed / self2.duration) : (self2.timer.restart(stop), self2.state = ENDING, 1), i = -1, n = tween.length;\n while (++i < n) {\n tween[i].call(node2, t);\n }\n if (self2.state === ENDING) {\n self2.on.call(\"end\", node2, node2.__data__, self2.index, self2.group);\n stop();\n }\n }\n function stop() {\n self2.state = ENDED;\n self2.timer.stop();\n delete schedules[id2];\n for (var i in schedules)\n return;\n delete node2.__transition;\n }\n}\nfunction interrupt(node2, name) {\n var schedules = node2.__transition, schedule2, active, empty2 = true, i;\n if (!schedules)\n return;\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule2 = schedules[i]).name !== name) {\n empty2 = false;\n continue;\n }\n active = schedule2.state > STARTING && schedule2.state < ENDING;\n schedule2.state = ENDED;\n schedule2.timer.stop();\n schedule2.on.call(active ? \"interrupt\" : \"cancel\", node2, node2.__data__, schedule2.index, schedule2.group);\n delete schedules[i];\n }\n if (empty2)\n delete node2.__transition;\n}\nfunction selection_interrupt(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\nfunction tweenRemove(id2, name) {\n var tween0, tween1;\n return function() {\n var schedule2 = set$1(this, id2), tween = schedule2.tween;\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n schedule2.tween = tween1;\n };\n}\nfunction tweenFunction(id2, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\")\n throw new Error();\n return function() {\n var schedule2 = set$1(this, id2), tween = schedule2.tween;\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = { name, value }, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n)\n tween1.push(t);\n }\n schedule2.tween = tween1;\n };\n}\nfunction transition_tween(name, value) {\n var id2 = this._id;\n name += \"\";\n if (arguments.length < 2) {\n var tween = get(this.node(), id2).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n return this.each((value == null ? tweenRemove : tweenFunction)(id2, name, value));\n}\nfunction tweenValue(transition, name, value) {\n var id2 = transition._id;\n transition.each(function() {\n var schedule2 = set$1(this, id2);\n (schedule2.value || (schedule2.value = {}))[name] = value.apply(this, arguments);\n });\n return function(node2) {\n return get(node2, id2).value[name];\n };\n}\nfunction interpolate(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber : b instanceof color ? interpolateRgb : (c = color(b)) ? (b = c, interpolateRgb) : interpolateString)(a, b);\n}\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\nfunction attrConstant(name, interpolate2, value1) {\n var string00, string1 = value1 + \"\", interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1);\n };\n}\nfunction attrConstantNS(fullname, interpolate2, value1) {\n var string00, string1 = value1 + \"\", interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1);\n };\n}\nfunction attrFunction(name, interpolate2, value) {\n var string00, string10, interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null)\n return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));\n };\n}\nfunction attrFunctionNS(fullname, interpolate2, value) {\n var string00, string10, interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null)\n return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));\n };\n}\nfunction transition_attr(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransformSvg : interpolate;\n return this.attrTween(name, typeof value === \"function\" ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value)) : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname) : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0)\n t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0)\n t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\nfunction transition_attrTween(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2)\n return (key = this.tween(key)) && key._value;\n if (value == null)\n return this.tween(key, null);\n if (typeof value !== \"function\")\n throw new Error();\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\nfunction delayFunction(id2, value) {\n return function() {\n init$1(this, id2).delay = +value.apply(this, arguments);\n };\n}\nfunction delayConstant(id2, value) {\n return value = +value, function() {\n init$1(this, id2).delay = value;\n };\n}\nfunction transition_delay(value) {\n var id2 = this._id;\n return arguments.length ? this.each((typeof value === \"function\" ? delayFunction : delayConstant)(id2, value)) : get(this.node(), id2).delay;\n}\nfunction durationFunction(id2, value) {\n return function() {\n set$1(this, id2).duration = +value.apply(this, arguments);\n };\n}\nfunction durationConstant(id2, value) {\n return value = +value, function() {\n set$1(this, id2).duration = value;\n };\n}\nfunction transition_duration(value) {\n var id2 = this._id;\n return arguments.length ? this.each((typeof value === \"function\" ? durationFunction : durationConstant)(id2, value)) : get(this.node(), id2).duration;\n}\nfunction easeConstant(id2, value) {\n if (typeof value !== \"function\")\n throw new Error();\n return function() {\n set$1(this, id2).ease = value;\n };\n}\nfunction transition_ease(value) {\n var id2 = this._id;\n return arguments.length ? this.each(easeConstant(id2, value)) : get(this.node(), id2).ease;\n}\nfunction easeVarying(id2, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\")\n throw new Error();\n set$1(this, id2).ease = v;\n };\n}\nfunction transition_easeVarying(value) {\n if (typeof value !== \"function\")\n throw new Error();\n return this.each(easeVarying(this._id, value));\n}\nfunction transition_filter(match) {\n if (typeof match !== \"function\")\n match = matcher(match);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node2, i = 0; i < n; ++i) {\n if ((node2 = group[i]) && match.call(node2, node2.__data__, i, group)) {\n subgroup.push(node2);\n }\n }\n }\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\nfunction transition_merge(transition) {\n if (transition._id !== this._id)\n throw new Error();\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge2 = merges[j] = new Array(n), node2, i = 0; i < n; ++i) {\n if (node2 = group0[i] || group1[i]) {\n merge2[i] = node2;\n }\n }\n }\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n return new Transition(merges, this._parents, this._name, this._id);\n}\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0)\n t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\nfunction onFunction(id2, name, listener) {\n var on0, on1, sit = start(name) ? init$1 : set$1;\n return function() {\n var schedule2 = sit(this, id2), on = schedule2.on;\n if (on !== on0)\n (on1 = (on0 = on).copy()).on(name, listener);\n schedule2.on = on1;\n };\n}\nfunction transition_on(name, listener) {\n var id2 = this._id;\n return arguments.length < 2 ? get(this.node(), id2).on.on(name) : this.each(onFunction(id2, name, listener));\n}\nfunction removeFunction(id2) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition)\n if (+i !== id2)\n return;\n if (parent)\n parent.removeChild(this);\n };\n}\nfunction transition_remove() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\nfunction transition_select(select) {\n var name = this._name, id2 = this._id;\n if (typeof select !== \"function\")\n select = selector(select);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node2, subnode, i = 0; i < n; ++i) {\n if ((node2 = group[i]) && (subnode = select.call(node2, node2.__data__, i, group))) {\n if (\"__data__\" in node2)\n subnode.__data__ = node2.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id2, i, subgroup, get(node2, id2));\n }\n }\n }\n return new Transition(subgroups, this._parents, name, id2);\n}\nfunction transition_selectAll(select) {\n var name = this._name, id2 = this._id;\n if (typeof select !== \"function\")\n select = selectorAll(select);\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node2, i = 0; i < n; ++i) {\n if (node2 = group[i]) {\n for (var children2 = select.call(node2, node2.__data__, i, group), child, inherit2 = get(node2, id2), k = 0, l = children2.length; k < l; ++k) {\n if (child = children2[k]) {\n schedule(child, name, id2, k, children2, inherit2);\n }\n }\n subgroups.push(children2);\n parents.push(node2);\n }\n }\n }\n return new Transition(subgroups, parents, name, id2);\n}\nvar Selection = selection.prototype.constructor;\nfunction transition_selection() {\n return new Selection(this._groups, this._parents);\n}\nfunction styleNull(name, interpolate2) {\n var string00, string10, interpolate0;\n return function() {\n var string0 = styleValue(this, name), string1 = (this.style.removeProperty(name), styleValue(this, name));\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, string10 = string1);\n };\n}\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\nfunction styleConstant(name, interpolate2, value1) {\n var string00, string1 = value1 + \"\", interpolate0;\n return function() {\n var string0 = styleValue(this, name);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1);\n };\n}\nfunction styleFunction(name, interpolate2, value) {\n var string00, string10, interpolate0;\n return function() {\n var string0 = styleValue(this, name), value1 = value(this), string1 = value1 + \"\";\n if (value1 == null)\n string1 = value1 = (this.style.removeProperty(name), styleValue(this, name));\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1));\n };\n}\nfunction styleMaybeRemove(id2, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove2;\n return function() {\n var schedule2 = set$1(this, id2), on = schedule2.on, listener = schedule2.value[key] == null ? remove2 || (remove2 = styleRemove(name)) : void 0;\n if (on !== on0 || listener0 !== listener)\n (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n schedule2.on = on1;\n };\n}\nfunction transition_style(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransformCss : interpolate;\n return value == null ? this.styleTween(name, styleNull(name, i)).on(\"end.style.\" + name, styleRemove(name)) : typeof value === \"function\" ? this.styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, styleConstant(name, i, value), priority).on(\"end.style.\" + name, null);\n}\nfunction styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0)\n t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\nfunction transition_styleTween(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2)\n return (key = this.tween(key)) && key._value;\n if (value == null)\n return this.tween(key, null);\n if (typeof value !== \"function\")\n throw new Error();\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\nfunction transition_text(value) {\n return this.tween(\"text\", typeof value === \"function\" ? textFunction(tweenValue(this, \"text\", value)) : textConstant(value == null ? \"\" : value + \"\"));\n}\nfunction textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0)\n t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\nfunction transition_textTween(value) {\n var key = \"text\";\n if (arguments.length < 1)\n return (key = this.tween(key)) && key._value;\n if (value == null)\n return this.tween(key, null);\n if (typeof value !== \"function\")\n throw new Error();\n return this.tween(key, textTween(value));\n}\nfunction transition_transition() {\n var name = this._name, id0 = this._id, id1 = newId();\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node2, i = 0; i < n; ++i) {\n if (node2 = group[i]) {\n var inherit2 = get(node2, id0);\n schedule(node2, name, id1, i, group, {\n time: inherit2.time + inherit2.delay + inherit2.duration,\n delay: 0,\n duration: inherit2.duration,\n ease: inherit2.ease\n });\n }\n }\n }\n return new Transition(groups, this._parents, name, id1);\n}\nfunction transition_end() {\n var on0, on1, that = this, id2 = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = { value: reject }, end = { value: function() {\n if (--size === 0)\n resolve();\n } };\n that.each(function() {\n var schedule2 = set$1(this, id2), on = schedule2.on;\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n schedule2.on = on1;\n });\n if (size === 0)\n resolve();\n });\n}\nvar id$m = 0;\nfunction Transition(groups, parents, name, id2) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id2;\n}\nfunction newId() {\n return ++id$m;\n}\nvar selection_prototype = selection.prototype;\nTransition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\nfunction cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\nvar defaultTiming = {\n time: null,\n // Set on use.\n delay: 0,\n duration: 250,\n ease: cubicInOut\n};\nfunction inherit(node2, id2) {\n var timing;\n while (!(timing = node2.__transition) || !(timing = timing[id2])) {\n if (!(node2 = node2.parentNode)) {\n throw new Error(`transition ${id2} not found`);\n }\n }\n return timing;\n}\nfunction selection_transition(name) {\n var id2, timing;\n if (name instanceof Transition) {\n id2 = name._id, name = name._name;\n } else {\n id2 = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node2, i = 0; i < n; ++i) {\n if (node2 = group[i]) {\n schedule(node2, name, id2, i, group, timing || inherit(node2, id2));\n }\n }\n }\n return new Transition(groups, this._parents, name, id2);\n}\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\nconst abs$1 = Math.abs;\nconst atan2 = Math.atan2;\nconst cos = Math.cos;\nconst max = Math.max;\nconst min = Math.min;\nconst sin = Math.sin;\nconst sqrt = Math.sqrt;\nconst epsilon = 1e-12;\nconst pi = Math.PI;\nconst halfPi = pi / 2;\nconst tau = 2 * pi;\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\nfunction asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\nfunction Linear(context) {\n this._context = context;\n}\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n default:\n this._context.lineTo(x, y);\n break;\n }\n }\n};\nfunction curveLinear(context) {\n return new Linear(context);\n}\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line)\n this._context.lineTo(x, y);\n else\n this._context.moveTo(x, y);\n break;\n }\n case 1:\n this._point = 2;\n default: {\n if (this._x)\n this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else\n this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\nfunction bumpX(context) {\n return new Bump(context, true);\n}\nfunction bumpY(context) {\n return new Bump(context, false);\n}\nfunction noop() {\n}\nfunction point$3(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\nfunction Basis(context) {\n this._context = context;\n}\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3:\n point$3(this, this._x1, this._y1);\n case 2:\n this._context.lineTo(this._x1, this._y1);\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);\n default:\n point$3(this, x, y);\n break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\nfunction curveBasis(context) {\n return new Basis(context);\n}\nfunction BasisClosed(context) {\n this._context = context;\n}\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x2 = x, this._y2 = y;\n break;\n case 1:\n this._point = 2;\n this._x3 = x, this._y3 = y;\n break;\n case 2:\n this._point = 3;\n this._x4 = x, this._y4 = y;\n this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6);\n break;\n default:\n point$3(this, x, y);\n break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\nfunction curveBasisClosed(context) {\n return new BasisClosed(context);\n}\nfunction BasisOpen(context) {\n this._context = context;\n}\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 3)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6;\n this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0);\n break;\n case 3:\n this._point = 4;\n default:\n point$3(this, x, y);\n break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\nfunction curveBasisOpen(context) {\n return new BasisOpen(context);\n}\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x, y = this._y, j = x.length - 1;\n if (j > 0) {\n var x0 = x[0], y0 = y[0], dx = x[j] - x0, dy = y[j] - y0, i = -1, t;\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\nconst curveBundle = function custom(beta) {\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n bundle.beta = function(beta2) {\n return custom(+beta2);\n };\n return bundle;\n}(0.85);\nfunction point$2(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\nfunction Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x2, this._y2);\n break;\n case 3:\n point$2(this, this._x1, this._y1);\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n this._x1 = x, this._y1 = y;\n break;\n case 2:\n this._point = 3;\n default:\n point$2(this, x, y);\n break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\nconst curveCardinal = function custom2(tension) {\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n cardinal.tension = function(tension2) {\n return custom2(+tension2);\n };\n return cardinal;\n}(0);\nfunction CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x3 = x, this._y3 = y;\n break;\n case 1:\n this._point = 2;\n this._context.moveTo(this._x4 = x, this._y4 = y);\n break;\n case 2:\n this._point = 3;\n this._x5 = x, this._y5 = y;\n break;\n default:\n point$2(this, x, y);\n break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\nconst curveCardinalClosed = function custom3(tension) {\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n cardinal.tension = function(tension2) {\n return custom3(+tension2);\n };\n return cardinal;\n}(0);\nfunction CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 3)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);\n break;\n case 3:\n this._point = 4;\n default:\n point$2(this, x, y);\n break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\nconst curveCardinalOpen = function custom4(tension) {\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n cardinal.tension = function(tension2) {\n return custom4(+tension2);\n };\n return cardinal;\n}(0);\nfunction point$1(that, x, y) {\n var x1 = that._x1, y1 = that._y1, x2 = that._x2, y2 = that._y2;\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x2, this._y2);\n break;\n case 3:\n this.point(this._x2, this._y2);\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) {\n var x23 = this._x2 - x, y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n default:\n point$1(this, x, y);\n break;\n }\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\nconst curveCatmullRom = function custom5(alpha) {\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n catmullRom.alpha = function(alpha2) {\n return custom5(+alpha2);\n };\n return catmullRom;\n}(0.5);\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) {\n var x23 = this._x2 - x, y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x3 = x, this._y3 = y;\n break;\n case 1:\n this._point = 2;\n this._context.moveTo(this._x4 = x, this._y4 = y);\n break;\n case 2:\n this._point = 3;\n this._x5 = x, this._y5 = y;\n break;\n default:\n point$1(this, x, y);\n break;\n }\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\nconst curveCatmullRomClosed = function custom6(alpha) {\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n catmullRom.alpha = function(alpha2) {\n return custom6(+alpha2);\n };\n return catmullRom;\n}(0.5);\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;\n },\n lineEnd: function() {\n if (this._line || this._line !== 0 && this._point === 3)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) {\n var x23 = this._x2 - x, y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);\n break;\n case 3:\n this._point = 4;\n default:\n point$1(this, x, y);\n break;\n }\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\nconst curveCatmullRomOpen = function custom7(alpha) {\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n catmullRom.alpha = function(alpha2) {\n return custom7(+alpha2);\n };\n return catmullRom;\n}(0.5);\nfunction LinearClosed(context) {\n this._context = context;\n}\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point)\n this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point)\n this._context.lineTo(x, y);\n else\n this._point = 1, this._context.moveTo(x, y);\n }\n};\nfunction curveLinearClosed(context) {\n return new LinearClosed(context);\n}\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n}\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0, h1 = x2 - that._x1, s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\nfunction point(that, t0, t1) {\n var x0 = that._x0, y0 = that._y0, x1 = that._x1, y1 = that._y1, dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\nfunction MonotoneX(context) {\n this._context = context;\n}\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x1, this._y1);\n break;\n case 3:\n point(this, this._t0, slope2(this, this._t0));\n break;\n }\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1)\n return;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n break;\n case 2:\n this._point = 3;\n point(this, slope2(this, t1 = slope3(this, x, y)), t1);\n break;\n default:\n point(this, this._t0, t1 = slope3(this, x, y));\n break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n};\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\nfunction ReflectContext(context) {\n this._context = context;\n}\nReflectContext.prototype = {\n moveTo: function(x, y) {\n this._context.moveTo(y, x);\n },\n closePath: function() {\n this._context.closePath();\n },\n lineTo: function(x, y) {\n this._context.lineTo(y, x);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._context.bezierCurveTo(y1, x1, y2, x2, y, x);\n }\n};\nfunction monotoneX(context) {\n return new MonotoneX(context);\n}\nfunction monotoneY(context) {\n return new MonotoneY(context);\n}\nfunction Natural(context) {\n this._context = context;\n}\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x, y = this._y, n = x.length;\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x), py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n if (this._line || this._line !== 0 && n === 1)\n this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\nfunction controlPoints(x) {\n var i, n = x.length - 1, m, a = new Array(n), b = new Array(n), r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i)\n a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i)\n m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i)\n a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i)\n b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\nfunction curveNatural(context) {\n return new Natural(context);\n}\nfunction Step(context, t) {\n this._context = context;\n this._t = t;\n}\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2)\n this._context.lineTo(this._x, this._y);\n if (this._line || this._line !== 0 && this._point === 1)\n this._context.closePath();\n if (this._line >= 0)\n this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\nfunction curveStep(context) {\n return new Step(context, 0.5);\n}\nfunction stepBefore(context) {\n return new Step(context, 0);\n}\nfunction stepAfter(context) {\n return new Step(context, 1);\n}\nfunction Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point2) {\n return [point2[0] * this.k + this.x, point2[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\nTransform.prototype;\n/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object;\nlet {\n apply: apply$1,\n construct\n} = typeof Reflect !== \"undefined\" && Reflect;\nif (!freeze) {\n freeze = function freeze2(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal2(x) {\n return x;\n };\n}\nif (!apply$1) {\n apply$1 = function apply2(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct2(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\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);\nfunction unapply(func) {\n return function(thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply$1(func, thisArg, args);\n };\n}\nfunction unconstruct(func) {\n return function() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\nfunction addToSet(set2, array2) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n setPrototypeOf(set2, null);\n }\n let l = array2.length;\n while (l--) {\n let element = array2[l];\n if (typeof element === \"string\") {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n if (!isFrozen(array2)) {\n array2[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set2[element] = true;\n }\n return set2;\n}\nfunction cleanArray(array2) {\n for (let index = 0; index < array2.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array2, index);\n if (!isPropertyExist) {\n array2[index] = null;\n }\n }\n return array2;\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}\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}\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\", \"section\", \"select\", \"shadow\", \"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\", \"filter\", \"font\", \"g\", \"glyph\", \"glyphref\", \"hkern\", \"image\", \"line\", \"lineargradient\", \"marker\", \"mask\", \"metadata\", \"mpath\", \"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\"]);\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\"]);\nconst mathMlDisallowed = freeze([\"maction\", \"maligngroup\", \"malignmark\", \"mlongdiv\", \"mscarries\", \"mscarry\", \"msgroup\", \"mstack\", \"msline\", \"msrow\", \"semantics\", \"annotation\", \"annotation-xml\", \"mprescripts\", \"none\"]);\nconst text = freeze([\"#text\"]);\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\", \"face\", \"for\", \"headers\", \"height\", \"hidden\", \"high\", \"href\", \"hreflang\", \"id\", \"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\", \"pattern\", \"placeholder\", \"playsinline\", \"popover\", \"popovertarget\", \"popovertargetaction\", \"poster\", \"preload\", \"pubdate\", \"radiogroup\", \"readonly\", \"rel\", \"required\", \"rev\", \"reversed\", \"role\", \"rows\", \"rowspan\", \"spellcheck\", \"scope\", \"selected\", \"shape\", \"size\", \"sizes\", \"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\", \"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\", \"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\", \"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\", \"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\", \"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\", \"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\"]);\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/);\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/);\nconst IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i\n // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g\n // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\nvar EXPRESSIONS = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n DOCTYPE_NAME,\n CUSTOM_ELEMENT\n});\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\n // Deprecated\n};\nconst getGlobal = function getGlobal2() {\n return typeof window === \"undefined\" ? null : window;\n};\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy2(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== \"object\" || typeof trustedTypes.createPolicy !== \"function\") {\n return null;\n }\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(html2) {\n return html2;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_2) {\n console.warn(\"TrustedTypes policy \" + policyName + \" could not be created.\");\n return null;\n }\n};\nfunction createDOMPurify() {\n let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();\n const DOMPurify = (root2) => createDOMPurify(root2);\n DOMPurify.version = \"3.1.6\";\n DOMPurify.removed = [];\n if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document) {\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document: document2\n } = window2;\n const originalDocument = document2;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window2.NamedNodeMap || window2.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window2;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, \"cloneNode\");\n const remove2 = lookupGetter(ElementPrototype, \"remove\");\n const getNextSibling = lookupGetter(ElementPrototype, \"nextSibling\");\n const getChildNodes = lookupGetter(ElementPrototype, \"childNodes\");\n const getParentNode = lookupGetter(ElementPrototype, \"parentNode\");\n if (typeof HTMLTemplateElement === \"function\") {\n const template = document2.createElement(\"template\");\n if (template.content && template.content.ownerDocument) {\n document2 = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = \"\";\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document2;\n const {\n importNode\n } = originalDocument;\n let hooks = {};\n DOMPurify.isSupported = typeof entries === \"function\" && typeof getParentNode === \"function\" && implementation && implementation.createHTMLDocument !== void 0;\n const {\n MUSTACHE_EXPR: MUSTACHE_EXPR2,\n ERB_EXPR: ERB_EXPR2,\n TMPLIT_EXPR: TMPLIT_EXPR2,\n DATA_ATTR: DATA_ATTR2,\n ARIA_ATTR: ARIA_ATTR2,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA2,\n ATTR_WHITESPACE: ATTR_WHITESPACE2,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT2\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\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 let FORBID_TAGS = null;\n let FORBID_ATTR = null;\n let ALLOW_ARIA_ATTR = true;\n let ALLOW_DATA_ATTR = true;\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n let SAFE_FOR_TEMPLATES = false;\n let SAFE_FOR_XML = true;\n let WHOLE_DOCUMENT = false;\n let SET_CONFIG = false;\n let FORCE_BODY = false;\n let RETURN_DOM = false;\n let RETURN_DOM_FRAGMENT = false;\n let RETURN_TRUSTED_TYPE = false;\n let SANITIZE_DOM = true;\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = \"user-content-\";\n let KEEP_CONTENT = true;\n let IN_PLACE = false;\n let USE_PROFILES = {};\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 let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\"audio\", \"video\", \"img\", \"source\", \"image\", \"track\"]);\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 let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\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 let CONFIG = null;\n const formElement = document2.createElement(\"form\");\n const isRegexOrFunction = function isRegexOrFunction2(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n const _parseConfig = function _parseConfig2() {\n let cfg = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n if (!cfg || typeof cfg !== \"object\") {\n cfg = {};\n }\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // 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 transformCaseFunc = PARSER_MEDIA_TYPE === \"application/xhtml+xml\" ? stringToString : stringToLowerCase;\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(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES),\n // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR,\n // eslint-disable-line indent\n transformCaseFunc\n // eslint-disable-line indent\n ) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, \"ADD_DATA_URI_TAGS\") ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS),\n // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS,\n // eslint-disable-line indent\n transformCaseFunc\n // eslint-disable-line indent\n ) : 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) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, \"FORBID_ATTR\") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, \"USE_PROFILES\") ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false;\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false;\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false;\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false;\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false;\n RETURN_DOM = cfg.RETURN_DOM || false;\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false;\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false;\n FORCE_BODY = cfg.FORCE_BODY || false;\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false;\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false;\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false;\n IN_PLACE = cfg.IN_PLACE || false;\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\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 if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\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 if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\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 (KEEP_CONTENT) {\n ALLOWED_TAGS[\"#text\"] = true;\n }\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, [\"html\", \"head\", \"body\"]);\n }\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 trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n emptyHTML = trustedTypesPolicy.createHTML(\"\");\n } else {\n if (trustedTypesPolicy === void 0) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n if (trustedTypesPolicy !== null && typeof emptyHTML === \"string\") {\n emptyHTML = trustedTypesPolicy.createHTML(\"\");\n }\n }\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\"mi\", \"mo\", \"mn\", \"ms\", \"mtext\"]);\n const HTML_INTEGRATION_POINTS = addToSet({}, [\"foreignobject\", \"annotation-xml\"]);\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\"title\", \"style\", \"font\", \"a\", \"script\"]);\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n const _checkValidNamespace = function _checkValidNamespace2(element) {\n let parent = getParentNode(element);\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 if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === \"svg\";\n }\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === \"svg\" && (parentTagName === \"annotation-xml\" || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === \"math\";\n }\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === \"math\" && HTML_INTEGRATION_POINTS[parentTagName];\n }\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\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 return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n if (PARSER_MEDIA_TYPE === \"application/xhtml+xml\" && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n return false;\n };\n const _forceRemove = function _forceRemove2(node2) {\n arrayPush(DOMPurify.removed, {\n element: node2\n });\n try {\n getParentNode(node2).removeChild(node2);\n } catch (_2) {\n remove2(node2);\n }\n };\n const _removeAttribute = function _removeAttribute2(name, node2) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node2.getAttributeNode(name),\n from: node2\n });\n } catch (_2) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node2\n });\n }\n node2.removeAttribute(name);\n if (name === \"is\" && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node2);\n } catch (_2) {\n }\n } else {\n try {\n node2.setAttribute(name, \"\");\n } catch (_2) {\n }\n }\n }\n };\n const _initDocument = function _initDocument2(dirty) {\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = \"\" + dirty;\n } else {\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 dirty = '' + dirty + \"\";\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_2) {\n }\n }\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 (_2) {\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document2.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\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 const _createNodeIterator = function _createNodeIterator2(root2) {\n return createNodeIterator.call(\n root2.ownerDocument || root2,\n root2,\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,\n null\n );\n };\n const _isClobbered = function _isClobbered2(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== \"string\" || typeof elm.textContent !== \"string\" || typeof elm.removeChild !== \"function\" || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== \"function\" || typeof elm.setAttribute !== \"function\" || typeof elm.namespaceURI !== \"string\" || typeof elm.insertBefore !== \"function\" || typeof elm.hasChildNodes !== \"function\");\n };\n const _isNode = function _isNode2(object) {\n return typeof Node === \"function\" && object instanceof Node;\n };\n const _executeHook = function _executeHook2(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n const _sanitizeElements = function _sanitizeElements2(currentNode) {\n let content = null;\n _executeHook(\"beforeSanitizeElements\", currentNode, null);\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n const tagName = transformCaseFunc(currentNode.nodeName);\n _executeHook(\"uponSanitizeElement\", currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\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 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 if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n if ((tagName === \"noscript\" || tagName === \"noembed\" || tagName === \"noframes\") && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (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 _executeHook(\"afterSanitizeElements\", currentNode, null);\n return false;\n };\n const _isValidAttribute = function _isValidAttribute2(lcTag, lcName, value) {\n if (SANITIZE_DOM && (lcName === \"id\" || lcName === \"name\") && (value in document2 || value in formElement)) {\n return false;\n }\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR2, lcName))\n ;\n else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR2, lcName))\n ;\n 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)) || // 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))\n )\n ;\n else {\n return false;\n }\n } else if (URI_SAFE_ATTRIBUTES[lcName])\n ;\n else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE2, \"\")))\n ;\n else if ((lcName === \"src\" || lcName === \"xlink:href\" || lcName === \"href\") && lcTag !== \"script\" && stringIndexOf(value, \"data:\") === 0 && DATA_URI_TAGS[lcTag])\n ;\n else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA2, stringReplace(value, ATTR_WHITESPACE2, \"\")))\n ;\n else if (value) {\n return false;\n } else\n ;\n return true;\n };\n const _isBasicCustomElement = function _isBasicCustomElement2(tagName) {\n return tagName !== \"annotation-xml\" && stringMatch(tagName, CUSTOM_ELEMENT2);\n };\n const _sanitizeAttributes = function _sanitizeAttributes2(currentNode) {\n _executeHook(\"beforeSanitizeAttributes\", currentNode, null);\n const {\n attributes\n } = currentNode;\n if (!attributes) {\n return;\n }\n const hookEvent = {\n attrName: \"\",\n attrValue: \"\",\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n let l = attributes.length;\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 let value = name === \"value\" ? attrValue : stringTrim(attrValue);\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = void 0;\n _executeHook(\"uponSanitizeAttribute\", currentNode, hookEvent);\n value = hookEvent.attrValue;\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n _removeAttribute(name, currentNode);\n if (!hookEvent.keepAttr) {\n continue;\n }\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (expr) => {\n value = stringReplace(value, expr, \" \");\n });\n }\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n if (SANITIZE_NAMED_PROPS && (lcName === \"id\" || lcName === \"name\")) {\n _removeAttribute(name, currentNode);\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n if (trustedTypesPolicy && typeof trustedTypes === \"object\" && typeof trustedTypes.getAttributeType === \"function\") {\n if (namespaceURI)\n ;\n else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case \"TrustedHTML\": {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case \"TrustedScriptURL\": {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_2) {\n }\n }\n _executeHook(\"afterSanitizeAttributes\", currentNode, null);\n };\n const _sanitizeShadowDOM = function _sanitizeShadowDOM2(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n _executeHook(\"beforeSanitizeShadowDOM\", fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n _executeHook(\"uponSanitizeShadowNode\", shadowNode, null);\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM2(shadowNode.content);\n }\n _sanitizeAttributes(shadowNode);\n }\n _executeHook(\"afterSanitizeShadowDOM\", fragment, null);\n };\n DOMPurify.sanitize = function(dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = \"\";\n }\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 if (!DOMPurify.isSupported) {\n return dirty;\n }\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n DOMPurify.removed = [];\n if (typeof dirty === \"string\") {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\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 body = _initDocument(\"\");\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === \"BODY\") {\n body = importedNode;\n } else if (importedNode.nodeName === \"HTML\") {\n body = importedNode;\n } else {\n body.appendChild(importedNode);\n }\n } else {\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf(\"<\") === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n body = _initDocument(dirty);\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : \"\";\n }\n }\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n while (currentNode = nodeIterator.nextNode()) {\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n _sanitizeAttributes(currentNode);\n }\n if (IN_PLACE) {\n return dirty;\n }\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\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 = \"\\n\" + serializedHTML;\n }\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR2, ERB_EXPR2, TMPLIT_EXPR2], (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] !== void 0 ? 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 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 hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function(entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n DOMPurify.removeHooks = function(entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n DOMPurify.removeAllHooks = function() {\n hooks = {};\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\nconst lineBreakRegex = //gi;\nconst getRows = (s) => {\n if (!s) {\n return [\"\"];\n }\n const str2 = breakToPlaceholder(s).replace(/\\\\n/g, \"#br#\");\n return str2.split(\"#br#\");\n};\nconst setupDompurifyHooksIfNotSetup = (() => {\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 purify.addHook(\"beforeSanitizeAttributes\", (node2) => {\n if (node2.tagName === \"A\" && node2.hasAttribute(\"target\")) {\n node2.setAttribute(TEMPORARY_ATTRIBUTE, node2.getAttribute(\"target\") || \"\");\n }\n });\n purify.addHook(\"afterSanitizeAttributes\", (node2) => {\n if (node2.tagName === \"A\" && node2.hasAttribute(TEMPORARY_ATTRIBUTE)) {\n node2.setAttribute(\"target\", node2.getAttribute(TEMPORARY_ATTRIBUTE) || \"\");\n node2.removeAttribute(TEMPORARY_ATTRIBUTE);\n if (node2.getAttribute(\"target\") === \"_blank\") {\n node2.setAttribute(\"rel\", \"noopener\");\n }\n }\n });\n}\nconst removeScript = (txt) => {\n setupDompurifyHooksIfNotSetup();\n const sanitizedText = purify.sanitize(txt);\n return sanitizedText;\n};\nconst sanitizeMore = (text2, config2) => {\n var _a;\n if (((_a = config2.flowchart) == null ? void 0 : _a.htmlLabels) !== false) {\n const level = config2.securityLevel;\n if (level === \"antiscript\" || level === \"strict\") {\n text2 = removeScript(text2);\n } else if (level !== \"loose\") {\n text2 = breakToPlaceholder(text2);\n text2 = text2.replace(//g, \">\");\n text2 = text2.replace(/=/g, \"=\");\n text2 = placeholderToBreak(text2);\n }\n }\n return text2;\n};\nconst sanitizeText$2 = (text2, config2) => {\n if (!text2) {\n return text2;\n }\n if (config2.dompurifyConfig) {\n text2 = purify.sanitize(sanitizeMore(text2, config2), config2.dompurifyConfig).toString();\n } else {\n text2 = purify.sanitize(sanitizeMore(text2, config2), {\n FORBID_TAGS: [\"style\"]\n }).toString();\n }\n return text2;\n};\nconst sanitizeTextOrArray = (a, config2) => {\n if (typeof a === \"string\") {\n return sanitizeText$2(a, config2);\n }\n return a.flat().map((x) => sanitizeText$2(x, config2));\n};\nconst hasBreaks = (text2) => {\n return lineBreakRegex.test(text2);\n};\nconst splitBreaks = (text2) => {\n return text2.split(lineBreakRegex);\n};\nconst placeholderToBreak = (s) => {\n return s.replace(/#br#/g, \"
\");\n};\nconst breakToPlaceholder = (s) => {\n return s.replace(lineBreakRegex, \"#br#\");\n};\nconst getUrl = (useAbsolute) => {\n let url = \"\";\n if (useAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replaceAll(/\\(/g, \"\\\\(\");\n url = url.replaceAll(/\\)/g, \"\\\\)\");\n }\n return url;\n};\nconst evaluate = (val) => val === false || [\"false\", \"null\", \"0\"].includes(String(val).trim().toLowerCase()) ? false : true;\nconst getMax = function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.max(...newValues);\n};\nconst getMin = function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.min(...newValues);\n};\nconst parseGenericTypes = 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};\nconst countOccurrence = (string, substring) => {\n return Math.max(0, string.split(substring).length - 1);\n};\nconst shouldCombineSets = (previousSet, nextSet) => {\n const prevCount = countOccurrence(previousSet, \"~\");\n const nextCount = countOccurrence(nextSet, \"~\");\n return prevCount === 1 && nextCount === 1;\n};\nconst processSet = (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};\nconst isMathMLSupported = () => window.MathMLElement !== void 0;\nconst katexRegex = /\\$\\$(.*)\\$\\$/g;\nconst hasKatex = (text2) => {\n var _a;\n return (((_a = text2.match(katexRegex)) == null ? void 0 : _a.length) ?? 0) > 0;\n};\nconst calculateMathMLDimensions = async (text2, config2) => {\n text2 = await renderKatex(text2, config2);\n const divElem = document.createElement(\"div\");\n divElem.innerHTML = text2;\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 == null ? void 0 : body.insertAdjacentElement(\"beforeend\", divElem);\n const dim = { width: divElem.clientWidth, height: divElem.clientHeight };\n divElem.remove();\n return dim;\n};\nconst renderKatex = async (text2, config2) => {\n if (!hasKatex(text2)) {\n return text2;\n }\n if (!isMathMLSupported() && !config2.legacyMathML) {\n return text2.replace(katexRegex, \"MathML is unsupported in this environment.\");\n }\n const { default: katex } = await import(\"./katex-79a689fb.js\");\n return text2.split(lineBreakRegex).map(\n (line2) => hasKatex(line2) ? `\n
\n ${line2}\n
\n ` : `
${line2}
`\n ).join(\"\").replace(\n katexRegex,\n (_2, c) => katex.renderToString(c, {\n throwOnError: true,\n displayMode: true,\n output: isMathMLSupported() ? \"mathml\" : \"htmlAndMathml\"\n }).replace(/\\n/g, \" \").replace(//g, \"\")\n );\n};\nconst common$1 = {\n getRows,\n sanitizeText: sanitizeText$2,\n sanitizeTextOrArray,\n hasBreaks,\n splitBreaks,\n lineBreakRegex,\n removeScript,\n getUrl,\n evaluate,\n getMax,\n getMin\n};\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 > 0.03928 ? Math.pow((n + 0.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 }, channel2) => {\n if (!s)\n return l * 2.55;\n h /= 360;\n s /= 100;\n l /= 100;\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n switch (channel2) {\n case \"r\":\n return Channel.hue2rgb(p, q, h + 1 / 3) * 255;\n case \"g\":\n return Channel.hue2rgb(p, q, h) * 255;\n case \"b\":\n return Channel.hue2rgb(p, q, h - 1 / 3) * 255;\n }\n },\n rgb2hsl: ({ r, g, b }, channel2) => {\n r /= 255;\n g /= 255;\n b /= 255;\n const max2 = Math.max(r, g, b);\n const min2 = Math.min(r, g, b);\n const l = (max2 + min2) / 2;\n if (channel2 === \"l\")\n return l * 100;\n if (max2 === min2)\n return 0;\n const d = max2 - min2;\n const s = l > 0.5 ? d / (2 - max2 - min2) : d / (max2 + min2);\n if (channel2 === \"s\")\n return s * 100;\n switch (max2) {\n case r:\n return ((g - b) / d + (g < b ? 6 : 0)) * 60;\n case g:\n return ((b - r) / d + 2) * 60;\n case b:\n return ((r - g) / d + 4) * 60;\n default:\n return -1;\n }\n }\n};\nconst channel = Channel;\nconst Lang = {\n /* API */\n clamp: (number, lower2, upper) => {\n if (lower2 > upper)\n return Math.min(lower2, Math.max(upper, number));\n return Math.min(upper, Math.max(lower2, number));\n },\n round: (number) => {\n return Math.round(number * 1e10) / 1e10;\n }\n};\nconst lang = Lang;\nconst Unit = {\n /* API */\n dec2hex: (dec) => {\n const hex2 = Math.round(dec).toString(16);\n return hex2.length > 1 ? hex2 : `0${hex2}`;\n }\n};\nconst unit = Unit;\nconst Utils = {\n channel,\n lang,\n unit\n};\nconst _ = Utils;\nconst DEC2HEX = {};\nfor (let i = 0; i <= 255; i++)\n DEC2HEX[i] = _.unit.dec2hex(i);\nconst TYPE = {\n ALL: 0,\n RGB: 1,\n HSL: 2\n};\nclass Type {\n constructor() {\n this.type = TYPE.ALL;\n }\n /* API */\n get() {\n return this.type;\n }\n set(type2) {\n if (this.type && this.type !== type2)\n throw new Error(\"Cannot change both RGB and HSL channels at the same time\");\n this.type = type2;\n }\n reset() {\n this.type = TYPE.ALL;\n }\n is(type2) {\n return this.type === type2;\n }\n}\nconst Type$2 = Type;\nclass Channels {\n /* CONSTRUCTOR */\n constructor(data, color2) {\n this.color = color2;\n this.changed = false;\n this.data = data;\n this.type = new Type$2();\n }\n /* API */\n set(data, color2) {\n this.color = color2;\n this.changed = false;\n this.data = data;\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 === void 0)\n data.h = _.channel.rgb2hsl(data, \"h\");\n if (s === void 0)\n data.s = _.channel.rgb2hsl(data, \"s\");\n if (l === void 0)\n data.l = _.channel.rgb2hsl(data, \"l\");\n }\n _ensureRGB() {\n const data = this.data;\n const { r, g, b } = data;\n if (r === void 0)\n data.r = _.channel.hsl2rgb(data, \"r\");\n if (g === void 0)\n data.g = _.channel.hsl2rgb(data, \"g\");\n if (b === void 0)\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 !== void 0)\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 !== void 0)\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 !== void 0)\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 !== void 0)\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 !== void 0)\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 !== void 0)\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}\nconst Channels$1 = Channels;\nconst channels = new Channels$1({ r: 0, g: 0, b: 0, a: 0 }, \"transparent\");\nconst ChannelsReusable = channels;\nconst Hex = {\n /* VARIABLES */\n re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,\n /* API */\n parse: (color2) => {\n if (color2.charCodeAt(0) !== 35)\n return;\n const match = color2.match(Hex.re);\n if (!match)\n return;\n const hex2 = match[1];\n const dec = parseInt(hex2, 16);\n const length2 = hex2.length;\n const hasAlpha = length2 % 4 === 0;\n const isFullLength = length2 > 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 }, color2);\n },\n stringify: (channels2) => {\n const { r, g, b, a } = channels2;\n if (a < 1) {\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}${DEC2HEX[Math.round(a * 255)]}`;\n } else {\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}`;\n }\n }\n};\nconst Hex$1 = Hex;\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: (hue2) => {\n const match = hue2.match(HSL.hueRe);\n if (match) {\n const [, number, unit2] = match;\n switch (unit2) {\n case \"grad\":\n return _.channel.clamp.h(parseFloat(number) * 0.9);\n case \"rad\":\n return _.channel.clamp.h(parseFloat(number) * 180 / Math.PI);\n case \"turn\":\n return _.channel.clamp.h(parseFloat(number) * 360);\n }\n }\n return _.channel.clamp.h(parseFloat(hue2));\n },\n /* API */\n parse: (color2) => {\n const charCode = color2.charCodeAt(0);\n if (charCode !== 104 && charCode !== 72)\n return;\n const match = color2.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 }, color2);\n },\n stringify: (channels2) => {\n const { h, s, l, a } = channels2;\n if (a < 1) {\n return `hsla(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%, ${a})`;\n } else {\n return `hsl(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%)`;\n }\n }\n};\nconst HSL$1 = HSL;\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: (color2) => {\n color2 = color2.toLowerCase();\n const hex2 = Keyword.colors[color2];\n if (!hex2)\n return;\n return Hex$1.parse(hex2);\n },\n stringify: (channels2) => {\n const hex2 = Hex$1.stringify(channels2);\n for (const name in Keyword.colors) {\n if (Keyword.colors[name] === hex2)\n return name;\n }\n return;\n }\n};\nconst Keyword$1 = Keyword;\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: (color2) => {\n const charCode = color2.charCodeAt(0);\n if (charCode !== 114 && charCode !== 82)\n return;\n const match = color2.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 }, color2);\n },\n stringify: (channels2) => {\n const { r, g, b, a } = channels2;\n if (a < 1) {\n return `rgba(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)}, ${_.lang.round(a)})`;\n } else {\n return `rgb(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)})`;\n }\n }\n};\nconst RGB$1 = RGB;\nconst Color = {\n /* VARIABLES */\n format: {\n keyword: Keyword$1,\n hex: Hex$1,\n rgb: RGB$1,\n rgba: RGB$1,\n hsl: HSL$1,\n hsla: HSL$1\n },\n /* API */\n parse: (color2) => {\n if (typeof color2 !== \"string\")\n return color2;\n const channels2 = Hex$1.parse(color2) || RGB$1.parse(color2) || HSL$1.parse(color2) || Keyword$1.parse(color2);\n if (channels2)\n return channels2;\n throw new Error(`Unsupported color format: \"${color2}\"`);\n },\n stringify: (channels2) => {\n if (!channels2.changed && channels2.color)\n return channels2.color;\n if (channels2.type.is(TYPE.HSL) || channels2.data.r === void 0) {\n return HSL$1.stringify(channels2);\n } else if (channels2.a < 1 || !Number.isInteger(channels2.r) || !Number.isInteger(channels2.g) || !Number.isInteger(channels2.b)) {\n return RGB$1.stringify(channels2);\n } else {\n return Hex$1.stringify(channels2);\n }\n }\n};\nconst Color$1 = Color;\nconst change = (color2, channels2) => {\n const ch = Color$1.parse(color2);\n for (const c in channels2) {\n ch[c] = _.channel.clamp[c](channels2[c]);\n }\n return Color$1.stringify(ch);\n};\nconst change$1 = change;\nconst rgba = (r, g, b = 0, a = 1) => {\n if (typeof r !== \"number\")\n return change$1(r, { a: g });\n const channels2 = 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$1.stringify(channels2);\n};\nconst rgba$1 = rgba;\nconst luminance = (color2) => {\n const { r, g, b } = Color$1.parse(color2);\n const luminance2 = 0.2126 * _.channel.toLinear(r) + 0.7152 * _.channel.toLinear(g) + 0.0722 * _.channel.toLinear(b);\n return _.lang.round(luminance2);\n};\nconst luminance$1 = luminance;\nconst isLight = (color2) => {\n return luminance$1(color2) >= 0.5;\n};\nconst isLight$1 = isLight;\nconst isDark = (color2) => {\n return !isLight$1(color2);\n};\nconst isDark$1 = isDark;\nconst adjustChannel = (color2, channel2, amount) => {\n const channels2 = Color$1.parse(color2);\n const amountCurrent = channels2[channel2];\n const amountNext = _.channel.clamp[channel2](amountCurrent + amount);\n if (amountCurrent !== amountNext)\n channels2[channel2] = amountNext;\n return Color$1.stringify(channels2);\n};\nconst adjustChannel$1 = adjustChannel;\nconst lighten = (color2, amount) => {\n return adjustChannel$1(color2, \"l\", amount);\n};\nconst lighten$1 = lighten;\nconst darken = (color2, amount) => {\n return adjustChannel$1(color2, \"l\", -amount);\n};\nconst darken$1 = darken;\nconst adjust = (color2, channels2) => {\n const ch = Color$1.parse(color2);\n const changes = {};\n for (const c in channels2) {\n if (!channels2[c])\n continue;\n changes[c] = ch[c] + channels2[c];\n }\n return change$1(color2, changes);\n};\nconst adjust$1 = adjust;\nconst mix = (color1, color2, weight = 50) => {\n const { r: r1, g: g1, b: b1, a: a1 } = Color$1.parse(color1);\n const { r: r2, g: g2, b: b2, a: a2 } = Color$1.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$1(r, g, b, a);\n};\nconst mix$1 = mix;\nconst invert = (color2, weight = 100) => {\n const inverse = Color$1.parse(color2);\n inverse.r = 255 - inverse.r;\n inverse.g = 255 - inverse.g;\n inverse.b = 255 - inverse.b;\n return mix$1(inverse, color2, weight);\n};\nconst invert$1 = invert;\nconst mkBorder = (col, darkMode) => darkMode ? adjust$1(col, { s: -40, l: 10 }) : adjust$1(col, { s: -40, l: -10 });\nconst oldAttributeBackgroundColorOdd = \"#ffffff\";\nconst oldAttributeBackgroundColorEven = \"#f2f2f2\";\nlet Theme$4 = class Theme {\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 var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust$1(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust$1(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$1(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert$1(this.tertiaryColor);\n this.lineColor = this.lineColor || invert$1(this.background);\n this.arrowheadColor = this.arrowheadColor || invert$1(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$1(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 || \"grey\";\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$1(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert$1(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$1(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.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 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 || adjust$1(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust$1(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust$1(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust$1(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust$1(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust$1(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust$1(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust$1(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust$1(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken$1(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken$1(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$1(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$1(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken$1(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] || adjust$1(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust$1(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 || adjust$1(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust$1(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust$1(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust$1(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust$1(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust$1(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 || adjust$1(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust$1(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust$1(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust$1(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust$1(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust$1(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust$1(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust$1(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust$1(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.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust$1(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust$1(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust$1(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust$1(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust$1(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust$1(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark$1(this.quadrant1Fill) ? lighten$1(this.quadrant1Fill) : darken$1(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: ((_a = this.xyChart) == null ? void 0 : _a.backgroundColor) || this.background,\n titleColor: ((_b = this.xyChart) == null ? void 0 : _b.titleColor) || this.primaryTextColor,\n xAxisTitleColor: ((_c = this.xyChart) == null ? void 0 : _c.xAxisTitleColor) || this.primaryTextColor,\n xAxisLabelColor: ((_d = this.xyChart) == null ? void 0 : _d.xAxisLabelColor) || this.primaryTextColor,\n xAxisTickColor: ((_e = this.xyChart) == null ? void 0 : _e.xAxisTickColor) || this.primaryTextColor,\n xAxisLineColor: ((_f = this.xyChart) == null ? void 0 : _f.xAxisLineColor) || this.primaryTextColor,\n yAxisTitleColor: ((_g = this.xyChart) == null ? void 0 : _g.yAxisTitleColor) || this.primaryTextColor,\n yAxisLabelColor: ((_h = this.xyChart) == null ? void 0 : _h.yAxisLabelColor) || this.primaryTextColor,\n yAxisTickColor: ((_i = this.xyChart) == null ? void 0 : _i.yAxisTickColor) || this.primaryTextColor,\n yAxisLineColor: ((_j = this.xyChart) == null ? void 0 : _j.yAxisLineColor) || this.primaryTextColor,\n plotColorPalette: ((_k = this.xyChart) == null ? void 0 : _k.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$1(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 || adjust$1(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust$1(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust$1(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust$1(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust$1(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten$1(this.git0, 25);\n this.git1 = lighten$1(this.git1, 25);\n this.git2 = lighten$1(this.git2, 25);\n this.git3 = lighten$1(this.git3, 25);\n this.git4 = lighten$1(this.git4, 25);\n this.git5 = lighten$1(this.git5, 25);\n this.git6 = lighten$1(this.git6, 25);\n this.git7 = lighten$1(this.git7, 25);\n } else {\n this.git0 = darken$1(this.git0, 25);\n this.git1 = darken$1(this.git1, 25);\n this.git2 = darken$1(this.git2, 25);\n this.git3 = darken$1(this.git3, 25);\n this.git4 = darken$1(this.git4, 25);\n this.git5 = darken$1(this.git5, 25);\n this.git6 = darken$1(this.git6, 25);\n this.git7 = darken$1(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert$1(this.git0);\n this.gitInv1 = this.gitInv1 || invert$1(this.git1);\n this.gitInv2 = this.gitInv2 || invert$1(this.git2);\n this.gitInv3 = this.gitInv3 || invert$1(this.git3);\n this.gitInv4 = this.gitInv4 || invert$1(this.git4);\n this.gitInv5 = this.gitInv5 || invert$1(this.git5);\n this.gitInv6 = this.gitInv6 || invert$1(this.git6);\n this.gitInv7 = this.gitInv7 || invert$1(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};\nconst getThemeVariables$4 = (userOverrides) => {\n const theme2 = new Theme$4();\n theme2.calculate(userOverrides);\n return theme2;\n};\nlet Theme$3 = class Theme2 {\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten$1(this.primaryColor, 16);\n this.tertiaryColor = adjust$1(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert$1(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert$1(this.primaryColor);\n this.secondaryTextColor = invert$1(this.secondaryColor);\n this.tertiaryTextColor = invert$1(this.tertiaryColor);\n this.lineColor = invert$1(this.background);\n this.textColor = invert$1(this.background);\n this.mainBkg = \"#1f2020\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten$1(invert$1(\"#323D47\"), 10);\n this.lineColor = \"calculated\";\n this.border1 = \"#81B1DB\";\n this.border2 = rgba$1(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 = darken$1(\"#EAE8D9\", 30);\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"#EAE8D9\";\n this.excludeBkgColor = darken$1(this.sectionBkgColor, 10);\n this.taskBorderColor = rgba$1(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$1(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.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.labelColor = \"calculated\";\n this.errorBkgColor = \"#a44141\";\n this.errorTextColor = \"#ddd\";\n }\n updateColors() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n this.secondBkg = lighten$1(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 = lighten$1(this.labelBackground, 25);\n this.actorBorder = this.border1;\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.mainContrastColor;\n this.actorLineColor = this.mainContrastColor;\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 = lighten$1(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 = this.darkTextColor;\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 = adjust$1(this.primaryColor, { h: 64 });\n this.fillType3 = adjust$1(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust$1(this.primaryColor, { h: -64 });\n this.fillType5 = adjust$1(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust$1(this.primaryColor, { h: 128 });\n this.fillType7 = adjust$1(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 || adjust$1(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust$1(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust$1(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust$1(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust$1(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust$1(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust$1(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust$1(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust$1(this.primaryColor, { h: 330 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert$1(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten$1(this[\"cScale\" + i], 10);\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust$1(this.mainBkg, { h: 30, s: -30, l: -(-10 + i * 4) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust$1(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.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.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust$1(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust$1(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust$1(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust$1(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust$1(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust$1(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark$1(this.quadrant1Fill) ? lighten$1(this.quadrant1Fill) : darken$1(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: ((_a = this.xyChart) == null ? void 0 : _a.backgroundColor) || this.background,\n titleColor: ((_b = this.xyChart) == null ? void 0 : _b.titleColor) || this.primaryTextColor,\n xAxisTitleColor: ((_c = this.xyChart) == null ? void 0 : _c.xAxisTitleColor) || this.primaryTextColor,\n xAxisLabelColor: ((_d = this.xyChart) == null ? void 0 : _d.xAxisLabelColor) || this.primaryTextColor,\n xAxisTickColor: ((_e = this.xyChart) == null ? void 0 : _e.xAxisTickColor) || this.primaryTextColor,\n xAxisLineColor: ((_f = this.xyChart) == null ? void 0 : _f.xAxisLineColor) || this.primaryTextColor,\n yAxisTitleColor: ((_g = this.xyChart) == null ? void 0 : _g.yAxisTitleColor) || this.primaryTextColor,\n yAxisLabelColor: ((_h = this.xyChart) == null ? void 0 : _h.yAxisLabelColor) || this.primaryTextColor,\n yAxisTickColor: ((_i = this.xyChart) == null ? void 0 : _i.yAxisTickColor) || this.primaryTextColor,\n yAxisLineColor: ((_j = this.xyChart) == null ? void 0 : _j.yAxisLineColor) || this.primaryTextColor,\n plotColorPalette: ((_k = this.xyChart) == null ? void 0 : _k.plotColorPalette) || \"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22\"\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 ? darken$1(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = lighten$1(this.secondaryColor, 20);\n this.git1 = lighten$1(this.pie2 || this.secondaryColor, 20);\n this.git2 = lighten$1(this.pie3 || this.tertiaryColor, 20);\n this.git3 = lighten$1(this.pie4 || adjust$1(this.primaryColor, { h: -30 }), 20);\n this.git4 = lighten$1(this.pie5 || adjust$1(this.primaryColor, { h: -60 }), 20);\n this.git5 = lighten$1(this.pie6 || adjust$1(this.primaryColor, { h: -90 }), 10);\n this.git6 = lighten$1(this.pie7 || adjust$1(this.primaryColor, { h: 60 }), 10);\n this.git7 = lighten$1(this.pie8 || adjust$1(this.primaryColor, { h: 120 }), 20);\n this.gitInv0 = this.gitInv0 || invert$1(this.git0);\n this.gitInv1 = this.gitInv1 || invert$1(this.git1);\n this.gitInv2 = this.gitInv2 || invert$1(this.git2);\n this.gitInv3 = this.gitInv3 || invert$1(this.git3);\n this.gitInv4 = this.gitInv4 || invert$1(this.git4);\n this.gitInv5 = this.gitInv5 || invert$1(this.git5);\n this.gitInv6 = this.gitInv6 || invert$1(this.git6);\n this.gitInv7 = this.gitInv7 || invert$1(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert$1(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert$1(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 || lighten$1(this.background, 12);\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || lighten$1(this.background, 2);\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};\nconst getThemeVariables$3 = (userOverrides) => {\n const theme2 = new Theme$3();\n theme2.calculate(userOverrides);\n return theme2;\n};\nlet Theme$2 = class Theme3 {\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#ECECFF\";\n this.secondaryColor = adjust$1(this.primaryColor, { h: 120 });\n this.secondaryColor = \"#ffffde\";\n this.tertiaryColor = adjust$1(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 = invert$1(this.primaryColor);\n this.secondaryTextColor = invert$1(this.secondaryColor);\n this.tertiaryTextColor = invert$1(this.tertiaryColor);\n this.lineColor = invert$1(this.background);\n this.textColor = invert$1(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 = \"#e8e8e8\";\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 = \"grey\";\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.sectionBkgColor = rgba$1(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.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.updateColors();\n }\n updateColors() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\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 || adjust$1(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust$1(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust$1(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust$1(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust$1(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust$1(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust$1(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust$1(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust$1(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken$1(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken$1(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken$1(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken$1(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust$1(this[\"cScale\" + i], { h: 180 });\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust$1(this.mainBkg, { h: 30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust$1(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 || invert$1(this.labelTextColor);\n this.cScaleLabel3 = this.cScaleLabel3 || invert$1(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 = lighten$1(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.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\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 = adjust$1(this.primaryColor, { h: 64 });\n this.fillType3 = adjust$1(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust$1(this.primaryColor, { h: -64 });\n this.fillType5 = adjust$1(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust$1(this.primaryColor, { h: 128 });\n this.fillType7 = adjust$1(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || adjust$1(this.tertiaryColor, { l: -40 });\n this.pie4 = this.pie4 || adjust$1(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust$1(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust$1(this.tertiaryColor, { l: -20 });\n this.pie7 = this.pie7 || adjust$1(this.primaryColor, { h: 60, l: -20 });\n this.pie8 = this.pie8 || adjust$1(this.primaryColor, { h: -60, l: -40 });\n this.pie9 = this.pie9 || adjust$1(this.primaryColor, { h: 120, l: -40 });\n this.pie10 = this.pie10 || adjust$1(this.primaryColor, { h: 60, l: -40 });\n this.pie11 = this.pie11 || adjust$1(this.primaryColor, { h: -90, l: -40 });\n this.pie12 = this.pie12 || adjust$1(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.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust$1(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust$1(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust$1(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust$1(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust$1(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust$1(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark$1(this.quadrant1Fill) ? lighten$1(this.quadrant1Fill) : darken$1(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: ((_a = this.xyChart) == null ? void 0 : _a.backgroundColor) || this.background,\n titleColor: ((_b = this.xyChart) == null ? void 0 : _b.titleColor) || this.primaryTextColor,\n xAxisTitleColor: ((_c = this.xyChart) == null ? void 0 : _c.xAxisTitleColor) || this.primaryTextColor,\n xAxisLabelColor: ((_d = this.xyChart) == null ? void 0 : _d.xAxisLabelColor) || this.primaryTextColor,\n xAxisTickColor: ((_e = this.xyChart) == null ? void 0 : _e.xAxisTickColor) || this.primaryTextColor,\n xAxisLineColor: ((_f = this.xyChart) == null ? void 0 : _f.xAxisLineColor) || this.primaryTextColor,\n yAxisTitleColor: ((_g = this.xyChart) == null ? void 0 : _g.yAxisTitleColor) || this.primaryTextColor,\n yAxisLabelColor: ((_h = this.xyChart) == null ? void 0 : _h.yAxisLabelColor) || this.primaryTextColor,\n yAxisTickColor: ((_i = this.xyChart) == null ? void 0 : _i.yAxisTickColor) || this.primaryTextColor,\n yAxisLineColor: ((_j = this.xyChart) == null ? void 0 : _j.yAxisLineColor) || this.primaryTextColor,\n plotColorPalette: ((_k = this.xyChart) == null ? void 0 : _k.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 || adjust$1(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust$1(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust$1(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust$1(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust$1(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten$1(this.git0, 25);\n this.git1 = lighten$1(this.git1, 25);\n this.git2 = lighten$1(this.git2, 25);\n this.git3 = lighten$1(this.git3, 25);\n this.git4 = lighten$1(this.git4, 25);\n this.git5 = lighten$1(this.git5, 25);\n this.git6 = lighten$1(this.git6, 25);\n this.git7 = lighten$1(this.git7, 25);\n } else {\n this.git0 = darken$1(this.git0, 25);\n this.git1 = darken$1(this.git1, 25);\n this.git2 = darken$1(this.git2, 25);\n this.git3 = darken$1(this.git3, 25);\n this.git4 = darken$1(this.git4, 25);\n this.git5 = darken$1(this.git5, 25);\n this.git6 = darken$1(this.git6, 25);\n this.git7 = darken$1(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || darken$1(invert$1(this.git0), 25);\n this.gitInv1 = this.gitInv1 || invert$1(this.git1);\n this.gitInv2 = this.gitInv2 || invert$1(this.git2);\n this.gitInv3 = this.gitInv3 || invert$1(this.git3);\n this.gitInv4 = this.gitInv4 || invert$1(this.git4);\n this.gitInv5 = this.gitInv5 || invert$1(this.git5);\n this.gitInv6 = this.gitInv6 || invert$1(this.git6);\n this.gitInv7 = this.gitInv7 || invert$1(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert$1(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert$1(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};\nconst getThemeVariables$2 = (userOverrides) => {\n const theme2 = new Theme$2();\n theme2.calculate(userOverrides);\n return theme2;\n};\nlet Theme$1 = class Theme4 {\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 = lighten$1(\"#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 = invert$1(this.primaryColor);\n this.secondaryTextColor = invert$1(this.secondaryColor);\n this.tertiaryTextColor = invert$1(this.primaryColor);\n this.lineColor = invert$1(this.background);\n this.textColor = invert$1(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 = \"grey\";\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.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n this.actorBorder = darken$1(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.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust$1(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust$1(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust$1(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust$1(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust$1(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust$1(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust$1(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust$1(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust$1(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken$1(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken$1(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken$1(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken$1(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust$1(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] || adjust$1(this.mainBkg, { h: 30, s: -30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust$1(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.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 = adjust$1(this.primaryColor, { h: 64 });\n this.fillType3 = adjust$1(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust$1(this.primaryColor, { h: -64 });\n this.fillType5 = adjust$1(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust$1(this.primaryColor, { h: 128 });\n this.fillType7 = adjust$1(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 || adjust$1(this.primaryColor, { l: -30 });\n this.pie5 = this.pie5 || adjust$1(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust$1(this.tertiaryColor, { h: 40, l: -40 });\n this.pie7 = this.pie7 || adjust$1(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust$1(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust$1(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust$1(this.primaryColor, { h: 60, l: -50 });\n this.pie11 = this.pie11 || adjust$1(this.primaryColor, { h: -60, l: -50 });\n this.pie12 = this.pie12 || adjust$1(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.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust$1(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust$1(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust$1(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust$1(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust$1(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust$1(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark$1(this.quadrant1Fill) ? lighten$1(this.quadrant1Fill) : darken$1(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: ((_a = this.xyChart) == null ? void 0 : _a.backgroundColor) || this.background,\n titleColor: ((_b = this.xyChart) == null ? void 0 : _b.titleColor) || this.primaryTextColor,\n xAxisTitleColor: ((_c = this.xyChart) == null ? void 0 : _c.xAxisTitleColor) || this.primaryTextColor,\n xAxisLabelColor: ((_d = this.xyChart) == null ? void 0 : _d.xAxisLabelColor) || this.primaryTextColor,\n xAxisTickColor: ((_e = this.xyChart) == null ? void 0 : _e.xAxisTickColor) || this.primaryTextColor,\n xAxisLineColor: ((_f = this.xyChart) == null ? void 0 : _f.xAxisLineColor) || this.primaryTextColor,\n yAxisTitleColor: ((_g = this.xyChart) == null ? void 0 : _g.yAxisTitleColor) || this.primaryTextColor,\n yAxisLabelColor: ((_h = this.xyChart) == null ? void 0 : _h.yAxisLabelColor) || this.primaryTextColor,\n yAxisTickColor: ((_i = this.xyChart) == null ? void 0 : _i.yAxisTickColor) || this.primaryTextColor,\n yAxisLineColor: ((_j = this.xyChart) == null ? void 0 : _j.yAxisLineColor) || this.primaryTextColor,\n plotColorPalette: ((_k = this.xyChart) == null ? void 0 : _k.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 || adjust$1(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust$1(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust$1(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust$1(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust$1(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten$1(this.git0, 25);\n this.git1 = lighten$1(this.git1, 25);\n this.git2 = lighten$1(this.git2, 25);\n this.git3 = lighten$1(this.git3, 25);\n this.git4 = lighten$1(this.git4, 25);\n this.git5 = lighten$1(this.git5, 25);\n this.git6 = lighten$1(this.git6, 25);\n this.git7 = lighten$1(this.git7, 25);\n } else {\n this.git0 = darken$1(this.git0, 25);\n this.git1 = darken$1(this.git1, 25);\n this.git2 = darken$1(this.git2, 25);\n this.git3 = darken$1(this.git3, 25);\n this.git4 = darken$1(this.git4, 25);\n this.git5 = darken$1(this.git5, 25);\n this.git6 = darken$1(this.git6, 25);\n this.git7 = darken$1(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert$1(this.git0);\n this.gitInv1 = this.gitInv1 || invert$1(this.git1);\n this.gitInv2 = this.gitInv2 || invert$1(this.git2);\n this.gitInv3 = this.gitInv3 || invert$1(this.git3);\n this.gitInv4 = this.gitInv4 || invert$1(this.git4);\n this.gitInv5 = this.gitInv5 || invert$1(this.git5);\n this.gitInv6 = this.gitInv6 || invert$1(this.git6);\n this.gitInv7 = this.gitInv7 || invert$1(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert$1(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert$1(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};\nconst getThemeVariables$1 = (userOverrides) => {\n const theme2 = new Theme$1();\n theme2.calculate(userOverrides);\n return theme2;\n};\nclass Theme5 {\n constructor() {\n this.primaryColor = \"#eee\";\n this.contrast = \"#707070\";\n this.secondaryColor = lighten$1(this.contrast, 55);\n this.background = \"#ffffff\";\n this.tertiaryColor = adjust$1(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 = invert$1(this.primaryColor);\n this.secondaryTextColor = invert$1(this.secondaryColor);\n this.tertiaryTextColor = invert$1(this.tertiaryColor);\n this.lineColor = invert$1(this.background);\n this.textColor = invert$1(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 = \"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 = \"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.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;\n this.secondBkg = lighten$1(this.contrast, 55);\n this.border2 = this.contrast;\n this.actorBorder = lighten$1(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.text;\n this.actorLineColor = this.lineColor;\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] || invert$1(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$1(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken$1(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] || adjust$1(this.mainBkg, { l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust$1(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 = lighten$1(this.contrast, 30);\n this.sectionBkgColor2 = lighten$1(this.contrast, 30);\n this.taskBorderColor = darken$1(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 = lighten$1(this.border1, 30);\n this.doneTaskBkgColor = this.done;\n this.doneTaskBorderColor = this.lineColor;\n this.critBkgColor = this.critical;\n this.critBorderColor = darken$1(this.critBkgColor, 10);\n this.todayLineColor = this.critBkgColor;\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 = adjust$1(this.primaryColor, { h: 64 });\n this.fillType3 = adjust$1(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust$1(this.primaryColor, { h: -64 });\n this.fillType5 = adjust$1(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust$1(this.primaryColor, { h: 128 });\n this.fillType7 = adjust$1(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 this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust$1(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust$1(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust$1(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust$1(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust$1(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust$1(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark$1(this.quadrant1Fill) ? lighten$1(this.quadrant1Fill) : darken$1(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: ((_a = this.xyChart) == null ? void 0 : _a.backgroundColor) || this.background,\n titleColor: ((_b = this.xyChart) == null ? void 0 : _b.titleColor) || this.primaryTextColor,\n xAxisTitleColor: ((_c = this.xyChart) == null ? void 0 : _c.xAxisTitleColor) || this.primaryTextColor,\n xAxisLabelColor: ((_d = this.xyChart) == null ? void 0 : _d.xAxisLabelColor) || this.primaryTextColor,\n xAxisTickColor: ((_e = this.xyChart) == null ? void 0 : _e.xAxisTickColor) || this.primaryTextColor,\n xAxisLineColor: ((_f = this.xyChart) == null ? void 0 : _f.xAxisLineColor) || this.primaryTextColor,\n yAxisTitleColor: ((_g = this.xyChart) == null ? void 0 : _g.yAxisTitleColor) || this.primaryTextColor,\n yAxisLabelColor: ((_h = this.xyChart) == null ? void 0 : _h.yAxisLabelColor) || this.primaryTextColor,\n yAxisTickColor: ((_i = this.xyChart) == null ? void 0 : _i.yAxisTickColor) || this.primaryTextColor,\n yAxisLineColor: ((_j = this.xyChart) == null ? void 0 : _j.yAxisLineColor) || this.primaryTextColor,\n plotColorPalette: ((_k = this.xyChart) == null ? void 0 : _k.plotColorPalette) || \"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0\"\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 = darken$1(this.pie1, 25) || this.primaryColor;\n this.git1 = this.pie2 || this.secondaryColor;\n this.git2 = this.pie3 || this.tertiaryColor;\n this.git3 = this.pie4 || adjust$1(this.primaryColor, { h: -30 });\n this.git4 = this.pie5 || adjust$1(this.primaryColor, { h: -60 });\n this.git5 = this.pie6 || adjust$1(this.primaryColor, { h: -90 });\n this.git6 = this.pie7 || adjust$1(this.primaryColor, { h: 60 });\n this.git7 = this.pie8 || adjust$1(this.primaryColor, { h: 120 });\n this.gitInv0 = this.gitInv0 || invert$1(this.git0);\n this.gitInv1 = this.gitInv1 || invert$1(this.git1);\n this.gitInv2 = this.gitInv2 || invert$1(this.git2);\n this.gitInv3 = this.gitInv3 || invert$1(this.git3);\n this.gitInv4 = this.gitInv4 || invert$1(this.git4);\n this.gitInv5 = this.gitInv5 || invert$1(this.git5);\n this.gitInv6 = this.gitInv6 || invert$1(this.git6);\n this.gitInv7 = this.gitInv7 || invert$1(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}\nconst getThemeVariables = (userOverrides) => {\n const theme2 = new Theme5();\n theme2.calculate(userOverrides);\n return theme2;\n};\nconst theme = {\n base: {\n getThemeVariables: getThemeVariables$4\n },\n dark: {\n getThemeVariables: getThemeVariables$3\n },\n default: {\n getThemeVariables: getThemeVariables$2\n },\n forest: {\n getThemeVariables: getThemeVariables$1\n },\n neutral: {\n getThemeVariables\n }\n};\nconst defaultConfigJson = {\n \"flowchart\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"subGraphTitleMargin\": {\n \"top\": 0,\n \"bottom\": 0\n },\n \"diagramPadding\": 8,\n \"htmlLabels\": true,\n \"nodeSpacing\": 50,\n \"rankSpacing\": 50,\n \"curve\": \"basis\",\n \"padding\": 15,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"wrappingWidth\": 200\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 \"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 },\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 },\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 \"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 \"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 },\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 \"theme\": \"default\",\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 \"maxEdges\"\n ],\n \"legacyMathML\": false,\n \"deterministicIds\": false,\n \"fontSize\": 16\n};\nconst config = {\n ...defaultConfigJson,\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 themeCSS: void 0,\n // add non-JSON default config values\n themeVariables: theme[\"default\"].getThemeVariables(),\n sequence: {\n ...defaultConfigJson.sequence,\n messageFont: function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n },\n noteFont: function() {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight\n };\n },\n actorFont: function() {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight\n };\n }\n },\n gantt: {\n ...defaultConfigJson.gantt,\n tickInterval: void 0,\n useWidth: void 0\n // can probably be removed since `configKeys` already includes this\n },\n c4: {\n ...defaultConfigJson.c4,\n useWidth: void 0,\n personFont: function() {\n return {\n fontFamily: this.personFontFamily,\n fontSize: this.personFontSize,\n fontWeight: this.personFontWeight\n };\n },\n external_personFont: function() {\n return {\n fontFamily: this.external_personFontFamily,\n fontSize: this.external_personFontSize,\n fontWeight: this.external_personFontWeight\n };\n },\n systemFont: function() {\n return {\n fontFamily: this.systemFontFamily,\n fontSize: this.systemFontSize,\n fontWeight: this.systemFontWeight\n };\n },\n external_systemFont: function() {\n return {\n fontFamily: this.external_systemFontFamily,\n fontSize: this.external_systemFontSize,\n fontWeight: this.external_systemFontWeight\n };\n },\n system_dbFont: function() {\n return {\n fontFamily: this.system_dbFontFamily,\n fontSize: this.system_dbFontSize,\n fontWeight: this.system_dbFontWeight\n };\n },\n external_system_dbFont: function() {\n return {\n fontFamily: this.external_system_dbFontFamily,\n fontSize: this.external_system_dbFontSize,\n fontWeight: this.external_system_dbFontWeight\n };\n },\n system_queueFont: function() {\n return {\n fontFamily: this.system_queueFontFamily,\n fontSize: this.system_queueFontSize,\n fontWeight: this.system_queueFontWeight\n };\n },\n external_system_queueFont: function() {\n return {\n fontFamily: this.external_system_queueFontFamily,\n fontSize: this.external_system_queueFontSize,\n fontWeight: this.external_system_queueFontWeight\n };\n },\n containerFont: function() {\n return {\n fontFamily: this.containerFontFamily,\n fontSize: this.containerFontSize,\n fontWeight: this.containerFontWeight\n };\n },\n external_containerFont: function() {\n return {\n fontFamily: this.external_containerFontFamily,\n fontSize: this.external_containerFontSize,\n fontWeight: this.external_containerFontWeight\n };\n },\n container_dbFont: function() {\n return {\n fontFamily: this.container_dbFontFamily,\n fontSize: this.container_dbFontSize,\n fontWeight: this.container_dbFontWeight\n };\n },\n external_container_dbFont: function() {\n return {\n fontFamily: this.external_container_dbFontFamily,\n fontSize: this.external_container_dbFontSize,\n fontWeight: this.external_container_dbFontWeight\n };\n },\n container_queueFont: function() {\n return {\n fontFamily: this.container_queueFontFamily,\n fontSize: this.container_queueFontSize,\n fontWeight: this.container_queueFontWeight\n };\n },\n external_container_queueFont: function() {\n return {\n fontFamily: this.external_container_queueFontFamily,\n fontSize: this.external_container_queueFontSize,\n fontWeight: this.external_container_queueFontWeight\n };\n },\n componentFont: function() {\n return {\n fontFamily: this.componentFontFamily,\n fontSize: this.componentFontSize,\n fontWeight: this.componentFontWeight\n };\n },\n external_componentFont: function() {\n return {\n fontFamily: this.external_componentFontFamily,\n fontSize: this.external_componentFontSize,\n fontWeight: this.external_componentFontWeight\n };\n },\n component_dbFont: function() {\n return {\n fontFamily: this.component_dbFontFamily,\n fontSize: this.component_dbFontSize,\n fontWeight: this.component_dbFontWeight\n };\n },\n external_component_dbFont: function() {\n return {\n fontFamily: this.external_component_dbFontFamily,\n fontSize: this.external_component_dbFontSize,\n fontWeight: this.external_component_dbFontWeight\n };\n },\n component_queueFont: function() {\n return {\n fontFamily: this.component_queueFontFamily,\n fontSize: this.component_queueFontSize,\n fontWeight: this.component_queueFontWeight\n };\n },\n external_component_queueFont: function() {\n return {\n fontFamily: this.external_component_queueFontFamily,\n fontSize: this.external_component_queueFontSize,\n fontWeight: this.external_component_queueFontWeight\n };\n },\n boundaryFont: function() {\n return {\n fontFamily: this.boundaryFontFamily,\n fontSize: this.boundaryFontSize,\n fontWeight: this.boundaryFontWeight\n };\n },\n messageFont: function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }\n },\n pie: {\n ...defaultConfigJson.pie,\n useWidth: 984\n },\n xyChart: {\n ...defaultConfigJson.xyChart,\n useWidth: void 0\n },\n requirement: {\n ...defaultConfigJson.requirement,\n useWidth: void 0\n },\n gitGraph: {\n ...defaultConfigJson.gitGraph,\n // TODO: This is a temporary override for `gitGraph`, since every other\n // diagram does have `useMaxWidth`, but instead sets it to `true`.\n // Should we set this to `true` instead?\n useMaxWidth: false\n },\n sankey: {\n ...defaultConfigJson.sankey,\n // this is false, unlike every other diagram (other than gitGraph)\n // TODO: can we make this default to `true` instead?\n useMaxWidth: false\n }\n};\nconst keyify = (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}, []);\nconst configKeys = new Set(keyify(config, \"\"));\nconst defaultConfig$2 = config;\nconst sanitizeDirective = (args) => {\n log$1.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$1.debug(\"Checking key\", key);\n if (key.startsWith(\"__\") || key.includes(\"proto\") || key.includes(\"constr\") || !configKeys.has(key) || args[key] == null) {\n log$1.debug(\"sanitize deleting key: \", key);\n delete args[key];\n continue;\n }\n if (typeof args[key] === \"object\") {\n log$1.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$1.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 == null ? void 0 : val.match) && !val.match(/^[\\d \"#%(),.;A-Za-z]+$/)) {\n args.themeVariables[k] = \"\";\n }\n }\n }\n log$1.debug(\"After sanitization\", args);\n};\nconst sanitizeCss = (str2) => {\n let startCnt = 0;\n let endCnt = 0;\n for (const element of str2) {\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 str2;\n};\nconst frontMatterRegex = /^-{3}\\s*[\\n\\r](.*?)[\\n\\r]-{3}\\s*[\\n\\r]+/s;\nconst directiveRegex = /%{2}{\\s*(?:(\\w+)\\s*:|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nconst anyCommentRegex = /\\s*%%.*\\n/gm;\nclass UnknownDiagramError extends Error {\n constructor(message) {\n super(message);\n this.name = \"UnknownDiagramError\";\n }\n}\nconst detectors = {};\nconst detectType = function(text2, config2) {\n text2 = text2.replace(frontMatterRegex, \"\").replace(directiveRegex, \"\").replace(anyCommentRegex, \"\\n\");\n for (const [key, { detector: detector2 }] of Object.entries(detectors)) {\n const diagram2 = detector2(text2, config2);\n if (diagram2) {\n return key;\n }\n }\n throw new UnknownDiagramError(\n `No diagram type detected matching given configuration for text: ${text2}`\n );\n};\nconst registerLazyLoadedDiagrams = (...diagrams2) => {\n for (const { id: id2, detector: detector2, loader: loader2 } of diagrams2) {\n addDetector(id2, detector2, loader2);\n }\n};\nconst addDetector = (key, detector2, loader2) => {\n if (detectors[key]) {\n log$1.error(`Detector with key ${key} already exists`);\n } else {\n detectors[key] = { detector: detector2, loader: loader2 };\n }\n log$1.debug(`Detector with key ${key} added${loader2 ? \" with loader\" : \"\"}`);\n};\nconst getDiagramLoader = (key) => {\n return detectors[key].loader;\n};\nconst assignWithDepth = (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\" && (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};\nconst assignWithDepth$1 = assignWithDepth;\nvar freeGlobal = typeof global == \"object\" && global && global.Object === Object && global;\nconst freeGlobal$1 = freeGlobal;\nvar freeSelf = typeof self == \"object\" && self && self.Object === Object && self;\nvar root = freeGlobal$1 || freeSelf || Function(\"return this\")();\nconst root$1 = root;\nvar Symbol$1 = root$1.Symbol;\nconst Symbol$2 = Symbol$1;\nvar objectProto$c = Object.prototype;\nvar hasOwnProperty$a = objectProto$c.hasOwnProperty;\nvar nativeObjectToString$1 = objectProto$c.toString;\nvar symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0;\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), tag = value[symToStringTag$1];\n try {\n value[symToStringTag$1] = void 0;\n var unmasked = true;\n } catch (e) {\n }\n var result = nativeObjectToString$1.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag$1] = tag;\n } else {\n delete value[symToStringTag$1];\n }\n }\n return result;\n}\nvar objectProto$b = Object.prototype;\nvar nativeObjectToString = objectProto$b.toString;\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\nvar nullTag = \"[object Null]\", undefinedTag = \"[object Undefined]\";\nvar symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0;\nfunction baseGetTag(value) {\n if (value == null) {\n return value === void 0 ? undefinedTag : nullTag;\n }\n return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n}\nfunction isObject$1(value) {\n var type2 = typeof value;\n return value != null && (type2 == \"object\" || type2 == \"function\");\n}\nvar asyncTag = \"[object AsyncFunction]\", funcTag$1 = \"[object Function]\", genTag = \"[object GeneratorFunction]\", proxyTag = \"[object Proxy]\";\nfunction isFunction(value) {\n if (!isObject$1(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == funcTag$1 || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\nvar coreJsData = root$1[\"__core-js_shared__\"];\nconst coreJsData$1 = coreJsData;\nvar maskSrcKey = function() {\n var uid = /[^.]+$/.exec(coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO || \"\");\n return uid ? \"Symbol(src)_1.\" + uid : \"\";\n}();\nfunction isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\n}\nvar funcProto$2 = Function.prototype;\nvar funcToString$2 = funcProto$2.toString;\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString$2.call(func);\n } catch (e) {\n }\n try {\n return func + \"\";\n } catch (e) {\n }\n }\n return \"\";\n}\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\nvar funcProto$1 = Function.prototype, objectProto$a = Object.prototype;\nvar funcToString$1 = funcProto$1.toString;\nvar hasOwnProperty$9 = objectProto$a.hasOwnProperty;\nvar reIsNative = RegExp(\n \"^\" + funcToString$1.call(hasOwnProperty$9).replace(reRegExpChar, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n);\nfunction baseIsNative(value) {\n if (!isObject$1(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\nfunction getValue(object, key) {\n return object == null ? void 0 : object[key];\n}\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : void 0;\n}\nvar nativeCreate = getNative(Object, \"create\");\nconst nativeCreate$1 = nativeCreate;\nfunction hashClear() {\n this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {};\n this.size = 0;\n}\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\nvar HASH_UNDEFINED$1 = \"__lodash_hash_undefined__\";\nvar objectProto$9 = Object.prototype;\nvar hasOwnProperty$8 = objectProto$9.hasOwnProperty;\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate$1) {\n var result = data[key];\n return result === HASH_UNDEFINED$1 ? void 0 : result;\n }\n return hasOwnProperty$8.call(data, key) ? data[key] : void 0;\n}\nvar objectProto$8 = Object.prototype;\nvar hasOwnProperty$7 = objectProto$8.hasOwnProperty;\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate$1 ? data[key] !== void 0 : hasOwnProperty$7.call(data, key);\n}\nvar HASH_UNDEFINED = \"__lodash_hash_undefined__\";\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = nativeCreate$1 && value === void 0 ? HASH_UNDEFINED : value;\n return this;\n}\nfunction Hash(entries2) {\n var index = -1, length2 = entries2 == null ? 0 : entries2.length;\n this.clear();\n while (++index < length2) {\n var entry = entries2[index];\n this.set(entry[0], entry[1]);\n }\n}\nHash.prototype.clear = hashClear;\nHash.prototype[\"delete\"] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\n}\nfunction assocIndexOf(array2, key) {\n var length2 = array2.length;\n while (length2--) {\n if (eq(array2[length2][0], key)) {\n return length2;\n }\n }\n return -1;\n}\nvar arrayProto = Array.prototype;\nvar splice = arrayProto.splice;\nfunction listCacheDelete(key) {\n var data = this.__data__, index = assocIndexOf(data, key);\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\nfunction listCacheGet(key) {\n var data = this.__data__, index = assocIndexOf(data, key);\n return index < 0 ? void 0 : data[index][1];\n}\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\nfunction listCacheSet(key, value) {\n var data = this.__data__, index = assocIndexOf(data, key);\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\nfunction ListCache(entries2) {\n var index = -1, length2 = entries2 == null ? 0 : entries2.length;\n this.clear();\n while (++index < length2) {\n var entry = entries2[index];\n this.set(entry[0], entry[1]);\n }\n}\nListCache.prototype.clear = listCacheClear;\nListCache.prototype[\"delete\"] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\nvar Map$1 = getNative(root$1, \"Map\");\nconst Map$2 = Map$1;\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n \"hash\": new Hash(),\n \"map\": new (Map$2 || ListCache)(),\n \"string\": new Hash()\n };\n}\nfunction isKeyable(value) {\n var type2 = typeof value;\n return type2 == \"string\" || type2 == \"number\" || type2 == \"symbol\" || type2 == \"boolean\" ? value !== \"__proto__\" : value === null;\n}\nfunction getMapData(map2, key) {\n var data = map2.__data__;\n return isKeyable(key) ? data[typeof key == \"string\" ? \"string\" : \"hash\"] : data.map;\n}\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)[\"delete\"](key);\n this.size -= result ? 1 : 0;\n return result;\n}\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key), size = data.size;\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\nfunction MapCache(entries2) {\n var index = -1, length2 = entries2 == null ? 0 : entries2.length;\n this.clear();\n while (++index < length2) {\n var entry = entries2[index];\n this.set(entry[0], entry[1]);\n }\n}\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype[\"delete\"] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\nvar FUNC_ERROR_TEXT = \"Expected a function\";\nfunction memoize(func, resolver) {\n if (typeof func != \"function\" || resolver != null && typeof resolver != \"function\") {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache)();\n return memoized;\n}\nmemoize.Cache = MapCache;\nfunction stackClear() {\n this.__data__ = new ListCache();\n this.size = 0;\n}\nfunction stackDelete(key) {\n var data = this.__data__, result = data[\"delete\"](key);\n this.size = data.size;\n return result;\n}\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\nvar LARGE_ARRAY_SIZE = 200;\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs2 = data.__data__;\n if (!Map$2 || pairs2.length < LARGE_ARRAY_SIZE - 1) {\n pairs2.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs2);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\nfunction Stack(entries2) {\n var data = this.__data__ = new ListCache(entries2);\n this.size = data.size;\n}\nStack.prototype.clear = stackClear;\nStack.prototype[\"delete\"] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\nvar defineProperty = function() {\n try {\n var func = getNative(Object, \"defineProperty\");\n func({}, \"\", {});\n return func;\n } catch (e) {\n }\n}();\nconst defineProperty$1 = defineProperty;\nfunction baseAssignValue(object, key, value) {\n if (key == \"__proto__\" && defineProperty$1) {\n defineProperty$1(object, key, {\n \"configurable\": true,\n \"enumerable\": true,\n \"value\": value,\n \"writable\": true\n });\n } else {\n object[key] = value;\n }\n}\nfunction assignMergeValue(object, key, value) {\n if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1, iterable = Object(object), props = keysFunc(object), length2 = props.length;\n while (length2--) {\n var key = props[fromRight ? length2 : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\nvar baseFor = createBaseFor();\nconst baseFor$1 = baseFor;\nvar freeExports$2 = typeof exports == \"object\" && exports && !exports.nodeType && exports;\nvar freeModule$2 = freeExports$2 && typeof module == \"object\" && module && !module.nodeType && module;\nvar moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2;\nvar Buffer$1 = moduleExports$2 ? root$1.Buffer : void 0, allocUnsafe = Buffer$1 ? Buffer$1.allocUnsafe : void 0;\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length2 = buffer.length, result = allocUnsafe ? allocUnsafe(length2) : new buffer.constructor(length2);\n buffer.copy(result);\n return result;\n}\nvar Uint8Array$1 = root$1.Uint8Array;\nconst Uint8Array$2 = Uint8Array$1;\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer));\n return result;\n}\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\nfunction copyArray(source, array2) {\n var index = -1, length2 = source.length;\n array2 || (array2 = Array(length2));\n while (++index < length2) {\n array2[index] = source[index];\n }\n return array2;\n}\nvar objectCreate = Object.create;\nvar baseCreate = function() {\n function object() {\n }\n return function(proto) {\n if (!isObject$1(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object();\n object.prototype = void 0;\n return result;\n };\n}();\nconst baseCreate$1 = baseCreate;\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\nconst getPrototype$1 = getPrototype;\nvar objectProto$7 = Object.prototype;\nfunction isPrototype(value) {\n var Ctor = value && value.constructor, proto = typeof Ctor == \"function\" && Ctor.prototype || objectProto$7;\n return value === proto;\n}\nfunction initCloneObject(object) {\n return typeof object.constructor == \"function\" && !isPrototype(object) ? baseCreate$1(getPrototype$1(object)) : {};\n}\nfunction isObjectLike(value) {\n return value != null && typeof value == \"object\";\n}\nvar argsTag$1 = \"[object Arguments]\";\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag$1;\n}\nvar objectProto$6 = Object.prototype;\nvar hasOwnProperty$6 = objectProto$6.hasOwnProperty;\nvar propertyIsEnumerable = objectProto$6.propertyIsEnumerable;\nvar isArguments = baseIsArguments(function() {\n return arguments;\n}()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty$6.call(value, \"callee\") && !propertyIsEnumerable.call(value, \"callee\");\n};\nconst isArguments$1 = isArguments;\nvar isArray = Array.isArray;\nconst isArray$1 = isArray;\nvar MAX_SAFE_INTEGER$1 = 9007199254740991;\nfunction isLength(value) {\n return typeof value == \"number\" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;\n}\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\nfunction stubFalse() {\n return false;\n}\nvar freeExports$1 = typeof exports == \"object\" && exports && !exports.nodeType && exports;\nvar freeModule$1 = freeExports$1 && typeof module == \"object\" && module && !module.nodeType && module;\nvar moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;\nvar Buffer = moduleExports$1 ? root$1.Buffer : void 0;\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;\nvar isBuffer = nativeIsBuffer || stubFalse;\nconst isBuffer$1 = isBuffer;\nvar objectTag$2 = \"[object Object]\";\nvar funcProto = Function.prototype, objectProto$5 = Object.prototype;\nvar funcToString = funcProto.toString;\nvar hasOwnProperty$5 = objectProto$5.hasOwnProperty;\nvar objectCtorString = funcToString.call(Object);\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag$2) {\n return false;\n }\n var proto = getPrototype$1(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty$5.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor == \"function\" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;\n}\nvar argsTag = \"[object Arguments]\", arrayTag = \"[object Array]\", boolTag = \"[object Boolean]\", dateTag = \"[object Date]\", errorTag = \"[object Error]\", funcTag = \"[object Function]\", mapTag$2 = \"[object Map]\", numberTag = \"[object Number]\", objectTag$1 = \"[object Object]\", regexpTag = \"[object RegExp]\", setTag$2 = \"[object Set]\", stringTag = \"[object String]\", weakMapTag$1 = \"[object WeakMap]\";\nvar arrayBufferTag = \"[object ArrayBuffer]\", dataViewTag$1 = \"[object DataView]\", float32Tag = \"[object Float32Array]\", float64Tag = \"[object Float64Array]\", int8Tag = \"[object Int8Array]\", int16Tag = \"[object Int16Array]\", int32Tag = \"[object Int32Array]\", uint8Tag = \"[object Uint8Array]\", uint8ClampedTag = \"[object Uint8ClampedArray]\", uint16Tag = \"[object Uint16Array]\", uint32Tag = \"[object Uint32Array]\";\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag$2] = typedArrayTags[numberTag] = typedArrayTags[objectTag$1] = typedArrayTags[regexpTag] = typedArrayTags[setTag$2] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag$1] = false;\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\nvar freeExports = typeof exports == \"object\" && exports && !exports.nodeType && exports;\nvar freeModule = freeExports && typeof module == \"object\" && module && !module.nodeType && module;\nvar moduleExports = freeModule && freeModule.exports === freeExports;\nvar freeProcess = moduleExports && freeGlobal$1.process;\nvar nodeUtil = function() {\n try {\n var types = freeModule && freeModule.require && freeModule.require(\"util\").types;\n if (types) {\n return types;\n }\n return freeProcess && freeProcess.binding && freeProcess.binding(\"util\");\n } catch (e) {\n }\n}();\nconst nodeUtil$1 = nodeUtil;\nvar nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray;\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\nconst isTypedArray$1 = isTypedArray;\nfunction safeGet(object, key) {\n if (key === \"constructor\" && typeof object[key] === \"function\") {\n return;\n }\n if (key == \"__proto__\") {\n return;\n }\n return object[key];\n}\nvar objectProto$4 = Object.prototype;\nvar hasOwnProperty$4 = objectProto$4.hasOwnProperty;\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty$4.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {\n baseAssignValue(object, key, value);\n }\n}\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n var index = -1, length2 = props.length;\n while (++index < length2) {\n var key = props[index];\n var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;\n if (newValue === void 0) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\nfunction baseTimes(n, iteratee) {\n var index = -1, result = Array(n);\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\nvar MAX_SAFE_INTEGER = 9007199254740991;\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\nfunction isIndex(value, length2) {\n var type2 = typeof value;\n length2 = length2 == null ? MAX_SAFE_INTEGER : length2;\n return !!length2 && (type2 == \"number\" || type2 != \"symbol\" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length2);\n}\nvar objectProto$3 = Object.prototype;\nvar hasOwnProperty$3 = objectProto$3.hasOwnProperty;\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray$1(value), isArg = !isArr && isArguments$1(value), isBuff = !isArr && !isArg && isBuffer$1(value), isType = !isArr && !isArg && !isBuff && isTypedArray$1(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length2 = result.length;\n for (var key in value) {\n if ((inherited || hasOwnProperty$3.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.\n (key == \"length\" || // Node.js 0.10 has enumerable non-index properties on buffers.\n isBuff && (key == \"offset\" || key == \"parent\") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n isType && (key == \"buffer\" || key == \"byteLength\" || key == \"byteOffset\") || // Skip index properties.\n isIndex(key, length2)))) {\n result.push(key);\n }\n }\n return result;\n}\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\nvar objectProto$2 = Object.prototype;\nvar hasOwnProperty$2 = objectProto$2.hasOwnProperty;\nfunction baseKeysIn(object) {\n if (!isObject$1(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object), result = [];\n for (var key in object) {\n if (!(key == \"constructor\" && (isProto || !hasOwnProperty$2.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer ? customizer(objValue, srcValue, key + \"\", object, source, stack) : void 0;\n var isCommon = newValue === void 0;\n if (isCommon) {\n var isArr = isArray$1(srcValue), isBuff = !isArr && isBuffer$1(srcValue), isTyped = !isArr && !isBuff && isTypedArray$1(srcValue);\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray$1(objValue)) {\n newValue = objValue;\n } else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n } else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n } else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n } else {\n newValue = [];\n }\n } else if (isPlainObject(srcValue) || isArguments$1(srcValue)) {\n newValue = objValue;\n if (isArguments$1(objValue)) {\n newValue = toPlainObject(objValue);\n } else if (!isObject$1(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n } else {\n isCommon = false;\n }\n }\n if (isCommon) {\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack[\"delete\"](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor$1(source, function(srcValue, key) {\n stack || (stack = new Stack());\n if (isObject$1(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n } else {\n var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + \"\", object, source, stack) : void 0;\n if (newValue === void 0) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\nfunction identity(value) {\n return value;\n}\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0:\n return func.call(thisArg);\n case 1:\n return func.call(thisArg, args[0]);\n case 2:\n return func.call(thisArg, args[0], args[1]);\n case 3:\n return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\nvar nativeMax = Math.max;\nfunction overRest(func, start2, transform) {\n start2 = nativeMax(start2 === void 0 ? func.length - 1 : start2, 0);\n return function() {\n var args = arguments, index = -1, length2 = nativeMax(args.length - start2, 0), array2 = Array(length2);\n while (++index < length2) {\n array2[index] = args[start2 + index];\n }\n index = -1;\n var otherArgs = Array(start2 + 1);\n while (++index < start2) {\n otherArgs[index] = args[index];\n }\n otherArgs[start2] = transform(array2);\n return apply(func, this, otherArgs);\n };\n}\nfunction constant(value) {\n return function() {\n return value;\n };\n}\nvar baseSetToString = !defineProperty$1 ? identity : function(func, string) {\n return defineProperty$1(func, \"toString\", {\n \"configurable\": true,\n \"enumerable\": false,\n \"value\": constant(string),\n \"writable\": true\n });\n};\nconst baseSetToString$1 = baseSetToString;\nvar HOT_COUNT = 800, HOT_SPAN = 16;\nvar nativeNow = Date.now;\nfunction shortOut(func) {\n var count = 0, lastCalled = 0;\n return function() {\n var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(void 0, arguments);\n };\n}\nvar setToString = shortOut(baseSetToString$1);\nconst setToString$1 = setToString;\nfunction baseRest(func, start2) {\n return setToString$1(overRest(func, start2, identity), func + \"\");\n}\nfunction isIterateeCall(value, index, object) {\n if (!isObject$1(object)) {\n return false;\n }\n var type2 = typeof index;\n if (type2 == \"number\" ? isArrayLike(object) && isIndex(index, object.length) : type2 == \"string\" && index in object) {\n return eq(object[index], value);\n }\n return false;\n}\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1, length2 = sources.length, customizer = length2 > 1 ? sources[length2 - 1] : void 0, guard = length2 > 2 ? sources[2] : void 0;\n customizer = assigner.length > 3 && typeof customizer == \"function\" ? (length2--, customizer) : void 0;\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length2 < 3 ? void 0 : customizer;\n length2 = 1;\n }\n object = Object(object);\n while (++index < length2) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\nvar merge$1 = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\nconst merge$2 = merge$1;\nconst ZERO_WIDTH_SPACE = \"​\";\nconst d3CurveTypes = {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX: bumpX,\n curveBumpY: bumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX: monotoneX,\n curveMonotoneY: monotoneY,\n curveNatural,\n curveStep,\n curveStepAfter: stepAfter,\n curveStepBefore: stepBefore\n};\nconst directiveWithoutOpen = /\\s*(?:(\\w+)(?=:):|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nconst detectInit = function(text2, config2) {\n const inits = detectDirective(text2, /(?:init\\b)|(?:initialize\\b)/);\n let results = {};\n if (Array.isArray(inits)) {\n const args = inits.map((init2) => init2.args);\n sanitizeDirective(args);\n results = assignWithDepth$1(results, [...args]);\n } else {\n results = inits.args;\n }\n if (!results) {\n return;\n }\n let type2 = detectType(text2, config2);\n const prop = \"config\";\n if (results[prop] !== void 0) {\n if (type2 === \"flowchart-v2\") {\n type2 = \"flowchart\";\n }\n results[type2] = results[prop];\n delete results[prop];\n }\n return results;\n};\nconst detectDirective = function(text2, type2 = null) {\n try {\n const commentWithoutDirectives = new RegExp(\n `[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*\n`,\n \"ig\"\n );\n text2 = text2.trim().replace(commentWithoutDirectives, \"\").replace(/'/gm, '\"');\n log$1.debug(\n `Detecting diagram directive${type2 !== null ? \" type:\" + type2 : \"\"} based on the text:${text2}`\n );\n let match;\n const result = [];\n while ((match = directiveRegex.exec(text2)) !== null) {\n if (match.index === directiveRegex.lastIndex) {\n directiveRegex.lastIndex++;\n }\n if (match && !type2 || type2 && match[1] && match[1].match(type2) || type2 && match[2] && match[2].match(type2)) {\n const type22 = match[1] ? match[1] : match[2];\n const args = match[3] ? match[3].trim() : match[4] ? JSON.parse(match[4].trim()) : null;\n result.push({ type: type22, args });\n }\n }\n if (result.length === 0) {\n return { type: text2, args: null };\n }\n return result.length === 1 ? result[0] : result;\n } catch (error) {\n log$1.error(\n `ERROR: ${error.message} - Unable to parse directive type: '${type2}' based on the text: '${text2}'`\n );\n return { type: void 0, args: null };\n }\n};\nconst removeDirectives = function(text2) {\n return text2.replace(directiveRegex, \"\");\n};\nconst isSubstringInArray = function(str2, arr) {\n for (const [i, element] of arr.entries()) {\n if (element.match(str2)) {\n return i;\n }\n }\n return -1;\n};\nfunction interpolateToCurve(interpolate2, defaultCurve) {\n if (!interpolate2) {\n return defaultCurve;\n }\n const curveName = `curve${interpolate2.charAt(0).toUpperCase() + interpolate2.slice(1)}`;\n return d3CurveTypes[curveName] ?? defaultCurve;\n}\nfunction formatUrl(linkStr, config2) {\n const url = linkStr.trim();\n if (!url) {\n return void 0;\n }\n if (config2.securityLevel !== \"loose\") {\n return dist.sanitizeUrl(url);\n }\n return url;\n}\nconst runFunc = (functionName, ...params) => {\n const arrPaths = functionName.split(\".\");\n const len = arrPaths.length - 1;\n const fnName = arrPaths[len];\n let obj = window;\n for (let i = 0; i < len; i++) {\n obj = obj[arrPaths[i]];\n if (!obj) {\n log$1.error(`Function name: ${functionName} not found in window`);\n return;\n }\n }\n obj[fnName](...params);\n};\nfunction distance(p1, p2) {\n if (!p1 || !p2) {\n return 0;\n }\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\nfunction traverseEdge(points) {\n let prevPoint;\n let totalDistance = 0;\n points.forEach((point2) => {\n totalDistance += distance(point2, prevPoint);\n prevPoint = point2;\n });\n const remainingDistance = totalDistance / 2;\n return calculatePoint(points, remainingDistance);\n}\nfunction calcLabelPosition(points) {\n if (points.length === 1) {\n return points[0];\n }\n return traverseEdge(points);\n}\nconst roundNumber = (num, precision = 2) => {\n const factor = Math.pow(10, precision);\n return Math.round(num * factor) / factor;\n};\nconst calculatePoint = (points, distanceToTraverse) => {\n let prevPoint = void 0;\n let remainingDistance = distanceToTraverse;\n for (const point2 of points) {\n if (prevPoint) {\n const vectorDistance = distance(point2, prevPoint);\n if (vectorDistance < remainingDistance) {\n remainingDistance -= vectorDistance;\n } else {\n const distanceRatio = remainingDistance / vectorDistance;\n if (distanceRatio <= 0) {\n return prevPoint;\n }\n if (distanceRatio >= 1) {\n return { x: point2.x, y: point2.y };\n }\n if (distanceRatio > 0 && distanceRatio < 1) {\n return {\n x: roundNumber((1 - distanceRatio) * prevPoint.x + distanceRatio * point2.x, 5),\n y: roundNumber((1 - distanceRatio) * prevPoint.y + distanceRatio * point2.y, 5)\n };\n }\n }\n }\n prevPoint = point2;\n }\n throw new Error(\"Could not find a suitable point for the given distance\");\n};\nconst calcCardinalityPosition = (isRelationTypePresent, points, initialPosition) => {\n log$1.info(`our points ${JSON.stringify(points)}`);\n if (points[0] !== initialPosition) {\n points = points.reverse();\n }\n const distanceToCardinalityPoint = 25;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = isRelationTypePresent ? 10 : 5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n return cardinalityPosition;\n};\nfunction calcTerminalLabelPosition(terminalMarkerSize, position2, _points) {\n const points = structuredClone(_points);\n log$1.info(\"our points\", points);\n if (position2 !== \"start_left\" && position2 !== \"start_right\") {\n points.reverse();\n }\n const distanceToCardinalityPoint = 25 + terminalMarkerSize;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = 10 + terminalMarkerSize * 0.5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n if (position2 === \"start_left\") {\n cardinalityPosition.x = Math.sin(angle + Math.PI) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle + Math.PI) * d + (points[0].y + center.y) / 2;\n } else if (position2 === \"end_right\") {\n cardinalityPosition.x = Math.sin(angle - Math.PI) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle - Math.PI) * d + (points[0].y + center.y) / 2 - 5;\n } else if (position2 === \"end_left\") {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2 - 5;\n } else {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n }\n return cardinalityPosition;\n}\nfunction getStylesFromArray(arr) {\n let style = \"\";\n let labelStyle = \"\";\n for (const element of arr) {\n if (element !== void 0) {\n if (element.startsWith(\"color:\") || element.startsWith(\"text-align:\")) {\n labelStyle = labelStyle + element + \";\";\n } else {\n style = style + element + \";\";\n }\n }\n }\n return { style, labelStyle };\n}\nlet cnt = 0;\nconst generateId = () => {\n cnt++;\n return \"id-\" + Math.random().toString(36).substr(2, 12) + \"-\" + cnt;\n};\nfunction makeRandomHex(length2) {\n let result = \"\";\n const characters2 = \"0123456789abcdef\";\n const charactersLength = characters2.length;\n for (let i = 0; i < length2; i++) {\n result += characters2.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\nconst random = (options) => {\n return makeRandomHex(options.length);\n};\nconst getTextObj = function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n anchor: \"start\",\n style: \"#666\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0,\n valign: void 0,\n text: \"\"\n };\n};\nconst drawSimpleText = function(elem, textData) {\n const nText = textData.text.replace(common$1.lineBreakRegex, \" \");\n const [, _fontSizePx] = parseFontSize(textData.fontSize);\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.style(\"text-anchor\", textData.anchor);\n textElem.style(\"font-family\", textData.fontFamily);\n textElem.style(\"font-size\", _fontSizePx);\n textElem.style(\"font-weight\", textData.fontWeight);\n textElem.attr(\"fill\", textData.fill);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.attr(\"fill\", textData.fill);\n span.text(nText);\n return textElem;\n};\nconst wrapLabel = memoize(\n (label, maxWidth, config2) => {\n if (!label) {\n return label;\n }\n config2 = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", joinWith: \"
\" },\n config2\n );\n if (common$1.lineBreakRegex.test(label)) {\n return label;\n }\n const words = label.split(\" \");\n const completedLines = [];\n let nextLine = \"\";\n words.forEach((word, index) => {\n const wordLength = calculateTextWidth(`${word} `, config2);\n const nextLineLength = calculateTextWidth(nextLine, config2);\n if (wordLength > maxWidth) {\n const { hyphenatedStrings, remainingWord } = breakString(word, maxWidth, \"-\", config2);\n completedLines.push(nextLine, ...hyphenatedStrings);\n nextLine = remainingWord;\n } else if (nextLineLength + wordLength >= maxWidth) {\n completedLines.push(nextLine);\n nextLine = word;\n } else {\n nextLine = [nextLine, word].filter(Boolean).join(\" \");\n }\n const currentWord = index + 1;\n const isLastWord = currentWord === words.length;\n if (isLastWord) {\n completedLines.push(nextLine);\n }\n });\n return completedLines.filter((line2) => line2 !== \"\").join(config2.joinWith);\n },\n (label, maxWidth, config2) => `${label}${maxWidth}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}${config2.joinWith}`\n);\nconst breakString = memoize(\n (word, maxWidth, hyphenCharacter = \"-\", config2) => {\n config2 = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", margin: 0 },\n config2\n );\n const characters2 = [...word];\n const lines = [];\n let currentLine = \"\";\n characters2.forEach((character2, index) => {\n const nextLine = `${currentLine}${character2}`;\n const lineWidth = calculateTextWidth(nextLine, config2);\n if (lineWidth >= maxWidth) {\n const currentCharacter = index + 1;\n const isLastLine = characters2.length === currentCharacter;\n const hyphenatedNextLine = `${nextLine}${hyphenCharacter}`;\n lines.push(isLastLine ? nextLine : hyphenatedNextLine);\n currentLine = \"\";\n } else {\n currentLine = nextLine;\n }\n });\n return { hyphenatedStrings: lines, remainingWord: currentLine };\n },\n (word, maxWidth, hyphenCharacter = \"-\", config2) => `${word}${maxWidth}${hyphenCharacter}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}`\n);\nfunction calculateTextHeight(text2, config2) {\n return calculateTextDimensions(text2, config2).height;\n}\nfunction calculateTextWidth(text2, config2) {\n return calculateTextDimensions(text2, config2).width;\n}\nconst calculateTextDimensions = memoize(\n (text2, config2) => {\n const { fontSize = 12, fontFamily = \"Arial\", fontWeight = 400 } = config2;\n if (!text2) {\n return { width: 0, height: 0 };\n }\n const [, _fontSizePx] = parseFontSize(fontSize);\n const fontFamilies = [\"sans-serif\", fontFamily];\n const lines = text2.split(common$1.lineBreakRegex);\n const dims = [];\n const body = d3select(\"body\");\n if (!body.remove) {\n return { width: 0, height: 0, lineHeight: 0 };\n }\n const g = body.append(\"svg\");\n for (const fontFamily2 of fontFamilies) {\n let cHeight = 0;\n const dim = { width: 0, height: 0, lineHeight: 0 };\n for (const line2 of lines) {\n const textObj = getTextObj();\n textObj.text = line2 || ZERO_WIDTH_SPACE;\n const textElem = drawSimpleText(g, textObj).style(\"font-size\", _fontSizePx).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily2);\n const bBox = (textElem._groups || textElem)[0][0].getBBox();\n if (bBox.width === 0 && bBox.height === 0) {\n throw new Error(\"svg element not in render tree\");\n }\n dim.width = Math.round(Math.max(dim.width, bBox.width));\n cHeight = Math.round(bBox.height);\n dim.height += cHeight;\n dim.lineHeight = Math.round(Math.max(dim.lineHeight, cHeight));\n }\n dims.push(dim);\n }\n g.remove();\n const index = isNaN(dims[1].height) || isNaN(dims[1].width) || isNaN(dims[1].lineHeight) || dims[0].height > dims[1].height && dims[0].width > dims[1].width && dims[0].lineHeight > dims[1].lineHeight ? 0 : 1;\n return dims[index];\n },\n (text2, config2) => `${text2}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}`\n);\nclass InitIDGenerator {\n constructor(deterministic = false, seed) {\n this.count = 0;\n this.count = seed ? seed.length : 0;\n this.next = deterministic ? () => this.count++ : () => Date.now();\n }\n}\nlet decoder;\nconst entityDecode = function(html2) {\n decoder = decoder || document.createElement(\"div\");\n html2 = escape(html2).replace(/%26/g, \"&\").replace(/%23/g, \"#\").replace(/%3B/g, \";\");\n decoder.innerHTML = html2;\n return unescape(decoder.textContent);\n};\nfunction isDetailedError(error) {\n return \"str\" in error;\n}\nconst insertTitle = (parent, cssClass, titleTopMargin, title) => {\n var _a;\n if (!title) {\n return;\n }\n const bounds = (_a = parent.node()) == null ? void 0 : _a.getBBox();\n if (!bounds) {\n return;\n }\n parent.append(\"text\").text(title).attr(\"x\", bounds.x + bounds.width / 2).attr(\"y\", -titleTopMargin).attr(\"class\", cssClass);\n};\nconst parseFontSize = (fontSize) => {\n if (typeof fontSize === \"number\") {\n return [fontSize, fontSize + \"px\"];\n }\n const fontSizeNumber = parseInt(fontSize ?? \"\", 10);\n if (Number.isNaN(fontSizeNumber)) {\n return [void 0, void 0];\n } else if (fontSize === String(fontSizeNumber)) {\n return [fontSizeNumber, fontSize + \"px\"];\n } else {\n return [fontSizeNumber, fontSize];\n }\n};\nfunction cleanAndMerge(defaultData, data) {\n return merge$2({}, defaultData, data);\n}\nconst utils = {\n assignWithDepth: assignWithDepth$1,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n cleanAndMerge,\n detectInit,\n detectDirective,\n isSubstringInArray,\n interpolateToCurve,\n calcLabelPosition,\n calcCardinalityPosition,\n calcTerminalLabelPosition,\n formatUrl,\n getStylesFromArray,\n generateId,\n random,\n runFunc,\n entityDecode,\n insertTitle,\n parseFontSize,\n InitIDGenerator\n};\nconst encodeEntities = function(text2) {\n let txt = text2;\n txt = txt.replace(/style.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/classDef.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/#\\w+;/g, function(s) {\n const innerTxt = s.substring(1, s.length - 1);\n const isInt = /^\\+?\\d+$/.test(innerTxt);\n if (isInt) {\n return \"fl°°\" + innerTxt + \"¶ß\";\n } else {\n return \"fl°\" + innerTxt + \"¶ß\";\n }\n });\n return txt;\n};\nconst decodeEntities = function(text2) {\n return text2.replace(/fl°°/g, \"&#\").replace(/fl°/g, \"&\").replace(/¶ß/g, \";\");\n};\nvar COMMENT = \"comm\";\nvar RULESET = \"rule\";\nvar DECLARATION = \"decl\";\nvar IMPORT = \"@import\";\nvar KEYFRAMES = \"@keyframes\";\nvar LAYER = \"@layer\";\nvar abs = Math.abs;\nvar from = String.fromCharCode;\nfunction trim(value) {\n return value.trim();\n}\nfunction replace(value, pattern, replacement) {\n return value.replace(pattern, replacement);\n}\nfunction indexof(value, search, position2) {\n return value.indexOf(search, position2);\n}\nfunction charat(value, index) {\n return value.charCodeAt(index) | 0;\n}\nfunction substr(value, begin, end) {\n return value.slice(begin, end);\n}\nfunction strlen(value) {\n return value.length;\n}\nfunction sizeof(value) {\n return value.length;\n}\nfunction append(value, array2) {\n return array2.push(value), value;\n}\nvar line = 1;\nvar column = 1;\nvar length = 0;\nvar position = 0;\nvar character = 0;\nvar characters = \"\";\nfunction node(value, root2, parent, type2, props, children2, length2, siblings) {\n return { value, root: root2, parent, type: type2, props, children: children2, line, column, length: length2, return: \"\", siblings };\n}\nfunction char() {\n return character;\n}\nfunction prev() {\n character = position > 0 ? charat(characters, --position) : 0;\n if (column--, character === 10)\n column = 1, line--;\n return character;\n}\nfunction next() {\n character = position < length ? charat(characters, position++) : 0;\n if (column++, character === 10)\n column = 1, line++;\n return character;\n}\nfunction peek() {\n return charat(characters, position);\n}\nfunction caret() {\n return position;\n}\nfunction slice(begin, end) {\n return substr(characters, begin, end);\n}\nfunction token(type2) {\n switch (type2) {\n case 0:\n case 9:\n case 10:\n case 13:\n case 32:\n return 5;\n case 33:\n case 43:\n case 44:\n case 47:\n case 62:\n case 64:\n case 126:\n case 59:\n case 123:\n case 125:\n return 4;\n case 58:\n return 3;\n case 34:\n case 39:\n case 40:\n case 91:\n return 2;\n case 41:\n case 93:\n return 1;\n }\n return 0;\n}\nfunction alloc(value) {\n return line = column = 1, length = strlen(characters = value), position = 0, [];\n}\nfunction dealloc(value) {\n return characters = \"\", value;\n}\nfunction delimit(type2) {\n return trim(slice(position - 1, delimiter(type2 === 91 ? type2 + 2 : type2 === 40 ? type2 + 1 : type2)));\n}\nfunction whitespace(type2) {\n while (character = peek())\n if (character < 33)\n next();\n else\n break;\n return token(type2) > 2 || token(character) > 3 ? \"\" : \" \";\n}\nfunction escaping(index, count) {\n while (--count && next())\n if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97)\n break;\n return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32));\n}\nfunction delimiter(type2) {\n while (next())\n switch (character) {\n case type2:\n return position;\n case 34:\n case 39:\n if (type2 !== 34 && type2 !== 39)\n delimiter(character);\n break;\n case 40:\n if (type2 === 41)\n delimiter(type2);\n break;\n case 92:\n next();\n break;\n }\n return position;\n}\nfunction commenter(type2, index) {\n while (next())\n if (type2 + character === 47 + 10)\n break;\n else if (type2 + character === 42 + 42 && peek() === 47)\n break;\n return \"/*\" + slice(index, position - 1) + \"*\" + from(type2 === 47 ? type2 : next());\n}\nfunction identifier(index) {\n while (!token(peek()))\n next();\n return slice(index, position);\n}\nfunction compile(value) {\n return dealloc(parse$2(\"\", null, null, null, [\"\"], value = alloc(value), 0, [0], value));\n}\nfunction parse$2(value, root2, parent, rule, rules, rulesets, pseudo, points, declarations) {\n var index = 0;\n var offset = 0;\n var length2 = pseudo;\n var atrule = 0;\n var property = 0;\n var previous = 0;\n var variable = 1;\n var scanning = 1;\n var ampersand = 1;\n var character2 = 0;\n var type2 = \"\";\n var props = rules;\n var children2 = rulesets;\n var reference = rule;\n var characters2 = type2;\n while (scanning)\n switch (previous = character2, character2 = next()) {\n case 40:\n if (previous != 108 && charat(characters2, length2 - 1) == 58) {\n if (indexof(characters2 += replace(delimit(character2), \"&\", \"&\\f\"), \"&\\f\", abs(index ? points[index - 1] : 0)) != -1)\n ampersand = -1;\n break;\n }\n case 34:\n case 39:\n case 91:\n characters2 += delimit(character2);\n break;\n case 9:\n case 10:\n case 13:\n case 32:\n characters2 += whitespace(previous);\n break;\n case 92:\n characters2 += escaping(caret() - 1, 7);\n continue;\n case 47:\n switch (peek()) {\n case 42:\n case 47:\n append(comment(commenter(next(), caret()), root2, parent, declarations), declarations);\n break;\n default:\n characters2 += \"/\";\n }\n break;\n case 123 * variable:\n points[index++] = strlen(characters2) * ampersand;\n case 125 * variable:\n case 59:\n case 0:\n switch (character2) {\n case 0:\n case 125:\n scanning = 0;\n case 59 + offset:\n if (ampersand == -1)\n characters2 = replace(characters2, /\\f/g, \"\");\n if (property > 0 && strlen(characters2) - length2)\n append(property > 32 ? declaration(characters2 + \";\", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, \" \", \"\") + \";\", rule, parent, length2 - 2, declarations), declarations);\n break;\n case 59:\n characters2 += \";\";\n default:\n append(reference = ruleset(characters2, root2, parent, index, offset, rules, points, type2, props = [], children2 = [], length2, rulesets), rulesets);\n if (character2 === 123)\n if (offset === 0)\n parse$2(characters2, root2, reference, reference, props, rulesets, length2, points, children2);\n else\n switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {\n case 100:\n case 108:\n case 109:\n case 115:\n parse$2(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type2, rules, props = [], length2, children2), children2), rules, children2, length2, points, rule ? props : children2);\n break;\n default:\n parse$2(characters2, reference, reference, reference, [\"\"], children2, 0, points, children2);\n }\n }\n index = offset = property = 0, variable = ampersand = 1, type2 = characters2 = \"\", length2 = pseudo;\n break;\n case 58:\n length2 = 1 + strlen(characters2), property = previous;\n default:\n if (variable < 1) {\n if (character2 == 123)\n --variable;\n else if (character2 == 125 && variable++ == 0 && prev() == 125)\n continue;\n }\n switch (characters2 += from(character2), character2 * variable) {\n case 38:\n ampersand = offset > 0 ? 1 : (characters2 += \"\\f\", -1);\n break;\n case 44:\n points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;\n break;\n case 64:\n if (peek() === 45)\n characters2 += delimit(next());\n atrule = peek(), offset = length2 = strlen(type2 = characters2 += identifier(caret())), character2++;\n break;\n case 45:\n if (previous === 45 && strlen(characters2) == 2)\n variable = 0;\n }\n }\n return rulesets;\n}\nfunction ruleset(value, root2, parent, index, offset, rules, points, type2, props, children2, length2, siblings) {\n var post = offset - 1;\n var rule = offset === 0 ? rules : [\"\"];\n var size = sizeof(rule);\n for (var i = 0, j = 0, k = 0; i < index; ++i)\n for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n if (z = trim(j > 0 ? rule[x] + \" \" + y : replace(y, /&\\f/g, rule[x])))\n props[k++] = z;\n return node(value, root2, parent, offset === 0 ? RULESET : type2, props, children2, length2, siblings);\n}\nfunction comment(value, root2, parent, siblings) {\n return node(value, root2, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings);\n}\nfunction declaration(value, root2, parent, length2, siblings) {\n return node(value, root2, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2, siblings);\n}\nfunction serialize(children2, callback) {\n var output = \"\";\n for (var i = 0; i < children2.length; i++)\n output += callback(children2[i], i, children2, callback) || \"\";\n return output;\n}\nfunction stringify(element, index, children2, callback) {\n switch (element.type) {\n case LAYER:\n if (element.children.length)\n break;\n case IMPORT:\n case DECLARATION:\n return element.return = element.return || element.value;\n case COMMENT:\n return \"\";\n case KEYFRAMES:\n return element.return = element.value + \"{\" + serialize(element.children, callback) + \"}\";\n case RULESET:\n if (!strlen(element.value = element.props.join(\",\")))\n return \"\";\n }\n return strlen(children2 = serialize(element.children, callback)) ? element.return = element.value + \"{\" + children2 + \"}\" : \"\";\n}\nconst version = \"10.9.3\";\nconst defaultConfig$1 = Object.freeze(defaultConfig$2);\nlet siteConfig = assignWithDepth$1({}, defaultConfig$1);\nlet configFromInitialize;\nlet directives = [];\nlet currentConfig = assignWithDepth$1({}, defaultConfig$1);\nconst updateCurrentConfig = (siteCfg, _directives) => {\n let cfg = assignWithDepth$1({}, siteCfg);\n let sumOfDirectives = {};\n for (const d of _directives) {\n sanitize(d);\n sumOfDirectives = assignWithDepth$1(sumOfDirectives, d);\n }\n cfg = assignWithDepth$1(cfg, sumOfDirectives);\n if (sumOfDirectives.theme && sumOfDirectives.theme in theme) {\n const tmpConfigFromInitialize = assignWithDepth$1({}, configFromInitialize);\n const themeVariables = assignWithDepth$1(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n if (cfg.theme && cfg.theme in theme) {\n cfg.themeVariables = theme[cfg.theme].getThemeVariables(themeVariables);\n }\n }\n currentConfig = cfg;\n checkConfig(currentConfig);\n return currentConfig;\n};\nconst setSiteConfig = (conf) => {\n siteConfig = assignWithDepth$1({}, defaultConfig$1);\n siteConfig = assignWithDepth$1(siteConfig, conf);\n if (conf.theme && theme[conf.theme]) {\n siteConfig.themeVariables = theme[conf.theme].getThemeVariables(conf.themeVariables);\n }\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n};\nconst saveConfigFromInitialize = (conf) => {\n configFromInitialize = assignWithDepth$1({}, conf);\n};\nconst updateSiteConfig = (conf) => {\n siteConfig = assignWithDepth$1(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n};\nconst getSiteConfig = () => {\n return assignWithDepth$1({}, siteConfig);\n};\nconst setConfig$1 = (conf) => {\n checkConfig(conf);\n assignWithDepth$1(currentConfig, conf);\n return getConfig$1();\n};\nconst getConfig$1 = () => {\n return assignWithDepth$1({}, currentConfig);\n};\nconst sanitize = (options) => {\n if (!options) {\n return;\n }\n [\"secure\", ...siteConfig.secure ?? []].forEach((key) => {\n if (Object.hasOwn(options, key)) {\n log$1.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};\nconst addDirective = (directive) => {\n sanitizeDirective(directive);\n if (directive.fontFamily && (!directive.themeVariables || !directive.themeVariables.fontFamily)) {\n directive.themeVariables = { fontFamily: directive.fontFamily };\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n};\nconst reset = (config2 = siteConfig) => {\n directives = [];\n updateCurrentConfig(config2, directives);\n};\nconst ConfigWarning = {\n LAZY_LOAD_DEPRECATED: \"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.\"\n};\nconst issuedWarnings = {};\nconst issueWarning = (warning) => {\n if (issuedWarnings[warning]) {\n return;\n }\n log$1.warn(ConfigWarning[warning]);\n issuedWarnings[warning] = true;\n};\nconst checkConfig = (config2) => {\n if (!config2) {\n return;\n }\n if (config2.lazyLoadedDiagrams || config2.loadExternalDiagramsAtStartup) {\n issueWarning(\"LAZY_LOAD_DEPRECATED\");\n }\n};\nconst id$l = \"c4\";\nconst detector$l = (txt) => {\n return /^\\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);\n};\nconst loader$m = async () => {\n const { diagram: diagram2 } = await import(\"./c4Diagram-5e436c10.js\");\n return { id: id$l, diagram: diagram2 };\n};\nconst plugin$j = {\n id: id$l,\n detector: detector$l,\n loader: loader$m\n};\nconst c4 = plugin$j;\nconst id$k = \"flowchart\";\nconst detector$k = (txt, config2) => {\n var _a, _b;\n if (((_a = config2 == null ? void 0 : config2.flowchart) == null ? void 0 : _a.defaultRenderer) === \"dagre-wrapper\" || ((_b = config2 == null ? void 0 : config2.flowchart) == null ? void 0 : _b.defaultRenderer) === \"elk\") {\n return false;\n }\n return /^\\s*graph/.test(txt);\n};\nconst loader$l = async () => {\n const { diagram: diagram2 } = await import(\"./flowDiagram-b36fdd76.js\");\n return { id: id$k, diagram: diagram2 };\n};\nconst plugin$i = {\n id: id$k,\n detector: detector$k,\n loader: loader$l\n};\nconst flowchart = plugin$i;\nconst id$j = \"flowchart-v2\";\nconst detector$j = (txt, config2) => {\n var _a, _b, _c;\n if (((_a = config2 == null ? void 0 : config2.flowchart) == null ? void 0 : _a.defaultRenderer) === \"dagre-d3\" || ((_b = config2 == null ? void 0 : config2.flowchart) == null ? void 0 : _b.defaultRenderer) === \"elk\") {\n return false;\n }\n if (/^\\s*graph/.test(txt) && ((_c = config2 == null ? void 0 : config2.flowchart) == null ? void 0 : _c.defaultRenderer) === \"dagre-wrapper\") {\n return true;\n }\n return /^\\s*flowchart/.test(txt);\n};\nconst loader$k = async () => {\n const { diagram: diagram2 } = await import(\"./flowDiagram-v2-74c8dbcc.js\");\n return { id: id$j, diagram: diagram2 };\n};\nconst plugin$h = {\n id: id$j,\n detector: detector$j,\n loader: loader$k\n};\nconst flowchartV2 = plugin$h;\nconst id$i = \"er\";\nconst detector$i = (txt) => {\n return /^\\s*erDiagram/.test(txt);\n};\nconst loader$j = async () => {\n const { diagram: diagram2 } = await import(\"./erDiagram-59d1cdbd.js\");\n return { id: id$i, diagram: diagram2 };\n};\nconst plugin$g = {\n id: id$i,\n detector: detector$i,\n loader: loader$j\n};\nconst er = plugin$g;\nconst id$h = \"gitGraph\";\nconst detector$h = (txt) => {\n return /^\\s*gitGraph/.test(txt);\n};\nconst loader$i = async () => {\n const { diagram: diagram2 } = await import(\"./gitGraphDiagram-75f65184.js\");\n return { id: id$h, diagram: diagram2 };\n};\nconst plugin$f = {\n id: id$h,\n detector: detector$h,\n loader: loader$i\n};\nconst git = plugin$f;\nconst id$g = \"gantt\";\nconst detector$g = (txt) => {\n return /^\\s*gantt/.test(txt);\n};\nconst loader$h = async () => {\n const { diagram: diagram2 } = await import(\"./ganttDiagram-066785da.js\");\n return { id: id$g, diagram: diagram2 };\n};\nconst plugin$e = {\n id: id$g,\n detector: detector$g,\n loader: loader$h\n};\nconst gantt = plugin$e;\nconst id$f = \"info\";\nconst detector$f = (txt) => {\n return /^\\s*info/.test(txt);\n};\nconst loader$g = async () => {\n const { diagram: diagram2 } = await import(\"./infoDiagram-f5302396.js\");\n return { id: id$f, diagram: diagram2 };\n};\nconst info = {\n id: id$f,\n detector: detector$f,\n loader: loader$g\n};\nconst id$e = \"pie\";\nconst detector$e = (txt) => {\n return /^\\s*pie/.test(txt);\n};\nconst loader$f = async () => {\n const { diagram: diagram2 } = await import(\"./pieDiagram-520b736b.js\");\n return { id: id$e, diagram: diagram2 };\n};\nconst pie = {\n id: id$e,\n detector: detector$e,\n loader: loader$f\n};\nconst id$d = \"quadrantChart\";\nconst detector$d = (txt) => {\n return /^\\s*quadrantChart/.test(txt);\n};\nconst loader$e = async () => {\n const { diagram: diagram2 } = await import(\"./quadrantDiagram-74843a00.js\");\n return { id: id$d, diagram: diagram2 };\n};\nconst plugin$d = {\n id: id$d,\n detector: detector$d,\n loader: loader$e\n};\nconst quadrantChart = plugin$d;\nconst id$c = \"xychart\";\nconst detector$c = (txt) => {\n return /^\\s*xychart-beta/.test(txt);\n};\nconst loader$d = async () => {\n const { diagram: diagram2 } = await import(\"./xychartDiagram-a93c88e9.js\");\n return { id: id$c, diagram: diagram2 };\n};\nconst plugin$c = {\n id: id$c,\n detector: detector$c,\n loader: loader$d\n};\nconst xychart = plugin$c;\nconst id$b = \"requirement\";\nconst detector$b = (txt) => {\n return /^\\s*requirement(Diagram)?/.test(txt);\n};\nconst loader$c = async () => {\n const { diagram: diagram2 } = await import(\"./requirementDiagram-074fa166.js\");\n return { id: id$b, diagram: diagram2 };\n};\nconst plugin$b = {\n id: id$b,\n detector: detector$b,\n loader: loader$c\n};\nconst requirement = plugin$b;\nconst id$a = \"sequence\";\nconst detector$a = (txt) => {\n return /^\\s*sequenceDiagram/.test(txt);\n};\nconst loader$b = async () => {\n const { diagram: diagram2 } = await import(\"./sequenceDiagram-9f7b83ce.js\");\n return { id: id$a, diagram: diagram2 };\n};\nconst plugin$a = {\n id: id$a,\n detector: detector$a,\n loader: loader$b\n};\nconst sequence = plugin$a;\nconst id$9 = \"class\";\nconst detector$9 = (txt, config2) => {\n var _a;\n if (((_a = config2 == null ? void 0 : config2.class) == null ? void 0 : _a.defaultRenderer) === \"dagre-wrapper\") {\n return false;\n }\n return /^\\s*classDiagram/.test(txt);\n};\nconst loader$a = async () => {\n const { diagram: diagram2 } = await import(\"./classDiagram-52c92d29.js\");\n return { id: id$9, diagram: diagram2 };\n};\nconst plugin$9 = {\n id: id$9,\n detector: detector$9,\n loader: loader$a\n};\nconst classDiagram = plugin$9;\nconst id$8 = \"classDiagram\";\nconst detector$8 = (txt, config2) => {\n var _a;\n if (/^\\s*classDiagram/.test(txt) && ((_a = config2 == null ? void 0 : config2.class) == null ? void 0 : _a.defaultRenderer) === \"dagre-wrapper\") {\n return true;\n }\n return /^\\s*classDiagram-v2/.test(txt);\n};\nconst loader$9 = async () => {\n const { diagram: diagram2 } = await import(\"./classDiagram-v2-70fd67bc.js\");\n return { id: id$8, diagram: diagram2 };\n};\nconst plugin$8 = {\n id: id$8,\n detector: detector$8,\n loader: loader$9\n};\nconst classDiagramV2 = plugin$8;\nconst id$7 = \"state\";\nconst detector$7 = (txt, config2) => {\n var _a;\n if (((_a = config2 == null ? void 0 : config2.state) == null ? void 0 : _a.defaultRenderer) === \"dagre-wrapper\") {\n return false;\n }\n return /^\\s*stateDiagram/.test(txt);\n};\nconst loader$8 = async () => {\n const { diagram: diagram2 } = await import(\"./stateDiagram-728b288d.js\");\n return { id: id$7, diagram: diagram2 };\n};\nconst plugin$7 = {\n id: id$7,\n detector: detector$7,\n loader: loader$8\n};\nconst state = plugin$7;\nconst id$6 = \"stateDiagram\";\nconst detector$6 = (txt, config2) => {\n var _a;\n if (/^\\s*stateDiagram-v2/.test(txt)) {\n return true;\n }\n if (/^\\s*stateDiagram/.test(txt) && ((_a = config2 == null ? void 0 : config2.state) == null ? void 0 : _a.defaultRenderer) === \"dagre-wrapper\") {\n return true;\n }\n return false;\n};\nconst loader$7 = async () => {\n const { diagram: diagram2 } = await import(\"./stateDiagram-v2-2fae770b.js\");\n return { id: id$6, diagram: diagram2 };\n};\nconst plugin$6 = {\n id: id$6,\n detector: detector$6,\n loader: loader$7\n};\nconst stateV2 = plugin$6;\nconst id$5 = \"journey\";\nconst detector$5 = (txt) => {\n return /^\\s*journey/.test(txt);\n};\nconst loader$6 = async () => {\n const { diagram: diagram2 } = await import(\"./journeyDiagram-6eaaa22b.js\");\n return { id: id$5, diagram: diagram2 };\n};\nconst plugin$5 = {\n id: id$5,\n detector: detector$5,\n loader: loader$6\n};\nconst journey = plugin$5;\nconst d3Attrs = function(d3Elem, attrs) {\n for (let attr of attrs) {\n d3Elem.attr(attr[0], attr[1]);\n }\n};\nconst calculateSvgSizeAttrs = 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};\nconst configureSvgSize = function(svgElem, height, width, useMaxWidth) {\n const attrs = calculateSvgSizeAttrs(height, width, useMaxWidth);\n d3Attrs(svgElem, attrs);\n};\nconst setupGraphViewbox$1 = function(graph, svgElem, padding, useMaxWidth) {\n const svgBounds = svgElem.node().getBBox();\n const sWidth = svgBounds.width;\n const sHeight = svgBounds.height;\n log$1.info(`SVG bounds: ${sWidth}x${sHeight}`, svgBounds);\n let width = 0;\n let height = 0;\n log$1.info(`Graph bounds: ${width}x${height}`, graph);\n width = sWidth + padding * 2;\n height = sHeight + padding * 2;\n log$1.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};\nconst themes = {};\nconst getStyles = (type2, userStyles, options) => {\n let diagramStyles = \"\";\n if (type2 in themes && themes[type2]) {\n diagramStyles = themes[type2](options);\n } else {\n log$1.warn(`No theme found for ${type2}`);\n }\n return ` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\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: 2px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\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\n ${diagramStyles}\n\n ${userStyles}\n`;\n};\nconst addStylesForDiagram = (type2, diagramTheme) => {\n if (diagramTheme !== void 0) {\n themes[type2] = diagramTheme;\n }\n};\nconst getStyles$1 = getStyles;\nlet accTitle = \"\";\nlet diagramTitle = \"\";\nlet accDescription = \"\";\nconst sanitizeText$1 = (txt) => sanitizeText$2(txt, getConfig$1());\nconst clear = () => {\n accTitle = \"\";\n accDescription = \"\";\n diagramTitle = \"\";\n};\nconst setAccTitle = (txt) => {\n accTitle = sanitizeText$1(txt).replace(/^\\s+/g, \"\");\n};\nconst getAccTitle = () => accTitle;\nconst setAccDescription = (txt) => {\n accDescription = sanitizeText$1(txt).replace(/\\n\\s+/g, \"\\n\");\n};\nconst getAccDescription = () => accDescription;\nconst setDiagramTitle = (txt) => {\n diagramTitle = sanitizeText$1(txt);\n};\nconst getDiagramTitle = () => diagramTitle;\nconst commonDb = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n clear,\n getAccDescription,\n getAccTitle,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst log = log$1;\nconst setLogLevel = setLogLevel$1;\nconst getConfig = getConfig$1;\nconst setConfig = setConfig$1;\nconst defaultConfig = defaultConfig$1;\nconst sanitizeText = (text2) => sanitizeText$2(text2, getConfig());\nconst setupGraphViewbox = setupGraphViewbox$1;\nconst getCommonDb = () => {\n return commonDb;\n};\nconst diagrams = {};\nconst registerDiagram = (id2, diagram2, detector2) => {\n var _a;\n if (diagrams[id2]) {\n throw new Error(`Diagram ${id2} already registered.`);\n }\n diagrams[id2] = diagram2;\n if (detector2) {\n addDetector(id2, detector2);\n }\n addStylesForDiagram(id2, diagram2.styles);\n (_a = diagram2.injectUtils) == null ? void 0 : _a.call(\n diagram2,\n log,\n setLogLevel,\n getConfig,\n sanitizeText,\n setupGraphViewbox,\n getCommonDb(),\n () => {\n }\n );\n};\nconst getDiagram = (name) => {\n if (name in diagrams) {\n return diagrams[name];\n }\n throw new DiagramNotFoundError(name);\n};\nclass DiagramNotFoundError extends Error {\n constructor(name) {\n super(`Diagram ${name} not found.`);\n }\n}\nconst selectSvgElement = (id2) => {\n var _a;\n const { securityLevel } = getConfig();\n let root2 = d3select(\"body\");\n if (securityLevel === \"sandbox\") {\n const sandboxElement = d3select(`#i${id2}`);\n const doc = ((_a = sandboxElement.node()) == null ? void 0 : _a.contentDocument) ?? document;\n root2 = d3select(doc.body);\n }\n const svg2 = root2.select(`#${id2}`);\n return svg2;\n};\nconst draw = (_text, id2, version2) => {\n log$1.debug(\"rendering svg for syntax error\\n\");\n const svg2 = selectSvgElement(id2);\n const g = svg2.append(\"g\");\n svg2.attr(\"viewBox\", \"0 0 2412 512\");\n configureSvgSize(svg2, 100, 512, true);\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z\"\n );\n g.append(\"text\").attr(\"class\", \"error-text\").attr(\"x\", 1440).attr(\"y\", 250).attr(\"font-size\", \"150px\").style(\"text-anchor\", \"middle\").text(\"Syntax error in text\");\n g.append(\"text\").attr(\"class\", \"error-text\").attr(\"x\", 1250).attr(\"y\", 400).attr(\"font-size\", \"100px\").style(\"text-anchor\", \"middle\").text(`mermaid version ${version2}`);\n};\nconst renderer = { draw };\nconst errorRenderer = renderer;\nconst diagram = {\n db: {},\n renderer,\n parser: {\n parser: { yy: {} },\n parse: () => {\n return;\n }\n }\n};\nconst errorDiagram = diagram;\nconst id$4 = \"flowchart-elk\";\nconst detector$4 = (txt, config2) => {\n var _a;\n if (\n // If diagram explicitly states flowchart-elk\n /^\\s*flowchart-elk/.test(txt) || // If a flowchart/graph diagram has their default renderer set to elk\n /^\\s*flowchart|graph/.test(txt) && ((_a = config2 == null ? void 0 : config2.flowchart) == null ? void 0 : _a.defaultRenderer) === \"elk\"\n ) {\n return true;\n }\n return false;\n};\nconst loader$5 = async () => {\n const { diagram: diagram2 } = await import(\"./flowchart-elk-definition-8cc78aa3.js\");\n return { id: id$4, diagram: diagram2 };\n};\nconst plugin$4 = {\n id: id$4,\n detector: detector$4,\n loader: loader$5\n};\nconst flowchartElk = plugin$4;\nconst id$3 = \"timeline\";\nconst detector$3 = (txt) => {\n return /^\\s*timeline/.test(txt);\n};\nconst loader$4 = async () => {\n const { diagram: diagram2 } = await import(\"./timeline-definition-c33fa219.js\");\n return { id: id$3, diagram: diagram2 };\n};\nconst plugin$3 = {\n id: id$3,\n detector: detector$3,\n loader: loader$4\n};\nconst timeline = plugin$3;\nconst id$2 = \"mindmap\";\nconst detector$2 = (txt) => {\n return /^\\s*mindmap/.test(txt);\n};\nconst loader$3 = async () => {\n const { diagram: diagram2 } = await import(\"./mindmap-definition-b3e57be3.js\");\n return { id: id$2, diagram: diagram2 };\n};\nconst plugin$2 = {\n id: id$2,\n detector: detector$2,\n loader: loader$3\n};\nconst mindmap = plugin$2;\nconst id$1 = \"sankey\";\nconst detector$1 = (txt) => {\n return /^\\s*sankey-beta/.test(txt);\n};\nconst loader$2 = async () => {\n const { diagram: diagram2 } = await import(\"./sankeyDiagram-99ff93d7.js\");\n return { id: id$1, diagram: diagram2 };\n};\nconst plugin$1 = {\n id: id$1,\n detector: detector$1,\n loader: loader$2\n};\nconst sankey = plugin$1;\nconst id = \"block\";\nconst detector = (txt) => {\n return /^\\s*block-beta/.test(txt);\n};\nconst loader$1 = async () => {\n const { diagram: diagram2 } = await import(\"./blockDiagram-47a8f1e6.js\");\n return { id, diagram: diagram2 };\n};\nconst plugin = {\n id,\n detector,\n loader: loader$1\n};\nconst block = plugin;\nlet hasLoadedDiagrams = false;\nconst addDiagrams = () => {\n if (hasLoadedDiagrams) {\n return;\n }\n hasLoadedDiagrams = true;\n registerDiagram(\"error\", errorDiagram, (text2) => {\n return text2.toLowerCase().trim() === \"error\";\n });\n registerDiagram(\n \"---\",\n // --- diagram type may appear if YAML front-matter is not parsed correctly\n {\n db: {\n clear: () => {\n }\n },\n styles: {},\n // should never be used\n renderer: {\n draw: () => {\n }\n },\n parser: {\n parser: { yy: {} },\n parse: () => {\n throw new Error(\n \"Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks\"\n );\n }\n },\n init: () => null\n // no op\n },\n (text2) => {\n return text2.toLowerCase().trimStart().startsWith(\"---\");\n }\n );\n registerLazyLoadedDiagrams(\n c4,\n classDiagramV2,\n classDiagram,\n er,\n gantt,\n info,\n pie,\n requirement,\n sequence,\n flowchartElk,\n flowchartV2,\n flowchart,\n mindmap,\n timeline,\n git,\n stateV2,\n state,\n journey,\n quadrantChart,\n sankey,\n xychart,\n block\n );\n};\nclass Diagram {\n constructor(text2, metadata = {}) {\n this.text = text2;\n this.metadata = metadata;\n this.type = \"graph\";\n this.text = encodeEntities(text2);\n this.text += \"\\n\";\n const cnf = getConfig$1();\n try {\n this.type = detectType(text2, cnf);\n } catch (e) {\n this.type = \"error\";\n this.detectError = e;\n }\n const diagram2 = getDiagram(this.type);\n log$1.debug(\"Type \" + this.type);\n this.db = diagram2.db;\n this.renderer = diagram2.renderer;\n this.parser = diagram2.parser;\n this.parser.parser.yy = this.db;\n this.init = diagram2.init;\n this.parse();\n }\n parse() {\n var _a, _b, _c, _d, _e;\n if (this.detectError) {\n throw this.detectError;\n }\n (_b = (_a = this.db).clear) == null ? void 0 : _b.call(_a);\n const config2 = getConfig$1();\n (_c = this.init) == null ? void 0 : _c.call(this, config2);\n if (this.metadata.title) {\n (_e = (_d = this.db).setDiagramTitle) == null ? void 0 : _e.call(_d, this.metadata.title);\n }\n this.parser.parse(this.text);\n }\n async render(id2, version2) {\n await this.renderer.draw(this.text, id2, version2, this);\n }\n getParser() {\n return this.parser;\n }\n getType() {\n return this.type;\n }\n}\nconst getDiagramFromText$1 = async (text2, metadata = {}) => {\n const type2 = detectType(text2, getConfig$1());\n try {\n getDiagram(type2);\n } catch (error) {\n const loader2 = getDiagramLoader(type2);\n if (!loader2) {\n throw new UnknownDiagramError(`Diagram ${type2} not found.`);\n }\n const { id: id2, diagram: diagram2 } = await loader2();\n registerDiagram(id2, diagram2);\n }\n return new Diagram(text2, metadata);\n};\nlet interactionFunctions = [];\nconst attachFunctions = () => {\n interactionFunctions.forEach((f) => {\n f();\n });\n interactionFunctions = [];\n};\nvar nativeKeys = overArg(Object.keys, Object);\nconst nativeKeys$1 = nativeKeys;\nvar objectProto$1 = Object.prototype;\nvar hasOwnProperty$1 = objectProto$1.hasOwnProperty;\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys$1(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty$1.call(object, key) && key != \"constructor\") {\n result.push(key);\n }\n }\n return result;\n}\nvar DataView = getNative(root$1, \"DataView\");\nconst DataView$1 = DataView;\nvar Promise$1 = getNative(root$1, \"Promise\");\nconst Promise$2 = Promise$1;\nvar Set$1 = getNative(root$1, \"Set\");\nconst Set$2 = Set$1;\nvar WeakMap = getNative(root$1, \"WeakMap\");\nconst WeakMap$1 = WeakMap;\nvar mapTag$1 = \"[object Map]\", objectTag = \"[object Object]\", promiseTag = \"[object Promise]\", setTag$1 = \"[object Set]\", weakMapTag = \"[object WeakMap]\";\nvar dataViewTag = \"[object DataView]\";\nvar dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$2), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap$1);\nvar getTag = baseGetTag;\nif (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag || Map$2 && getTag(new Map$2()) != mapTag$1 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$2 && getTag(new Set$2()) != setTag$1 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag) {\n getTag = function(value) {\n var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : \"\";\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString:\n return dataViewTag;\n case mapCtorString:\n return mapTag$1;\n case promiseCtorString:\n return promiseTag;\n case setCtorString:\n return setTag$1;\n case weakMapCtorString:\n return weakMapTag;\n }\n }\n return result;\n };\n}\nconst getTag$1 = getTag;\nvar mapTag = \"[object Map]\", setTag = \"[object Set]\";\nvar objectProto = Object.prototype;\nvar hasOwnProperty = objectProto.hasOwnProperty;\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) && (isArray$1(value) || typeof value == \"string\" || typeof value.splice == \"function\" || isBuffer$1(value) || isTypedArray$1(value) || isArguments$1(value))) {\n return !value.length;\n }\n var tag = getTag$1(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\nconst SVG_ROLE = \"graphics-document document\";\nfunction setA11yDiagramInfo(svg2, diagramType) {\n svg2.attr(\"role\", SVG_ROLE);\n if (diagramType !== \"\") {\n svg2.attr(\"aria-roledescription\", diagramType);\n }\n}\nfunction addSVGa11yTitleDescription(svg2, a11yTitle, a11yDesc, baseId) {\n if (svg2.insert === void 0) {\n return;\n }\n if (a11yDesc) {\n const descId = `chart-desc-${baseId}`;\n svg2.attr(\"aria-describedby\", descId);\n svg2.insert(\"desc\", \":first-child\").attr(\"id\", descId).text(a11yDesc);\n }\n if (a11yTitle) {\n const titleId = `chart-title-${baseId}`;\n svg2.attr(\"aria-labelledby\", titleId);\n svg2.insert(\"title\", \":first-child\").attr(\"id\", titleId).text(a11yTitle);\n }\n}\nconst cleanupComments = (text2) => {\n return text2.replace(/^\\s*%%(?!{)[^\\n]+\\n?/gm, \"\").trimStart();\n};\n/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */\nfunction isNothing(subject) {\n return typeof subject === \"undefined\" || subject === null;\n}\nfunction isObject(subject) {\n return typeof subject === \"object\" && subject !== null;\n}\nfunction toArray(sequence2) {\n if (Array.isArray(sequence2))\n return sequence2;\n else if (isNothing(sequence2))\n return [];\n return [sequence2];\n}\nfunction extend(target, source) {\n var index, length2, key, sourceKeys;\n if (source) {\n sourceKeys = Object.keys(source);\n for (index = 0, length2 = sourceKeys.length; index < length2; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction repeat(string, count) {\n var result = \"\", cycle;\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n return result;\n}\nfunction isNegativeZero(number) {\n return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;\n}\nvar isNothing_1 = isNothing;\nvar isObject_1 = isObject;\nvar toArray_1 = toArray;\nvar repeat_1 = repeat;\nvar isNegativeZero_1 = isNegativeZero;\nvar extend_1 = extend;\nvar common = {\n isNothing: isNothing_1,\n isObject: isObject_1,\n toArray: toArray_1,\n repeat: repeat_1,\n isNegativeZero: isNegativeZero_1,\n extend: extend_1\n};\nfunction formatError(exception2, compact) {\n var where = \"\", message = exception2.reason || \"(unknown reason)\";\n if (!exception2.mark)\n return message;\n if (exception2.mark.name) {\n where += 'in \"' + exception2.mark.name + '\" ';\n }\n where += \"(\" + (exception2.mark.line + 1) + \":\" + (exception2.mark.column + 1) + \")\";\n if (!compact && exception2.mark.snippet) {\n where += \"\\n\\n\" + exception2.mark.snippet;\n }\n return message + \" \" + where;\n}\nfunction YAMLException$1(reason, mark) {\n Error.call(this);\n this.name = \"YAMLException\";\n this.reason = reason;\n this.mark = mark;\n this.message = formatError(this, false);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error().stack || \"\";\n }\n}\nYAMLException$1.prototype = Object.create(Error.prototype);\nYAMLException$1.prototype.constructor = YAMLException$1;\nYAMLException$1.prototype.toString = function toString(compact) {\n return this.name + \": \" + formatError(this, compact);\n};\nvar exception = YAMLException$1;\nfunction getLine(buffer, lineStart, lineEnd, position2, maxLineLength) {\n var head = \"\";\n var tail = \"\";\n var maxHalfLength = Math.floor(maxLineLength / 2) - 1;\n if (position2 - lineStart > maxHalfLength) {\n head = \" ... \";\n lineStart = position2 - maxHalfLength + head.length;\n }\n if (lineEnd - position2 > maxHalfLength) {\n tail = \" ...\";\n lineEnd = position2 + maxHalfLength - tail.length;\n }\n return {\n str: head + buffer.slice(lineStart, lineEnd).replace(/\\t/g, \"→\") + tail,\n pos: position2 - lineStart + head.length\n // relative position\n };\n}\nfunction padStart(string, max2) {\n return common.repeat(\" \", max2 - string.length) + string;\n}\nfunction makeSnippet(mark, options) {\n options = Object.create(options || null);\n if (!mark.buffer)\n return null;\n if (!options.maxLength)\n options.maxLength = 79;\n if (typeof options.indent !== \"number\")\n options.indent = 1;\n if (typeof options.linesBefore !== \"number\")\n options.linesBefore = 3;\n if (typeof options.linesAfter !== \"number\")\n options.linesAfter = 2;\n var re = /\\r?\\n|\\r|\\0/g;\n var lineStarts = [0];\n var lineEnds = [];\n var match;\n var foundLineNo = -1;\n while (match = re.exec(mark.buffer)) {\n lineEnds.push(match.index);\n lineStarts.push(match.index + match[0].length);\n if (mark.position <= match.index && foundLineNo < 0) {\n foundLineNo = lineStarts.length - 2;\n }\n }\n if (foundLineNo < 0)\n foundLineNo = lineStarts.length - 1;\n var result = \"\", i, line2;\n var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;\n var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);\n for (i = 1; i <= options.linesBefore; i++) {\n if (foundLineNo - i < 0)\n break;\n line2 = getLine(\n mark.buffer,\n lineStarts[foundLineNo - i],\n lineEnds[foundLineNo - i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]),\n maxLineLength\n );\n result = common.repeat(\" \", options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + \" | \" + line2.str + \"\\n\" + result;\n }\n line2 = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);\n result += common.repeat(\" \", options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + \" | \" + line2.str + \"\\n\";\n result += common.repeat(\"-\", options.indent + lineNoLength + 3 + line2.pos) + \"^\\n\";\n for (i = 1; i <= options.linesAfter; i++) {\n if (foundLineNo + i >= lineEnds.length)\n break;\n line2 = getLine(\n mark.buffer,\n lineStarts[foundLineNo + i],\n lineEnds[foundLineNo + i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]),\n maxLineLength\n );\n result += common.repeat(\" \", options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + \" | \" + line2.str + \"\\n\";\n }\n return result.replace(/\\n$/, \"\");\n}\nvar snippet = makeSnippet;\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n \"kind\",\n \"multi\",\n \"resolve\",\n \"construct\",\n \"instanceOf\",\n \"predicate\",\n \"represent\",\n \"representName\",\n \"defaultStyle\",\n \"styleAliases\"\n];\nvar YAML_NODE_KINDS = [\n \"scalar\",\n \"sequence\",\n \"mapping\"\n];\nfunction compileStyleAliases(map2) {\n var result = {};\n if (map2 !== null) {\n Object.keys(map2).forEach(function(style) {\n map2[style].forEach(function(alias) {\n result[String(alias)] = style;\n });\n });\n }\n return result;\n}\nfunction Type$1(tag, options) {\n options = options || {};\n Object.keys(options).forEach(function(name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new exception('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n this.options = options;\n this.tag = tag;\n this.kind = options[\"kind\"] || null;\n this.resolve = options[\"resolve\"] || function() {\n return true;\n };\n this.construct = options[\"construct\"] || function(data) {\n return data;\n };\n this.instanceOf = options[\"instanceOf\"] || null;\n this.predicate = options[\"predicate\"] || null;\n this.represent = options[\"represent\"] || null;\n this.representName = options[\"representName\"] || null;\n this.defaultStyle = options[\"defaultStyle\"] || null;\n this.multi = options[\"multi\"] || false;\n this.styleAliases = compileStyleAliases(options[\"styleAliases\"] || null);\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new exception('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\nvar type = Type$1;\nfunction compileList(schema2, name) {\n var result = [];\n schema2[name].forEach(function(currentType) {\n var newIndex = result.length;\n result.forEach(function(previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {\n newIndex = previousIndex;\n }\n });\n result[newIndex] = currentType;\n });\n return result;\n}\nfunction compileMap() {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {},\n multi: {\n scalar: [],\n sequence: [],\n mapping: [],\n fallback: []\n }\n }, index, length2;\n function collectType(type2) {\n if (type2.multi) {\n result.multi[type2.kind].push(type2);\n result.multi[\"fallback\"].push(type2);\n } else {\n result[type2.kind][type2.tag] = result[\"fallback\"][type2.tag] = type2;\n }\n }\n for (index = 0, length2 = arguments.length; index < length2; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\nfunction Schema$1(definition) {\n return this.extend(definition);\n}\nSchema$1.prototype.extend = function extend2(definition) {\n var implicit = [];\n var explicit = [];\n if (definition instanceof type) {\n explicit.push(definition);\n } else if (Array.isArray(definition)) {\n explicit = explicit.concat(definition);\n } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {\n if (definition.implicit)\n implicit = implicit.concat(definition.implicit);\n if (definition.explicit)\n explicit = explicit.concat(definition.explicit);\n } else {\n throw new exception(\"Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })\");\n }\n implicit.forEach(function(type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");\n }\n if (type$1.loadKind && type$1.loadKind !== \"scalar\") {\n throw new exception(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\");\n }\n if (type$1.multi) {\n throw new exception(\"There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.\");\n }\n });\n explicit.forEach(function(type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");\n }\n });\n var result = Object.create(Schema$1.prototype);\n result.implicit = (this.implicit || []).concat(implicit);\n result.explicit = (this.explicit || []).concat(explicit);\n result.compiledImplicit = compileList(result, \"implicit\");\n result.compiledExplicit = compileList(result, \"explicit\");\n result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);\n return result;\n};\nvar schema = Schema$1;\nvar str = new type(\"tag:yaml.org,2002:str\", {\n kind: \"scalar\",\n construct: function(data) {\n return data !== null ? data : \"\";\n }\n});\nvar seq = new type(\"tag:yaml.org,2002:seq\", {\n kind: \"sequence\",\n construct: function(data) {\n return data !== null ? data : [];\n }\n});\nvar map = new type(\"tag:yaml.org,2002:map\", {\n kind: \"mapping\",\n construct: function(data) {\n return data !== null ? data : {};\n }\n});\nvar failsafe = new schema({\n explicit: [\n str,\n seq,\n map\n ]\n});\nfunction resolveYamlNull(data) {\n if (data === null)\n return true;\n var max2 = data.length;\n return max2 === 1 && data === \"~\" || max2 === 4 && (data === \"null\" || data === \"Null\" || data === \"NULL\");\n}\nfunction constructYamlNull() {\n return null;\n}\nfunction isNull(object) {\n return object === null;\n}\nvar _null = new type(\"tag:yaml.org,2002:null\", {\n kind: \"scalar\",\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function() {\n return \"~\";\n },\n lowercase: function() {\n return \"null\";\n },\n uppercase: function() {\n return \"NULL\";\n },\n camelcase: function() {\n return \"Null\";\n },\n empty: function() {\n return \"\";\n }\n },\n defaultStyle: \"lowercase\"\n});\nfunction resolveYamlBoolean(data) {\n if (data === null)\n return false;\n var max2 = data.length;\n return max2 === 4 && (data === \"true\" || data === \"True\" || data === \"TRUE\") || max2 === 5 && (data === \"false\" || data === \"False\" || data === \"FALSE\");\n}\nfunction constructYamlBoolean(data) {\n return data === \"true\" || data === \"True\" || data === \"TRUE\";\n}\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === \"[object Boolean]\";\n}\nvar bool = new type(\"tag:yaml.org,2002:bool\", {\n kind: \"scalar\",\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function(object) {\n return object ? \"true\" : \"false\";\n },\n uppercase: function(object) {\n return object ? \"TRUE\" : \"FALSE\";\n },\n camelcase: function(object) {\n return object ? \"True\" : \"False\";\n }\n },\n defaultStyle: \"lowercase\"\n});\nfunction isHexCode(c) {\n return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102;\n}\nfunction isOctCode(c) {\n return 48 <= c && c <= 55;\n}\nfunction isDecCode(c) {\n return 48 <= c && c <= 57;\n}\nfunction resolveYamlInteger(data) {\n if (data === null)\n return false;\n var max2 = data.length, index = 0, hasDigits = false, ch;\n if (!max2)\n return false;\n ch = data[index];\n if (ch === \"-\" || ch === \"+\") {\n ch = data[++index];\n }\n if (ch === \"0\") {\n if (index + 1 === max2)\n return true;\n ch = data[++index];\n if (ch === \"b\") {\n index++;\n for (; index < max2; index++) {\n ch = data[index];\n if (ch === \"_\")\n continue;\n if (ch !== \"0\" && ch !== \"1\")\n return false;\n hasDigits = true;\n }\n return hasDigits && ch !== \"_\";\n }\n if (ch === \"x\") {\n index++;\n for (; index < max2; index++) {\n ch = data[index];\n if (ch === \"_\")\n continue;\n if (!isHexCode(data.charCodeAt(index)))\n return false;\n hasDigits = true;\n }\n return hasDigits && ch !== \"_\";\n }\n if (ch === \"o\") {\n index++;\n for (; index < max2; index++) {\n ch = data[index];\n if (ch === \"_\")\n continue;\n if (!isOctCode(data.charCodeAt(index)))\n return false;\n hasDigits = true;\n }\n return hasDigits && ch !== \"_\";\n }\n }\n if (ch === \"_\")\n return false;\n for (; index < max2; index++) {\n ch = data[index];\n if (ch === \"_\")\n continue;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n if (!hasDigits || ch === \"_\")\n return false;\n return true;\n}\nfunction constructYamlInteger(data) {\n var value = data, sign2 = 1, ch;\n if (value.indexOf(\"_\") !== -1) {\n value = value.replace(/_/g, \"\");\n }\n ch = value[0];\n if (ch === \"-\" || ch === \"+\") {\n if (ch === \"-\")\n sign2 = -1;\n value = value.slice(1);\n ch = value[0];\n }\n if (value === \"0\")\n return 0;\n if (ch === \"0\") {\n if (value[1] === \"b\")\n return sign2 * parseInt(value.slice(2), 2);\n if (value[1] === \"x\")\n return sign2 * parseInt(value.slice(2), 16);\n if (value[1] === \"o\")\n return sign2 * parseInt(value.slice(2), 8);\n }\n return sign2 * parseInt(value, 10);\n}\nfunction isInteger(object) {\n return Object.prototype.toString.call(object) === \"[object Number]\" && (object % 1 === 0 && !common.isNegativeZero(object));\n}\nvar int = new type(\"tag:yaml.org,2002:int\", {\n kind: \"scalar\",\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function(obj) {\n return obj >= 0 ? \"0b\" + obj.toString(2) : \"-0b\" + obj.toString(2).slice(1);\n },\n octal: function(obj) {\n return obj >= 0 ? \"0o\" + obj.toString(8) : \"-0o\" + obj.toString(8).slice(1);\n },\n decimal: function(obj) {\n return obj.toString(10);\n },\n /* eslint-disable max-len */\n hexadecimal: function(obj) {\n return obj >= 0 ? \"0x\" + obj.toString(16).toUpperCase() : \"-0x\" + obj.toString(16).toUpperCase().slice(1);\n }\n },\n defaultStyle: \"decimal\",\n styleAliases: {\n binary: [2, \"bin\"],\n octal: [8, \"oct\"],\n decimal: [10, \"dec\"],\n hexadecimal: [16, \"hex\"]\n }\n});\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n \"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\"\n);\nfunction resolveYamlFloat(data) {\n if (data === null)\n return false;\n if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === \"_\") {\n return false;\n }\n return true;\n}\nfunction constructYamlFloat(data) {\n var value, sign2;\n value = data.replace(/_/g, \"\").toLowerCase();\n sign2 = value[0] === \"-\" ? -1 : 1;\n if (\"+-\".indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n if (value === \".inf\") {\n return sign2 === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n } else if (value === \".nan\") {\n return NaN;\n }\n return sign2 * parseFloat(value, 10);\n}\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\nfunction representYamlFloat(object, style) {\n var res;\n if (isNaN(object)) {\n switch (style) {\n case \"lowercase\":\n return \".nan\";\n case \"uppercase\":\n return \".NAN\";\n case \"camelcase\":\n return \".NaN\";\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case \"lowercase\":\n return \".inf\";\n case \"uppercase\":\n return \".INF\";\n case \"camelcase\":\n return \".Inf\";\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case \"lowercase\":\n return \"-.inf\";\n case \"uppercase\":\n return \"-.INF\";\n case \"camelcase\":\n return \"-.Inf\";\n }\n } else if (common.isNegativeZero(object)) {\n return \"-0.0\";\n }\n res = object.toString(10);\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace(\"e\", \".e\") : res;\n}\nfunction isFloat(object) {\n return Object.prototype.toString.call(object) === \"[object Number]\" && (object % 1 !== 0 || common.isNegativeZero(object));\n}\nvar float = new type(\"tag:yaml.org,2002:float\", {\n kind: \"scalar\",\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: \"lowercase\"\n});\nvar json = failsafe.extend({\n implicit: [\n _null,\n bool,\n int,\n float\n ]\n});\nvar core = json;\nvar YAML_DATE_REGEXP = new RegExp(\n \"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"\n);\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n \"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\"\n);\nfunction resolveYamlTimestamp(data) {\n if (data === null)\n return false;\n if (YAML_DATE_REGEXP.exec(data) !== null)\n return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null)\n return true;\n return false;\n}\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null)\n match = YAML_TIMESTAMP_REGEXP.exec(data);\n if (match === null)\n throw new Error(\"Date resolve error\");\n year = +match[1];\n month = +match[2] - 1;\n day = +match[3];\n if (!match[4]) {\n return new Date(Date.UTC(year, month, day));\n }\n hour = +match[4];\n minute = +match[5];\n second = +match[6];\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) {\n fraction += \"0\";\n }\n fraction = +fraction;\n }\n if (match[9]) {\n tz_hour = +match[10];\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 6e4;\n if (match[9] === \"-\")\n delta = -delta;\n }\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n if (delta)\n date.setTime(date.getTime() - delta);\n return date;\n}\nfunction representYamlTimestamp(object) {\n return object.toISOString();\n}\nvar timestamp = new type(\"tag:yaml.org,2002:timestamp\", {\n kind: \"scalar\",\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\nfunction resolveYamlMerge(data) {\n return data === \"<<\" || data === null;\n}\nvar merge = new type(\"tag:yaml.org,2002:merge\", {\n kind: \"scalar\",\n resolve: resolveYamlMerge\n});\nvar BASE64_MAP = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";\nfunction resolveYamlBinary(data) {\n if (data === null)\n return false;\n var code, idx, bitlen = 0, max2 = data.length, map2 = BASE64_MAP;\n for (idx = 0; idx < max2; idx++) {\n code = map2.indexOf(data.charAt(idx));\n if (code > 64)\n continue;\n if (code < 0)\n return false;\n bitlen += 6;\n }\n return bitlen % 8 === 0;\n}\nfunction constructYamlBinary(data) {\n var idx, tailbits, input = data.replace(/[\\r\\n=]/g, \"\"), max2 = input.length, map2 = BASE64_MAP, bits = 0, result = [];\n for (idx = 0; idx < max2; idx++) {\n if (idx % 4 === 0 && idx) {\n result.push(bits >> 16 & 255);\n result.push(bits >> 8 & 255);\n result.push(bits & 255);\n }\n bits = bits << 6 | map2.indexOf(input.charAt(idx));\n }\n tailbits = max2 % 4 * 6;\n if (tailbits === 0) {\n result.push(bits >> 16 & 255);\n result.push(bits >> 8 & 255);\n result.push(bits & 255);\n } else if (tailbits === 18) {\n result.push(bits >> 10 & 255);\n result.push(bits >> 2 & 255);\n } else if (tailbits === 12) {\n result.push(bits >> 4 & 255);\n }\n return new Uint8Array(result);\n}\nfunction representYamlBinary(object) {\n var result = \"\", bits = 0, idx, tail, max2 = object.length, map2 = BASE64_MAP;\n for (idx = 0; idx < max2; idx++) {\n if (idx % 3 === 0 && idx) {\n result += map2[bits >> 18 & 63];\n result += map2[bits >> 12 & 63];\n result += map2[bits >> 6 & 63];\n result += map2[bits & 63];\n }\n bits = (bits << 8) + object[idx];\n }\n tail = max2 % 3;\n if (tail === 0) {\n result += map2[bits >> 18 & 63];\n result += map2[bits >> 12 & 63];\n result += map2[bits >> 6 & 63];\n result += map2[bits & 63];\n } else if (tail === 2) {\n result += map2[bits >> 10 & 63];\n result += map2[bits >> 4 & 63];\n result += map2[bits << 2 & 63];\n result += map2[64];\n } else if (tail === 1) {\n result += map2[bits >> 2 & 63];\n result += map2[bits << 4 & 63];\n result += map2[64];\n result += map2[64];\n }\n return result;\n}\nfunction isBinary(obj) {\n return Object.prototype.toString.call(obj) === \"[object Uint8Array]\";\n}\nvar binary = new type(\"tag:yaml.org,2002:binary\", {\n kind: \"scalar\",\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\nvar _hasOwnProperty$3 = Object.prototype.hasOwnProperty;\nvar _toString$2 = Object.prototype.toString;\nfunction resolveYamlOmap(data) {\n if (data === null)\n return true;\n var objectKeys = [], index, length2, pair, pairKey, pairHasKey, object = data;\n for (index = 0, length2 = object.length; index < length2; index += 1) {\n pair = object[index];\n pairHasKey = false;\n if (_toString$2.call(pair) !== \"[object Object]\")\n return false;\n for (pairKey in pair) {\n if (_hasOwnProperty$3.call(pair, pairKey)) {\n if (!pairHasKey)\n pairHasKey = true;\n else\n return false;\n }\n }\n if (!pairHasKey)\n return false;\n if (objectKeys.indexOf(pairKey) === -1)\n objectKeys.push(pairKey);\n else\n return false;\n }\n return true;\n}\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\nvar omap = new type(\"tag:yaml.org,2002:omap\", {\n kind: \"sequence\",\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\nvar _toString$1 = Object.prototype.toString;\nfunction resolveYamlPairs(data) {\n if (data === null)\n return true;\n var index, length2, pair, keys, result, object = data;\n result = new Array(object.length);\n for (index = 0, length2 = object.length; index < length2; index += 1) {\n pair = object[index];\n if (_toString$1.call(pair) !== \"[object Object]\")\n return false;\n keys = Object.keys(pair);\n if (keys.length !== 1)\n return false;\n result[index] = [keys[0], pair[keys[0]]];\n }\n return true;\n}\nfunction constructYamlPairs(data) {\n if (data === null)\n return [];\n var index, length2, pair, keys, result, object = data;\n result = new Array(object.length);\n for (index = 0, length2 = object.length; index < length2; index += 1) {\n pair = object[index];\n keys = Object.keys(pair);\n result[index] = [keys[0], pair[keys[0]]];\n }\n return result;\n}\nvar pairs = new type(\"tag:yaml.org,2002:pairs\", {\n kind: \"sequence\",\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\nvar _hasOwnProperty$2 = Object.prototype.hasOwnProperty;\nfunction resolveYamlSet(data) {\n if (data === null)\n return true;\n var key, object = data;\n for (key in object) {\n if (_hasOwnProperty$2.call(object, key)) {\n if (object[key] !== null)\n return false;\n }\n }\n return true;\n}\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\nvar set = new type(\"tag:yaml.org,2002:set\", {\n kind: \"mapping\",\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\nvar _default = core.extend({\n implicit: [\n timestamp,\n merge\n ],\n explicit: [\n binary,\n omap,\n pairs,\n set\n ]\n});\nvar _hasOwnProperty$1 = Object.prototype.hasOwnProperty;\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\nfunction _class(obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction is_EOL(c) {\n return c === 10 || c === 13;\n}\nfunction is_WHITE_SPACE(c) {\n return c === 9 || c === 32;\n}\nfunction is_WS_OR_EOL(c) {\n return c === 9 || c === 32 || c === 10 || c === 13;\n}\nfunction is_FLOW_INDICATOR(c) {\n return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;\n}\nfunction fromHexCode(c) {\n var lc;\n if (48 <= c && c <= 57) {\n return c - 48;\n }\n lc = c | 32;\n if (97 <= lc && lc <= 102) {\n return lc - 97 + 10;\n }\n return -1;\n}\nfunction escapedHexLen(c) {\n if (c === 120) {\n return 2;\n }\n if (c === 117) {\n return 4;\n }\n if (c === 85) {\n return 8;\n }\n return 0;\n}\nfunction fromDecimalCode(c) {\n if (48 <= c && c <= 57) {\n return c - 48;\n }\n return -1;\n}\nfunction simpleEscapeSequence(c) {\n return c === 48 ? \"\\0\" : c === 97 ? \"\\x07\" : c === 98 ? \"\\b\" : c === 116 ? \"\t\" : c === 9 ? \"\t\" : c === 110 ? \"\\n\" : c === 118 ? \"\\v\" : c === 102 ? \"\\f\" : c === 114 ? \"\\r\" : c === 101 ? \"\\x1B\" : c === 32 ? \" \" : c === 34 ? '\"' : c === 47 ? \"/\" : c === 92 ? \"\\\\\" : c === 78 ? \"…\" : c === 95 ? \" \" : c === 76 ? \"\\u2028\" : c === 80 ? \"\\u2029\" : \"\";\n}\nfunction charFromCodepoint(c) {\n if (c <= 65535) {\n return String.fromCharCode(c);\n }\n return String.fromCharCode(\n (c - 65536 >> 10) + 55296,\n (c - 65536 & 1023) + 56320\n );\n}\nvar simpleEscapeCheck = new Array(256);\nvar simpleEscapeMap = new Array(256);\nfor (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\nfunction State$1(input, options) {\n this.input = input;\n this.filename = options[\"filename\"] || null;\n this.schema = options[\"schema\"] || _default;\n this.onWarning = options[\"onWarning\"] || null;\n this.legacy = options[\"legacy\"] || false;\n this.json = options[\"json\"] || false;\n this.listener = options[\"listener\"] || null;\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n this.firstTabInLine = -1;\n this.documents = [];\n}\nfunction generateError(state2, message) {\n var mark = {\n name: state2.filename,\n buffer: state2.input.slice(0, -1),\n // omit trailing \\0\n position: state2.position,\n line: state2.line,\n column: state2.position - state2.lineStart\n };\n mark.snippet = snippet(mark);\n return new exception(message, mark);\n}\nfunction throwError(state2, message) {\n throw generateError(state2, message);\n}\nfunction throwWarning(state2, message) {\n if (state2.onWarning) {\n state2.onWarning.call(null, generateError(state2, message));\n }\n}\nvar directiveHandlers = {\n YAML: function handleYamlDirective(state2, name, args) {\n var match, major, minor;\n if (state2.version !== null) {\n throwError(state2, \"duplication of %YAML directive\");\n }\n if (args.length !== 1) {\n throwError(state2, \"YAML directive accepts exactly one argument\");\n }\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n if (match === null) {\n throwError(state2, \"ill-formed argument of the YAML directive\");\n }\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n if (major !== 1) {\n throwError(state2, \"unacceptable YAML version of the document\");\n }\n state2.version = args[0];\n state2.checkLineBreaks = minor < 2;\n if (minor !== 1 && minor !== 2) {\n throwWarning(state2, \"unsupported YAML version of the document\");\n }\n },\n TAG: function handleTagDirective(state2, name, args) {\n var handle, prefix;\n if (args.length !== 2) {\n throwError(state2, \"TAG directive accepts exactly two arguments\");\n }\n handle = args[0];\n prefix = args[1];\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state2, \"ill-formed tag handle (first argument) of the TAG directive\");\n }\n if (_hasOwnProperty$1.call(state2.tagMap, handle)) {\n throwError(state2, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state2, \"ill-formed tag prefix (second argument) of the TAG directive\");\n }\n try {\n prefix = decodeURIComponent(prefix);\n } catch (err) {\n throwError(state2, \"tag prefix is malformed: \" + prefix);\n }\n state2.tagMap[handle] = prefix;\n }\n};\nfunction captureSegment(state2, start2, end, checkJson) {\n var _position, _length, _character, _result;\n if (start2 < end) {\n _result = state2.input.slice(start2, end);\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {\n throwError(state2, \"expected valid JSON character\");\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state2, \"the stream contains non-printable characters\");\n }\n state2.result += _result;\n }\n}\nfunction mergeMappings(state2, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n if (!common.isObject(source)) {\n throwError(state2, \"cannot merge mappings; the provided source object is unacceptable\");\n }\n sourceKeys = Object.keys(source);\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n if (!_hasOwnProperty$1.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\nfunction storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) {\n var index, quantity;\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state2, \"nested arrays are not supported inside keys\");\n }\n if (typeof keyNode === \"object\" && _class(keyNode[index]) === \"[object Object]\") {\n keyNode[index] = \"[object Object]\";\n }\n }\n }\n if (typeof keyNode === \"object\" && _class(keyNode) === \"[object Object]\") {\n keyNode = \"[object Object]\";\n }\n keyNode = String(keyNode);\n if (_result === null) {\n _result = {};\n }\n if (keyTag === \"tag:yaml.org,2002:merge\") {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state2, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state2, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state2.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) {\n state2.line = startLine || state2.line;\n state2.lineStart = startLineStart || state2.lineStart;\n state2.position = startPos || state2.position;\n throwError(state2, \"duplicated mapping key\");\n }\n if (keyNode === \"__proto__\") {\n Object.defineProperty(_result, keyNode, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: valueNode\n });\n } else {\n _result[keyNode] = valueNode;\n }\n delete overridableKeys[keyNode];\n }\n return _result;\n}\nfunction readLineBreak(state2) {\n var ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch === 10) {\n state2.position++;\n } else if (ch === 13) {\n state2.position++;\n if (state2.input.charCodeAt(state2.position) === 10) {\n state2.position++;\n }\n } else {\n throwError(state2, \"a line break is expected\");\n }\n state2.line += 1;\n state2.lineStart = state2.position;\n state2.firstTabInLine = -1;\n}\nfunction skipSeparationSpace(state2, allowComments, checkIndent) {\n var lineBreaks = 0, ch = state2.input.charCodeAt(state2.position);\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n if (ch === 9 && state2.firstTabInLine === -1) {\n state2.firstTabInLine = state2.position;\n }\n ch = state2.input.charCodeAt(++state2.position);\n }\n if (allowComments && ch === 35) {\n do {\n ch = state2.input.charCodeAt(++state2.position);\n } while (ch !== 10 && ch !== 13 && ch !== 0);\n }\n if (is_EOL(ch)) {\n readLineBreak(state2);\n ch = state2.input.charCodeAt(state2.position);\n lineBreaks++;\n state2.lineIndent = 0;\n while (ch === 32) {\n state2.lineIndent++;\n ch = state2.input.charCodeAt(++state2.position);\n }\n } else {\n break;\n }\n }\n if (checkIndent !== -1 && lineBreaks !== 0 && state2.lineIndent < checkIndent) {\n throwWarning(state2, \"deficient indentation\");\n }\n return lineBreaks;\n}\nfunction testDocumentSeparator(state2) {\n var _position = state2.position, ch;\n ch = state2.input.charCodeAt(_position);\n if ((ch === 45 || ch === 46) && ch === state2.input.charCodeAt(_position + 1) && ch === state2.input.charCodeAt(_position + 2)) {\n _position += 3;\n ch = state2.input.charCodeAt(_position);\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n return false;\n}\nfunction writeFoldedLines(state2, count) {\n if (count === 1) {\n state2.result += \" \";\n } else if (count > 1) {\n state2.result += common.repeat(\"\\n\", count - 1);\n }\n}\nfunction readPlainScalar(state2, nodeIndent, withinFlowCollection) {\n var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state2.kind, _result = state2.result, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {\n return false;\n }\n if (ch === 63 || ch === 45) {\n following = state2.input.charCodeAt(state2.position + 1);\n if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n state2.kind = \"scalar\";\n state2.result = \"\";\n captureStart = captureEnd = state2.position;\n hasPendingContent = false;\n while (ch !== 0) {\n if (ch === 58) {\n following = state2.input.charCodeAt(state2.position + 1);\n if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n } else if (ch === 35) {\n preceding = state2.input.charCodeAt(state2.position - 1);\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n } else if (state2.position === state2.lineStart && testDocumentSeparator(state2) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n } else if (is_EOL(ch)) {\n _line = state2.line;\n _lineStart = state2.lineStart;\n _lineIndent = state2.lineIndent;\n skipSeparationSpace(state2, false, -1);\n if (state2.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state2.input.charCodeAt(state2.position);\n continue;\n } else {\n state2.position = captureEnd;\n state2.line = _line;\n state2.lineStart = _lineStart;\n state2.lineIndent = _lineIndent;\n break;\n }\n }\n if (hasPendingContent) {\n captureSegment(state2, captureStart, captureEnd, false);\n writeFoldedLines(state2, state2.line - _line);\n captureStart = captureEnd = state2.position;\n hasPendingContent = false;\n }\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state2.position + 1;\n }\n ch = state2.input.charCodeAt(++state2.position);\n }\n captureSegment(state2, captureStart, captureEnd, false);\n if (state2.result) {\n return true;\n }\n state2.kind = _kind;\n state2.result = _result;\n return false;\n}\nfunction readSingleQuotedScalar(state2, nodeIndent) {\n var ch, captureStart, captureEnd;\n ch = state2.input.charCodeAt(state2.position);\n if (ch !== 39) {\n return false;\n }\n state2.kind = \"scalar\";\n state2.result = \"\";\n state2.position++;\n captureStart = captureEnd = state2.position;\n while ((ch = state2.input.charCodeAt(state2.position)) !== 0) {\n if (ch === 39) {\n captureSegment(state2, captureStart, state2.position, true);\n ch = state2.input.charCodeAt(++state2.position);\n if (ch === 39) {\n captureStart = state2.position;\n state2.position++;\n captureEnd = state2.position;\n } else {\n return true;\n }\n } else if (is_EOL(ch)) {\n captureSegment(state2, captureStart, captureEnd, true);\n writeFoldedLines(state2, skipSeparationSpace(state2, false, nodeIndent));\n captureStart = captureEnd = state2.position;\n } else if (state2.position === state2.lineStart && testDocumentSeparator(state2)) {\n throwError(state2, \"unexpected end of the document within a single quoted scalar\");\n } else {\n state2.position++;\n captureEnd = state2.position;\n }\n }\n throwError(state2, \"unexpected end of the stream within a single quoted scalar\");\n}\nfunction readDoubleQuotedScalar(state2, nodeIndent) {\n var captureStart, captureEnd, hexLength, hexResult, tmp, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch !== 34) {\n return false;\n }\n state2.kind = \"scalar\";\n state2.result = \"\";\n state2.position++;\n captureStart = captureEnd = state2.position;\n while ((ch = state2.input.charCodeAt(state2.position)) !== 0) {\n if (ch === 34) {\n captureSegment(state2, captureStart, state2.position, true);\n state2.position++;\n return true;\n } else if (ch === 92) {\n captureSegment(state2, captureStart, state2.position, true);\n ch = state2.input.charCodeAt(++state2.position);\n if (is_EOL(ch)) {\n skipSeparationSpace(state2, false, nodeIndent);\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state2.result += simpleEscapeMap[ch];\n state2.position++;\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n for (; hexLength > 0; hexLength--) {\n ch = state2.input.charCodeAt(++state2.position);\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n } else {\n throwError(state2, \"expected hexadecimal character\");\n }\n }\n state2.result += charFromCodepoint(hexResult);\n state2.position++;\n } else {\n throwError(state2, \"unknown escape sequence\");\n }\n captureStart = captureEnd = state2.position;\n } else if (is_EOL(ch)) {\n captureSegment(state2, captureStart, captureEnd, true);\n writeFoldedLines(state2, skipSeparationSpace(state2, false, nodeIndent));\n captureStart = captureEnd = state2.position;\n } else if (state2.position === state2.lineStart && testDocumentSeparator(state2)) {\n throwError(state2, \"unexpected end of the document within a double quoted scalar\");\n } else {\n state2.position++;\n captureEnd = state2.position;\n }\n }\n throwError(state2, \"unexpected end of the stream within a double quoted scalar\");\n}\nfunction readFlowCollection(state2, nodeIndent) {\n var readNext = true, _line, _lineStart, _pos, _tag = state2.tag, _result, _anchor = state2.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = /* @__PURE__ */ Object.create(null), keyNode, keyTag, valueNode, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch === 91) {\n terminator = 93;\n isMapping = false;\n _result = [];\n } else if (ch === 123) {\n terminator = 125;\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = _result;\n }\n ch = state2.input.charCodeAt(++state2.position);\n while (ch !== 0) {\n skipSeparationSpace(state2, true, nodeIndent);\n ch = state2.input.charCodeAt(state2.position);\n if (ch === terminator) {\n state2.position++;\n state2.tag = _tag;\n state2.anchor = _anchor;\n state2.kind = isMapping ? \"mapping\" : \"sequence\";\n state2.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state2, \"missed comma between flow collection entries\");\n } else if (ch === 44) {\n throwError(state2, \"expected the node content, but found ','\");\n }\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n if (ch === 63) {\n following = state2.input.charCodeAt(state2.position + 1);\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state2.position++;\n skipSeparationSpace(state2, true, nodeIndent);\n }\n }\n _line = state2.line;\n _lineStart = state2.lineStart;\n _pos = state2.position;\n composeNode(state2, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state2.tag;\n keyNode = state2.result;\n skipSeparationSpace(state2, true, nodeIndent);\n ch = state2.input.charCodeAt(state2.position);\n if ((isExplicitPair || state2.line === _line) && ch === 58) {\n isPair = true;\n ch = state2.input.charCodeAt(++state2.position);\n skipSeparationSpace(state2, true, nodeIndent);\n composeNode(state2, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state2.result;\n }\n if (isMapping) {\n storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);\n } else if (isPair) {\n _result.push(storeMappingPair(state2, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));\n } else {\n _result.push(keyNode);\n }\n skipSeparationSpace(state2, true, nodeIndent);\n ch = state2.input.charCodeAt(state2.position);\n if (ch === 44) {\n readNext = true;\n ch = state2.input.charCodeAt(++state2.position);\n } else {\n readNext = false;\n }\n }\n throwError(state2, \"unexpected end of the stream within a flow collection\");\n}\nfunction readBlockScalar(state2, nodeIndent) {\n var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch === 124) {\n folding = false;\n } else if (ch === 62) {\n folding = true;\n } else {\n return false;\n }\n state2.kind = \"scalar\";\n state2.result = \"\";\n while (ch !== 0) {\n ch = state2.input.charCodeAt(++state2.position);\n if (ch === 43 || ch === 45) {\n if (CHOMPING_CLIP === chomping) {\n chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state2, \"repeat of a chomping mode identifier\");\n }\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state2, \"bad explicit indentation width of a block scalar; it cannot be less than one\");\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state2, \"repeat of an indentation width identifier\");\n }\n } else {\n break;\n }\n }\n if (is_WHITE_SPACE(ch)) {\n do {\n ch = state2.input.charCodeAt(++state2.position);\n } while (is_WHITE_SPACE(ch));\n if (ch === 35) {\n do {\n ch = state2.input.charCodeAt(++state2.position);\n } while (!is_EOL(ch) && ch !== 0);\n }\n }\n while (ch !== 0) {\n readLineBreak(state2);\n state2.lineIndent = 0;\n ch = state2.input.charCodeAt(state2.position);\n while ((!detectedIndent || state2.lineIndent < textIndent) && ch === 32) {\n state2.lineIndent++;\n ch = state2.input.charCodeAt(++state2.position);\n }\n if (!detectedIndent && state2.lineIndent > textIndent) {\n textIndent = state2.lineIndent;\n }\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n if (state2.lineIndent < textIndent) {\n if (chomping === CHOMPING_KEEP) {\n state2.result += common.repeat(\"\\n\", didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) {\n state2.result += \"\\n\";\n }\n }\n break;\n }\n if (folding) {\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n state2.result += common.repeat(\"\\n\", didReadContent ? 1 + emptyLines : emptyLines);\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state2.result += common.repeat(\"\\n\", emptyLines + 1);\n } else if (emptyLines === 0) {\n if (didReadContent) {\n state2.result += \" \";\n }\n } else {\n state2.result += common.repeat(\"\\n\", emptyLines);\n }\n } else {\n state2.result += common.repeat(\"\\n\", didReadContent ? 1 + emptyLines : emptyLines);\n }\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state2.position;\n while (!is_EOL(ch) && ch !== 0) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n captureSegment(state2, captureStart, state2.position, false);\n }\n return true;\n}\nfunction readBlockSequence(state2, nodeIndent) {\n var _line, _tag = state2.tag, _anchor = state2.anchor, _result = [], following, detected = false, ch;\n if (state2.firstTabInLine !== -1)\n return false;\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = _result;\n }\n ch = state2.input.charCodeAt(state2.position);\n while (ch !== 0) {\n if (state2.firstTabInLine !== -1) {\n state2.position = state2.firstTabInLine;\n throwError(state2, \"tab characters must not be used in indentation\");\n }\n if (ch !== 45) {\n break;\n }\n following = state2.input.charCodeAt(state2.position + 1);\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n detected = true;\n state2.position++;\n if (skipSeparationSpace(state2, true, -1)) {\n if (state2.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state2.input.charCodeAt(state2.position);\n continue;\n }\n }\n _line = state2.line;\n composeNode(state2, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state2.result);\n skipSeparationSpace(state2, true, -1);\n ch = state2.input.charCodeAt(state2.position);\n if ((state2.line === _line || state2.lineIndent > nodeIndent) && ch !== 0) {\n throwError(state2, \"bad indentation of a sequence entry\");\n } else if (state2.lineIndent < nodeIndent) {\n break;\n }\n }\n if (detected) {\n state2.tag = _tag;\n state2.anchor = _anchor;\n state2.kind = \"sequence\";\n state2.result = _result;\n return true;\n }\n return false;\n}\nfunction readBlockMapping(state2, nodeIndent, flowIndent) {\n var following, allowCompact, _line, _keyLine, _keyLineStart, _keyPos, _tag = state2.tag, _anchor = state2.anchor, _result = {}, overridableKeys = /* @__PURE__ */ Object.create(null), keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;\n if (state2.firstTabInLine !== -1)\n return false;\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = _result;\n }\n ch = state2.input.charCodeAt(state2.position);\n while (ch !== 0) {\n if (!atExplicitKey && state2.firstTabInLine !== -1) {\n state2.position = state2.firstTabInLine;\n throwError(state2, \"tab characters must not be used in indentation\");\n }\n following = state2.input.charCodeAt(state2.position + 1);\n _line = state2.line;\n if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {\n if (ch === 63) {\n if (atExplicitKey) {\n storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n } else if (atExplicitKey) {\n atExplicitKey = false;\n allowCompact = true;\n } else {\n throwError(state2, \"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\");\n }\n state2.position += 1;\n ch = following;\n } else {\n _keyLine = state2.line;\n _keyLineStart = state2.lineStart;\n _keyPos = state2.position;\n if (!composeNode(state2, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n break;\n }\n if (state2.line === _line) {\n ch = state2.input.charCodeAt(state2.position);\n while (is_WHITE_SPACE(ch)) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n if (ch === 58) {\n ch = state2.input.charCodeAt(++state2.position);\n if (!is_WS_OR_EOL(ch)) {\n throwError(state2, \"a whitespace character is expected after the key-value separator within a block mapping\");\n }\n if (atExplicitKey) {\n storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state2.tag;\n keyNode = state2.result;\n } else if (detected) {\n throwError(state2, \"can not read an implicit mapping pair; a colon is missed\");\n } else {\n state2.tag = _tag;\n state2.anchor = _anchor;\n return true;\n }\n } else if (detected) {\n throwError(state2, \"can not read a block mapping entry; a multiline key may not be an implicit key\");\n } else {\n state2.tag = _tag;\n state2.anchor = _anchor;\n return true;\n }\n }\n if (state2.line === _line || state2.lineIndent > nodeIndent) {\n if (atExplicitKey) {\n _keyLine = state2.line;\n _keyLineStart = state2.lineStart;\n _keyPos = state2.position;\n }\n if (composeNode(state2, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state2.result;\n } else {\n valueNode = state2.result;\n }\n }\n if (!atExplicitKey) {\n storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n skipSeparationSpace(state2, true, -1);\n ch = state2.input.charCodeAt(state2.position);\n }\n if ((state2.line === _line || state2.lineIndent > nodeIndent) && ch !== 0) {\n throwError(state2, \"bad indentation of a mapping entry\");\n } else if (state2.lineIndent < nodeIndent) {\n break;\n }\n }\n if (atExplicitKey) {\n storeMappingPair(state2, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n }\n if (detected) {\n state2.tag = _tag;\n state2.anchor = _anchor;\n state2.kind = \"mapping\";\n state2.result = _result;\n }\n return detected;\n}\nfunction readTagProperty(state2) {\n var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch !== 33)\n return false;\n if (state2.tag !== null) {\n throwError(state2, \"duplication of a tag property\");\n }\n ch = state2.input.charCodeAt(++state2.position);\n if (ch === 60) {\n isVerbatim = true;\n ch = state2.input.charCodeAt(++state2.position);\n } else if (ch === 33) {\n isNamed = true;\n tagHandle = \"!!\";\n ch = state2.input.charCodeAt(++state2.position);\n } else {\n tagHandle = \"!\";\n }\n _position = state2.position;\n if (isVerbatim) {\n do {\n ch = state2.input.charCodeAt(++state2.position);\n } while (ch !== 0 && ch !== 62);\n if (state2.position < state2.length) {\n tagName = state2.input.slice(_position, state2.position);\n ch = state2.input.charCodeAt(++state2.position);\n } else {\n throwError(state2, \"unexpected end of the stream within a verbatim tag\");\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n if (ch === 33) {\n if (!isNamed) {\n tagHandle = state2.input.slice(_position - 1, state2.position + 1);\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state2, \"named tag handle cannot contain such characters\");\n }\n isNamed = true;\n _position = state2.position + 1;\n } else {\n throwError(state2, \"tag suffix cannot contain exclamation marks\");\n }\n }\n ch = state2.input.charCodeAt(++state2.position);\n }\n tagName = state2.input.slice(_position, state2.position);\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state2, \"tag suffix cannot contain flow indicator characters\");\n }\n }\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state2, \"tag name cannot contain such characters: \" + tagName);\n }\n try {\n tagName = decodeURIComponent(tagName);\n } catch (err) {\n throwError(state2, \"tag name is malformed: \" + tagName);\n }\n if (isVerbatim) {\n state2.tag = tagName;\n } else if (_hasOwnProperty$1.call(state2.tagMap, tagHandle)) {\n state2.tag = state2.tagMap[tagHandle] + tagName;\n } else if (tagHandle === \"!\") {\n state2.tag = \"!\" + tagName;\n } else if (tagHandle === \"!!\") {\n state2.tag = \"tag:yaml.org,2002:\" + tagName;\n } else {\n throwError(state2, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n return true;\n}\nfunction readAnchorProperty(state2) {\n var _position, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch !== 38)\n return false;\n if (state2.anchor !== null) {\n throwError(state2, \"duplication of an anchor property\");\n }\n ch = state2.input.charCodeAt(++state2.position);\n _position = state2.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n if (state2.position === _position) {\n throwError(state2, \"name of an anchor node must contain at least one character\");\n }\n state2.anchor = state2.input.slice(_position, state2.position);\n return true;\n}\nfunction readAlias(state2) {\n var _position, alias, ch;\n ch = state2.input.charCodeAt(state2.position);\n if (ch !== 42)\n return false;\n ch = state2.input.charCodeAt(++state2.position);\n _position = state2.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n if (state2.position === _position) {\n throwError(state2, \"name of an alias node must contain at least one character\");\n }\n alias = state2.input.slice(_position, state2.position);\n if (!_hasOwnProperty$1.call(state2.anchorMap, alias)) {\n throwError(state2, 'unidentified alias \"' + alias + '\"');\n }\n state2.result = state2.anchorMap[alias];\n skipSeparationSpace(state2, true, -1);\n return true;\n}\nfunction composeNode(state2, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type2, flowIndent, blockIndent;\n if (state2.listener !== null) {\n state2.listener(\"open\", state2);\n }\n state2.tag = null;\n state2.anchor = null;\n state2.kind = null;\n state2.result = null;\n allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;\n if (allowToSeek) {\n if (skipSeparationSpace(state2, true, -1)) {\n atNewLine = true;\n if (state2.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state2.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state2.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n if (indentStatus === 1) {\n while (readTagProperty(state2) || readAnchorProperty(state2)) {\n if (skipSeparationSpace(state2, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n if (state2.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state2.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state2.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n blockIndent = state2.position - state2.lineStart;\n if (indentStatus === 1) {\n if (allowBlockCollections && (readBlockSequence(state2, blockIndent) || readBlockMapping(state2, blockIndent, flowIndent)) || readFlowCollection(state2, flowIndent)) {\n hasContent = true;\n } else {\n if (allowBlockScalars && readBlockScalar(state2, flowIndent) || readSingleQuotedScalar(state2, flowIndent) || readDoubleQuotedScalar(state2, flowIndent)) {\n hasContent = true;\n } else if (readAlias(state2)) {\n hasContent = true;\n if (state2.tag !== null || state2.anchor !== null) {\n throwError(state2, \"alias node should not have any properties\");\n }\n } else if (readPlainScalar(state2, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n if (state2.tag === null) {\n state2.tag = \"?\";\n }\n }\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = state2.result;\n }\n }\n } else if (indentStatus === 0) {\n hasContent = allowBlockCollections && readBlockSequence(state2, blockIndent);\n }\n }\n if (state2.tag === null) {\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = state2.result;\n }\n } else if (state2.tag === \"?\") {\n if (state2.result !== null && state2.kind !== \"scalar\") {\n throwError(state2, 'unacceptable node kind for ! tag; it should be \"scalar\", not \"' + state2.kind + '\"');\n }\n for (typeIndex = 0, typeQuantity = state2.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type2 = state2.implicitTypes[typeIndex];\n if (type2.resolve(state2.result)) {\n state2.result = type2.construct(state2.result);\n state2.tag = type2.tag;\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = state2.result;\n }\n break;\n }\n }\n } else if (state2.tag !== \"!\") {\n if (_hasOwnProperty$1.call(state2.typeMap[state2.kind || \"fallback\"], state2.tag)) {\n type2 = state2.typeMap[state2.kind || \"fallback\"][state2.tag];\n } else {\n type2 = null;\n typeList = state2.typeMap.multi[state2.kind || \"fallback\"];\n for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) {\n if (state2.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {\n type2 = typeList[typeIndex];\n break;\n }\n }\n }\n if (!type2) {\n throwError(state2, \"unknown tag !<\" + state2.tag + \">\");\n }\n if (state2.result !== null && type2.kind !== state2.kind) {\n throwError(state2, \"unacceptable node kind for !<\" + state2.tag + '> tag; it should be \"' + type2.kind + '\", not \"' + state2.kind + '\"');\n }\n if (!type2.resolve(state2.result, state2.tag)) {\n throwError(state2, \"cannot resolve a node with !<\" + state2.tag + \"> explicit tag\");\n } else {\n state2.result = type2.construct(state2.result, state2.tag);\n if (state2.anchor !== null) {\n state2.anchorMap[state2.anchor] = state2.result;\n }\n }\n }\n if (state2.listener !== null) {\n state2.listener(\"close\", state2);\n }\n return state2.tag !== null || state2.anchor !== null || hasContent;\n}\nfunction readDocument(state2) {\n var documentStart = state2.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;\n state2.version = null;\n state2.checkLineBreaks = state2.legacy;\n state2.tagMap = /* @__PURE__ */ Object.create(null);\n state2.anchorMap = /* @__PURE__ */ Object.create(null);\n while ((ch = state2.input.charCodeAt(state2.position)) !== 0) {\n skipSeparationSpace(state2, true, -1);\n ch = state2.input.charCodeAt(state2.position);\n if (state2.lineIndent > 0 || ch !== 37) {\n break;\n }\n hasDirectives = true;\n ch = state2.input.charCodeAt(++state2.position);\n _position = state2.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n directiveName = state2.input.slice(_position, state2.position);\n directiveArgs = [];\n if (directiveName.length < 1) {\n throwError(state2, \"directive name must not be less than one character in length\");\n }\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n if (ch === 35) {\n do {\n ch = state2.input.charCodeAt(++state2.position);\n } while (ch !== 0 && !is_EOL(ch));\n break;\n }\n if (is_EOL(ch))\n break;\n _position = state2.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state2.input.charCodeAt(++state2.position);\n }\n directiveArgs.push(state2.input.slice(_position, state2.position));\n }\n if (ch !== 0)\n readLineBreak(state2);\n if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state2, directiveName, directiveArgs);\n } else {\n throwWarning(state2, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n skipSeparationSpace(state2, true, -1);\n if (state2.lineIndent === 0 && state2.input.charCodeAt(state2.position) === 45 && state2.input.charCodeAt(state2.position + 1) === 45 && state2.input.charCodeAt(state2.position + 2) === 45) {\n state2.position += 3;\n skipSeparationSpace(state2, true, -1);\n } else if (hasDirectives) {\n throwError(state2, \"directives end mark is expected\");\n }\n composeNode(state2, state2.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state2, true, -1);\n if (state2.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state2.input.slice(documentStart, state2.position))) {\n throwWarning(state2, \"non-ASCII line breaks are interpreted as content\");\n }\n state2.documents.push(state2.result);\n if (state2.position === state2.lineStart && testDocumentSeparator(state2)) {\n if (state2.input.charCodeAt(state2.position) === 46) {\n state2.position += 3;\n skipSeparationSpace(state2, true, -1);\n }\n return;\n }\n if (state2.position < state2.length - 1) {\n throwError(state2, \"end of the stream or a document separator is expected\");\n } else {\n return;\n }\n}\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n if (input.length !== 0) {\n if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {\n input += \"\\n\";\n }\n if (input.charCodeAt(0) === 65279) {\n input = input.slice(1);\n }\n }\n var state2 = new State$1(input, options);\n var nullpos = input.indexOf(\"\\0\");\n if (nullpos !== -1) {\n state2.position = nullpos;\n throwError(state2, \"null byte is not allowed in input\");\n }\n state2.input += \"\\0\";\n while (state2.input.charCodeAt(state2.position) === 32) {\n state2.lineIndent += 1;\n state2.position += 1;\n }\n while (state2.position < state2.length - 1) {\n readDocument(state2);\n }\n return state2.documents;\n}\nfunction loadAll$1(input, iterator, options) {\n if (iterator !== null && typeof iterator === \"object\" && typeof options === \"undefined\") {\n options = iterator;\n iterator = null;\n }\n var documents = loadDocuments(input, options);\n if (typeof iterator !== \"function\") {\n return documents;\n }\n for (var index = 0, length2 = documents.length; index < length2; index += 1) {\n iterator(documents[index]);\n }\n}\nfunction load$1(input, options) {\n var documents = loadDocuments(input, options);\n if (documents.length === 0) {\n return void 0;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new exception(\"expected a single document in the stream, but found more\");\n}\nvar loadAll_1 = loadAll$1;\nvar load_1 = load$1;\nvar loader = {\n loadAll: loadAll_1,\n load: load_1\n};\nvar JSON_SCHEMA = json;\nvar load = loader.load;\nfunction extractFrontMatter(text2) {\n const matches = text2.match(frontMatterRegex);\n if (!matches) {\n return {\n text: text2,\n metadata: {}\n };\n }\n let parsed = load(matches[1], {\n // To support config, we need JSON schema.\n // https://www.yaml.org/spec/1.2/spec.html#id2803231\n schema: JSON_SCHEMA\n }) ?? {};\n parsed = typeof parsed === \"object\" && !Array.isArray(parsed) ? parsed : {};\n const metadata = {};\n if (parsed.displayMode) {\n metadata.displayMode = parsed.displayMode.toString();\n }\n if (parsed.title) {\n metadata.title = parsed.title.toString();\n }\n if (parsed.config) {\n metadata.config = parsed.config;\n }\n return {\n text: text2.slice(matches[0].length),\n metadata\n };\n}\nconst cleanupText = (code) => {\n return code.replace(/\\r\\n?/g, \"\\n\").replace(\n /<(\\w+)([^>]*)>/g,\n (match, tag, attributes) => \"<\" + tag + attributes.replace(/=\"([^\"]*)\"/g, \"='$1'\") + \">\"\n );\n};\nconst processFrontmatter = (code) => {\n const { text: text2, metadata } = extractFrontMatter(code);\n const { displayMode, title, config: config2 = {} } = metadata;\n if (displayMode) {\n if (!config2.gantt) {\n config2.gantt = {};\n }\n config2.gantt.displayMode = displayMode;\n }\n return { title, config: config2, text: text2 };\n};\nconst processDirectives = (code) => {\n const initDirective = utils.detectInit(code) ?? {};\n const wrapDirectives = utils.detectDirective(code, \"wrap\");\n if (Array.isArray(wrapDirectives)) {\n initDirective.wrap = wrapDirectives.some(({ type: type2 }) => {\n });\n } else if ((wrapDirectives == null ? void 0 : wrapDirectives.type) === \"wrap\") {\n initDirective.wrap = true;\n }\n return {\n text: removeDirectives(code),\n directive: initDirective\n };\n};\nfunction preprocessDiagram(code) {\n const cleanedCode = cleanupText(code);\n const frontMatterResult = processFrontmatter(cleanedCode);\n const directiveResult = processDirectives(frontMatterResult.text);\n const config2 = cleanAndMerge(frontMatterResult.config, directiveResult.directive);\n code = cleanupComments(directiveResult.text);\n return {\n code,\n title: frontMatterResult.title,\n config: config2\n };\n}\nconst MAX_TEXTLENGTH = 5e4;\nconst MAX_TEXTLENGTH_EXCEEDED_MSG = \"graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa\";\nconst SECURITY_LVL_SANDBOX = \"sandbox\";\nconst SECURITY_LVL_LOOSE = \"loose\";\nconst XMLNS_SVG_STD = \"http://www.w3.org/2000/svg\";\nconst XMLNS_XLINK_STD = \"http://www.w3.org/1999/xlink\";\nconst XMLNS_XHTML_STD = \"http://www.w3.org/1999/xhtml\";\nconst IFRAME_WIDTH = \"100%\";\nconst IFRAME_HEIGHT = \"100%\";\nconst IFRAME_STYLES = \"border:0;margin:0;\";\nconst IFRAME_BODY_STYLE = \"margin:0\";\nconst IFRAME_SANDBOX_OPTS = \"allow-top-navigation-by-user-activation allow-popups\";\nconst IFRAME_NOT_SUPPORTED_MSG = 'The \"iframe\" tag is not supported by your browser.';\nconst DOMPURIFY_TAGS = [\"foreignobject\"];\nconst DOMPURIFY_ATTR = [\"dominant-baseline\"];\nfunction processAndSetConfigs(text2) {\n const processed = preprocessDiagram(text2);\n reset();\n addDirective(processed.config ?? {});\n return processed;\n}\nasync function parse$1(text2, parseOptions) {\n addDiagrams();\n text2 = processAndSetConfigs(text2).code;\n try {\n await getDiagramFromText(text2);\n } catch (error) {\n if (parseOptions == null ? void 0 : parseOptions.suppressErrors) {\n return false;\n }\n throw error;\n }\n return true;\n}\nconst cssImportantStyles = (cssClass, element, cssClasses = []) => {\n return `\n.${cssClass} ${element} { ${cssClasses.join(\" !important; \")} !important; }`;\n};\nconst createCssStyles = (config2, classDefs = {}) => {\n var _a;\n let cssStyles = \"\";\n if (config2.themeCSS !== void 0) {\n cssStyles += `\n${config2.themeCSS}`;\n }\n if (config2.fontFamily !== void 0) {\n cssStyles += `\n:root { --mermaid-font-family: ${config2.fontFamily}}`;\n }\n if (config2.altFontFamily !== void 0) {\n cssStyles += `\n:root { --mermaid-alt-font-family: ${config2.altFontFamily}}`;\n }\n if (!isEmpty(classDefs)) {\n const htmlLabels = config2.htmlLabels || ((_a = config2.flowchart) == null ? void 0 : _a.htmlLabels);\n const cssHtmlElements = [\"> *\", \"span\"];\n const cssShapeElements = [\"rect\", \"polygon\", \"ellipse\", \"circle\", \"path\"];\n const cssElements = htmlLabels ? cssHtmlElements : cssShapeElements;\n for (const classId in classDefs) {\n const styleClassDef = classDefs[classId];\n if (!isEmpty(styleClassDef.styles)) {\n cssElements.forEach((cssElement) => {\n cssStyles += cssImportantStyles(styleClassDef.id, cssElement, styleClassDef.styles);\n });\n }\n if (!isEmpty(styleClassDef.textStyles)) {\n cssStyles += cssImportantStyles(styleClassDef.id, \"tspan\", styleClassDef.textStyles);\n }\n }\n }\n return cssStyles;\n};\nconst createUserStyles = (config2, graphType, classDefs, svgId) => {\n const userCSSstyles = createCssStyles(config2, classDefs);\n const allStyles = getStyles$1(graphType, userCSSstyles, config2.themeVariables);\n return serialize(compile(`${svgId}{${allStyles}}`), stringify);\n};\nconst cleanUpSvgCode = (svgCode = \"\", inSandboxMode, useArrowMarkerUrls) => {\n let cleanedUpSvg = svgCode;\n if (!useArrowMarkerUrls && !inSandboxMode) {\n cleanedUpSvg = cleanedUpSvg.replace(\n /marker-end=\"url\\([\\d+./:=?A-Za-z-]*?#/g,\n 'marker-end=\"url(#'\n );\n }\n cleanedUpSvg = decodeEntities(cleanedUpSvg);\n cleanedUpSvg = cleanedUpSvg.replace(/
/g, \"
\");\n return cleanedUpSvg;\n};\nconst putIntoIFrame = (svgCode = \"\", svgElement) => {\n var _a, _b;\n const height = ((_b = (_a = svgElement == null ? void 0 : svgElement.viewBox) == null ? void 0 : _a.baseVal) == null ? void 0 : _b.height) ? svgElement.viewBox.baseVal.height + \"px\" : IFRAME_HEIGHT;\n const base64encodedSrc = btoa('' + svgCode + \"\");\n return ``;\n};\nconst appendDivSvgG = (parentRoot, id2, enclosingDivId, divStyle, svgXlink) => {\n const enclosingDiv = parentRoot.append(\"div\");\n enclosingDiv.attr(\"id\", enclosingDivId);\n if (divStyle) {\n enclosingDiv.attr(\"style\", divStyle);\n }\n const svgNode2 = enclosingDiv.append(\"svg\").attr(\"id\", id2).attr(\"width\", \"100%\").attr(\"xmlns\", XMLNS_SVG_STD);\n if (svgXlink) {\n svgNode2.attr(\"xmlns:xlink\", svgXlink);\n }\n svgNode2.append(\"g\");\n return parentRoot;\n};\nfunction sandboxedIframe(parentNode, iFrameId) {\n return parentNode.append(\"iframe\").attr(\"id\", iFrameId).attr(\"style\", \"width: 100%; height: 100%;\").attr(\"sandbox\", \"\");\n}\nconst removeExistingElements = (doc, id2, divId, iFrameId) => {\n var _a, _b, _c;\n (_a = doc.getElementById(id2)) == null ? void 0 : _a.remove();\n (_b = doc.getElementById(divId)) == null ? void 0 : _b.remove();\n (_c = doc.getElementById(iFrameId)) == null ? void 0 : _c.remove();\n};\nconst render$1 = async function(id2, text2, svgContainingElement) {\n var _a, _b, _c, _d, _e, _f;\n addDiagrams();\n const processed = processAndSetConfigs(text2);\n text2 = processed.code;\n const config2 = getConfig$1();\n log$1.debug(config2);\n if (text2.length > ((config2 == null ? void 0 : config2.maxTextSize) ?? MAX_TEXTLENGTH)) {\n text2 = MAX_TEXTLENGTH_EXCEEDED_MSG;\n }\n const idSelector = \"#\" + id2;\n const iFrameID = \"i\" + id2;\n const iFrameID_selector = \"#\" + iFrameID;\n const enclosingDivID = \"d\" + id2;\n const enclosingDivID_selector = \"#\" + enclosingDivID;\n let root2 = d3select(\"body\");\n const isSandboxed = config2.securityLevel === SECURITY_LVL_SANDBOX;\n const isLooseSecurityLevel = config2.securityLevel === SECURITY_LVL_LOOSE;\n const fontFamily = config2.fontFamily;\n if (svgContainingElement !== void 0) {\n if (svgContainingElement) {\n svgContainingElement.innerHTML = \"\";\n }\n if (isSandboxed) {\n const iframe = sandboxedIframe(d3select(svgContainingElement), iFrameID);\n root2 = d3select(iframe.nodes()[0].contentDocument.body);\n root2.node().style.margin = 0;\n } else {\n root2 = d3select(svgContainingElement);\n }\n appendDivSvgG(root2, id2, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);\n } else {\n removeExistingElements(document, id2, enclosingDivID, iFrameID);\n if (isSandboxed) {\n const iframe = sandboxedIframe(d3select(\"body\"), iFrameID);\n root2 = d3select(iframe.nodes()[0].contentDocument.body);\n root2.node().style.margin = 0;\n } else {\n root2 = d3select(\"body\");\n }\n appendDivSvgG(root2, id2, enclosingDivID);\n }\n let diag;\n let parseEncounteredException;\n try {\n diag = await getDiagramFromText(text2, { title: processed.title });\n } catch (error) {\n diag = new Diagram(\"error\");\n parseEncounteredException = error;\n }\n const element = root2.select(enclosingDivID_selector).node();\n const diagramType = diag.type;\n const svg2 = element.firstChild;\n const firstChild = svg2.firstChild;\n const diagramClassDefs = (_b = (_a = diag.renderer).getClasses) == null ? void 0 : _b.call(_a, text2, diag);\n const rules = createUserStyles(config2, diagramType, diagramClassDefs, idSelector);\n const style1 = document.createElement(\"style\");\n style1.innerHTML = rules;\n svg2.insertBefore(style1, firstChild);\n try {\n await diag.renderer.draw(text2, id2, version, diag);\n } catch (e) {\n errorRenderer.draw(text2, id2, version);\n throw e;\n }\n const svgNode2 = root2.select(`${enclosingDivID_selector} svg`);\n const a11yTitle = (_d = (_c = diag.db).getAccTitle) == null ? void 0 : _d.call(_c);\n const a11yDescr = (_f = (_e = diag.db).getAccDescription) == null ? void 0 : _f.call(_e);\n addA11yInfo(diagramType, svgNode2, a11yTitle, a11yDescr);\n root2.select(`[id=\"${id2}\"]`).selectAll(\"foreignobject > *\").attr(\"xmlns\", XMLNS_XHTML_STD);\n let svgCode = root2.select(enclosingDivID_selector).node().innerHTML;\n log$1.debug(\"config.arrowMarkerAbsolute\", config2.arrowMarkerAbsolute);\n svgCode = cleanUpSvgCode(svgCode, isSandboxed, evaluate(config2.arrowMarkerAbsolute));\n if (isSandboxed) {\n const svgEl = root2.select(enclosingDivID_selector + \" svg\").node();\n svgCode = putIntoIFrame(svgCode, svgEl);\n } else if (!isLooseSecurityLevel) {\n svgCode = purify.sanitize(svgCode, {\n ADD_TAGS: DOMPURIFY_TAGS,\n ADD_ATTR: DOMPURIFY_ATTR\n });\n }\n attachFunctions();\n if (parseEncounteredException) {\n throw parseEncounteredException;\n }\n const tmpElementSelector = isSandboxed ? iFrameID_selector : enclosingDivID_selector;\n const node2 = d3select(tmpElementSelector).node();\n if (node2 && \"remove\" in node2) {\n node2.remove();\n }\n return {\n svg: svgCode,\n bindFunctions: diag.db.bindFunctions\n };\n};\nfunction initialize$1(options = {}) {\n var _a;\n if ((options == null ? void 0 : options.fontFamily) && !((_a = options.themeVariables) == null ? void 0 : _a.fontFamily)) {\n if (!options.themeVariables) {\n options.themeVariables = {};\n }\n options.themeVariables.fontFamily = options.fontFamily;\n }\n saveConfigFromInitialize(options);\n if ((options == null ? void 0 : options.theme) && options.theme in theme) {\n options.themeVariables = theme[options.theme].getThemeVariables(\n options.themeVariables\n );\n } else if (options) {\n options.themeVariables = theme.default.getThemeVariables(options.themeVariables);\n }\n const config2 = typeof options === \"object\" ? setSiteConfig(options) : getSiteConfig();\n setLogLevel$1(config2.logLevel);\n addDiagrams();\n}\nconst getDiagramFromText = (text2, metadata = {}) => {\n const { code } = preprocessDiagram(text2);\n return getDiagramFromText$1(code, metadata);\n};\nfunction addA11yInfo(diagramType, svgNode2, a11yTitle, a11yDescr) {\n setA11yDiagramInfo(svgNode2, diagramType);\n addSVGa11yTitleDescription(svgNode2, a11yTitle, a11yDescr, svgNode2.attr(\"id\"));\n}\nconst mermaidAPI = Object.freeze({\n render: render$1,\n parse: parse$1,\n getDiagramFromText,\n initialize: initialize$1,\n getConfig: getConfig$1,\n setConfig: setConfig$1,\n getSiteConfig,\n updateSiteConfig,\n reset: () => {\n reset();\n },\n globalReset: () => {\n reset(defaultConfig$1);\n },\n defaultConfig: defaultConfig$1\n});\nsetLogLevel$1(getConfig$1().logLevel);\nreset(getConfig$1());\nconst loadRegisteredDiagrams = async () => {\n log$1.debug(`Loading registered diagrams`);\n const results = await Promise.allSettled(\n Object.entries(detectors).map(async ([key, { detector: detector2, loader: loader2 }]) => {\n if (loader2) {\n try {\n getDiagram(key);\n } catch (error) {\n try {\n const { diagram: diagram2, id: id2 } = await loader2();\n registerDiagram(id2, diagram2, detector2);\n } catch (err) {\n log$1.error(`Failed to load external diagram with key ${key}. Removing from detectors.`);\n delete detectors[key];\n throw err;\n }\n }\n }\n })\n );\n const failed = results.filter((result) => result.status === \"rejected\");\n if (failed.length > 0) {\n log$1.error(`Failed to load ${failed.length} external diagrams`);\n for (const res of failed) {\n log$1.error(res);\n }\n throw new Error(`Failed to load ${failed.length} external diagrams`);\n }\n};\nconst handleError = (error, errors, parseError) => {\n log$1.warn(error);\n if (isDetailedError(error)) {\n if (parseError) {\n parseError(error.str, error.hash);\n }\n errors.push({ ...error, message: error.str, error });\n } else {\n if (parseError) {\n parseError(error);\n }\n if (error instanceof Error) {\n errors.push({\n str: error.message,\n message: error.message,\n hash: error.name,\n error\n });\n }\n }\n};\nconst run = async function(options = {\n querySelector: \".mermaid\"\n}) {\n try {\n await runThrowsErrors(options);\n } catch (e) {\n if (isDetailedError(e)) {\n log$1.error(e.str);\n }\n if (mermaid.parseError) {\n mermaid.parseError(e);\n }\n if (!options.suppressErrors) {\n log$1.error(\"Use the suppressErrors option to suppress these errors\");\n throw e;\n }\n }\n};\nconst runThrowsErrors = async function({ postRenderCallback, querySelector, nodes } = {\n querySelector: \".mermaid\"\n}) {\n const conf = mermaidAPI.getConfig();\n log$1.debug(`${!postRenderCallback ? \"No \" : \"\"}Callback function found`);\n let nodesToProcess;\n if (nodes) {\n nodesToProcess = nodes;\n } else if (querySelector) {\n nodesToProcess = document.querySelectorAll(querySelector);\n } else {\n throw new Error(\"Nodes and querySelector are both undefined\");\n }\n log$1.debug(`Found ${nodesToProcess.length} diagrams`);\n if ((conf == null ? void 0 : conf.startOnLoad) !== void 0) {\n log$1.debug(\"Start On Load: \" + (conf == null ? void 0 : conf.startOnLoad));\n mermaidAPI.updateSiteConfig({ startOnLoad: conf == null ? void 0 : conf.startOnLoad });\n }\n const idGenerator = new utils.InitIDGenerator(conf.deterministicIds, conf.deterministicIDSeed);\n let txt;\n const errors = [];\n for (const element of Array.from(nodesToProcess)) {\n log$1.info(\"Rendering diagram: \" + element.id);\n /*! Check if previously processed */\n if (element.getAttribute(\"data-processed\")) {\n continue;\n }\n element.setAttribute(\"data-processed\", \"true\");\n const id2 = `mermaid-${idGenerator.next()}`;\n txt = element.innerHTML;\n txt = dedent(utils.entityDecode(txt)).trim().replace(//gi, \"
\");\n const init2 = utils.detectInit(txt);\n if (init2) {\n log$1.debug(\"Detected early reinit: \", init2);\n }\n try {\n const { svg: svg2, bindFunctions } = await render(id2, txt, element);\n element.innerHTML = svg2;\n if (postRenderCallback) {\n await postRenderCallback(id2);\n }\n if (bindFunctions) {\n bindFunctions(element);\n }\n } catch (error) {\n handleError(error, errors, mermaid.parseError);\n }\n }\n if (errors.length > 0) {\n throw errors[0];\n }\n};\nconst initialize = function(config2) {\n mermaidAPI.initialize(config2);\n};\nconst init = async function(config2, nodes, callback) {\n log$1.warn(\"mermaid.init is deprecated. Please use run instead.\");\n if (config2) {\n initialize(config2);\n }\n const runOptions = { postRenderCallback: callback, querySelector: \".mermaid\" };\n if (typeof nodes === \"string\") {\n runOptions.querySelector = nodes;\n } else if (nodes) {\n if (nodes instanceof HTMLElement) {\n runOptions.nodes = [nodes];\n } else {\n runOptions.nodes = nodes;\n }\n }\n await run(runOptions);\n};\nconst registerExternalDiagrams = async (diagrams2, {\n lazyLoad = true\n} = {}) => {\n registerLazyLoadedDiagrams(...diagrams2);\n if (lazyLoad === false) {\n await loadRegisteredDiagrams();\n }\n};\nconst contentLoaded = function() {\n if (mermaid.startOnLoad) {\n const { startOnLoad } = mermaidAPI.getConfig();\n if (startOnLoad) {\n mermaid.run().catch((err) => log$1.error(\"Mermaid failed to initialize\", err));\n }\n }\n};\nif (typeof document !== \"undefined\") {\n /*!\n * Wait for document loaded before starting the execution\n */\n window.addEventListener(\"load\", contentLoaded, false);\n}\nconst setParseErrorHandler = function(parseErrorHandler) {\n mermaid.parseError = parseErrorHandler;\n};\nconst executionQueue = [];\nlet executionQueueRunning = false;\nconst executeQueue = async () => {\n if (executionQueueRunning) {\n return;\n }\n executionQueueRunning = true;\n while (executionQueue.length > 0) {\n const f = executionQueue.shift();\n if (f) {\n try {\n await f();\n } catch (e) {\n log$1.error(\"Error executing queue\", e);\n }\n }\n }\n executionQueueRunning = false;\n};\nconst parse = async (text2, parseOptions) => {\n return new Promise((resolve, reject) => {\n const performCall = () => new Promise((res, rej) => {\n mermaidAPI.parse(text2, parseOptions).then(\n (r) => {\n res(r);\n resolve(r);\n },\n (e) => {\n var _a;\n log$1.error(\"Error parsing\", e);\n (_a = mermaid.parseError) == null ? void 0 : _a.call(mermaid, e);\n rej(e);\n reject(e);\n }\n );\n });\n executionQueue.push(performCall);\n executeQueue().catch(reject);\n });\n};\nconst render = (id2, text2, container) => {\n return new Promise((resolve, reject) => {\n const performCall = () => new Promise((res, rej) => {\n mermaidAPI.render(id2, text2, container).then(\n (r) => {\n res(r);\n resolve(r);\n },\n (e) => {\n var _a;\n log$1.error(\"Error parsing\", e);\n (_a = mermaid.parseError) == null ? void 0 : _a.call(mermaid, e);\n rej(e);\n reject(e);\n }\n );\n });\n executionQueue.push(performCall);\n executeQueue().catch(reject);\n });\n};\nconst mermaid = {\n startOnLoad: true,\n mermaidAPI,\n parse,\n render,\n init,\n run,\n registerExternalDiagrams,\n initialize,\n parseError: void 0,\n contentLoaded,\n setParseErrorHandler,\n detectType\n};\nexport {\n constant$1 as $,\n utils as A,\n rgba$1 as B,\n setDiagramTitle as C,\n getDiagramTitle as D,\n clear as E,\n curveBasis as F,\n parseGenericTypes as G,\n random as H,\n setupGraphViewbox as I,\n define as J,\n extend$1 as K,\n Color$2 as L,\n rgbConvert as M,\n nogamma as N,\n hue as O,\n commonjsGlobal as P,\n getDefaultExportFromCjs as Q,\n Rgb as R,\n Selection$1 as S,\n dayjs as T,\n selectSvgElement as U,\n tau as V,\n defaultConfig$2 as W,\n cleanAndMerge as X,\n parseFontSize as Y,\n getThemeVariables$2 as Z,\n getConfig$1 as _,\n getAccDescription as a,\n Stack as a$,\n interpolateNumber as a0,\n color as a1,\n interpolateRgb as a2,\n interpolateString as a3,\n hasKatex as a4,\n ZERO_WIDTH_SPACE as a5,\n calculateMathMLDimensions as a6,\n generateId as a7,\n isObject$1 as a8,\n setToString$1 as a9,\n epsilon as aA,\n sqrt as aB,\n min as aC,\n abs$1 as aD,\n atan2 as aE,\n asin as aF,\n acos as aG,\n max as aH,\n _ as aI,\n Color$1 as aJ,\n isObjectLike as aK,\n baseGetTag as aL,\n Symbol$2 as aM,\n arrayLikeKeys as aN,\n baseKeys as aO,\n memoize as aP,\n isArguments$1 as aQ,\n copyObject as aR,\n getPrototype$1 as aS,\n cloneArrayBuffer as aT,\n cloneTypedArray as aU,\n getTag$1 as aV,\n nodeUtil$1 as aW,\n copyArray as aX,\n isBuffer$1 as aY,\n cloneBuffer as aZ,\n initCloneObject as a_,\n overRest as aa,\n root$1 as ab,\n baseRest as ac,\n isIterateeCall as ad,\n keysIn as ae,\n eq as af,\n isArrayLike as ag,\n isArray$1 as ah,\n baseFor$1 as ai,\n baseAssignValue as aj,\n identity as ak,\n isIndex as al,\n assignValue as am,\n baseUnary as an,\n constant as ao,\n merge$2 as ap,\n lineBreakRegex as aq,\n defaultConfig as ar,\n commonDb as as,\n isDark$1 as at,\n lighten$1 as au,\n darken$1 as av,\n pi as aw,\n cos as ax,\n sin as ay,\n halfPi as az,\n setAccDescription as b,\n MapCache as b0,\n Uint8Array$2 as b1,\n isTypedArray$1 as b2,\n isLength as b3,\n Set$2 as b4,\n isArrayLikeObject as b5,\n isEmpty as b6,\n decodeEntities as b7,\n dedent as b8,\n mermaid as b9,\n getConfig as c,\n sanitizeText$2 as d,\n dist as e,\n common$1 as f,\n getAccTitle as g,\n assignWithDepth$1 as h,\n calculateTextWidth as i,\n d3select as j,\n configureSvgSize as k,\n log$1 as l,\n calculateTextHeight as m,\n curveLinear as n,\n getStylesFromArray as o,\n evaluate as p,\n interpolateToCurve as q,\n renderKatex as r,\n setAccTitle as s,\n setupGraphViewbox$1 as t,\n setConfig as u,\n root$2 as v,\n wrapLabel as w,\n array as x,\n isPlainObject as y,\n isFunction as z\n};\n"], "mappings": "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", "names": [] diff --git a/docs/.vitepress/cache/deps/chunk-SSSTV3QS.js b/docs/.vitepress/cache/deps/chunk-NKPCMO6O.js similarity index 99% rename from docs/.vitepress/cache/deps/chunk-SSSTV3QS.js rename to docs/.vitepress/cache/deps/chunk-NKPCMO6O.js index 5d298e8d..17d7573a 100644 --- a/docs/.vitepress/cache/deps/chunk-SSSTV3QS.js +++ b/docs/.vitepress/cache/deps/chunk-NKPCMO6O.js @@ -1,4 +1,4 @@ -// node_modules/@vue/shared/dist/shared.esm-bundler.js +// node_modules/.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js function makeMap(str) { const map2 = /* @__PURE__ */ Object.create(null); for (const key of str.split(",")) map2[key] = 1; @@ -302,7 +302,7 @@ var stringifySymbol = (v, i = "") => { ); }; -// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js +// node_modules/.pnpm/@vue+reactivity@3.5.13/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js function warn(msg, ...args) { console.warn(`[Vue warn] ${msg}`, ...args); } @@ -2072,7 +2072,7 @@ function traverse(value, depth = Infinity, seen) { return value; } -// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +// node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js var stack = []; function pushWarningContext(vnode) { stack.push(vnode); @@ -10487,7 +10487,7 @@ var resolveFilter = null; var compatUtils = null; var DeprecationTypes = null; -// node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js +// node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js var policy = void 0; var tt = typeof window !== "undefined" && window.trustedTypes; if (tt) { @@ -12311,7 +12311,7 @@ var initDirectivesForSSR = () => { } }; -// node_modules/vue/dist/vue.runtime.esm-bundler.js +// node_modules/.pnpm/vue@3.5.13_typescript@5.7.2/node_modules/vue/dist/vue.runtime.esm-bundler.js function initDev() { { initCustomFormatter(); @@ -12549,4 +12549,4 @@ vue/dist/vue.runtime.esm-bundler.js: * @license MIT **) */ -//# sourceMappingURL=chunk-SSSTV3QS.js.map +//# sourceMappingURL=chunk-NKPCMO6O.js.map diff --git a/docs/.vitepress/cache/deps/chunk-SSSTV3QS.js.map b/docs/.vitepress/cache/deps/chunk-NKPCMO6O.js.map similarity index 99% rename from docs/.vitepress/cache/deps/chunk-SSSTV3QS.js.map rename to docs/.vitepress/cache/deps/chunk-NKPCMO6O.js.map index 07daa6d0..177aff0b 100644 --- a/docs/.vitepress/cache/deps/chunk-SSSTV3QS.js.map +++ b/docs/.vitepress/cache/deps/chunk-NKPCMO6O.js.map @@ -1,6 +1,6 @@ { "version": 3, - "sources": ["../../../../node_modules/@vue/shared/dist/shared.esm-bundler.js", "../../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js", "../../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js", "../../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js", "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js"], + "sources": ["../../../../node_modules/.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js", "../../../../node_modules/.pnpm/@vue+reactivity@3.5.13/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js", "../../../../node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js", "../../../../node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js", "../../../../node_modules/.pnpm/vue@3.5.13_typescript@5.7.2/node_modules/vue/dist/vue.runtime.esm-bundler.js"], "sourcesContent": ["/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,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,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n", "/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n", "/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n", "import { withInstall } from '@element-plus/utils'\nimport Affix from './src/affix.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\nexport const ElAffix: SFCWithInstall = withInstall(Affix)\nexport default ElAffix\n\nexport * from './src/affix'\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Icon from './icon.vue'\n\nexport const iconProps = buildProps({\n /**\n * @description SVG icon size, size x size\n */\n size: {\n type: definePropType([Number, String]),\n },\n /**\n * @description SVG tag's fill attribute\n */\n color: {\n type: String,\n },\n} as const)\nexport type IconProps = ExtractPropTypes\nexport type IconInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Icon from './src/icon.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElIcon: SFCWithInstall = withInstall(Icon)\nexport default ElIcon\n\nexport * from './src/icon'\n", "import { TypeComponentsMap, buildProps, keysOf } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const alertEffects = ['light', 'dark'] as const\n\nexport const alertProps = buildProps({\n /**\n * @description alert title.\n */\n title: {\n type: String,\n default: '',\n },\n description: {\n type: String,\n default: '',\n },\n /**\n * @description alert type.\n */\n type: {\n type: String,\n values: keysOf(TypeComponentsMap),\n default: 'info',\n },\n /**\n * @description whether alert can be dismissed.\n */\n closable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description text for replacing x button\n */\n closeText: {\n type: String,\n default: '',\n },\n /**\n * @description whether show icon\n */\n showIcon: Boolean,\n /**\n * @description should content be placed in center.\n */\n center: Boolean,\n effect: {\n type: String,\n values: alertEffects,\n default: 'light',\n },\n} as const)\nexport type AlertProps = ExtractPropTypes\n\nexport const alertEmits = {\n close: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type AlertEmits = typeof alertEmits\n", "\n\n", "import { withInstall } from '@element-plus/utils'\nimport Alert from './src/alert.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElAlert: SFCWithInstall = withInstall(Alert)\nexport default ElAlert\n\nexport * from './src/alert'\nexport type { AlertInstance } from './src/instance'\n", "import type { InjectionKey } from 'vue'\nimport type { FormContext, FormItemContext } from './types'\n\nexport const formContextKey: InjectionKey =\n Symbol('formContextKey')\nexport const formItemContextKey: InjectionKey =\n Symbol('formItemContextKey')\n", "import { computed, inject, ref, unref } from 'vue'\nimport { useGlobalSize, useProp } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '../constants'\n\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { MaybeRef } from '@vueuse/core'\n\nexport const useFormSize = (\n fallback?: MaybeRef,\n ignore: Partial> = {}\n) => {\n const emptyRef = ref(undefined)\n\n const size = ignore.prop ? emptyRef : useProp('size')\n const globalConfig = ignore.global ? emptyRef : useGlobalSize()\n const form = ignore.form\n ? { size: undefined }\n : inject(formContextKey, undefined)\n const formItem = ignore.formItem\n ? { size: undefined }\n : inject(formItemContextKey, undefined)\n\n return computed(\n (): ComponentSize =>\n size.value ||\n unref(fallback) ||\n formItem?.size ||\n form?.size ||\n globalConfig.value ||\n ''\n )\n}\n\nexport const useFormDisabled = (fallback?: MaybeRef) => {\n const disabled = useProp('disabled')\n const form = inject(formContextKey, undefined)\n return computed(\n () => disabled.value || unref(fallback) || form?.disabled || false\n )\n}\n\n// These exports are used for preventing breaking changes\nexport const useSize = useFormSize\nexport const useDisabled = useFormDisabled\n", "import {\n computed,\n inject,\n onMounted,\n onUnmounted,\n ref,\n toRef,\n watch,\n} from 'vue'\nimport { useId } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from '../constants'\n\nimport type { ComputedRef, Ref, WatchStopHandle } from 'vue'\nimport type { FormItemContext } from '../types'\n\nexport const useFormItem = () => {\n const form = inject(formContextKey, undefined)\n const formItem = inject(formItemContextKey, undefined)\n return {\n form,\n formItem,\n }\n}\n\nexport type IUseFormItemInputCommonProps = {\n id?: string\n label?: string | number | boolean | Record\n ariaLabel?: string | number | boolean | Record\n}\n\nexport const useFormItemInputId = (\n props: Partial,\n {\n formItemContext,\n disableIdGeneration,\n disableIdManagement,\n }: {\n formItemContext?: FormItemContext\n disableIdGeneration?: ComputedRef | Ref\n disableIdManagement?: ComputedRef | Ref\n }\n) => {\n if (!disableIdGeneration) {\n disableIdGeneration = ref(false)\n }\n if (!disableIdManagement) {\n disableIdManagement = ref(false)\n }\n\n const inputId = ref()\n let idUnwatch: WatchStopHandle | undefined = undefined\n\n const isLabeledByFormItem = computed(() => {\n return !!(\n !(props.label || props.ariaLabel) &&\n formItemContext &&\n formItemContext.inputIds &&\n formItemContext.inputIds?.length <= 1\n )\n })\n\n // Generate id for ElFormItem label if not provided as prop\n onMounted(() => {\n idUnwatch = watch(\n [toRef(props, 'id'), disableIdGeneration] as any,\n ([id, disableIdGeneration]: [string, boolean]) => {\n const newId = id ?? (!disableIdGeneration ? useId().value : undefined)\n if (newId !== inputId.value) {\n if (formItemContext?.removeInputId) {\n inputId.value && formItemContext.removeInputId(inputId.value)\n if (!disableIdManagement?.value && !disableIdGeneration && newId) {\n formItemContext.addInputId(newId)\n }\n }\n inputId.value = newId\n }\n },\n { immediate: true }\n )\n })\n\n onUnmounted(() => {\n idUnwatch && idUnwatch()\n if (formItemContext?.removeInputId) {\n inputId.value && formItemContext.removeInputId(inputId.value)\n }\n })\n\n return {\n isLabeledByFormItem,\n inputId,\n }\n}\n", "import { componentSizes } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n isArray,\n isBoolean,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormItemProp } from './form-item'\nimport type { FormRules } from './types'\n\nexport const formMetaProps = buildProps({\n /**\n * @description Control the size of components in this form.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description Whether to disable all components in this form. If set to `true`, it will override the `disabled` prop of the inner component.\n */\n disabled: Boolean,\n} as const)\n\nexport const formProps = buildProps({\n ...formMetaProps,\n /**\n * @description Data of form component.\n */\n model: Object,\n /**\n * @description Validation rules of form.\n */\n rules: {\n type: definePropType(Object),\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top'],\n default: 'right',\n },\n /**\n * @description Position of asterisk.\n */\n requireAsteriskPosition: {\n type: String,\n values: ['left', 'right'],\n default: 'left',\n },\n /**\n * @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Suffix of the label.\n */\n labelSuffix: {\n type: String,\n default: '',\n },\n /**\n * @description Whether the form is inline.\n */\n inline: Boolean,\n /**\n * @description Whether to display the error message inline with the form item.\n */\n inlineMessage: Boolean,\n /**\n * @description Whether to display an icon indicating the validation result.\n */\n statusIcon: Boolean,\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to trigger validation when the `rules` prop is changed.\n */\n validateOnRuleChange: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Whether to hide required fields should have a red asterisk (star) beside their labels.\n */\n hideRequiredAsterisk: Boolean,\n /**\n * @description When validation fails, scroll to the first error form entry.\n */\n scrollToError: Boolean,\n /**\n * @description When validation fails, it scrolls to the first error item based on the scrollIntoView option.\n */\n scrollIntoViewOptions: {\n type: [Object, Boolean],\n },\n} as const)\nexport type FormProps = ExtractPropTypes\nexport type FormMetaProps = ExtractPropTypes\n\nexport const formEmits = {\n validate: (prop: FormItemProp, isValid: boolean, message: string) =>\n (isArray(prop) || isString(prop)) &&\n isBoolean(isValid) &&\n isString(message),\n}\nexport type FormEmits = typeof formEmits\n", "import { computed, ref } from 'vue'\nimport { debugWarn, ensureArray } from '@element-plus/utils'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemContext } from './types'\nimport type { FormItemProp } from './form-item'\n\nconst SCOPE = 'ElForm'\n\nexport function useFormLabelWidth() {\n const potentialLabelWidthArr = ref([])\n\n const autoLabelWidth = computed(() => {\n if (!potentialLabelWidthArr.value.length) return '0'\n const max = Math.max(...potentialLabelWidthArr.value)\n return max ? `${max}px` : ''\n })\n\n function getLabelWidthIndex(width: number) {\n const index = potentialLabelWidthArr.value.indexOf(width)\n if (index === -1 && autoLabelWidth.value === '0') {\n debugWarn(SCOPE, `unexpected width ${width}`)\n }\n return index\n }\n\n function registerLabelWidth(val: number, oldVal: number) {\n if (val && oldVal) {\n const index = getLabelWidthIndex(oldVal)\n potentialLabelWidthArr.value.splice(index, 1, val)\n } else if (val) {\n potentialLabelWidthArr.value.push(val)\n }\n }\n\n function deregisterLabelWidth(val: number) {\n const index = getLabelWidthIndex(val)\n if (index > -1) {\n potentialLabelWidthArr.value.splice(index, 1)\n }\n }\n\n return {\n autoLabelWidth,\n registerLabelWidth,\n deregisterLabelWidth,\n }\n}\n\nexport const filterFields = (\n fields: FormItemContext[],\n props: Arrayable\n) => {\n const normalized = ensureArray(props)\n return normalized.length > 0\n ? fields.filter((field) => field.prop && normalized.includes(field.prop))\n : fields\n}\n", "\n\n\n", "/* eslint no-console:0 */\n\nimport {\n ValidateError,\n ValidateOption,\n RuleValuePackage,\n InternalRuleItem,\n SyncErrorType,\n RuleType,\n Value,\n Values,\n} from './interface';\n\nconst formatRegExp = /%[sdj%]/g;\n\ndeclare var ASYNC_VALIDATOR_NO_WARNING;\n\nexport let warning: (type: string, errors: SyncErrorType[]) => void = () => {};\n\n// don't print warning message when in production env or node runtime\nif (\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n) {\n warning = (type, errors) => {\n if (\n typeof console !== 'undefined' &&\n console.warn &&\n typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined'\n ) {\n if (errors.every(e => typeof e === 'string')) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function convertFieldsError(\n errors: ValidateError[],\n): Record {\n if (!errors || !errors.length) return null;\n const fields = {};\n errors.forEach(error => {\n const field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nexport function format(\n template: ((...args: any[]) => string) | string,\n ...args: any[]\n): string {\n let i = 0;\n const len = args.length;\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n if (typeof template === 'string') {\n let str = template.replace(formatRegExp, x => {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return (Number(args[i++]) as unknown) as string;\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n return str;\n }\n return template;\n}\n\nfunction isNativeStringType(type: string) {\n return (\n type === 'string' ||\n type === 'url' ||\n type === 'hex' ||\n type === 'email' ||\n type === 'date' ||\n type === 'pattern'\n );\n}\n\nexport function isEmptyValue(value: Value, type?: string) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj: object) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(\n arr: RuleValuePackage[],\n func: ValidateFunc,\n callback: (errors: ValidateError[]) => void,\n) {\n const results: ValidateError[] = [];\n let total = 0;\n const arrLength = arr.length;\n\n function count(errors: ValidateError[]) {\n results.push(...(errors || []));\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(a => {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(\n arr: RuleValuePackage[],\n func: ValidateFunc,\n callback: (errors: ValidateError[]) => void,\n) {\n let index = 0;\n const arrLength = arr.length;\n\n function next(errors: ValidateError[]) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n const original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr: Record) {\n const ret: RuleValuePackage[] = [];\n Object.keys(objArr).forEach(k => {\n ret.push(...(objArr[k] || []));\n });\n return ret;\n}\n\nexport class AsyncValidationError extends Error {\n errors: ValidateError[];\n fields: Record;\n\n constructor(\n errors: ValidateError[],\n fields: Record,\n ) {\n super('Async Validation Error');\n this.errors = errors;\n this.fields = fields;\n }\n}\n\ntype ValidateFunc = (\n data: RuleValuePackage,\n doIt: (errors: ValidateError[]) => void,\n) => void;\n\nexport function asyncMap(\n objArr: Record,\n option: ValidateOption,\n func: ValidateFunc,\n callback: (errors: ValidateError[]) => void,\n source: Values,\n): Promise {\n if (option.first) {\n const pending = new Promise((resolve, reject) => {\n const next = (errors: ValidateError[]) => {\n callback(errors);\n return errors.length\n ? reject(new AsyncValidationError(errors, convertFieldsError(errors)))\n : resolve(source);\n };\n const flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n pending.catch(e => e);\n return pending;\n }\n const firstFields =\n option.firstFields === true\n ? Object.keys(objArr)\n : option.firstFields || [];\n\n const objArrKeys = Object.keys(objArr);\n const objArrLength = objArrKeys.length;\n let total = 0;\n const results: ValidateError[] = [];\n const pending = new Promise((resolve, reject) => {\n const next = (errors: ValidateError[]) => {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length\n ? reject(\n new AsyncValidationError(results, convertFieldsError(results)),\n )\n : resolve(source);\n }\n };\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n objArrKeys.forEach(key => {\n const arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(e => e);\n return pending;\n}\n\nfunction isErrorObj(\n obj: ValidateError | string | (() => string),\n): obj is ValidateError {\n return !!(obj && (obj as ValidateError).message !== undefined);\n}\n\nfunction getValue(value: Values, path: string[]) {\n let v = value;\n for (let i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n v = v[path[i]];\n }\n return v;\n}\n\nexport function complementError(rule: InternalRuleItem, source: Values) {\n return (oe: ValidateError | (() => string) | string): ValidateError => {\n let fieldValue;\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[(oe as any).field || rule.fullField];\n }\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue,\n field: ((oe as unknown) as ValidateError).field || rule.fullField,\n };\n };\n}\n\nexport function deepMerge(target: T, source: Partial): T {\n if (source) {\n for (const s in source) {\n if (source.hasOwnProperty(s)) {\n const value = source[s];\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = {\n ...target[s],\n ...value,\n };\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n", "import { ExecuteRule } from '../interface';\nimport { format, isEmptyValue } from '../util';\n\nconst required: ExecuteRule = (rule, value, source, errors, options, type) => {\n if (\n rule.required &&\n (!source.hasOwnProperty(rule.field) ||\n isEmptyValue(value, type || rule.type))\n ) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\nexport default required;\n", "import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nconst whitespace: ExecuteRule = (rule, value, source, errors, options) => {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\nexport default whitespace;\n", "// https://github.com/kevva/url-regex/blob/master/index.js\nlet urlReg: RegExp;\n\nexport default () => {\n if (urlReg) {\n return urlReg;\n }\n\n const word = '[a-fA-F\\\\d:]';\n const b = options =>\n options && options.includeBoundaries\n ? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))`\n : '';\n\n const v4 =\n '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n\n const v6seg = '[a-fA-F\\\\d]{1,4}';\n const v6 = `\n(?:\n(?:${v6seg}:){7}(?:${v6seg}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6seg}:){6}(?:${v4}|:${v6seg}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:${v6seg}:){5}(?::${v4}|(?::${v6seg}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:${v6seg}:){4}(?:(?::${v6seg}){0,1}:${v4}|(?::${v6seg}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:${v6seg}:){3}(?:(?::${v6seg}){0,2}:${v4}|(?::${v6seg}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:${v6seg}:){2}(?:(?::${v6seg}){0,3}:${v4}|(?::${v6seg}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:${v6seg}:){1}(?:(?::${v6seg}){0,4}:${v4}|(?::${v6seg}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6seg}){0,5}:${v4}|(?::${v6seg}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n`\n .replace(/\\s*\\/\\/.*$/gm, '')\n .replace(/\\n/g, '')\n .trim();\n\n // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n const v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);\n const v4exact = new RegExp(`^${v4}$`);\n const v6exact = new RegExp(`^${v6}$`);\n\n const ip = options =>\n options && options.exact\n ? v46Exact\n : new RegExp(\n `(?:${b(options)}${v4}${b(options)})|(?:${b(options)}${v6}${b(\n options,\n )})`,\n 'g',\n );\n\n ip.v4 = (options?) =>\n options && options.exact\n ? v4exact\n : new RegExp(`${b(options)}${v4}${b(options)}`, 'g');\n ip.v6 = (options?) =>\n options && options.exact\n ? v6exact\n : new RegExp(`${b(options)}${v6}${b(options)}`, 'g');\n\n const protocol = `(?:(?:[a-z]+:)?//)`;\n const auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n const ipv4 = ip.v4().source;\n const ipv6 = ip.v6().source;\n const host = '(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)';\n const domain =\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*';\n const tld = `(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))`;\n const port = '(?::\\\\d{2,5})?';\n const path = '(?:[/?#][^\\\\s\"]*)?';\n const regex = `(?:${protocol}|www\\\\.)${auth}(?:localhost|${ipv4}|${ipv6}|${host}${domain}${tld})${port}${path}`;\n urlReg = new RegExp(`(?:^${regex}$)`, 'i');\n return urlReg;\n};\n", "import { ExecuteRule, Value } from '../interface';\nimport { format } from '../util';\nimport required from './required';\nimport getUrlRegex from './url';\n/* eslint max-len:0 */\n\nconst pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,\n};\n\nconst types = {\n integer(value: Value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float(value: Value) {\n return types.number(value) && !types.integer(value);\n },\n array(value: Value) {\n return Array.isArray(value);\n },\n regexp(value: Value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date(value: Value) {\n return (\n typeof value.getTime === 'function' &&\n typeof value.getMonth === 'function' &&\n typeof value.getYear === 'function' &&\n !isNaN(value.getTime())\n );\n },\n number(value: Value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object(value: Value) {\n return typeof value === 'object' && !types.array(value);\n },\n method(value: Value) {\n return typeof value === 'function';\n },\n email(value: Value) {\n return (\n typeof value === 'string' &&\n value.length <= 320 &&\n !!value.match(pattern.email)\n );\n },\n url(value: Value) {\n return (\n typeof value === 'string' &&\n value.length <= 2048 &&\n !!value.match(getUrlRegex())\n );\n },\n hex(value: Value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n },\n};\n\nconst type: ExecuteRule = (rule, value, source, errors, options) => {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n const custom = [\n 'integer',\n 'float',\n 'array',\n 'regexp',\n 'object',\n 'method',\n 'email',\n 'number',\n 'date',\n 'url',\n 'hex',\n ];\n const ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(\n format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n // straight typeof check\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(\n format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n};\n\nexport default type;\n", "import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\nconst range: ExecuteRule = (rule, value, source, errors, options) => {\n const len = typeof rule.len === 'number';\n const min = typeof rule.min === 'number';\n const max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n const spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n let val = value;\n let key = null;\n const num = typeof value === 'number';\n const str = typeof value === 'string';\n const arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(\n format(options.messages[key].range, rule.fullField, rule.min, rule.max),\n );\n }\n};\n\nexport default range;\n", "import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\nconst ENUM = 'enum' as const;\n\nconst enumerable: ExecuteRule = (rule, value, source, errors, options) => {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(\n format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')),\n );\n }\n};\n\nexport default enumerable;\n", "import { ExecuteRule } from '../interface';\nimport { format } from '../util';\n\nconst pattern: ExecuteRule = (rule, value, source, errors, options) => {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(\n format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n } else if (typeof rule.pattern === 'string') {\n const _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(\n format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n }\n }\n};\n\nexport default pattern;\n", "import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required,\n whitespace,\n type,\n range,\n enum: enumRule,\n pattern,\n};\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst string: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n};\n\nexport default string;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst method: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default method;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst number: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default number;\n", "import { isEmptyValue } from '../util';\nimport rules from '../rule';\nimport { ExecuteValidator } from '../interface';\n\nconst boolean: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default boolean;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst regexp: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default regexp;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst integer: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default integer;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst floatFn: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default floatFn;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule/index';\n\nconst array: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default array;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst object: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default object;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst ENUM = 'enum' as const;\n\nconst enumerable: ExecuteValidator = (\n rule,\n value,\n callback,\n source,\n options,\n) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default enumerable;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst pattern: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default pattern;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst date: ExecuteValidator = (rule, value, callback, source, options) => {\n // console.log('integer rule called %j', rule);\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'date')) {\n let dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n};\n\nexport default date;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\n\nconst required: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nexport default required;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst type: ExecuteValidator = (rule, value, callback, source, options) => {\n const ruleType = rule.type;\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n};\n\nexport default type;\n", "import { ExecuteValidator } from '../interface';\nimport rules from '../rule';\nimport { isEmptyValue } from '../util';\n\nconst any: ExecuteValidator = (rule, value, callback, source, options) => {\n const errors: string[] = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n};\n\nexport default any;\n", "import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\nimport any from './any';\n\nexport default {\n string,\n method,\n number,\n boolean,\n regexp,\n integer,\n float,\n array,\n object,\n enum: enumValidator,\n pattern,\n date,\n url: type,\n hex: type,\n email: type,\n required,\n any,\n};\n", "import { InternalValidateMessages } from './interface';\n\nexport function newMessages(): InternalValidateMessages {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid',\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s',\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters',\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s',\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length',\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s',\n },\n clone() {\n const cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n },\n };\n}\n\nexport const messages = newMessages();\n", "import {\n format,\n complementError,\n asyncMap,\n warning,\n deepMerge,\n convertFieldsError,\n} from './util';\nimport validators from './validator/index';\nimport { messages as defaultMessages, newMessages } from './messages';\nimport {\n InternalRuleItem,\n InternalValidateMessages,\n Rule,\n RuleItem,\n Rules,\n ValidateCallback,\n ValidateMessages,\n ValidateOption,\n Values,\n RuleValuePackage,\n ValidateError,\n ValidateFieldsError,\n SyncErrorType,\n ValidateResult,\n} from './interface';\n\nexport * from './interface';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nclass Schema {\n // ========================= Static =========================\n static register = function register(type: string, validator) {\n if (typeof validator !== 'function') {\n throw new Error(\n 'Cannot register a validator by type, validator is not a function',\n );\n }\n validators[type] = validator;\n };\n\n static warning = warning;\n\n static messages = defaultMessages;\n\n static validators = validators;\n\n // ======================== Instance ========================\n rules: Record = null;\n _messages: InternalValidateMessages = defaultMessages;\n\n constructor(descriptor: Rules) {\n this.define(descriptor);\n }\n\n define(rules: Rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n\n Object.keys(rules).forEach(name => {\n const item: Rule = rules[name];\n this.rules[name] = Array.isArray(item) ? item : [item];\n });\n }\n\n messages(messages?: ValidateMessages) {\n if (messages) {\n this._messages = deepMerge(newMessages(), messages);\n }\n return this._messages;\n }\n\n validate(\n source: Values,\n option?: ValidateOption,\n callback?: ValidateCallback,\n ): Promise;\n validate(source: Values, callback: ValidateCallback): Promise;\n validate(source: Values): Promise;\n\n validate(source_: Values, o: any = {}, oc: any = () => {}): Promise {\n let source: Values = source_;\n let options: ValidateOption = o;\n let callback: ValidateCallback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n return Promise.resolve(source);\n }\n\n function complete(results: (ValidateError | ValidateError[])[]) {\n let errors: ValidateError[] = [];\n let fields: ValidateFieldsError = {};\n\n function add(e: ValidateError | ValidateError[]) {\n if (Array.isArray(e)) {\n errors = errors.concat(...e);\n } else {\n errors.push(e);\n }\n }\n\n for (let i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n (callback as (\n errors: ValidateError[],\n fields: ValidateFieldsError,\n ) => void)(errors, fields);\n }\n }\n\n if (options.messages) {\n let messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n\n const series: Record = {};\n const keys = options.keys || Object.keys(this.rules);\n keys.forEach(z => {\n const arr = this.rules[z];\n let value = source[z];\n arr.forEach(r => {\n let rule: InternalRuleItem = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = { ...source };\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule,\n };\n } else {\n rule = { ...rule };\n }\n\n // Fill validator. Skip if nothing need to validate\n rule.validator = this.getValidationMethod(rule);\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = this.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule,\n value,\n source,\n field: z,\n });\n });\n });\n const errorFields = {};\n return asyncMap(\n series,\n options,\n (data, doIt) => {\n const rule = data.rule;\n let deep =\n (rule.type === 'object' || rule.type === 'array') &&\n (typeof rule.fields === 'object' ||\n typeof rule.defaultField === 'object');\n deep = deep && (rule.required || (!rule.required && data.value));\n rule.field = data.field;\n\n function addFullField(key: string, schema: RuleItem) {\n return {\n ...schema,\n fullField: `${rule.fullField}.${key}`,\n fullFields: rule.fullFields ? [...rule.fullFields, key] : [key],\n };\n }\n\n function cb(e: SyncErrorType | SyncErrorType[] = []) {\n let errorList = Array.isArray(e) ? e : [e];\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n }\n\n // Fill error info\n let filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = []\n .concat(rule.message)\n .map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [\n options.error(\n rule,\n format(options.messages.required, rule.field),\n ),\n ];\n }\n return doIt(filledErrors);\n }\n\n let fieldsSchema: Record = {};\n if (rule.defaultField) {\n Object.keys(data.value).map(key => {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n fieldsSchema = {\n ...fieldsSchema,\n ...data.rule.fields,\n };\n\n const paredFieldsSchema: Record = {};\n\n Object.keys(fieldsSchema).forEach(field => {\n const fieldSchema = fieldsSchema[field];\n const fieldSchemaList = Array.isArray(fieldSchema)\n ? fieldSchema\n : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(\n addFullField.bind(null, field),\n );\n });\n const schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, errs => {\n const finalErrors = [];\n if (filledErrors && filledErrors.length) {\n finalErrors.push(...filledErrors);\n }\n if (errs && errs.length) {\n finalErrors.push(...errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n let res: ValidateResult;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error?.(error);\n // rethrow to report error\n if (!options.suppressValidatorError) {\n setTimeout(() => {\n throw error;\n }, 0);\n }\n cb(error.message);\n }\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(\n typeof rule.message === 'function'\n ? rule.message(rule.fullField || rule.field)\n : rule.message || `${rule.fullField || rule.field} fails`,\n );\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && (res as Promise).then) {\n (res as Promise).then(\n () => cb(),\n e => cb(e),\n );\n }\n },\n results => {\n complete(results);\n },\n source,\n );\n }\n\n getType(rule: InternalRuleItem) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (\n typeof rule.validator !== 'function' &&\n rule.type &&\n !validators.hasOwnProperty(rule.type)\n ) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n }\n\n getValidationMethod(rule: InternalRuleItem) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n const keys = Object.keys(rule);\n const messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || undefined;\n }\n}\n\nexport default Schema;\n", "import { componentSizes } from '@element-plus/constants'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { FormItemRule } from './types'\n\nexport const formItemValidateStates = [\n '',\n 'error',\n 'validating',\n 'success',\n] as const\nexport type FormItemValidateState = typeof formItemValidateStates[number]\n\nexport type FormItemProp = Arrayable\n\nexport const formItemProps = buildProps({\n /**\n * @description Label text.\n */\n label: String,\n /**\n * @description Width of label, e.g. `'50px'`. `'auto'` is supported.\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required. The default is extend from `form label-position`.\n */\n labelPosition: {\n type: String,\n values: ['left', 'right', 'top', ''],\n default: '',\n },\n /**\n * @description A key of `model`. It could be an array of property paths (e.g `['a', 'b', '0']`). In the use of `validate` and `resetFields` method, the attribute is required.\n */\n prop: {\n type: definePropType([String, Array]),\n },\n /**\n * @description Whether the field is required or not, will be determined by validation rules if omitted.\n */\n required: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description Validation rules of form, see the [following table](#formitemrule), more advanced usage at [async-validator](https://github.com/yiminghe/async-validator).\n */\n rules: {\n type: definePropType>([Object, Array]),\n },\n /**\n * @description Field error message, set its value and the field will validate error and show this message immediately.\n */\n error: String,\n /**\n * @description Validation state of formItem.\n */\n validateStatus: {\n type: String,\n values: formItemValidateStates,\n },\n /**\n * @description Same as for in native label.\n */\n for: String,\n /**\n * @description Inline style validate message.\n */\n inlineMessage: {\n type: [String, Boolean],\n default: '',\n },\n /**\n * @description Whether to show the error message.\n */\n showMessage: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Control the size of components in this form-item.\n */\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\nexport type FormItemProps = ExtractPropTypes\n", "import {\n Fragment,\n computed,\n defineComponent,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n onUpdated,\n ref,\n watch,\n} from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { formContextKey, formItemContextKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElLabelWrap'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: {\n isAutoWidth: Boolean,\n updateAll: Boolean,\n },\n\n setup(props, { slots }) {\n const formContext = inject(formContextKey, undefined)\n const formItemContext = inject(formItemContextKey)\n if (!formItemContext)\n throwError(\n COMPONENT_NAME,\n 'usage: '\n )\n\n const ns = useNamespace('form')\n\n const el = ref()\n const computedWidth = ref(0)\n\n const getLabelWidth = () => {\n if (el.value?.firstElementChild) {\n const width = window.getComputedStyle(el.value.firstElementChild).width\n return Math.ceil(Number.parseFloat(width))\n } else {\n return 0\n }\n }\n\n const updateLabelWidth = (action: 'update' | 'remove' = 'update') => {\n nextTick(() => {\n if (slots.default && props.isAutoWidth) {\n if (action === 'update') {\n computedWidth.value = getLabelWidth()\n } else if (action === 'remove') {\n formContext?.deregisterLabelWidth(computedWidth.value)\n }\n }\n })\n }\n const updateLabelWidthFn = () => updateLabelWidth('update')\n\n onMounted(() => {\n updateLabelWidthFn()\n })\n onBeforeUnmount(() => {\n updateLabelWidth('remove')\n })\n onUpdated(() => updateLabelWidthFn())\n\n watch(computedWidth, (val, oldVal) => {\n if (props.updateAll) {\n formContext?.registerLabelWidth(val, oldVal)\n }\n })\n\n useResizeObserver(\n computed(\n () => (el.value?.firstElementChild ?? null) as HTMLElement | null\n ),\n updateLabelWidthFn\n )\n\n return () => {\n if (!slots) return null\n\n const { isAutoWidth } = props\n if (isAutoWidth) {\n const autoLabelWidth = formContext?.autoLabelWidth\n const hasLabel = formItemContext?.hasLabel\n const style: CSSProperties = {}\n if (hasLabel && autoLabelWidth && autoLabelWidth !== 'auto') {\n const marginWidth = Math.max(\n 0,\n Number.parseInt(autoLabelWidth, 10) - computedWidth.value\n )\n const labelPosition =\n formItemContext.labelPosition || formContext.labelPosition\n\n const marginPosition =\n labelPosition === 'left' ? 'marginRight' : 'marginLeft'\n\n if (marginWidth) {\n style[marginPosition] = `${marginWidth}px`\n }\n }\n return (\n
\n {slots.default?.()}\n
\n )\n } else {\n return {slots.default?.()}\n }\n }\n },\n})\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Form from './src/form.vue'\nimport FormItem from './src/form-item.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElForm: SFCWithInstall & {\n FormItem: typeof FormItem\n} = withInstall(Form, {\n FormItem,\n})\nexport default ElForm\nexport const ElFormItem: SFCWithInstall =\n withNoopInstall(FormItem)\n\nexport * from './src/form'\nexport * from './src/form-item'\nexport * from './src/types'\nexport * from './src/constants'\nexport * from './src/hooks'\n\nexport type FormInstance = InstanceType\nexport type FormItemInstance = InstanceType\n", "import { isFirefox, isNumber } from '@element-plus/utils'\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined = undefined\n\nconst HIDDEN_STYLE = `\n height:0 !important;\n visibility:hidden !important;\n ${isFirefox() ? '' : 'overflow:hidden !important;'}\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n`\n\nconst CONTEXT_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n]\n\ntype NodeStyle = {\n contextStyle: string\n boxSizing: string\n paddingSize: number\n borderSize: number\n}\n\ntype TextAreaHeight = {\n height: string\n minHeight?: string\n}\n\nfunction calculateNodeStyling(targetElement: Element): NodeStyle {\n const style = window.getComputedStyle(targetElement)\n\n const boxSizing = style.getPropertyValue('box-sizing')\n\n const paddingSize =\n Number.parseFloat(style.getPropertyValue('padding-bottom')) +\n Number.parseFloat(style.getPropertyValue('padding-top'))\n\n const borderSize =\n Number.parseFloat(style.getPropertyValue('border-bottom-width')) +\n Number.parseFloat(style.getPropertyValue('border-top-width'))\n\n const contextStyle = CONTEXT_STYLE.map(\n (name) => `${name}:${style.getPropertyValue(name)}`\n ).join(';')\n\n return { contextStyle, paddingSize, borderSize, boxSizing }\n}\n\nexport function calcTextareaHeight(\n targetElement: HTMLTextAreaElement,\n minRows = 1,\n maxRows?: number\n): TextAreaHeight {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea')\n document.body.appendChild(hiddenTextarea)\n }\n\n const { paddingSize, borderSize, boxSizing, contextStyle } =\n calculateNodeStyling(targetElement)\n\n hiddenTextarea.setAttribute('style', `${contextStyle};${HIDDEN_STYLE}`)\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || ''\n\n let height = hiddenTextarea.scrollHeight\n const result = {} as TextAreaHeight\n\n if (boxSizing === 'border-box') {\n height = height + borderSize\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize\n }\n\n hiddenTextarea.value = ''\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize\n\n if (isNumber(minRows)) {\n let minHeight = singleRowHeight * minRows\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize\n }\n height = Math.max(minHeight, height)\n result.minHeight = `${minHeight}px`\n }\n if (isNumber(maxRows)) {\n let maxHeight = singleRowHeight * maxRows\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize\n }\n height = Math.min(maxHeight, height)\n }\n result.height = `${height}px`\n hiddenTextarea.parentNode?.removeChild(hiddenTextarea)\n hiddenTextarea = undefined\n\n return result\n}\n", "import {\n buildProps,\n definePropType,\n iconPropType,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport type InputAutoSize = { minRows?: number; maxRows?: number } | boolean\n\nexport const inputProps = buildProps({\n /**\n * @description native input id\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description input box size\n */\n size: useSizeProp,\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType([\n String,\n Number,\n Object,\n ]),\n default: '',\n },\n /**\n * @description same as `maxlength` in native input\n */\n maxlength: {\n type: [String, Number],\n },\n /**\n * @description same as `minlength` in native input\n */\n minlength: {\n type: [String, Number],\n },\n /**\n * @description type of input\n */\n type: {\n type: String,\n default: 'text',\n },\n /**\n * @description control the resizability\n */\n resize: {\n type: String,\n values: ['none', 'both', 'horizontal', 'vertical'],\n },\n /**\n * @description whether textarea has an adaptive height\n */\n autosize: {\n type: definePropType([Boolean, Object]),\n default: false,\n },\n /**\n * @description native input autocomplete\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description format content\n */\n formatter: {\n type: Function,\n },\n /**\n * @description parse content\n */\n parser: {\n type: Function,\n },\n /**\n * @description placeholder\n */\n placeholder: {\n type: String,\n },\n /**\n * @description native input form\n */\n form: {\n type: String,\n },\n /**\n * @description native input readonly\n */\n readonly: Boolean,\n /**\n * @description native input readonly\n */\n clearable: Boolean,\n /**\n * @description toggleable password input\n */\n showPassword: Boolean,\n /**\n * @description word count\n */\n showWordLimit: Boolean,\n /**\n * @description suffix icon\n */\n suffixIcon: {\n type: iconPropType,\n },\n /**\n * @description prefix icon\n */\n prefixIcon: {\n type: iconPropType,\n },\n /**\n * @description container role, internal properties provided for use by the picker component\n */\n containerRole: {\n type: String,\n default: undefined,\n },\n /**\n * @description input tabindex\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description input or textarea element style\n */\n inputStyle: {\n type: definePropType([Object, Array, String]),\n default: () => mutable({} as const),\n },\n /**\n * @description native input autofocus\n */\n autofocus: Boolean,\n rows: {\n type: Number,\n default: 2,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type InputProps = ExtractPropTypes\n\nexport const inputEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n input: (value: string) => isString(value),\n change: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n // NOTE: when autofill by browser, the keydown event is instanceof Event, not KeyboardEvent\n // relative bug report https://github.com/element-plus/element-plus/issues/6665\n keydown: (evt: KeyboardEvent | Event) => evt instanceof Event,\n compositionstart: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionupdate: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n compositionend: (evt: CompositionEvent) => evt instanceof CompositionEvent,\n}\nexport type InputEmits = typeof inputEmits\n", "\n\n \n \n
\n\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Input from './src/input.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElInput: SFCWithInstall = withInstall(Input)\nexport default ElInput\n\nexport * from './src/input'\nexport type { InputInstance } from './src/instance'\n", "import type { CSSProperties } from 'vue'\nimport type { ThumbProps } from './thumb'\n\nexport const GAP = 4 // top 2 + bottom 2 of bar instance\n\nexport const BAR_MAP = {\n vertical: {\n offset: 'offsetHeight',\n scroll: 'scrollTop',\n scrollSize: 'scrollHeight',\n size: 'height',\n key: 'vertical',\n axis: 'Y',\n client: 'clientY',\n direction: 'top',\n },\n horizontal: {\n offset: 'offsetWidth',\n scroll: 'scrollLeft',\n scrollSize: 'scrollWidth',\n size: 'width',\n key: 'horizontal',\n axis: 'X',\n client: 'clientX',\n direction: 'left',\n },\n} as const\n\nexport const renderThumbStyle = ({\n move,\n size,\n bar,\n}: Pick & {\n bar: typeof BAR_MAP[keyof typeof BAR_MAP]\n}): CSSProperties => ({\n [bar.size]: size,\n transform: `translate${bar.axis}(${move}%)`,\n})\n", "import type { InjectionKey } from 'vue'\n\nexport interface ScrollbarContext {\n scrollbarElement: HTMLDivElement\n wrapElement: HTMLDivElement\n}\n\nexport const scrollbarContextKey: InjectionKey = Symbol(\n 'scrollbarContextKey'\n)\n", "import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Thumb from './thumb.vue'\n\nexport const thumbProps = buildProps({\n vertical: Boolean,\n size: String,\n move: Number,\n ratio: {\n type: Number,\n required: true,\n },\n always: Boolean,\n} as const)\nexport type ThumbProps = ExtractPropTypes\n\nexport type ThumbInstance = InstanceType\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Bar from './bar.vue'\n\nexport const barProps = buildProps({\n always: {\n type: Boolean,\n default: true,\n },\n minSize: {\n type: Number,\n required: true,\n },\n} as const)\nexport type BarProps = ExtractPropTypes\n\nexport type BarInstance = InstanceType\n", "\n\n", "import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport { useAriaProps } from '@element-plus/hooks'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type Scrollbar from './scrollbar.vue'\n\nexport const scrollbarProps = buildProps({\n /**\n * @description height of scrollbar\n */\n height: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description max height of scrollbar\n */\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether to use the native scrollbar\n */\n native: {\n type: Boolean,\n default: false,\n },\n /**\n * @description style of wrap\n */\n wrapStyle: {\n type: definePropType([String, Object, Array]),\n default: '',\n },\n /**\n * @description class of wrap\n */\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n /**\n * @description class of view\n */\n viewClass: {\n type: [String, Array],\n default: '',\n },\n /**\n * @description style of view\n */\n viewStyle: {\n type: [String, Array, Object],\n default: '',\n },\n /**\n * @description do not respond to container size changes, if the container size does not change, it is better to set it to optimize performance\n */\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n /**\n * @description element tag of the view\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description always show\n */\n always: Boolean,\n /**\n * @description minimum size of scrollbar\n */\n minSize: {\n type: Number,\n default: 20,\n },\n /**\n * @description Wrap tabindex\n */\n tabindex: {\n type: [String, Number],\n default: undefined,\n },\n /**\n * @description id of view\n */\n id: String,\n /**\n * @description role of view\n */\n role: String,\n ...useAriaProps(['ariaLabel', 'ariaOrientation']),\n} as const)\nexport type ScrollbarProps = ExtractPropTypes\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => [scrollTop, scrollLeft].every(isNumber),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n\nexport type ScrollbarInstance = InstanceType\n", "\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Scrollbar from './src/scrollbar.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElScrollbar: SFCWithInstall =\n withInstall(Scrollbar)\nexport default ElScrollbar\n\nexport * from './src/util'\nexport * from './src/scrollbar'\nexport * from './src/thumb'\nexport * from './src/constants'\n", "import type { CSSProperties, ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { Instance } from '@popperjs/core'\n\nexport type Measurable = {\n getBoundingClientRect: () => DOMRect\n}\n\n/**\n * triggerRef indicates the element that triggers popper\n * contentRef indicates the element of popper content\n * referenceRef indicates the element that popper content relative with\n */\nexport type ElPopperInjectionContext = {\n triggerRef: Ref\n contentRef: Ref\n popperInstanceRef: Ref\n referenceRef: Ref\n role: ComputedRef\n}\n\nexport type ElPopperContentInjectionContext = {\n arrowRef: Ref\n arrowOffset: Ref\n arrowStyle: ComputedRef\n}\n\nexport const POPPER_INJECTION_KEY: InjectionKey =\n Symbol('popper')\n\nexport const POPPER_CONTENT_INJECTION_KEY: InjectionKey =\n Symbol('popperContent')\n", "/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Popper from './popper.vue'\n\nconst effects = ['light', 'dark'] as const\nconst triggers = ['click', 'contextmenu', 'hover', 'focus'] as const\n\nexport const Effect = {\n LIGHT: 'light',\n DARK: 'dark',\n} as const\n\nexport const roleTypes = [\n 'dialog',\n 'grid',\n 'group',\n 'listbox',\n 'menu',\n 'navigation',\n 'tooltip',\n 'tree',\n] as const\n\nexport type PopperEffect = typeof effects[number]\nexport type PopperTrigger = typeof triggers[number]\n\nexport const popperProps = buildProps({\n role: {\n type: String,\n values: roleTypes,\n default: 'tooltip',\n },\n} as const)\n\nexport type PopperProps = ExtractPropTypes\n\nexport type PopperInstance = InstanceType\n\n/** @deprecated use `popperProps` instead, and it will be deprecated in the next major version */\nexport const usePopperProps = popperProps\n\n/** @deprecated use `PopperProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperProps = PopperProps\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Arrow from './arrow.vue'\n\nexport const popperArrowProps = buildProps({\n arrowOffset: {\n type: Number,\n default: 5,\n },\n} as const)\nexport type PopperArrowProps = ExtractPropTypes\n\nexport type PopperArrowInstance = InstanceType\n\n/** @deprecated use `popperArrowProps` instead, and it will be deprecated in the next major version */\nexport const usePopperArrowProps = popperArrowProps\n\n/** @deprecated use `PopperArrowProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperArrowProps = PopperArrowProps\n\n/** @deprecated use `PopperArrowInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowInstance = PopperArrowInstance\n", "\n\n\n", "import {\n Comment,\n Fragment,\n Text,\n cloneVNode,\n defineComponent,\n inject,\n withDirectives,\n} from 'vue'\nimport { NOOP, debugWarn, isObject } from '@element-plus/utils'\nimport {\n FORWARD_REF_INJECTION_KEY,\n useForwardRefDirective,\n useNamespace,\n} from '@element-plus/hooks'\n\nimport type { Ref, VNode } from 'vue'\n\nconst NAME = 'ElOnlyChild'\n\nexport const OnlyChild = defineComponent({\n name: NAME,\n setup(_, { slots, attrs }) {\n const forwardRefInjection = inject(FORWARD_REF_INJECTION_KEY)\n const forwardRefDirective = useForwardRefDirective(\n forwardRefInjection?.setForwardRef ?? NOOP\n )\n return () => {\n const defaultSlot = slots.default?.(attrs)\n if (!defaultSlot) return null\n\n if (defaultSlot.length > 1) {\n debugWarn(NAME, 'requires exact only one valid child.')\n return null\n }\n\n const firstLegitNode = findFirstLegitChild(defaultSlot)\n if (!firstLegitNode) {\n debugWarn(NAME, 'no valid child node found')\n return null\n }\n\n return withDirectives(cloneVNode(firstLegitNode!, attrs), [\n [forwardRefDirective],\n ])\n }\n },\n})\n\nfunction findFirstLegitChild(node: VNode[] | undefined): VNode | null {\n if (!node) return null\n const children = node as VNode[]\n for (const child of children) {\n /**\n * when user uses h(Fragment, [text]) to render plain string,\n * this switch case just cannot handle, when the value is primitives\n * we should just return the wrapped string\n */\n if (isObject(child)) {\n switch (child.type) {\n case Comment:\n continue\n case Text:\n case 'svg':\n return wrapTextContent(child)\n case Fragment:\n return findFirstLegitChild(child.children as VNode[])\n default:\n return child\n }\n }\n return wrapTextContent(child)\n }\n return null\n}\n\nfunction wrapTextContent(s: string | VNode) {\n const ns = useNamespace('only-child')\n return {s}\n}\n\nexport type OnlyChildExpose = {\n forwardRef: Ref\n}\n", "import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { Measurable } from './constants'\nimport type Trigger from './trigger.vue'\n\nexport const popperTriggerProps = buildProps({\n virtualRef: {\n type: definePropType(Object),\n },\n virtualTriggering: Boolean,\n onMouseenter: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onMouseleave: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onClick: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onKeydown: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onFocus: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onBlur: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onContextmenu: {\n type: definePropType<(e: Event) => void>(Function),\n },\n id: String,\n open: Boolean,\n} as const)\n\nexport type PopperTriggerProps = typeof popperTriggerProps\n\nexport type PopperTriggerInstance = InstanceType\n\n/** @deprecated use `popperTriggerProps` instead, and it will be deprecated in the next major version */\nexport const usePopperTriggerProps = popperTriggerProps\n\n/** @deprecated use `PopperTriggerInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowTrigger = PopperTriggerInstance\n", "\n\n\n", "import type { InjectionKey, Ref } from 'vue'\n\nexport const FOCUS_AFTER_TRAPPED = 'focus-trap.focus-after-trapped'\nexport const FOCUS_AFTER_RELEASED = 'focus-trap.focus-after-released'\nexport const FOCUSOUT_PREVENTED = 'focus-trap.focusout-prevented'\nexport const FOCUS_AFTER_TRAPPED_OPTS: EventInit = {\n cancelable: true,\n bubbles: false,\n}\nexport const FOCUSOUT_PREVENTED_OPTS: EventInit = {\n cancelable: true,\n bubbles: false,\n}\n\nexport const ON_TRAP_FOCUS_EVT = 'focusAfterTrapped'\nexport const ON_RELEASE_FOCUS_EVT = 'focusAfterReleased'\n\nexport type FocusTrapInjectionContext = {\n focusTrapRef: Ref\n onKeydown: (e: KeyboardEvent) => void\n}\n\nexport const FOCUS_TRAP_INJECTION_KEY: InjectionKey =\n Symbol('elFocusTrap')\n", "import { onBeforeUnmount, onMounted, ref } from 'vue'\nimport { FOCUSOUT_PREVENTED, FOCUSOUT_PREVENTED_OPTS } from './tokens'\n\nconst focusReason = ref<'pointer' | 'keyboard'>()\nconst lastUserFocusTimestamp = ref(0)\nconst lastAutomatedFocusTimestamp = ref(0)\nlet focusReasonUserCount = 0\n\nexport type FocusLayer = {\n paused: boolean\n pause: () => void\n resume: () => void\n}\n\nexport type FocusStack = FocusLayer[]\n\nexport const obtainAllFocusableElements = (\n element: HTMLElement\n): HTMLElement[] => {\n const nodes: HTMLElement[] = []\n const walker = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (\n node: Element & {\n disabled: boolean\n hidden: boolean\n type: string\n tabIndex: number\n }\n ) => {\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden'\n if (node.disabled || node.hidden || isHiddenInput)\n return NodeFilter.FILTER_SKIP\n return node.tabIndex >= 0 || node === document.activeElement\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_SKIP\n },\n })\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement)\n\n return nodes\n}\n\nexport const getVisibleElement = (\n elements: HTMLElement[],\n container: HTMLElement\n) => {\n for (const element of elements) {\n if (!isHidden(element, container)) return element\n }\n}\n\nexport const isHidden = (element: HTMLElement, container: HTMLElement) => {\n if (process.env.NODE_ENV === 'test') return false\n if (getComputedStyle(element).visibility === 'hidden') return true\n\n while (element) {\n if (container && element === container) return false\n if (getComputedStyle(element).display === 'none') return true\n element = element.parentElement as HTMLElement\n }\n\n return false\n}\n\nexport const getEdges = (container: HTMLElement) => {\n const focusable = obtainAllFocusableElements(container)\n const first = getVisibleElement(focusable, container)\n const last = getVisibleElement(focusable.reverse(), container)\n return [first, last]\n}\n\nconst isSelectable = (\n element: any\n): element is HTMLInputElement & { select: () => void } => {\n return element instanceof HTMLInputElement && 'select' in element\n}\n\nexport const tryFocus = (\n element?: HTMLElement | { focus: () => void } | null,\n shouldSelect?: boolean\n) => {\n if (element && element.focus) {\n const prevFocusedElement = document.activeElement\n element.focus({ preventScroll: true })\n lastAutomatedFocusTimestamp.value = window.performance.now()\n if (\n element !== prevFocusedElement &&\n isSelectable(element) &&\n shouldSelect\n ) {\n element.select()\n }\n }\n}\n\nfunction removeFromStack(list: T[], item: T) {\n const copy = [...list]\n\n const idx = list.indexOf(item)\n\n if (idx !== -1) {\n copy.splice(idx, 1)\n }\n return copy\n}\n\nconst createFocusableStack = () => {\n let stack = [] as FocusStack\n\n const push = (layer: FocusLayer) => {\n const currentLayer = stack[0]\n\n if (currentLayer && layer !== currentLayer) {\n currentLayer.pause()\n }\n\n stack = removeFromStack(stack, layer)\n stack.unshift(layer)\n }\n\n const remove = (layer: FocusLayer) => {\n stack = removeFromStack(stack, layer)\n stack[0]?.resume?.()\n }\n\n return {\n push,\n remove,\n }\n}\n\nexport const focusFirstDescendant = (\n elements: HTMLElement[],\n shouldSelect = false\n) => {\n const prevFocusedElement = document.activeElement\n for (const element of elements) {\n tryFocus(element, shouldSelect)\n if (document.activeElement !== prevFocusedElement) return\n }\n}\n\nexport const focusableStack = createFocusableStack()\n\nexport const isFocusCausedByUserEvent = (): boolean => {\n return lastUserFocusTimestamp.value > lastAutomatedFocusTimestamp.value\n}\n\nconst notifyFocusReasonPointer = () => {\n focusReason.value = 'pointer'\n lastUserFocusTimestamp.value = window.performance.now()\n}\n\nconst notifyFocusReasonKeydown = () => {\n focusReason.value = 'keyboard'\n lastUserFocusTimestamp.value = window.performance.now()\n}\n\nexport const useFocusReason = (): {\n focusReason: typeof focusReason\n lastUserFocusTimestamp: typeof lastUserFocusTimestamp\n lastAutomatedFocusTimestamp: typeof lastAutomatedFocusTimestamp\n} => {\n onMounted(() => {\n if (focusReasonUserCount === 0) {\n document.addEventListener('mousedown', notifyFocusReasonPointer)\n document.addEventListener('touchstart', notifyFocusReasonPointer)\n document.addEventListener('keydown', notifyFocusReasonKeydown)\n }\n focusReasonUserCount++\n })\n\n onBeforeUnmount(() => {\n focusReasonUserCount--\n if (focusReasonUserCount <= 0) {\n document.removeEventListener('mousedown', notifyFocusReasonPointer)\n document.removeEventListener('touchstart', notifyFocusReasonPointer)\n document.removeEventListener('keydown', notifyFocusReasonKeydown)\n }\n })\n\n return {\n focusReason,\n lastUserFocusTimestamp,\n lastAutomatedFocusTimestamp,\n }\n}\n\nexport const createFocusOutPreventedEvent = (\n detail: CustomEventInit['detail']\n) => {\n return new CustomEvent(FOCUSOUT_PREVENTED, {\n ...FOCUSOUT_PREVENTED_OPTS,\n detail,\n })\n}\n", "\n\n", "import { placements } from '@popperjs/core'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport { useAriaProps } from '@element-plus/hooks'\n\nimport type { PopperEffect } from './popper'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { Options, Placement } from '@popperjs/core'\nimport type { Measurable } from './constants'\nimport type Content from './content.vue'\n\ntype ClassObjectType = Record\ntype ClassType = string | ClassObjectType | ClassType[]\n\nconst POSITIONING_STRATEGIES = ['fixed', 'absolute'] as const\n\nexport interface CreatePopperInstanceParams {\n referenceEl: Measurable\n popperContentEl: HTMLElement\n arrowEl: HTMLElement | undefined\n}\n\nexport const popperCoreConfigProps = buildProps({\n boundariesPadding: {\n type: Number,\n default: 0,\n },\n fallbackPlacements: {\n type: definePropType(Array),\n default: undefined,\n },\n gpuAcceleration: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the Tooltip\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description position of Tooltip\n */\n placement: {\n type: String,\n values: placements,\n default: 'bottom',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType>(Object),\n default: () => ({}),\n },\n strategy: {\n type: String,\n values: POSITIONING_STRATEGIES,\n default: 'absolute',\n },\n} as const)\nexport type PopperCoreConfigProps = ExtractPropTypes<\n typeof popperCoreConfigProps\n>\n\nexport const popperContentProps = buildProps({\n ...popperCoreConfigProps,\n id: String,\n style: {\n type: definePropType([String, Array, Object]),\n },\n className: {\n type: definePropType([String, Array, Object]),\n },\n effect: {\n type: definePropType(String),\n default: 'dark',\n },\n visible: Boolean,\n enterable: {\n type: Boolean,\n default: true,\n },\n pure: Boolean,\n focusOnShow: {\n type: Boolean,\n default: false,\n },\n trapping: {\n type: Boolean,\n default: false,\n },\n popperClass: {\n type: definePropType([String, Array, Object]),\n },\n popperStyle: {\n type: definePropType([String, Array, Object]),\n },\n referenceEl: {\n type: definePropType(Object),\n },\n triggerTargetEl: {\n type: definePropType(Object),\n },\n stopPopperMouseEvent: {\n type: Boolean,\n default: true,\n },\n virtualTriggering: Boolean,\n zIndex: Number,\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type PopperContentProps = ExtractPropTypes\n\nexport const popperContentEmits = {\n mouseenter: (evt: MouseEvent) => evt instanceof MouseEvent,\n mouseleave: (evt: MouseEvent) => evt instanceof MouseEvent,\n focus: () => true,\n blur: () => true,\n close: () => true,\n}\nexport type PopperContentEmits = typeof popperContentEmits\n\nexport type PopperContentInstance = InstanceType\n\n/** @deprecated use `popperCoreConfigProps` instead, and it will be deprecated in the next major version */\nexport const usePopperCoreConfigProps = popperCoreConfigProps\n\n/** @deprecated use `popperContentProps` instead, and it will be deprecated in the next major version */\nexport const usePopperContentProps = popperContentProps\n\n/** @deprecated use `popperContentEmits` instead, and it will be deprecated in the next major version */\nexport const usePopperContentEmits = popperContentEmits\n\n/** @deprecated use `PopperCoreConfigProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperCoreConfigProps = PopperCoreConfigProps\n\n/** @deprecated use `PopperContentProps` instead, and it will be deprecated in the next major version */\nexport type UsePopperContentProps = PopperContentProps\n\n/** @deprecated use `PopperContentInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowContent = PopperContentInstance\n", "import { unrefElement } from '@vueuse/core'\nimport { isClient } from '@element-plus/utils'\n\nimport type { ComponentPublicInstance } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\nimport type { Modifier } from '@popperjs/core'\nimport type { Measurable } from './constants'\nimport type { PopperCoreConfigProps } from './content'\n\nexport const buildPopperOptions = (\n props: PopperCoreConfigProps,\n modifiers: Modifier[] = []\n) => {\n const { placement, strategy, popperOptions } = props\n const options = {\n placement,\n strategy,\n ...popperOptions,\n modifiers: [...genModifiers(props), ...modifiers],\n }\n\n deriveExtraModifiers(options, popperOptions?.modifiers)\n return options\n}\n\nexport const unwrapMeasurableEl = (\n $el: MaybeRef\n) => {\n if (!isClient) return\n return unrefElement($el as HTMLElement)\n}\n\nfunction genModifiers(options: PopperCoreConfigProps) {\n const { offset, gpuAcceleration, fallbackPlacements } = options\n return [\n {\n name: 'offset',\n options: {\n offset: [0, offset ?? 12],\n },\n },\n {\n name: 'preventOverflow',\n options: {\n padding: {\n top: 2,\n bottom: 2,\n left: 5,\n right: 5,\n },\n },\n },\n {\n name: 'flip',\n options: {\n padding: 5,\n fallbackPlacements,\n },\n },\n {\n name: 'computeStyles',\n options: {\n gpuAcceleration,\n },\n },\n ]\n}\n\nfunction deriveExtraModifiers(\n options: any,\n modifiers: PopperCoreConfigProps['popperOptions']['modifiers']\n) {\n if (modifiers) {\n options.modifiers = [...options.modifiers, ...(modifiers ?? [])]\n }\n}\n", "import { computed, inject, onMounted, ref, unref, watch } from 'vue'\nimport { isUndefined } from 'lodash-unified'\nimport { usePopper } from '@element-plus/hooks'\nimport { POPPER_INJECTION_KEY } from '../constants'\nimport { buildPopperOptions, unwrapMeasurableEl } from '../utils'\n\nimport type { Modifier } from '@popperjs/core'\nimport type { PartialOptions } from '@element-plus/hooks'\nimport type { PopperContentProps } from '../content'\n\nconst DEFAULT_ARROW_OFFSET = 0\n\nexport const usePopperContent = (props: PopperContentProps) => {\n const { popperInstanceRef, contentRef, triggerRef, role } = inject(\n POPPER_INJECTION_KEY,\n undefined\n )!\n\n const arrowRef = ref()\n const arrowOffset = ref()\n\n const eventListenerModifier = computed(() => {\n return {\n name: 'eventListeners',\n enabled: !!props.visible,\n } as Modifier<'eventListeners', any>\n })\n\n const arrowModifier = computed(() => {\n const arrowEl = unref(arrowRef)\n const offset = unref(arrowOffset) ?? DEFAULT_ARROW_OFFSET\n // Seems like the `phase` and `fn` is required by Modifier type\n // But on its documentation they didn't specify that.\n // Refer to https://popper.js.org/docs/v2/modifiers/arrow/\n return {\n name: 'arrow',\n enabled: !isUndefined(arrowEl),\n options: {\n element: arrowEl,\n padding: offset,\n },\n } as any\n })\n\n const options = computed(() => {\n return {\n onFirstUpdate: () => {\n update()\n },\n ...buildPopperOptions(props, [\n unref(arrowModifier),\n unref(eventListenerModifier),\n ]),\n }\n })\n\n const computedReference = computed(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)\n )\n\n const { attributes, state, styles, update, forceUpdate, instanceRef } =\n usePopper(computedReference, contentRef, options)\n\n watch(instanceRef, (instance) => (popperInstanceRef.value = instance))\n\n onMounted(() => {\n watch(\n () => unref(computedReference)?.getBoundingClientRect(),\n () => {\n update()\n }\n )\n })\n\n return {\n attributes,\n arrowRef,\n contentRef,\n instanceRef,\n state,\n styles,\n role,\n\n forceUpdate,\n update,\n }\n}\n\nexport type UsePopperContentReturn = ReturnType\n", "import { computed, ref, unref } from 'vue'\nimport { useNamespace, useZIndex } from '@element-plus/hooks'\n\nimport { isNumber } from '@element-plus/utils'\nimport type { CSSProperties, StyleValue } from 'vue'\nimport type { UsePopperReturn } from '@element-plus/hooks'\nimport type { UsePopperContentReturn } from './use-content'\nimport type { PopperContentProps } from '../content'\n\nexport const usePopperContentDOM = (\n props: PopperContentProps,\n {\n attributes,\n styles,\n role,\n }: Pick &\n Pick\n) => {\n const { nextZIndex } = useZIndex()\n const ns = useNamespace('popper')\n\n const contentAttrs = computed(() => unref(attributes).popper)\n const contentZIndex = ref(\n isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n )\n const contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n ])\n const contentStyle = computed(() => {\n return [\n { zIndex: unref(contentZIndex) } as CSSProperties,\n unref(styles).popper as CSSProperties,\n props.popperStyle || {},\n ]\n })\n const ariaModal = computed(() =>\n role.value === 'dialog' ? 'false' : undefined\n )\n const arrowStyle = computed(\n () => (unref(styles).arrow || {}) as CSSProperties\n )\n\n const updateZIndex = () => {\n contentZIndex.value = isNumber(props.zIndex) ? props.zIndex : nextZIndex()\n }\n\n return {\n ariaModal,\n arrowStyle,\n contentAttrs,\n contentClass,\n contentStyle,\n contentZIndex,\n\n updateZIndex,\n }\n}\n\nexport type UsePopperContentDOMReturn = ReturnType\n", "import { ref } from 'vue'\n\nimport type { SetupContext } from 'vue'\nimport type { PopperContentEmits, PopperContentProps } from '../content'\n\nexport const usePopperContentFocusTrap = (\n props: PopperContentProps,\n emit: SetupContext['emit']\n) => {\n const trapped = ref(false)\n const focusStartRef = ref<'container' | 'first' | HTMLElement>()\n\n const onFocusAfterTrapped = () => {\n emit('focus')\n }\n\n const onFocusAfterReleased = (event: CustomEvent) => {\n if (event.detail?.focusReason !== 'pointer') {\n focusStartRef.value = 'first'\n emit('blur')\n }\n }\n\n const onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n }\n }\n\n const onFocusoutPrevented = (event: CustomEvent) => {\n if (!props.trapping) {\n if (event.detail.focusReason === 'pointer') {\n event.preventDefault()\n }\n trapped.value = false\n }\n }\n\n const onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n }\n\n return {\n focusStartRef,\n trapped,\n\n onFocusAfterReleased,\n onFocusAfterTrapped,\n onFocusInTrap,\n onFocusoutPrevented,\n onReleaseRequested,\n }\n}\n\nexport type UsePopperContentFocusTrapReturn = ReturnType<\n typeof usePopperContentFocusTrap\n>\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Popper from './src/popper.vue'\n\nimport ElPopperArrow from './src/arrow.vue'\nimport ElPopperTrigger from './src/trigger.vue'\nimport ElPopperContent from './src/content.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport { ElPopperArrow, ElPopperTrigger, ElPopperContent }\n\nexport const ElPopper: SFCWithInstall = withInstall(Popper)\nexport default ElPopper\n\nexport * from './src/popper'\nexport * from './src/trigger'\nexport * from './src/content'\nexport * from './src/arrow'\nexport * from './src/constants'\n\nexport type { Placement, Options } from '@popperjs/core'\n", "import type { Arrayable } from '@element-plus/utils'\nimport type { InjectionKey, Ref } from 'vue'\nimport type { TooltipTriggerType } from './trigger'\n\nexport type ElTooltipInjectionContext = {\n controlled: Ref\n id: Ref\n open: Ref\n trigger: Ref>\n onOpen: (e?: Event) => void\n onClose: (e?: Event) => void\n onToggle: (e: Event) => void\n onShow: () => void\n onHide: () => void\n onBeforeShow: () => void\n onBeforeHide: () => void\n updatePopper: () => void\n}\n\nexport const TOOLTIP_INJECTION_KEY: InjectionKey =\n Symbol('elTooltip')\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { popperContentProps } from '@element-plus/components/popper'\nimport { useAriaProps, useDelayedToggleProps } from '@element-plus/hooks'\n\nimport type TooltipContent from './content.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const useTooltipContentProps = buildProps({\n ...useDelayedToggleProps,\n ...popperContentProps,\n /**\n * @description which element the tooltip CONTENT appends to\n */\n appendTo: {\n type: definePropType([String, Object]),\n },\n /**\n * @description display content, can be overridden by `slot#content`\n */\n content: {\n type: String,\n default: '',\n },\n /**\n * @description whether `content` is treated as HTML string\n */\n rawContent: Boolean,\n /**\n * @description when tooltip inactive and `persistent` is `false` , popconfirm will be destroyed\n */\n persistent: Boolean,\n // because model toggle prop is generated dynamically\n // so the typing cannot be evaluated by typescript as type:\n // [name]: { type: Boolean, default: null }\n // so we need to declare that again for type checking.\n /**\n * @description visibility of Tooltip\n */\n visible: {\n type: definePropType(Boolean),\n default: null,\n },\n /**\n * @description animation name\n */\n transition: String,\n /**\n * @description whether tooltip content is teleported, if `true` it will be teleported to where `append-to` sets\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Tooltip is disabled\n */\n disabled: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type ElTooltipContentProps = ExtractPropTypes<\n typeof useTooltipContentProps\n>\n\nexport type TooltipContentInstance = InstanceType\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { popperTriggerProps } from '@element-plus/components/popper'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport type TooltipTriggerType = 'hover' | 'focus' | 'click' | 'contextmenu'\n\nexport const useTooltipTriggerProps = buildProps({\n ...popperTriggerProps,\n /**\n * @description whether Tooltip is disabled\n */\n disabled: Boolean,\n /**\n * @description How should the tooltip be triggered (to show)\n */\n trigger: {\n type: definePropType>([String, Array]),\n default: 'hover',\n },\n /**\n * @description When you click the mouse to focus on the trigger element, you can define a set of keyboard codes to control the display of tooltip through the keyboard\n */\n triggerKeys: {\n type: definePropType(Array),\n default: () => [EVENT_CODE.enter, EVENT_CODE.numpadEnter, EVENT_CODE.space],\n },\n} as const)\n\nexport type ElTooltipTriggerProps = ExtractPropTypes<\n typeof useTooltipTriggerProps\n>\n", "import { buildProps } from '@element-plus/utils'\nimport { createModelToggleComposable } from '@element-plus/hooks'\nimport { popperArrowProps, popperProps } from '@element-plus/components/popper'\nimport { useTooltipContentProps } from './content'\nimport { useTooltipTriggerProps } from './trigger'\nimport type Tooltip from './tooltip.vue'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const {\n useModelToggleProps: useTooltipModelToggleProps,\n useModelToggleEmits: useTooltipModelToggleEmits,\n useModelToggle: useTooltipModelToggle,\n} = createModelToggleComposable('visible' as const)\n\nexport const useTooltipProps = buildProps({\n ...popperProps,\n ...useTooltipModelToggleProps,\n ...useTooltipContentProps,\n ...useTooltipTriggerProps,\n ...popperArrowProps,\n /**\n * @description whether the tooltip content has an arrow\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n})\n\nexport const tooltipEmits = [\n ...useTooltipModelToggleEmits,\n 'before-show',\n 'before-hide',\n 'show',\n 'hide',\n 'open',\n 'close',\n]\n\nexport type ElTooltipProps = ExtractPropTypes\n\nexport type TooltipInstance = InstanceType\n", "import { unref } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport type { Arrayable } from '@element-plus/utils'\nimport type { Ref } from 'vue'\nimport type { TooltipTriggerType } from './trigger'\n\nexport const isTriggerType = (\n trigger: Arrayable,\n type: TooltipTriggerType\n) => {\n if (isArray(trigger)) {\n return trigger.includes(type)\n }\n return trigger === type\n}\n\nexport const whenTrigger = (\n trigger: Ref>,\n type: TooltipTriggerType,\n handler: (e: Event) => void\n) => {\n return (e: Event) => {\n isTriggerType(unref(trigger), type) && handler(e)\n }\n}\n", "\n\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Teleport from './teleport.vue'\n\nexport const teleportProps = buildProps({\n to: {\n type: definePropType([String, Object]),\n required: true,\n },\n disabled: Boolean,\n} as const)\n\nexport type TeleportProps = ExtractPropTypes\nexport type TeleportInstance = InstanceType\n", "import { defineComponent, renderSlot, openBlock, createBlock, Teleport as Teleport$1 } from 'vue';\nimport { teleportProps } from './teleport.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"teleport\",\n props: teleportProps,\n setup(__props) {\n return (_ctx, _cache) => {\n return _ctx.disabled ? renderSlot(_ctx.$slots, \"default\", { key: 0 }) : (openBlock(), createBlock(Teleport$1, {\n key: 1,\n to: _ctx.to\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 8, [\"to\"]));\n };\n }\n});\nvar Teleport = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"teleport.vue\"]]);\n\nexport { Teleport as default };\n//# sourceMappingURL=teleport2.mjs.map\n", "import { withInstall } from '@element-plus/utils'\nimport Teleport from './src/teleport.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElTeleport: SFCWithInstall = withInstall(Teleport)\n\nexport default ElTeleport\n\nexport * from './src/teleport'\n", "\n\n\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Tooltip from './src/tooltip.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElTooltip: SFCWithInstall = withInstall(Tooltip)\nexport * from './src/tooltip'\nexport * from './src/trigger'\nexport * from './src/content'\nexport * from './src/constants'\nexport default ElTooltip\n", "import {\n NOOP,\n buildProps,\n definePropType,\n isObject,\n isString,\n} from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { useAriaProps } from '@element-plus/hooks'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Autocomplete from './autocomplete.vue'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { Awaitable } from '@element-plus/utils'\n\nexport type AutocompleteData = Record[]\nexport type AutocompleteFetchSuggestionsCallback = (\n data: AutocompleteData\n) => void\nexport type AutocompleteFetchSuggestions =\n | ((\n queryString: string,\n cb: AutocompleteFetchSuggestionsCallback\n ) => Awaitable | void)\n | AutocompleteData\n\nexport const autocompleteProps = buildProps({\n /**\n * @description key name of the input suggestion object for display\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description debounce delay when typing, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description placement of the popup menu\n */\n placement: {\n type: definePropType(String),\n values: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n ],\n default: 'bottom-start',\n },\n /**\n * @description a method to fetch input suggestions. When suggestions are ready, invoke `callback(data:[])` to return them to Autocomplete\n */\n fetchSuggestions: {\n type: definePropType([Function, Array]),\n default: NOOP,\n },\n /**\n * @description custom class name for autocomplete's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether show suggestions when input focus\n */\n triggerOnFocus: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to emit a `select` event on enter when there is no autocomplete match\n */\n selectWhenUnmatched: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to hide the loading icon in remote search\n */\n hideLoading: {\n type: Boolean,\n default: false,\n },\n teleported: useTooltipContentProps.teleported,\n /**\n * @description whether to highlight first item in remote search suggestions by default\n */\n highlightFirstItem: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: false,\n },\n /**\n * @description whether to disable\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type AutocompleteProps = ExtractPropTypes\n\nexport const autocompleteEmits = {\n [UPDATE_MODEL_EVENT]: (value: string) => isString(value),\n [INPUT_EVENT]: (value: string) => isString(value),\n [CHANGE_EVENT]: (value: string) => isString(value),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n select: (item: Record) => isObject(item),\n}\nexport type AutocompleteEmits = typeof autocompleteEmits\n\nexport type AutocompleteInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Autocomplete from './src/autocomplete.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElAutocomplete: SFCWithInstall =\n withInstall(Autocomplete)\n\nexport default ElAutocomplete\n\nexport * from './src/autocomplete'\n", "import {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n} from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ObjectFitProperty } from 'csstype'\n\nexport const avatarProps = buildProps({\n /**\n * @description avatar size.\n */\n size: {\n type: [Number, String],\n values: componentSizes,\n default: '',\n validator: (val: unknown): val is number => isNumber(val),\n },\n /**\n * @description avatar shape.\n */\n shape: {\n type: String,\n values: ['circle', 'square'],\n default: 'circle',\n },\n /**\n * @description representation type to icon, more info on icon component.\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description the source of the image for an image avatar.\n */\n src: {\n type: String,\n default: '',\n },\n /**\n * @description native attribute `alt` of image avatar.\n */\n alt: String,\n /**\n * @description native attribute srcset of image avatar.\n */\n srcSet: String,\n /**\n * @description set how the image fit its container for an image avatar.\n */\n fit: {\n type: definePropType(String),\n default: 'cover',\n },\n} as const)\nexport type AvatarProps = ExtractPropTypes\n\nexport const avatarEmits = {\n error: (evt: Event) => evt instanceof Event,\n}\nexport type AvatarEmits = typeof avatarEmits\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Avatar from './src/avatar.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElAvatar: SFCWithInstall = withInstall(Avatar)\nexport default ElAvatar\n\nexport * from './src/avatar'\nexport type { AvatarInstance } from './src/instance'\n", "import type { ExtractPropTypes } from 'vue'\n\nexport const backtopProps = {\n /**\n * @description the button will not show until the scroll height reaches this value.\n */\n visibilityHeight: {\n type: Number,\n default: 200,\n },\n /**\n * @description the target to trigger scroll.\n */\n target: {\n type: String,\n default: '',\n },\n /**\n * @description right distance.\n */\n right: {\n type: Number,\n default: 40,\n },\n /**\n * @description bottom distance.\n */\n bottom: {\n type: Number,\n default: 40,\n },\n} as const\nexport type BacktopProps = ExtractPropTypes\n\nexport const backtopEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type BacktopEmits = typeof backtopEmits\n", "import { onMounted, ref, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { throwError } from '@element-plus/utils'\nimport type { SetupContext } from 'vue'\nimport type { BacktopEmits, BacktopProps } from './backtop'\n\nexport const useBackTop = (\n props: BacktopProps,\n emit: SetupContext['emit'],\n componentName: string\n) => {\n const el = shallowRef()\n const container = shallowRef()\n const visible = ref(false)\n\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n\n const handleClick = (event: MouseEvent) => {\n el.value?.scrollTo({ top: 0, behavior: 'smooth' })\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300, true)\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n onMounted(() => {\n container.value = document\n el.value = document.documentElement\n\n if (props.target) {\n el.value = document.querySelector(props.target) ?? undefined\n if (!el.value) {\n throwError(componentName, `target does not exist: ${props.target}`)\n }\n container.value = el.value\n }\n // Give visible an initial value, fix #13066\n handleScroll()\n })\n\n return {\n visible,\n handleClick,\n }\n}\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Backtop from './src/backtop.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElBacktop: SFCWithInstall = withInstall(Backtop)\nexport default ElBacktop\n\nexport * from './src/backtop'\nexport type { BacktopInstance } from './src/instance'\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport const badgeProps = buildProps({\n /**\n * @description display value.\n */\n value: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description maximum value, shows `{max}+` when exceeded. Only works if value is a number.\n */\n max: {\n type: Number,\n default: 99,\n },\n /**\n * @description if a little dot is displayed.\n */\n isDot: Boolean,\n /**\n * @description hidden badge.\n */\n hidden: Boolean,\n /**\n * @description badge type.\n */\n type: {\n type: String,\n values: ['primary', 'success', 'warning', 'info', 'danger'],\n default: 'danger',\n },\n /**\n * @description whether to show badge when value is zero.\n */\n showZero: {\n type: Boolean,\n default: true,\n },\n /**\n * @description customize dot background color\n */\n color: String,\n /**\n * @description CSS style of badge\n */\n badgeStyle: {\n type: definePropType([String, Object, Array]),\n },\n /**\n * @description set offset of the badge\n */\n offset: {\n type: definePropType<[number, number]>(Array),\n default: [0, 0],\n },\n /**\n * @description custom class name of badge\n */\n badgeClass: {\n type: String,\n },\n} as const)\nexport type BadgeProps = ExtractPropTypes\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Badge from './src/badge.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElBadge: SFCWithInstall = withInstall(Badge)\nexport default ElBadge\n\nexport * from './src/badge'\nexport type { BadgeInstance } from './src/instance'\n", "import type { InjectionKey } from 'vue'\nimport type { BreadcrumbProps } from './breadcrumb'\n\nexport const breadcrumbKey: InjectionKey =\n Symbol('breadcrumbKey')\n", "import { buildProps, iconPropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const breadcrumbProps = buildProps({\n /**\n * @description separator character\n */\n separator: {\n type: String,\n default: '/',\n },\n /**\n * @description icon component of icon separator\n */\n separatorIcon: {\n type: iconPropType,\n },\n} as const)\nexport type BreadcrumbProps = ExtractPropTypes\n", "\n\n\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\n\nexport const breadcrumbItemProps = buildProps({\n /**\n * @description target route of the link, same as `to` of `vue-router`\n */\n to: {\n type: definePropType([String, Object]),\n default: '',\n },\n /**\n * @description if `true`, the navigation will not leave a history record\n */\n replace: Boolean,\n} as const)\nexport type BreadcrumbItemProps = ExtractPropTypes\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Breadcrumb from './src/breadcrumb.vue'\nimport BreadcrumbItem from './src/breadcrumb-item.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElBreadcrumb: SFCWithInstall & {\n BreadcrumbItem: typeof BreadcrumbItem\n} = withInstall(Breadcrumb, {\n BreadcrumbItem,\n})\nexport const ElBreadcrumbItem: SFCWithInstall =\n withNoopInstall(BreadcrumbItem)\nexport default ElBreadcrumb\n\nexport * from './src/breadcrumb'\nexport * from './src/breadcrumb-item'\nexport * from './src/constants'\nexport type {\n BreadcrumbInstance,\n BreadcrumbItemInstance,\n} from './src/instances'\n", "import type { InjectionKey } from 'vue'\n\nimport type { ButtonProps } from './button'\n\nexport interface ButtonGroupContext {\n size?: ButtonProps['size']\n type?: ButtonProps['type']\n}\n\nexport const buttonGroupContextKey: InjectionKey = Symbol(\n 'buttonGroupContextKey'\n)\n", "import { Text, computed, inject, ref, useSlots } from 'vue'\nimport {\n useFormDisabled,\n useFormItem,\n useFormSize,\n} from '@element-plus/components/form'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\nimport { useDeprecated } from '@element-plus/hooks'\nimport { buttonGroupContextKey } from './constants'\n\nimport type { SetupContext } from 'vue'\nimport type { ButtonEmits, ButtonProps } from './button'\n\nexport const useButton = (\n props: ButtonProps,\n emit: SetupContext['emit']\n) => {\n useDeprecated(\n {\n from: 'type.text',\n replacement: 'link',\n version: '3.0.0',\n scope: 'props',\n ref: 'https://element-plus.org/en-US/component/button.html#button-attributes',\n },\n computed(() => props.type === 'text')\n )\n\n const buttonGroupContext = inject(buttonGroupContextKey, undefined)\n const globalConfig = useGlobalConfig('button')\n const { form } = useFormItem()\n const _size = useFormSize(computed(() => buttonGroupContext?.size))\n const _disabled = useFormDisabled()\n const _ref = ref()\n const slots = useSlots()\n\n const _type = computed(() => props.type || buttonGroupContext?.type || '')\n const autoInsertSpace = computed(\n () => props.autoInsertSpace ?? globalConfig.value?.autoInsertSpace ?? false\n )\n\n const _props = computed(() => {\n if (props.tag === 'button') {\n return {\n ariaDisabled: _disabled.value || props.loading,\n disabled: _disabled.value || props.loading,\n autofocus: props.autofocus,\n type: props.nativeType,\n }\n }\n return {}\n })\n\n // add space between two characters in Chinese\n const shouldAddSpace = computed(() => {\n const defaultSlot = slots.default?.()\n if (autoInsertSpace.value && defaultSlot?.length === 1) {\n const slot = defaultSlot[0]\n if (slot?.type === Text) {\n const text = slot.children as string\n return /^\\p{Unified_Ideograph}{2}$/u.test(text.trim())\n }\n }\n return false\n })\n\n const handleClick = (evt: MouseEvent) => {\n if (_disabled.value || props.loading) {\n evt.stopPropagation()\n return\n }\n if (props.nativeType === 'reset') {\n form?.resetFields()\n }\n emit('click', evt)\n }\n\n return {\n _disabled,\n _size,\n _type,\n _ref,\n _props,\n shouldAddSpace,\n handleClick,\n }\n}\n", "import { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { Loading } from '@element-plus/icons-vue'\nimport type { Component, ExtractPropTypes } from 'vue'\n\nexport const buttonTypes = [\n 'default',\n 'primary',\n 'success',\n 'warning',\n 'info',\n 'danger',\n /**\n * @deprecated\n * Text type will be deprecated in the next major version (3.0.0)\n */\n 'text',\n '',\n] as const\nexport const buttonNativeTypes = ['button', 'submit', 'reset'] as const\n\nexport const buttonProps = buildProps({\n /**\n * @description button size\n */\n size: useSizeProp,\n /**\n * @description disable the button\n */\n disabled: Boolean,\n /**\n * @description button type\n */\n type: {\n type: String,\n values: buttonTypes,\n default: '',\n },\n /**\n * @description icon component\n */\n icon: {\n type: iconPropType,\n },\n /**\n * @description native button type\n */\n nativeType: {\n type: String,\n values: buttonNativeTypes,\n default: 'button',\n },\n /**\n * @description determine whether it's loading\n */\n loading: Boolean,\n /**\n * @description customize loading icon component\n */\n loadingIcon: {\n type: iconPropType,\n default: () => Loading,\n },\n /**\n * @description determine whether it's a plain button\n */\n plain: Boolean,\n /**\n * @description determine whether it's a text button\n */\n text: Boolean,\n /**\n * @description determine whether it's a link button\n */\n link: Boolean,\n /**\n * @description determine whether the text button background color is always on\n */\n bg: Boolean,\n /**\n * @description native button autofocus\n */\n autofocus: Boolean,\n /**\n * @description determine whether it's a round button\n */\n round: Boolean,\n /**\n * @description determine whether it's a circle button\n */\n circle: Boolean,\n /**\n * @description custom button color, automatically calculate `hover` and `active` color\n */\n color: String,\n /**\n * @description dark mode, which automatically converts `color` to dark mode colors\n */\n dark: Boolean,\n /**\n * @description automatically insert a space between two chinese characters\n */\n autoInsertSpace: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description custom element tag\n */\n tag: {\n type: definePropType([String, Object]),\n default: 'button',\n },\n} as const)\nexport const buttonEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\n\nexport type ButtonProps = ExtractPropTypes\nexport type ButtonEmits = typeof buttonEmits\n\nexport type ButtonType = ButtonProps['type']\nexport type ButtonNativeType = ButtonProps['nativeType']\n\nexport interface ButtonConfigContext {\n autoInsertSpace?: boolean\n}\n", "/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n", "import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n", "// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\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 cyan: '#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 goldenrod: '#daa520',\n gold: '#ffd700',\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 lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\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 steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n", "/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n", "import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n", "import { computed } from 'vue'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport type { ButtonProps } from './button'\n\nexport function darken(color: TinyColor, amount = 20) {\n return color.mix('#141414', amount).toString()\n}\n\nexport function useButtonCustomStyle(props: ButtonProps) {\n const _disabled = useFormDisabled()\n const ns = useNamespace('button')\n\n // calculate hover & active color by custom color\n // only work when custom color\n return computed(() => {\n let styles: Record = {}\n\n let buttonColor = props.color\n\n if (buttonColor) {\n const match = (buttonColor as string).match(/var\\((.*?)\\)/)\n if (match) {\n buttonColor = window\n .getComputedStyle(window.document.documentElement)\n .getPropertyValue(match[1])\n }\n const color = new TinyColor(buttonColor)\n const activeBgColor = props.dark\n ? color.tint(20).toString()\n : darken(color, 20)\n\n if (props.plain) {\n styles = ns.cssVarBlock({\n 'bg-color': props.dark\n ? darken(color, 90)\n : color.tint(90).toString(),\n 'text-color': buttonColor,\n 'border-color': props.dark\n ? darken(color, 50)\n : color.tint(50).toString(),\n 'hover-text-color': `var(${ns.cssVarName('color-white')})`,\n 'hover-bg-color': buttonColor,\n 'hover-border-color': buttonColor,\n 'active-bg-color': activeBgColor,\n 'active-text-color': `var(${ns.cssVarName('color-white')})`,\n 'active-border-color': activeBgColor,\n })\n\n if (_disabled.value) {\n styles[ns.cssVarBlockName('disabled-bg-color')] = props.dark\n ? darken(color, 90)\n : color.tint(90).toString()\n styles[ns.cssVarBlockName('disabled-text-color')] = props.dark\n ? darken(color, 50)\n : color.tint(50).toString()\n styles[ns.cssVarBlockName('disabled-border-color')] = props.dark\n ? darken(color, 80)\n : color.tint(80).toString()\n }\n } else {\n const hoverBgColor = props.dark\n ? darken(color, 30)\n : color.tint(30).toString()\n const textColor = color.isDark()\n ? `var(${ns.cssVarName('color-white')})`\n : `var(${ns.cssVarName('color-black')})`\n styles = ns.cssVarBlock({\n 'bg-color': buttonColor,\n 'text-color': textColor,\n 'border-color': buttonColor,\n 'hover-bg-color': hoverBgColor,\n 'hover-text-color': textColor,\n 'hover-border-color': hoverBgColor,\n 'active-bg-color': activeBgColor,\n 'active-border-color': activeBgColor,\n })\n\n if (_disabled.value) {\n const disabledButtonColor = props.dark\n ? darken(color, 50)\n : color.tint(50).toString()\n styles[ns.cssVarBlockName('disabled-bg-color')] = disabledButtonColor\n styles[ns.cssVarBlockName('disabled-text-color')] = props.dark\n ? 'rgba(255, 255, 255, 0.5)'\n : `var(${ns.cssVarName('color-white')})`\n styles[ns.cssVarBlockName('disabled-border-color')] =\n disabledButtonColor\n }\n }\n }\n\n return styles\n })\n}\n", "\n\n\n", "import { buttonProps } from './button'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const buttonGroupProps = {\n /**\n * @description control the size of buttons in this button-group\n */\n size: buttonProps.size,\n /**\n * @description control the type of buttons in this button-group\n */\n type: buttonProps.type,\n} as const\nexport type ButtonGroupProps = ExtractPropTypes\n", "\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Button from './src/button.vue'\nimport ButtonGroup from './src/button-group.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElButton: SFCWithInstall & {\n ButtonGroup: typeof ButtonGroup\n} = withInstall(Button, {\n ButtonGroup,\n})\nexport const ElButtonGroup: SFCWithInstall =\n withNoopInstall(ButtonGroup)\nexport default ElButton\n\nexport * from './src/button'\nexport * from './src/constants'\nexport type { ButtonInstance, ButtonGroupInstance } from './src/instance'\n", "// eslint-disable-next-line import/prefer-default-export\nexport var t = function t(format) {\n return format.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, function (_, a, b) {\n return a || b.slice(1);\n });\n};\nexport var englishFormats = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n};\nexport var u = function u(formatStr, formats) {\n return formatStr.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (_, a, b) {\n var B = b && b.toUpperCase();\n return a || formats[b] || englishFormats[b] || t(formats[B]);\n });\n};", "import { u } from '../localizedFormat/utils';\nvar formattingTokens = /(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchOffset = /[+-]\\d\\d:?(\\d\\d)?|Z/; // +00:00 -00:00 +0000 or -0000 +00 or Z\n\nvar matchWord = /\\d*[^-_:/,()\\s\\d]+/; // Word\n\nvar locale = {};\n\nvar parseTwoDigitYear = function parseTwoDigitYear(input) {\n input = +input;\n return input + (input > 68 ? 1900 : 2000);\n};\n\nfunction offsetFromString(string) {\n if (!string) return 0;\n if (string === 'Z') return 0;\n var parts = string.match(/([+-]|\\d\\d)/g);\n var minutes = +(parts[1] * 60) + (+parts[2] || 0);\n return minutes === 0 ? 0 : parts[0] === '+' ? -minutes : minutes; // eslint-disable-line no-nested-ternary\n}\n\nvar addInput = function addInput(property) {\n return function (input) {\n this[property] = +input;\n };\n};\n\nvar zoneExpressions = [matchOffset, function (input) {\n var zone = this.zone || (this.zone = {});\n zone.offset = offsetFromString(input);\n}];\n\nvar getLocalePart = function getLocalePart(name) {\n var part = locale[name];\n return part && (part.indexOf ? part : part.s.concat(part.f));\n};\n\nvar meridiemMatch = function meridiemMatch(input, isLowerCase) {\n var isAfternoon;\n var _locale = locale,\n meridiem = _locale.meridiem;\n\n if (!meridiem) {\n isAfternoon = input === (isLowerCase ? 'pm' : 'PM');\n } else {\n for (var i = 1; i <= 24; i += 1) {\n // todo: fix input === meridiem(i, 0, isLowerCase)\n if (input.indexOf(meridiem(i, 0, isLowerCase)) > -1) {\n isAfternoon = i > 12;\n break;\n }\n }\n }\n\n return isAfternoon;\n};\n\nvar expressions = {\n A: [matchWord, function (input) {\n this.afternoon = meridiemMatch(input, false);\n }],\n a: [matchWord, function (input) {\n this.afternoon = meridiemMatch(input, true);\n }],\n Q: [match1, function (input) {\n this.month = (input - 1) * 3 + 1;\n }],\n S: [match1, function (input) {\n this.milliseconds = +input * 100;\n }],\n SS: [match2, function (input) {\n this.milliseconds = +input * 10;\n }],\n SSS: [match3, function (input) {\n this.milliseconds = +input;\n }],\n s: [match1to2, addInput('seconds')],\n ss: [match1to2, addInput('seconds')],\n m: [match1to2, addInput('minutes')],\n mm: [match1to2, addInput('minutes')],\n H: [match1to2, addInput('hours')],\n h: [match1to2, addInput('hours')],\n HH: [match1to2, addInput('hours')],\n hh: [match1to2, addInput('hours')],\n D: [match1to2, addInput('day')],\n DD: [match2, addInput('day')],\n Do: [matchWord, function (input) {\n var _locale2 = locale,\n ordinal = _locale2.ordinal;\n\n var _input$match = input.match(/\\d+/);\n\n this.day = _input$match[0];\n if (!ordinal) return;\n\n for (var i = 1; i <= 31; i += 1) {\n if (ordinal(i).replace(/\\[|\\]/g, '') === input) {\n this.day = i;\n }\n }\n }],\n w: [match1to2, addInput('week')],\n ww: [match2, addInput('week')],\n M: [match1to2, addInput('month')],\n MM: [match2, addInput('month')],\n MMM: [matchWord, function (input) {\n var months = getLocalePart('months');\n var monthsShort = getLocalePart('monthsShort');\n var matchIndex = (monthsShort || months.map(function (_) {\n return _.slice(0, 3);\n })).indexOf(input) + 1;\n\n if (matchIndex < 1) {\n throw new Error();\n }\n\n this.month = matchIndex % 12 || matchIndex;\n }],\n MMMM: [matchWord, function (input) {\n var months = getLocalePart('months');\n var matchIndex = months.indexOf(input) + 1;\n\n if (matchIndex < 1) {\n throw new Error();\n }\n\n this.month = matchIndex % 12 || matchIndex;\n }],\n Y: [matchSigned, addInput('year')],\n YY: [match2, function (input) {\n this.year = parseTwoDigitYear(input);\n }],\n YYYY: [match4, addInput('year')],\n Z: zoneExpressions,\n ZZ: zoneExpressions\n};\n\nfunction correctHours(time) {\n var afternoon = time.afternoon;\n\n if (afternoon !== undefined) {\n var hours = time.hours;\n\n if (afternoon) {\n if (hours < 12) {\n time.hours += 12;\n }\n } else if (hours === 12) {\n time.hours = 0;\n }\n\n delete time.afternoon;\n }\n}\n\nfunction makeParser(format) {\n format = u(format, locale && locale.formats);\n var array = format.match(formattingTokens);\n var length = array.length;\n\n for (var i = 0; i < length; i += 1) {\n var token = array[i];\n var parseTo = expressions[token];\n var regex = parseTo && parseTo[0];\n var parser = parseTo && parseTo[1];\n\n if (parser) {\n array[i] = {\n regex: regex,\n parser: parser\n };\n } else {\n array[i] = token.replace(/^\\[|\\]$/g, '');\n }\n }\n\n return function (input) {\n var time = {};\n\n for (var _i = 0, start = 0; _i < length; _i += 1) {\n var _token = array[_i];\n\n if (typeof _token === 'string') {\n start += _token.length;\n } else {\n var _regex = _token.regex,\n _parser = _token.parser;\n var part = input.slice(start);\n\n var match = _regex.exec(part);\n\n var value = match[0];\n\n _parser.call(time, value);\n\n input = input.replace(value, '');\n }\n }\n\n correctHours(time);\n return time;\n };\n}\n\nvar parseFormattedInput = function parseFormattedInput(input, format, utc, dayjs) {\n try {\n if (['x', 'X'].indexOf(format) > -1) return new Date((format === 'X' ? 1000 : 1) * input);\n var parser = makeParser(format);\n\n var _parser2 = parser(input),\n year = _parser2.year,\n month = _parser2.month,\n day = _parser2.day,\n hours = _parser2.hours,\n minutes = _parser2.minutes,\n seconds = _parser2.seconds,\n milliseconds = _parser2.milliseconds,\n zone = _parser2.zone,\n week = _parser2.week;\n\n var now = new Date();\n var d = day || (!year && !month ? now.getDate() : 1);\n var y = year || now.getFullYear();\n var M = 0;\n\n if (!(year && !month)) {\n M = month > 0 ? month - 1 : now.getMonth();\n }\n\n var h = hours || 0;\n var m = minutes || 0;\n var s = seconds || 0;\n var ms = milliseconds || 0;\n\n if (zone) {\n return new Date(Date.UTC(y, M, d, h, m, s, ms + zone.offset * 60 * 1000));\n }\n\n if (utc) {\n return new Date(Date.UTC(y, M, d, h, m, s, ms));\n }\n\n var newDate;\n newDate = new Date(y, M, d, h, m, s, ms);\n\n if (week) {\n newDate = dayjs(newDate).week(week).toDate();\n }\n\n return newDate;\n } catch (e) {\n return new Date(''); // Invalid Date\n }\n};\n\nexport default (function (o, C, d) {\n d.p.customParseFormat = true;\n\n if (o && o.parseTwoDigitYear) {\n parseTwoDigitYear = o.parseTwoDigitYear;\n }\n\n var proto = C.prototype;\n var oldParse = proto.parse;\n\n proto.parse = function (cfg) {\n var date = cfg.date,\n utc = cfg.utc,\n args = cfg.args;\n this.$u = utc;\n var format = args[1];\n\n if (typeof format === 'string') {\n var isStrictWithoutLocale = args[2] === true;\n var isStrictWithLocale = args[3] === true;\n var isStrict = isStrictWithoutLocale || isStrictWithLocale;\n var pl = args[2];\n\n if (isStrictWithLocale) {\n pl = args[2];\n }\n\n locale = this.$locale();\n\n if (!isStrictWithoutLocale && pl) {\n locale = d.Ls[pl];\n }\n\n this.$d = parseFormattedInput(date, format, utc, d);\n this.init();\n if (pl && pl !== true) this.$L = this.locale(pl).$L; // use != to treat\n // input number 1410715640579 and format string '1410715640579' equal\n // eslint-disable-next-line eqeqeq\n\n if (isStrict && date != this.format(format)) {\n this.$d = new Date('');\n } // reset global locale to make parallel unit test\n\n\n locale = {};\n } else if (format instanceof Array) {\n var len = format.length;\n\n for (var i = 1; i <= len; i += 1) {\n args[1] = format[i - 1];\n var result = d.apply(this, args);\n\n if (result.isValid()) {\n this.$d = result.$d;\n this.$L = result.$L;\n this.init();\n break;\n }\n\n if (i === len) this.$d = new Date('');\n }\n } else {\n oldParse.call(this, cfg);\n }\n };\n});", "export const timeUnits = ['hours', 'minutes', 'seconds'] as const\n\nexport const DEFAULT_FORMATS_TIME = 'HH:mm:ss'\nexport const DEFAULT_FORMATS_DATE = 'YYYY-MM-DD'\nexport const DEFAULT_FORMATS_DATEPICKER = {\n date: DEFAULT_FORMATS_DATE,\n dates: DEFAULT_FORMATS_DATE,\n week: 'gggg[w]ww',\n year: 'YYYY',\n years: 'YYYY',\n month: 'YYYY-MM',\n months: 'YYYY-MM',\n datetime: `${DEFAULT_FORMATS_DATE} ${DEFAULT_FORMATS_TIME}`,\n monthrange: 'YYYY-MM',\n yearrange: 'YYYY',\n daterange: DEFAULT_FORMATS_DATE,\n datetimerange: `${DEFAULT_FORMATS_DATE} ${DEFAULT_FORMATS_TIME}`,\n}\n\nexport type TimeUnit = typeof timeUnits[number]\n", "import dayjs from 'dayjs'\nimport { isArray, isDate, isEmpty } from '@element-plus/utils'\n\nimport type { Dayjs } from 'dayjs'\nexport type TimeList = [number | undefined, number, undefined | number]\n\nexport const buildTimeList = (value: number, bound: number): TimeList => {\n return [\n value > 0 ? value - 1 : undefined,\n value,\n value < bound ? value + 1 : undefined,\n ]\n}\n\nexport const rangeArr = (n: number) =>\n Array.from(Array.from({ length: n }).keys())\n\nexport const extractDateFormat = (format: string) => {\n return format\n .replace(/\\W?m{1,2}|\\W?ZZ/g, '')\n .replace(/\\W?h{1,2}|\\W?s{1,3}|\\W?a/gi, '')\n .trim()\n}\n\nexport const extractTimeFormat = (format: string) => {\n return format\n .replace(/\\W?D{1,2}|\\W?Do|\\W?d{1,4}|\\W?M{1,4}|\\W?Y{2,4}/g, '')\n .trim()\n}\n\nexport const dateEquals = function (a: Date | unknown, b: Date | unknown) {\n const aIsDate = isDate(a)\n const bIsDate = isDate(b)\n if (aIsDate && bIsDate) {\n return a.getTime() === b.getTime()\n }\n if (!aIsDate && !bIsDate) {\n return a === b\n }\n return false\n}\n\nexport const valueEquals = function (\n a: Array | unknown,\n b: Array | unknown\n) {\n const aIsArray = isArray(a)\n const bIsArray = isArray(b)\n if (aIsArray && bIsArray) {\n if (a.length !== b.length) {\n return false\n }\n return a.every((item, index) => dateEquals(item, b[index]))\n }\n if (!aIsArray && !bIsArray) {\n return dateEquals(a, b)\n }\n return false\n}\n\nexport const parseDate = function (\n date: string | number | Date,\n format: string | undefined,\n lang: string\n) {\n const day =\n isEmpty(format) || format === 'x'\n ? dayjs(date).locale(lang)\n : dayjs(date, format).locale(lang)\n return day.isValid() ? day : undefined\n}\n\nexport const formatter = function (\n date: string | number | Date | Dayjs,\n format: string | undefined,\n lang: string\n) {\n if (isEmpty(format)) return date\n if (format === 'x') return +date\n return dayjs(date).locale(lang).format(format)\n}\n\nexport const makeList = (total: number, method?: () => number[]) => {\n const arr: boolean[] = []\n const disabledArr = method?.()\n for (let i = 0; i < total; i++) {\n arr.push(disabledArr?.includes(i) ?? false)\n }\n return arr\n}\n", "import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport type GetDisabledHours = (role: string, comparingDate?: Dayjs) => number[]\nexport type GetDisabledMinutes = (\n hour: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\nexport type GetDisabledSeconds = (\n hour: number,\n minute: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\n\nexport const disabledTimeListsProps = buildProps({\n /**\n * @description To specify the array of hours that cannot be selected\n */\n disabledHours: {\n type: definePropType(Function),\n },\n /**\n * @description To specify the array of minutes that cannot be selected\n */\n disabledMinutes: {\n type: definePropType(Function),\n },\n /**\n * @description To specify the array of seconds that cannot be selected\n */\n disabledSeconds: {\n type: definePropType(Function),\n },\n} as const)\n\nexport type DisabledTimeListsProps = ExtractPropTypes<\n typeof disabledTimeListsProps\n>\n\nexport const timePanelSharedProps = buildProps({\n visible: Boolean,\n actualVisible: {\n type: Boolean,\n default: undefined,\n },\n format: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type TimePanelSharedProps = ExtractPropTypes\n", "import { placements } from '@popperjs/core'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport { disabledTimeListsProps } from '../props/shared'\n\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type { Options } from '@popperjs/core'\nimport type { Dayjs } from 'dayjs'\nimport type { Placement } from '@element-plus/components/popper'\n\nexport type SingleOrRange = T | [T, T]\nexport type DateModelType = number | string | Date\nexport type ModelValueType = SingleOrRange | string[]\nexport type DayOrDays = SingleOrRange\nexport type DateOrDates = SingleOrRange\nexport type UserInput = SingleOrRange\nexport type GetDisabledHours = (role: string, comparingDate?: Dayjs) => number[]\nexport type GetDisabledMinutes = (\n hour: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\nexport type GetDisabledSeconds = (\n hour: number,\n minute: number,\n role: string,\n comparingDate?: Dayjs\n) => number[]\n\nexport const timePickerDefaultProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: definePropType>([Array, String]),\n },\n /**\n * @description same as `name` in native input\n */\n name: {\n type: definePropType>([Array, String]),\n },\n /**\n * @description custom class name for TimePicker's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description format of the displayed value in the input box\n */\n format: String,\n /**\n * @description optional, format of binding value. If not specified, the binding value will be a Date object\n */\n valueFormat: String,\n /**\n * @description optional, format of the date displayed value in TimePicker's dropdown\n */\n dateFormat: String,\n /**\n * @description optional, format of the time displayed value in TimePicker's dropdown\n */\n timeFormat: String,\n /**\n * @description type of the picker\n */\n type: {\n type: String,\n default: '',\n },\n /**\n * @description whether to show clear button\n */\n clearable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Custom clear icon component\n */\n clearIcon: {\n type: definePropType([String, Object]),\n default: CircleClose,\n },\n /**\n * @description whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Custom prefix icon component\n */\n prefixIcon: {\n type: definePropType([String, Object]),\n default: '',\n },\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description whether TimePicker is read only\n */\n readonly: Boolean,\n /**\n * @description whether TimePicker is disabled\n */\n disabled: Boolean,\n /**\n * @description placeholder in non-range mode\n */\n placeholder: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType>(Object),\n default: () => ({}),\n },\n /**\n * @description binding value, if it is an array, the length should be 2\n */\n modelValue: {\n type: definePropType([Date, Array, String, Number]),\n default: '',\n },\n /**\n * @description range separator\n */\n rangeSeparator: {\n type: String,\n default: '-',\n },\n /**\n * @description placeholder for the start date in range mode\n */\n startPlaceholder: String,\n /**\n * @description placeholder for the end date in range mode\n */\n endPlaceholder: String,\n /**\n * @description optional, default date of the calendar\n */\n defaultValue: {\n type: definePropType>([Date, Array]),\n },\n /**\n * @description optional, the time value to use when selecting date range\n */\n defaultTime: {\n type: definePropType>([Date, Array]),\n },\n /**\n * @description whether to pick a time range\n */\n isRange: Boolean,\n ...disabledTimeListsProps,\n /**\n * @description a function determining if a date is disabled with that date as its parameter. Should return a Boolean\n */\n disabledDate: {\n type: Function,\n },\n /**\n * @description set custom className\n */\n cellClassName: {\n type: Function,\n },\n /**\n * @description an object array to set shortcut options\n */\n shortcuts: {\n type: Array,\n default: () => [],\n },\n /**\n * @description whether to pick time using arrow buttons\n */\n arrowControl: Boolean,\n /**\n * @description input tabindex\n */\n tabindex: {\n type: definePropType([String, Number]),\n default: 0,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unlink two date-panels in range-picker\n */\n unlinkPanels: Boolean,\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType(String),\n values: placements,\n default: 'bottom',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType(Array),\n default: ['bottom', 'top', 'right', 'left'],\n },\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n /**\n * @description whether to show the now button\n */\n showNow: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport type TimePickerDefaultProps = ExtractPropTypes<\n typeof timePickerDefaultProps\n>\n\nexport interface PickerOptions {\n isValidValue: (date: DayOrDays) => boolean\n handleKeydownInput: (event: KeyboardEvent) => void\n parseUserInput: (value: UserInput) => DayOrDays\n formatToString: (value: DayOrDays) => UserInput\n getRangeAvailableTime: (date: DayOrDays) => DayOrDays\n getDefaultValue: () => DayOrDays\n panelReady: boolean\n handleClear: () => void\n handleFocusPicker?: () => void\n}\n\nexport const timePickerRngeTriggerProps = buildProps({\n id: {\n type: definePropType(Array),\n },\n name: {\n type: definePropType(Array),\n },\n modelValue: {\n type: definePropType([Array, String]),\n },\n startPlaceholder: String,\n endPlaceholder: String,\n} as const)\n", "\n\n\n", "\n\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { timePanelSharedProps } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const panelTimePickerProps = buildProps({\n ...timePanelSharedProps,\n datetimeRole: String,\n parsedValue: {\n type: definePropType(Object),\n },\n} as const)\n\nexport type PanelTimePickerProps = ExtractPropTypes\n", "import type { Dayjs } from 'dayjs'\n\nimport type {\n GetDisabledHoursState,\n GetDisabledMinutesState,\n GetDisabledSecondsState,\n} from '../types'\n\ntype UseTimePanelProps = {\n getAvailableHours: GetDisabledHoursState\n getAvailableMinutes: GetDisabledMinutesState\n getAvailableSeconds: GetDisabledSecondsState\n}\n\nexport const useTimePanel = ({\n getAvailableHours,\n getAvailableMinutes,\n getAvailableSeconds,\n}: UseTimePanelProps) => {\n const getAvailableTime = (\n date: Dayjs,\n role: string,\n first: boolean,\n compareDate?: Dayjs\n ) => {\n const availableTimeGetters = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n } as const\n let result = date\n ;(['hour', 'minute', 'second'] as const).forEach((type) => {\n if (availableTimeGetters[type]) {\n let availableTimeSlots: number[]\n const method = availableTimeGetters[type]\n switch (type) {\n case 'minute': {\n availableTimeSlots = (method as typeof getAvailableMinutes)(\n result.hour(),\n role,\n compareDate\n )\n break\n }\n case 'second': {\n availableTimeSlots = (method as typeof getAvailableSeconds)(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n break\n }\n default: {\n availableTimeSlots = (method as typeof getAvailableHours)(\n role,\n compareDate\n )\n break\n }\n }\n\n if (\n availableTimeSlots?.length &&\n !availableTimeSlots.includes(result[type]())\n ) {\n const pos = first ? 0 : availableTimeSlots.length - 1\n result = result[type](availableTimeSlots[pos]) as unknown as Dayjs\n }\n }\n })\n return result\n }\n\n const timePickerOptions: Record void> = {}\n\n const onSetOption = ([key, val]: [string, (...args: any[]) => void]) => {\n timePickerOptions[key] = val\n }\n\n return {\n timePickerOptions,\n\n getAvailableTime,\n onSetOption,\n }\n}\n", "import { ref, watch } from 'vue'\nimport { makeList } from '../utils'\n\nimport type { Dayjs } from 'dayjs'\nimport type {\n GetDisabledHoursState,\n GetDisabledMinutesState,\n GetDisabledSecondsState,\n} from '../types'\nimport type {\n GetDisabledHours,\n GetDisabledMinutes,\n GetDisabledSeconds,\n} from '../props/shared'\n\nconst makeAvailableArr = (disabledList: boolean[]): number[] => {\n const trueOrNumber = (isDisabled: boolean, index: number) =>\n isDisabled || index\n\n const getNumber = (predicate: number | true): predicate is number =>\n predicate !== true\n\n return disabledList.map(trueOrNumber).filter(getNumber)\n}\n\nexport const getTimeLists = (\n disabledHours?: GetDisabledHours,\n disabledMinutes?: GetDisabledMinutes,\n disabledSeconds?: GetDisabledSeconds\n) => {\n const getHoursList = (role: string, compare?: Dayjs) => {\n return makeList(24, disabledHours && (() => disabledHours?.(role, compare)))\n }\n\n const getMinutesList = (hour: number, role: string, compare?: Dayjs) => {\n return makeList(\n 60,\n disabledMinutes && (() => disabledMinutes?.(hour, role, compare))\n )\n }\n\n const getSecondsList = (\n hour: number,\n minute: number,\n role: string,\n compare?: Dayjs\n ) => {\n return makeList(\n 60,\n disabledSeconds && (() => disabledSeconds?.(hour, minute, role, compare))\n )\n }\n\n return {\n getHoursList,\n getMinutesList,\n getSecondsList,\n }\n}\n\nexport const buildAvailableTimeSlotGetter = (\n disabledHours: GetDisabledHours,\n disabledMinutes: GetDisabledMinutes,\n disabledSeconds: GetDisabledSeconds\n) => {\n const { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n disabledHours,\n disabledMinutes,\n disabledSeconds\n )\n\n const getAvailableHours: GetDisabledHoursState = (role, compare?) => {\n return makeAvailableArr(getHoursList(role, compare))\n }\n\n const getAvailableMinutes: GetDisabledMinutesState = (\n hour,\n role,\n compare?\n ) => {\n return makeAvailableArr(getMinutesList(hour, role, compare))\n }\n\n const getAvailableSeconds: GetDisabledSecondsState = (\n hour,\n minute,\n role,\n compare?\n ) => {\n return makeAvailableArr(getSecondsList(hour, minute, role, compare))\n }\n\n return {\n getAvailableHours,\n getAvailableMinutes,\n getAvailableSeconds,\n }\n}\n\nexport const useOldValue = (props: {\n parsedValue?: string | Dayjs | Dayjs[]\n visible: boolean\n}) => {\n const oldValue = ref(props.parsedValue)\n\n watch(\n () => props.visible,\n (val) => {\n if (!val) {\n oldValue.value = props.parsedValue\n }\n }\n )\n\n return oldValue\n}\n", "import { isArray, isClient, isElement } from '@element-plus/utils'\n\nimport type {\n ComponentPublicInstance,\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = (mouseup: T, mousedown: T) => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map()\n\nif (isClient) {\n let startClick: MouseEvent | undefined\n document.addEventListener('mousedown', (e: MouseEvent) => (startClick = e))\n document.addEventListener('mouseup', (e: MouseEvent) => {\n if (startClick) {\n for (const handlers of nodeList.values()) {\n for (const { documentHandler } of handlers) {\n documentHandler(e as MouseEvent, startClick)\n }\n }\n startClick = undefined\n }\n })\n}\n\nfunction createDocumentHandler(\n el: HTMLElement,\n binding: DirectiveBinding\n): DocumentHandler {\n let excludes: HTMLElement[] = []\n if (isArray(binding.arg)) {\n excludes = binding.arg\n } else if (isElement(binding.arg)) {\n // due to current implementation on binding type is wrong the type casting is necessary here\n excludes.push(binding.arg as unknown as HTMLElement)\n }\n return function (mouseup, mousedown) {\n const popperRef = (\n binding.instance as ComponentPublicInstance<{\n popperRef: HTMLElement\n }>\n ).popperRef\n const mouseUpTarget = mouseup.target as Node\n const mouseDownTarget = mousedown?.target as Node\n const isBound = !binding || !binding.instance\n const isTargetExists = !mouseUpTarget || !mouseDownTarget\n const isContainedByEl =\n el.contains(mouseUpTarget) || el.contains(mouseDownTarget)\n const isSelf = el === mouseUpTarget\n\n const isTargetExcluded =\n (excludes.length &&\n excludes.some((item) => item?.contains(mouseUpTarget))) ||\n (excludes.length && excludes.includes(mouseDownTarget as HTMLElement))\n const isContainedByPopper =\n popperRef &&\n (popperRef.contains(mouseUpTarget) || popperRef.contains(mouseDownTarget))\n if (\n isBound ||\n isTargetExists ||\n isContainedByEl ||\n isSelf ||\n isTargetExcluded ||\n isContainedByPopper\n ) {\n return\n }\n binding.value(mouseup, mousedown)\n }\n}\n\nconst ClickOutside: ObjectDirective = {\n beforeMount(el: HTMLElement, binding: DirectiveBinding) {\n // there could be multiple handlers on the element\n if (!nodeList.has(el)) {\n nodeList.set(el, [])\n }\n\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, [])\n }\n\n const handlers = nodeList.get(el)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n unmounted(el: HTMLElement) {\n // remove all listeners when a component unmounted\n nodeList.delete(el)\n },\n}\n\nexport default ClickOutside\n", "import { isFunction } from '@element-plus/utils'\n\nimport type { ObjectDirective } from 'vue'\n\nexport const REPEAT_INTERVAL = 100\nexport const REPEAT_DELAY = 600\n\nexport interface RepeatClickOptions {\n interval?: number\n delay?: number\n handler: (...args: unknown[]) => unknown\n}\n\nexport const vRepeatClick: ObjectDirective<\n HTMLElement,\n RepeatClickOptions | RepeatClickOptions['handler']\n> = {\n beforeMount(el, binding) {\n const value = binding.value\n const { interval = REPEAT_INTERVAL, delay = REPEAT_DELAY } = isFunction(\n value\n )\n ? {}\n : value\n\n let intervalId: ReturnType | undefined\n let delayId: ReturnType | undefined\n\n const handler = () => (isFunction(value) ? value() : value.handler())\n\n const clear = () => {\n if (delayId) {\n clearTimeout(delayId)\n delayId = undefined\n }\n if (intervalId) {\n clearInterval(intervalId)\n intervalId = undefined\n }\n }\n\n el.addEventListener('mousedown', (evt: MouseEvent) => {\n if (evt.button !== 0) return\n clear()\n handler()\n\n document.addEventListener('mouseup', () => clear(), {\n once: true,\n })\n\n delayId = setTimeout(() => {\n intervalId = setInterval(() => {\n handler()\n }, interval)\n }, delay)\n })\n },\n}\n", "import { nextTick } from 'vue'\nimport { obtainAllFocusableElements } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport type { ObjectDirective } from 'vue'\n\nexport const FOCUSABLE_CHILDREN = '_trap-focus-children'\nexport const TRAP_FOCUS_HANDLER = '_trap-focus-handler'\n\nexport interface TrapFocusElement extends HTMLElement {\n [FOCUSABLE_CHILDREN]: HTMLElement[]\n [TRAP_FOCUS_HANDLER]: (e: KeyboardEvent) => void\n}\n\nconst FOCUS_STACK: TrapFocusElement[] = []\n\nconst FOCUS_HANDLER = (e: KeyboardEvent) => {\n // Getting the top layer.\n if (FOCUS_STACK.length === 0) return\n const focusableElement =\n FOCUS_STACK[FOCUS_STACK.length - 1][FOCUSABLE_CHILDREN]\n if (focusableElement.length > 0 && e.code === EVENT_CODE.tab) {\n if (focusableElement.length === 1) {\n e.preventDefault()\n if (document.activeElement !== focusableElement[0]) {\n focusableElement[0].focus()\n }\n return\n }\n const goingBackward = e.shiftKey\n const isFirst = e.target === focusableElement[0]\n const isLast = e.target === focusableElement[focusableElement.length - 1]\n if (isFirst && goingBackward) {\n e.preventDefault()\n focusableElement[focusableElement.length - 1].focus()\n }\n if (isLast && !goingBackward) {\n e.preventDefault()\n focusableElement[0].focus()\n }\n\n // the is critical since jsdom did not implement user actions, you can only mock it\n // DELETE ME: when testing env switches to puppeteer\n if (process.env.NODE_ENV === 'test') {\n const index = focusableElement.indexOf(e.target as HTMLElement)\n if (index !== -1) {\n focusableElement[goingBackward ? index - 1 : index + 1]?.focus()\n }\n }\n }\n}\n\nconst TrapFocus: ObjectDirective = {\n beforeMount(el: TrapFocusElement) {\n el[FOCUSABLE_CHILDREN] = obtainAllFocusableElements(el)\n FOCUS_STACK.push(el)\n if (FOCUS_STACK.length <= 1) {\n document.addEventListener('keydown', FOCUS_HANDLER)\n }\n },\n updated(el: TrapFocusElement) {\n nextTick(() => {\n el[FOCUSABLE_CHILDREN] = obtainAllFocusableElements(el)\n })\n },\n unmounted() {\n FOCUS_STACK.shift()\n if (FOCUS_STACK.length === 0) {\n document.removeEventListener('keydown', FOCUS_HANDLER)\n }\n },\n}\n\nexport default TrapFocus\n", "/**\n * Copyright 2004-present Facebook. All Rights Reserved.\n *\n * @providesModule UserAgent_DEPRECATED\n */\n\n/**\n * Provides entirely client-side User Agent and OS detection. You should prefer\n * the non-deprecated UserAgent module when possible, which exposes our\n * authoritative server-side PHP-based detection to the client.\n *\n * Usage is straightforward:\n *\n * if (UserAgent_DEPRECATED.ie()) {\n * // IE\n * }\n *\n * You can also do version checks:\n *\n * if (UserAgent_DEPRECATED.ie() >= 7) {\n * // IE7 or better\n * }\n *\n * The browser functions will return NaN if the browser does not match, so\n * you can also do version compares the other way:\n *\n * if (UserAgent_DEPRECATED.ie() < 7) {\n * // IE6 or worse\n * }\n *\n * Note that the version is a float and may include a minor version number,\n * so you should always use range operators to perform comparisons, not\n * strict equality.\n *\n * **Note:** You should **strongly** prefer capability detection to browser\n * version detection where it's reasonable:\n *\n * http://www.quirksmode.org/js/support.html\n *\n * Further, we have a large number of mature wrapper functions and classes\n * which abstract away many browser irregularities. Check the documentation,\n * grep for things, or ask on javascript@lists.facebook.com before writing yet\n * another copy of \"event || window.event\".\n *\n */\n\nvar _populated = false;\n\n// Browsers\nvar _ie, _firefox, _opera, _webkit, _chrome;\n\n// Actual IE browser for compatibility mode\nvar _ie_real_version;\n\n// Platforms\nvar _osx, _windows, _linux, _android;\n\n// Architectures\nvar _win64;\n\n// Devices\nvar _iphone, _ipad, _native;\n\nvar _mobile;\n\nfunction _populate() {\n if (_populated) {\n return;\n }\n\n _populated = true;\n\n // To work around buggy JS libraries that can't handle multi-digit\n // version numbers, Opera 10's user agent string claims it's Opera\n // 9, then later includes a Version/X.Y field:\n //\n // Opera/9.80 (foo) Presto/2.2.15 Version/10.10\n var uas = navigator.userAgent;\n var agent =\n /(?:MSIE.(\\d+\\.\\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\\d+\\.\\d+))|(?:Opera(?:.+Version.|.)(\\d+\\.\\d+))|(?:AppleWebKit.(\\d+(?:\\.\\d+)?))|(?:Trident\\/\\d+\\.\\d+.*rv:(\\d+\\.\\d+))/.exec(\n uas\n );\n var os = /(Mac OS X)|(Windows)|(Linux)/.exec(uas);\n\n _iphone = /\\b(iPhone|iP[ao]d)/.exec(uas);\n _ipad = /\\b(iP[ao]d)/.exec(uas);\n _android = /Android/i.exec(uas);\n _native = /FBAN\\/\\w+;/i.exec(uas);\n _mobile = /Mobile/i.exec(uas);\n\n // Note that the IE team blog would have you believe you should be checking\n // for 'Win64; x64'. But MSDN then reveals that you can actually be coming\n // from either x64 or ia64; so ultimately, you should just check for Win64\n // as in indicator of whether you're in 64-bit IE. 32-bit IE on 64-bit\n // Windows will send 'WOW64' instead.\n _win64 = !!/Win64/.exec(uas);\n\n if (agent) {\n _ie = agent[1]\n ? parseFloat(agent[1])\n : agent[5]\n ? parseFloat(agent[5])\n : NaN;\n // IE compatibility mode\n if (_ie && document && document.documentMode) {\n _ie = document.documentMode;\n }\n // grab the \"true\" ie version from the trident token if available\n var trident = /(?:Trident\\/(\\d+.\\d+))/.exec(uas);\n _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie;\n\n _firefox = agent[2] ? parseFloat(agent[2]) : NaN;\n _opera = agent[3] ? parseFloat(agent[3]) : NaN;\n _webkit = agent[4] ? parseFloat(agent[4]) : NaN;\n if (_webkit) {\n // We do not add the regexp to the above test, because it will always\n // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in\n // the userAgent string.\n agent = /(?:Chrome\\/(\\d+\\.\\d+))/.exec(uas);\n _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN;\n } else {\n _chrome = NaN;\n }\n } else {\n _ie = _firefox = _opera = _chrome = _webkit = NaN;\n }\n\n if (os) {\n if (os[1]) {\n // Detect OS X version. If no version number matches, set _osx to true.\n // Version examples: 10, 10_6_1, 10.7\n // Parses version number as a float, taking only first two sets of\n // digits. If only one set of digits is found, returns just the major\n // version number.\n var ver = /(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(uas);\n\n _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true;\n } else {\n _osx = false;\n }\n _windows = !!os[2];\n _linux = !!os[3];\n } else {\n _osx = _windows = _linux = false;\n }\n}\n\nvar UserAgent_DEPRECATED = {\n /**\n * Check if the UA is Internet Explorer.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n ie: function () {\n return _populate() || _ie;\n },\n\n /**\n * Check if we're in Internet Explorer compatibility mode.\n *\n * @return bool true if in compatibility mode, false if\n * not compatibility mode or not ie\n */\n ieCompatibilityMode: function () {\n return _populate() || _ie_real_version > _ie;\n },\n\n /**\n * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we\n * only need this because Skype can't handle 64-bit IE yet. We need to remove\n * this when we don't need it -- tracked by #601957.\n */\n ie64: function () {\n return UserAgent_DEPRECATED.ie() && _win64;\n },\n\n /**\n * Check if the UA is Firefox.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n firefox: function () {\n return _populate() || _firefox;\n },\n\n /**\n * Check if the UA is Opera.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n opera: function () {\n return _populate() || _opera;\n },\n\n /**\n * Check if the UA is WebKit.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n webkit: function () {\n return _populate() || _webkit;\n },\n\n /**\n * For Push\n * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit\n */\n safari: function () {\n return UserAgent_DEPRECATED.webkit();\n },\n\n /**\n * Check if the UA is a Chrome browser.\n *\n *\n * @return float|NaN Version number (if match) or NaN.\n */\n chrome: function () {\n return _populate() || _chrome;\n },\n\n /**\n * Check if the user is running Windows.\n *\n * @return bool `true' if the user's OS is Windows.\n */\n windows: function () {\n return _populate() || _windows;\n },\n\n /**\n * Check if the user is running Mac OS X.\n *\n * @return float|bool Returns a float if a version number is detected,\n * otherwise true/false.\n */\n osx: function () {\n return _populate() || _osx;\n },\n\n /**\n * Check if the user is running Linux.\n *\n * @return bool `true' if the user's OS is some flavor of Linux.\n */\n linux: function () {\n return _populate() || _linux;\n },\n\n /**\n * Check if the user is running on an iPhone or iPod platform.\n *\n * @return bool `true' if the user is running some flavor of the\n * iPhone OS.\n */\n iphone: function () {\n return _populate() || _iphone;\n },\n\n mobile: function () {\n return _populate() || _iphone || _ipad || _android || _mobile;\n },\n\n nativeApp: function () {\n // webviews inside of the native apps\n return _populate() || _native;\n },\n\n android: function () {\n return _populate() || _android;\n },\n\n ipad: function () {\n return _populate() || _ipad;\n },\n};\n\nexport default UserAgent_DEPRECATED;\n", "/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule ExecutionEnvironment\n */\n\n/*jslint evil: true */\n\nvar canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners:\n canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM, // For now, this is true - might change in the future.\n};\n\nexport default ExecutionEnvironment;\n", "/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\nimport ExecutionEnvironment from './ExecutionEnvironment';\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature =\n document.implementation &&\n document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (\n !ExecutionEnvironment.canUseDOM ||\n (capture && !('addEventListener' in document))\n ) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nexport default isEventSupported;\n", "/**\n * Copyright (c) 2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule normalizeWheel\n * @typechecks\n */\n\nimport UserAgent_DEPRECATED from './UserAgent_DEPRECATED';\n\nimport isEventSupported from './isEventSupported';\n\n// Reasonable defaults\nvar PIXEL_STEP = 10;\nvar LINE_HEIGHT = 40;\nvar PAGE_HEIGHT = 800;\n\n/**\n * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is\n * complicated, thus this doc is long and (hopefully) detailed enough to answer\n * your questions.\n *\n * If you need to react to the mouse wheel in a predictable way, this code is\n * like your bestest friend. * hugs *\n *\n * As of today, there are 4 DOM event types you can listen to:\n *\n * 'wheel' -- Chrome(31+), FF(17+), IE(9+)\n * 'mousewheel' -- Chrome, IE(6+), Opera, Safari\n * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother!\n * 'DOMMouseScroll' -- FF(0.9.7+) since 2003\n *\n * So what to do? The is the best:\n *\n * normalizeWheel.getEventType();\n *\n * In your event callback, use this code to get sane interpretation of the\n * deltas. This code will return an object with properties:\n *\n * spinX -- normalized spin speed (use for zoom) - x plane\n * spinY -- \" - y plane\n * pixelX -- normalized distance (to pixels) - x plane\n * pixelY -- \" - y plane\n *\n * Wheel values are provided by the browser assuming you are using the wheel to\n * scroll a web page by a number of lines or pixels (or pages). Values can vary\n * significantly on different platforms and browsers, forgetting that you can\n * scroll at different speeds. Some devices (like trackpads) emit more events\n * at smaller increments with fine granularity, and some emit massive jumps with\n * linear speed or acceleration.\n *\n * This code does its best to normalize the deltas for you:\n *\n * - spin is trying to normalize how far the wheel was spun (or trackpad\n * dragged). This is super useful for zoom support where you want to\n * throw away the chunky scroll steps on the PC and make those equal to\n * the slow and smooth tiny steps on the Mac. Key data: This code tries to\n * resolve a single slow step on a wheel to 1.\n *\n * - pixel is normalizing the desired scroll delta in pixel units. You'll\n * get the crazy differences between browsers, but at least it'll be in\n * pixels!\n *\n * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This\n * should translate to positive value zooming IN, negative zooming OUT.\n * This matches the newer 'wheel' event.\n *\n * Why are there spinX, spinY (or pixels)?\n *\n * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn\n * with a mouse. It results in side-scrolling in the browser by default.\n *\n * - spinY is what you expect -- it's the classic axis of a mouse wheel.\n *\n * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and\n * probably is by browsers in conjunction with fancy 3D controllers .. but\n * you know.\n *\n * Implementation info:\n *\n * Examples of 'wheel' event if you scroll slowly (down) by one step with an\n * average mouse:\n *\n * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120)\n * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12)\n * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A)\n * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120)\n * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120)\n *\n * On the trackpad:\n *\n * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6)\n * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A)\n *\n * On other/older browsers.. it's more complicated as there can be multiple and\n * also missing delta values.\n *\n * The 'wheel' event is more standard:\n *\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents\n *\n * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and\n * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain\n * backward compatibility with older events. Those other values help us\n * better normalize spin speed. Example of what the browsers provide:\n *\n * | event.wheelDelta | event.detail\n * ------------------+------------------+--------------\n * Safari v5/OS X | -120 | 0\n * Safari v5/Win7 | -120 | 0\n * Chrome v17/OS X | -120 | 0\n * Chrome v17/Win7 | -120 | 0\n * IE9/Win7 | -120 | undefined\n * Firefox v4/OS X | undefined | 1\n * Firefox v4/Win7 | undefined | 3\n *\n */\nfunction normalizeWheel(/*object*/ event) /*object*/ {\n var sX = 0,\n sY = 0, // spinX, spinY\n pX = 0,\n pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in event) {\n sY = event.detail;\n }\n if ('wheelDelta' in event) {\n sY = -event.wheelDelta / 120;\n }\n if ('wheelDeltaY' in event) {\n sY = -event.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in event) {\n sX = -event.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in event) {\n pY = event.deltaY;\n }\n if ('deltaX' in event) {\n pX = event.deltaX;\n }\n\n if ((pX || pY) && event.deltaMode) {\n if (event.deltaMode == 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return { spinX: sX, spinY: sY, pixelX: pX, pixelY: pY };\n}\n\n/**\n * The best combination if you prefer spinX + spinY normalization. It favors\n * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with\n * 'wheel' event, making spin speed determination impossible.\n */\nnormalizeWheel.getEventType = function () /*string*/ {\n return UserAgent_DEPRECATED.firefox()\n ? 'DOMMouseScroll'\n : isEventSupported('wheel')\n ? 'wheel'\n : 'mousewheel';\n};\n\nexport default normalizeWheel;\n", "import normalizeWheel from 'normalize-wheel-es'\n\nimport type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { NormalizedWheelEvent } from 'normalize-wheel-es'\n\nconst mousewheel = function (\n element: HTMLElement,\n callback: (e: WheelEvent, normalized: NormalizedWheelEvent) => void\n) {\n if (element && element.addEventListener) {\n const fn = function (this: HTMLElement, event: WheelEvent) {\n const normalized = normalizeWheel(event)\n callback && Reflect.apply(callback, this, [event, normalized])\n }\n element.addEventListener('wheel', fn, { passive: true })\n }\n}\n\nconst Mousewheel: ObjectDirective = {\n beforeMount(el: HTMLElement, binding: DirectiveBinding) {\n mousewheel(el, binding.value)\n },\n}\n\nexport default Mousewheel\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { disabledTimeListsProps } from '../props/shared'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const basicTimeSpinnerProps = buildProps({\n role: {\n type: String,\n required: true,\n },\n spinnerDate: {\n type: definePropType(Object),\n required: true,\n },\n showSeconds: {\n type: Boolean,\n default: true,\n },\n arrowControl: Boolean,\n amPmMode: {\n // 'a': am/pm; 'A': AM/PM\n type: definePropType<'a' | 'A' | ''>(String),\n default: '',\n },\n ...disabledTimeListsProps,\n} as const)\n\nexport type BasicTimeSpinnerProps = ExtractPropTypes<\n typeof basicTimeSpinnerProps\n>\n", "\n\n", "\n\n\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { timePanelSharedProps } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const panelTimeRangeProps = buildProps({\n ...timePanelSharedProps,\n parsedValue: {\n type: definePropType<[Dayjs, Dayjs]>(Array),\n },\n} as const)\n\nexport type PanelTimeRangeProps = ExtractPropTypes\n", "\n\n\n", "import { defineComponent, provide, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport { DEFAULT_FORMATS_TIME } from './constants'\nimport Picker from './common/picker.vue'\nimport TimePickPanel from './time-picker-com/panel-time-pick.vue'\nimport TimeRangePanel from './time-picker-com/panel-time-range.vue'\nimport { timePickerDefaultProps } from './common/props'\ndayjs.extend(customParseFormat)\n\nexport default defineComponent({\n name: 'ElTimePicker',\n install: null,\n props: {\n ...timePickerDefaultProps,\n /**\n * @description whether to pick a time range\n */\n isRange: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n setup(props, ctx) {\n const commonPicker = ref>()\n const [type, Panel] = props.isRange\n ? ['timerange', TimeRangePanel]\n : ['time', TimePickPanel]\n\n const modelUpdater = (value: any) => ctx.emit('update:modelValue', value)\n provide('ElPopperOptions', props.popperOptions)\n ctx.expose({\n /**\n * @description focus the Input component\n */\n focus: () => {\n commonPicker.value?.focus()\n },\n /**\n * @description blur the Input component\n */\n blur: () => {\n commonPicker.value?.blur()\n },\n /**\n * @description open the TimePicker popper\n */\n handleOpen: () => {\n commonPicker.value?.handleOpen()\n },\n /**\n * @description close the TimePicker popper\n */\n handleClose: () => {\n commonPicker.value?.handleClose()\n },\n })\n\n return () => {\n const format = props.format ?? DEFAULT_FORMATS_TIME\n\n return (\n \n {{\n default: (props: any) => ,\n }}\n \n )\n }\n },\n})\n", "import { withInstall } from '@element-plus/utils'\nimport TimePicker from './src/time-picker'\nimport CommonPicker from './src/common/picker.vue'\nimport TimePickPanel from './src/time-picker-com/panel-time-pick.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport * from './src/utils'\nexport * from './src/constants'\nexport * from './src/common/props'\n\nexport const ElTimePicker: SFCWithInstall =\n withInstall(TimePicker)\n\nexport { CommonPicker, TimePickPanel }\nexport default ElTimePicker\n", "import { buildProps, definePropType, isObject } from '@element-plus/utils'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport type CalendarDateCellType = 'next' | 'prev' | 'current'\nexport type CalendarDateCell = {\n text: number\n type: CalendarDateCellType\n}\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nexport const toNestedArr = (days: CalendarDateCell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport const dateTableProps = buildProps({\n selectedDay: {\n type: definePropType(Object),\n },\n range: {\n type: definePropType<[Dayjs, Dayjs]>(Array),\n },\n date: {\n type: definePropType(Object),\n required: true,\n },\n hideHeader: {\n type: Boolean,\n },\n} as const)\nexport type DateTableProps = ExtractPropTypes\n\nexport const dateTableEmits = {\n pick: (value: Dayjs) => isObject(value),\n}\nexport type DateTableEmits = typeof dateTableEmits\n", "import { t } from '../localizedFormat/utils';\nexport default (function (o, c, dayjs) {\n // locale needed later\n var proto = c.prototype;\n\n var getLocalePart = function getLocalePart(part) {\n return part && (part.indexOf ? part : part.s);\n };\n\n var getShort = function getShort(ins, target, full, num, localeOrder) {\n var locale = ins.name ? ins : ins.$locale();\n var targetLocale = getLocalePart(locale[target]);\n var fullLocale = getLocalePart(locale[full]);\n var result = targetLocale || fullLocale.map(function (f) {\n return f.slice(0, num);\n });\n if (!localeOrder) return result;\n var weekStart = locale.weekStart;\n return result.map(function (_, index) {\n return result[(index + (weekStart || 0)) % 7];\n });\n };\n\n var getDayjsLocaleObject = function getDayjsLocaleObject() {\n return dayjs.Ls[dayjs.locale()];\n };\n\n var getLongDateFormat = function getLongDateFormat(l, format) {\n return l.formats[format] || t(l.formats[format.toUpperCase()]);\n };\n\n var localeData = function localeData() {\n var _this = this;\n\n return {\n months: function months(instance) {\n return instance ? instance.format('MMMM') : getShort(_this, 'months');\n },\n monthsShort: function monthsShort(instance) {\n return instance ? instance.format('MMM') : getShort(_this, 'monthsShort', 'months', 3);\n },\n firstDayOfWeek: function firstDayOfWeek() {\n return _this.$locale().weekStart || 0;\n },\n weekdays: function weekdays(instance) {\n return instance ? instance.format('dddd') : getShort(_this, 'weekdays');\n },\n weekdaysMin: function weekdaysMin(instance) {\n return instance ? instance.format('dd') : getShort(_this, 'weekdaysMin', 'weekdays', 2);\n },\n weekdaysShort: function weekdaysShort(instance) {\n return instance ? instance.format('ddd') : getShort(_this, 'weekdaysShort', 'weekdays', 3);\n },\n longDateFormat: function longDateFormat(format) {\n return getLongDateFormat(_this.$locale(), format);\n },\n meridiem: this.$locale().meridiem,\n ordinal: this.$locale().ordinal\n };\n };\n\n proto.localeData = function () {\n return localeData.bind(this)();\n };\n\n dayjs.localeData = function () {\n var localeObject = getDayjsLocaleObject();\n return {\n firstDayOfWeek: function firstDayOfWeek() {\n return localeObject.weekStart || 0;\n },\n weekdays: function weekdays() {\n return dayjs.weekdays();\n },\n weekdaysShort: function weekdaysShort() {\n return dayjs.weekdaysShort();\n },\n weekdaysMin: function weekdaysMin() {\n return dayjs.weekdaysMin();\n },\n months: function months() {\n return dayjs.months();\n },\n monthsShort: function monthsShort() {\n return dayjs.monthsShort();\n },\n longDateFormat: function longDateFormat(format) {\n return getLongDateFormat(localeObject, format);\n },\n meridiem: localeObject.meridiem,\n ordinal: localeObject.ordinal\n };\n };\n\n dayjs.months = function () {\n return getShort(getDayjsLocaleObject(), 'months');\n };\n\n dayjs.monthsShort = function () {\n return getShort(getDayjsLocaleObject(), 'monthsShort', 'months', 3);\n };\n\n dayjs.weekdays = function (localeOrder) {\n return getShort(getDayjsLocaleObject(), 'weekdays', null, null, localeOrder);\n };\n\n dayjs.weekdaysShort = function (localeOrder) {\n return getShort(getDayjsLocaleObject(), 'weekdaysShort', 'weekdays', 3, localeOrder);\n };\n\n dayjs.weekdaysMin = function (localeOrder) {\n return getShort(getDayjsLocaleObject(), 'weekdaysMin', 'weekdays', 2, localeOrder);\n };\n});", "import { computed } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport { useLocale } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { WEEK_DAYS } from '@element-plus/constants'\nimport { getMonthDays, getPrevMonthLastDays, toNestedArr } from './date-table'\n\nimport type { SetupContext } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type {\n CalendarDateCell,\n CalendarDateCellType,\n DateTableEmits,\n DateTableProps,\n} from './date-table'\n\nexport const useDateTable = (\n props: DateTableProps,\n emit: SetupContext['emit']\n) => {\n dayjs.extend(localeData)\n // https://day.js.org/docs/en/i18n/locale-data\n const firstDayOfWeek: number = dayjs.localeData().firstDayOfWeek()\n\n const { t, lang } = useLocale()\n const now = dayjs().locale(lang.value)\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: CalendarDateCell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: CalendarDateCell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day()\n const prevMonthDays: CalendarDateCell[] = getPrevMonthLastDays(\n props.date,\n (firstDay - firstDayOfWeek + 7) % 7\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: CalendarDateCell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const remaining = 7 - (days.length % 7 || 7)\n const nextMonthDays: CalendarDateCell[] = rangeArr(remaining).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CalendarDateCellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const handlePickDay = ({ text, type }: CalendarDateCell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: CalendarDateCell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n now,\n isInRange,\n rows,\n weekDays,\n getFormattedDate,\n handlePickDay,\n getSlotData,\n }\n}\n", "\n\n\n", "import { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale } from '@element-plus/hooks'\nimport { debugWarn, isArray, isDate } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type { ComputedRef, SetupContext } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { CalendarDateType, CalendarEmits, CalendarProps } from './calendar'\n\nconst adjacentMonth = (start: Dayjs, end: Dayjs): [Dayjs, Dayjs][] => {\n const firstMonthLastDay = start.endOf('month')\n const lastMonthFirstDay = end.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [start, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), end],\n ]\n}\n\nconst threeConsecutiveMonth = (start: Dayjs, end: Dayjs): [Dayjs, Dayjs][] => {\n const firstMonthLastDay = start.endOf('month')\n const secondMonthFirstDay = start.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = end.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(lastMonthFirstDay, 'week')\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [start, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), end],\n ]\n}\n\nexport const useCalendar = (\n props: CalendarProps,\n emit: SetupContext['emit'],\n componentName: string\n) => {\n const { lang } = useLocale()\n\n const selectedDay = ref()\n const now = dayjs().locale(lang.value)\n\n const realSelectedDay = computed({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n })\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (\n !props.range ||\n !isArray(props.range) ||\n props.range.length !== 2 ||\n props.range.some((item) => !isDate(item))\n )\n return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(componentName, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n componentName,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const date: ComputedRef = computed(() => {\n if (!props.modelValue) {\n return (\n realSelectedDay.value ||\n (validatedRange.value.length ? validatedRange.value[0][0] : now)\n )\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n const prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\n const nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\n const prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\n const nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if ((firstMonth + 1) % 12 === lastMonth) {\n return adjacentMonth(firstDay, lastDay)\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n return threeConsecutiveMonth(firstDay, lastDay)\n }\n // Other cases\n else {\n debugWarn(\n componentName,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: CalendarDateType) => {\n const dateMap: Record = {\n 'prev-month': prevMonthDayjs.value,\n 'next-month': nextMonthDayjs.value,\n 'prev-year': prevYearDayjs.value,\n 'next-year': nextYearDayjs.value,\n today: now,\n }\n\n const day = dateMap[type]\n\n if (!day.isSame(date.value, 'day')) {\n pickDay(day)\n }\n }\n\n return {\n calculateValidatedDateRange,\n date,\n realSelectedDay,\n pickDay,\n selectDate,\n validatedRange,\n }\n}\n", "import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: Date,\n },\n /**\n * @description time range, including start time and end time.\n * Start time must be start day of week, end time must be end day of week, the time span cannot exceed two months.\n */\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Calendar from './src/calendar.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCalendar: SFCWithInstall = withInstall(Calendar)\nexport default ElCalendar\n\nexport * from './src/calendar'\nexport type {\n CalendarDateTableInstance,\n DateTableInstance,\n CalendarInstance,\n} from './src/instance'\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\n\nexport const cardProps = buildProps({\n /**\n * @description title of the card. Also accepts a DOM passed by `slot#header`\n */\n header: {\n type: String,\n default: '',\n },\n footer: {\n type: String,\n default: '',\n },\n /**\n * @description CSS style of card body\n */\n bodyStyle: {\n type: definePropType([String, Object, Array]),\n default: '',\n },\n /**\n * @description custom class name of card body\n */\n bodyClass: String,\n /**\n * @description when to show card shadows\n */\n shadow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: 'always',\n },\n} as const)\nexport type CardProps = ExtractPropTypes\n", "\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Card from './src/card.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCard: SFCWithInstall = withInstall(Card)\nexport default ElCard\n\nexport * from './src/card'\nexport type { CardInstance } from './src/instance'\n", "import { buildProps, isNumber } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const carouselProps = buildProps({\n /**\n * @description index of the initially active slide (starting from 0)\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description height of the carousel\n */\n height: {\n type: String,\n default: '',\n },\n /**\n * @description how indicators are triggered\n */\n trigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n /**\n * @description whether automatically loop the slides\n */\n autoplay: {\n type: Boolean,\n default: true,\n },\n /**\n * @description interval of the auto loop, in milliseconds\n */\n interval: {\n type: Number,\n default: 3000,\n },\n /**\n * @description position of the indicators\n */\n indicatorPosition: {\n type: String,\n values: ['', 'none', 'outside'],\n default: '',\n },\n /**\n * @description when arrows are shown\n */\n arrow: {\n type: String,\n values: ['always', 'hover', 'never'],\n default: 'hover',\n },\n /**\n * @description type of the Carousel\n */\n type: {\n type: String,\n values: ['', 'card'],\n default: '',\n },\n /**\n * @description when type is card, scaled size of secondary cards\n */\n cardScale: {\n type: Number,\n default: 0.83,\n },\n /**\n * @description display the items in loop\n */\n loop: {\n type: Boolean,\n default: true,\n },\n /**\n * @description display direction\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description pause autoplay when hover\n */\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n /**\n * @description infuse dynamism and smoothness into the carousel\n */\n motionBlur: Boolean,\n} as const)\n\nexport const carouselEmits = {\n /**\n * @description triggers when the active slide switches\n * @param current index of the new active slide\n * @param prev index of the old active slide\n */\n change: (current: number, prev: number) => [current, prev].every(isNumber),\n}\n\nexport type CarouselProps = ExtractPropTypes\nexport type CarouselEmits = typeof carouselEmits\n", "import type { InjectionKey, Ref } from 'vue'\n\nimport type { CarouselItemProps } from './carousel-item'\n\nexport type CarouselItemStates = {\n hover: boolean\n translate: number\n scale: number\n active: boolean\n ready: boolean\n inStage: boolean\n animating: boolean\n}\n\nexport type CarouselItemContext = {\n props: CarouselItemProps\n states: CarouselItemStates\n uid: number\n translateItem: (index: number, activeIndex: number, oldIndex?: number) => void\n}\n\nexport type CarouselContext = {\n root: Ref\n items: Ref\n isCardType: Ref\n isVertical: Ref\n loop: boolean\n cardScale: number\n addItem: (item: CarouselItemContext) => void\n removeItem: (uid: number) => void\n setActiveItem: (index: number) => void\n setContainerHeight: (height: number) => void\n}\n\nexport const carouselContextKey: InjectionKey =\n Symbol('carouselContextKey')\n\nexport const CAROUSEL_ITEM_NAME = 'ElCarouselItem'\n", "import {\n computed,\n getCurrentInstance,\n isVNode,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n shallowRef,\n unref,\n useSlots,\n watch,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport { debugWarn, flattedChildren, isString } from '@element-plus/utils'\nimport { useOrderedChildren } from '@element-plus/hooks'\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants'\n\nimport type { SetupContext } from 'vue'\nimport type { CarouselItemContext } from './constants'\nimport type { CarouselEmits, CarouselProps } from './carousel'\n\nconst THROTTLE_TIME = 300\n\nexport const useCarousel = (\n props: CarouselProps,\n emit: SetupContext['emit'],\n componentName: string\n) => {\n const {\n children: items,\n addChild: addItem,\n removeChild: removeItem,\n } = useOrderedChildren(\n getCurrentInstance()!,\n CAROUSEL_ITEM_NAME\n )\n\n const slots = useSlots()\n\n // refs\n const activeIndex = ref(-1)\n const timer = ref | null>(null)\n const hover = ref(false)\n const root = ref()\n const containerHeight = ref(0)\n const isItemsTwoLength = ref(true)\n const isFirstCall = ref(true)\n const isTransitioning = ref(false)\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && !unref(isVertical)\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.props.label.toString().length > 0)\n })\n\n const isCardType = computed(() => props.type === 'card')\n const isVertical = computed(() => props.direction === 'vertical')\n\n const containerStyle = computed(() => {\n if (props.height !== 'auto') {\n return {\n height: props.height,\n }\n }\n return {\n height: `${containerHeight.value}px`,\n overflow: 'hidden',\n }\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index: number) => {\n setActiveItem(index)\n },\n THROTTLE_TIME,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index: number) => {\n handleIndicatorHover(index)\n }, THROTTLE_TIME)\n\n const isTwoLengthShow = (index: number) => {\n if (!isItemsTwoLength.value) return true\n return activeIndex.value <= 1 ? index <= 1 : index > 1\n }\n\n function pauseTimer() {\n if (timer.value) {\n clearInterval(timer.value)\n timer.value = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || timer.value) return\n timer.value = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n isFirstCall.value = false\n\n if (activeIndex.value < items.value.length - 1) {\n activeIndex.value = activeIndex.value + 1\n } else if (props.loop) {\n activeIndex.value = 0\n } else {\n isTransitioning.value = false\n }\n }\n\n function setActiveItem(index: number | string) {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n isFirstCall.value = false\n\n if (isString(index)) {\n const filteredItems = items.value.filter(\n (item) => item.props.name === index\n )\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (Number.isNaN(index) || index !== Math.floor(index)) {\n debugWarn(componentName, 'index must be integer.')\n return\n }\n const itemCount = items.value.length\n const oldIndex = activeIndex.value\n if (index < 0) {\n activeIndex.value = props.loop ? itemCount - 1 : 0\n } else if (index >= itemCount) {\n activeIndex.value = props.loop ? 0 : itemCount - 1\n } else {\n activeIndex.value = index\n }\n if (oldIndex === activeIndex.value) {\n resetItemPosition(oldIndex)\n }\n resetTimer()\n }\n\n function resetItemPosition(oldIndex?: number) {\n items.value.forEach((item, index) => {\n item.translateItem(index, activeIndex.value, oldIndex)\n })\n }\n\n function itemInStage(item: CarouselItemContext, index: number) {\n const _items = unref(items)\n const itemCount = _items.length\n if (itemCount === 0 || !item.states.inStage) return false\n const nextItemIndex = index + 1\n const prevItemIndex = index - 1\n const lastItemIndex = itemCount - 1\n const isLastItemActive = _items[lastItemIndex].states.active\n const isFirstItemActive = _items[0].states.active\n const isNextItemActive = _items[nextItemIndex]?.states?.active\n const isPrevItemActive = _items[prevItemIndex]?.states?.active\n\n if ((index === lastItemIndex && isFirstItemActive) || isNextItemActive) {\n return 'left'\n } else if ((index === 0 && isLastItemActive) || isPrevItemActive) {\n return 'right'\n }\n return false\n }\n\n function handleMouseEnter() {\n hover.value = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n hover.value = false\n startTimer()\n }\n\n function handleTransitionEnd() {\n isTransitioning.value = false\n }\n\n function handleButtonEnter(arrow: 'left' | 'right') {\n if (unref(isVertical)) return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.states.hover = true\n }\n })\n }\n\n function handleButtonLeave() {\n if (unref(isVertical)) return\n items.value.forEach((item) => {\n item.states.hover = false\n })\n }\n\n function handleIndicatorClick(index: number) {\n if (index !== activeIndex.value) {\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n }\n activeIndex.value = index\n }\n\n function handleIndicatorHover(index: number) {\n if (props.trigger === 'hover' && index !== activeIndex.value) {\n activeIndex.value = index\n if (!isFirstCall.value) {\n isTransitioning.value = true\n }\n }\n }\n\n function prev() {\n setActiveItem(activeIndex.value - 1)\n }\n\n function next() {\n setActiveItem(activeIndex.value + 1)\n }\n\n function resetTimer() {\n pauseTimer()\n if (!props.pauseOnHover) startTimer()\n }\n\n function setContainerHeight(height: number) {\n if (props.height !== 'auto') return\n containerHeight.value = height\n }\n\n function PlaceholderItem() {\n // fix: https://github.com/element-plus/element-plus/issues/12139\n const defaultSlots = slots.default?.()\n if (!defaultSlots) return null\n\n const flatSlots = flattedChildren(defaultSlots)\n\n const normalizeSlots = flatSlots.filter((slot) => {\n return isVNode(slot) && (slot.type as any).name === CAROUSEL_ITEM_NAME\n })\n\n if (normalizeSlots?.length === 2 && props.loop && !isCardType.value) {\n isItemsTwoLength.value = true\n return normalizeSlots\n }\n isItemsTwoLength.value = false\n return null\n }\n\n // watch\n watch(\n () => activeIndex.value,\n (current, prev) => {\n resetItemPosition(prev)\n if (isItemsTwoLength.value) {\n current = current % 2\n prev = prev % 2\n }\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (autoplay) => {\n autoplay ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(activeIndex.value)\n }\n )\n\n watch(\n () => props.interval,\n () => {\n resetTimer()\n }\n )\n\n const resizeObserver = shallowRef>()\n // lifecycle\n onMounted(() => {\n watch(\n () => items.value,\n () => {\n if (items.value.length > 0) setActiveItem(props.initialIndex)\n },\n {\n immediate: true,\n }\n )\n\n resizeObserver.value = useResizeObserver(root.value, () => {\n resetItemPosition()\n })\n startTimer()\n })\n\n onBeforeUnmount(() => {\n pauseTimer()\n if (root.value && resizeObserver.value) resizeObserver.value.stop()\n })\n\n // provide\n provide(carouselContextKey, {\n root,\n isCardType,\n isVertical,\n items,\n loop: props.loop,\n cardScale: props.cardScale,\n addItem,\n removeItem,\n setActiveItem,\n setContainerHeight,\n })\n\n return {\n root,\n activeIndex,\n arrowDisplay,\n hasLabel,\n hover,\n isCardType,\n isTransitioning,\n items,\n isVertical,\n containerStyle,\n isItemsTwoLength,\n handleButtonEnter,\n handleTransitionEnd,\n handleButtonLeave,\n handleIndicatorClick,\n handleMouseEnter,\n handleMouseLeave,\n setActiveItem,\n prev,\n next,\n PlaceholderItem,\n isTwoLengthShow,\n throttledArrowClick,\n throttledIndicatorHover,\n }\n}\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const carouselItemProps = buildProps({\n /**\n * @description name of the item, can be used in `setActiveItem`\n */\n name: { type: String, default: '' },\n /**\n * @description text content for the corresponding indicator\n */\n label: {\n type: [String, Number],\n default: '',\n },\n} as const)\n\nexport type CarouselItemProps = ExtractPropTypes\n", "import {\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref,\n unref,\n} from 'vue'\nimport { debugWarn, isUndefined } from '@element-plus/utils'\nimport { CAROUSEL_ITEM_NAME, carouselContextKey } from './constants'\n\nimport type { CarouselItemProps } from './carousel-item'\n\nexport const useCarouselItem = (props: CarouselItemProps) => {\n const carouselContext = inject(carouselContextKey)!\n // instance\n const instance = getCurrentInstance()!\n if (!carouselContext) {\n debugWarn(\n CAROUSEL_ITEM_NAME,\n 'usage: '\n )\n }\n\n if (!instance) {\n debugWarn(\n CAROUSEL_ITEM_NAME,\n 'compositional hook can only be invoked inside setups'\n )\n }\n\n const carouselItemRef = ref()\n const hover = ref(false)\n const translate = ref(0)\n const scale = ref(1)\n const active = ref(false)\n const ready = ref(false)\n const inStage = ref(false)\n const animating = ref(false)\n\n // computed\n const { isCardType, isVertical, cardScale } = carouselContext\n\n // methods\n\n function processIndex(index: number, activeIndex: number, length: number) {\n const lastItemIndex = length - 1\n const prevItemIndex = activeIndex - 1\n const nextItemIndex = activeIndex + 1\n const halfItemIndex = length / 2\n\n if (activeIndex === 0 && index === lastItemIndex) {\n return -1\n } else if (activeIndex === lastItemIndex && index === 0) {\n return length\n } else if (index < prevItemIndex && activeIndex - index >= halfItemIndex) {\n return length + 1\n } else if (index > nextItemIndex && index - activeIndex >= halfItemIndex) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index: number, activeIndex: number) {\n const parentWidth = unref(isVertical)\n ? carouselContext.root.value?.offsetHeight || 0\n : carouselContext.root.value?.offsetWidth || 0\n\n if (inStage.value) {\n return (parentWidth * ((2 - cardScale) * (index - activeIndex) + 1)) / 4\n } else if (index < activeIndex) {\n return (-(1 + cardScale) * parentWidth) / 4\n } else {\n return ((3 + cardScale) * parentWidth) / 4\n }\n }\n\n function calcTranslate(\n index: number,\n activeIndex: number,\n isVertical: boolean\n ) {\n const rootEl = carouselContext.root.value\n if (!rootEl) return 0\n\n const distance =\n (isVertical ? rootEl.offsetHeight : rootEl.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex?: number\n ) => {\n const _isCardType = unref(isCardType)\n const carouselItemLength = carouselContext.items.value.length ?? Number.NaN\n\n const isActive = index === activeIndex\n if (!_isCardType && !isUndefined(oldIndex)) {\n animating.value = isActive || index === oldIndex\n }\n\n if (!isActive && carouselItemLength > 2 && carouselContext.loop) {\n index = processIndex(index, activeIndex, carouselItemLength)\n }\n\n const _isVertical = unref(isVertical)\n active.value = isActive\n\n if (_isCardType) {\n inStage.value = Math.round(Math.abs(index - activeIndex)) <= 1\n translate.value = calcCardTranslate(index, activeIndex)\n scale.value = unref(active) ? 1 : cardScale\n } else {\n translate.value = calcTranslate(index, activeIndex, _isVertical)\n }\n\n ready.value = true\n\n if (isActive && carouselItemRef.value) {\n carouselContext.setContainerHeight(carouselItemRef.value.offsetHeight)\n }\n }\n\n function handleItemClick() {\n if (carouselContext && unref(isCardType)) {\n const index = carouselContext.items.value.findIndex(\n ({ uid }) => uid === instance.uid\n )\n carouselContext.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n carouselContext.addItem({\n props,\n states: reactive({\n hover,\n translate,\n scale,\n active,\n ready,\n inStage,\n animating,\n }),\n uid: instance.uid,\n translateItem,\n })\n })\n\n onUnmounted(() => {\n carouselContext.removeItem(instance.uid)\n })\n\n return {\n carouselItemRef,\n active,\n animating,\n hover,\n inStage,\n isVertical,\n translate,\n isCardType,\n scale,\n ready,\n handleItemClick,\n }\n}\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\nimport Carousel from './src/carousel.vue'\nimport CarouselItem from './src/carousel-item.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCarousel: SFCWithInstall & {\n CarouselItem: typeof CarouselItem\n} = withInstall(Carousel, {\n CarouselItem,\n})\n\nexport default ElCarousel\n\nexport const ElCarouselItem: SFCWithInstall =\n withNoopInstall(CarouselItem)\n\nexport * from './src/carousel'\nexport * from './src/carousel-item'\nexport * from './src/constants'\n\nexport type { CarouselInstance, CarouselItemInstance } from './src/instance'\n", "import { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { isBoolean, isNumber, isString } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Checkbox from './checkbox.vue'\n\nexport type CheckboxValueType = string | number | boolean\n\nexport const checkboxProps = {\n /**\n * @description binding value\n */\n modelValue: {\n type: [Number, String, Boolean],\n default: undefined,\n },\n /**\n * @description label of the Checkbox when used inside a `checkbox-group`\n */\n label: {\n type: [String, Boolean, Number, Object],\n default: undefined,\n },\n /**\n * @description value of the Checkbox when used inside a `checkbox-group`\n */\n value: {\n type: [String, Boolean, Number, Object],\n default: undefined,\n },\n /**\n * @description Set indeterminate state, only responsible for style control\n */\n indeterminate: Boolean,\n /**\n * @description whether the Checkbox is disabled\n */\n disabled: Boolean,\n /**\n * @description if the Checkbox is checked\n */\n checked: Boolean,\n /**\n * @description native 'name' attribute\n */\n name: {\n type: String,\n default: undefined,\n },\n /**\n * @description value of the Checkbox if it's checked\n */\n trueValue: {\n type: [String, Number],\n default: undefined,\n },\n /**\n * @description value of the Checkbox if it's not checked\n */\n falseValue: {\n type: [String, Number],\n default: undefined,\n },\n /**\n * @deprecated use `trueValue` instead\n * @description value of the Checkbox if it's checked\n */\n trueLabel: {\n type: [String, Number],\n default: undefined,\n },\n /**\n * @deprecated use `falseValue` instead\n * @description value of the Checkbox if it's not checked\n */\n falseLabel: {\n type: [String, Number],\n default: undefined,\n },\n /**\n * @description input id\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description whether to add a border around Checkbox\n */\n border: Boolean,\n /**\n * @description size of the Checkbox\n */\n size: useSizeProp,\n /**\n * @description input tabindex\n */\n tabindex: [String, Number],\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaControls']),\n}\n\nexport const checkboxEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxValueType) =>\n isString(val) || isNumber(val) || isBoolean(val),\n change: (val: CheckboxValueType) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\n\nexport type CheckboxProps = ExtractPropTypes\nexport type CheckboxEmits = typeof checkboxEmits\nexport type CheckboxInstance = InstanceType\n", "import type { InjectionKey, ToRefs, WritableComputedRef } from 'vue'\nimport type { CheckboxGroupProps } from './checkbox-group'\n\ntype CheckboxGroupContext = {\n modelValue?: WritableComputedRef\n changeEvent?: (...args: any) => any\n} & ToRefs<\n Pick<\n CheckboxGroupProps,\n 'size' | 'min' | 'max' | 'disabled' | 'validateEvent' | 'fill' | 'textColor'\n >\n>\n\nexport const checkboxGroupContextKey: InjectionKey =\n Symbol('checkboxGroupContextKey')\n", "import { computed, inject } from 'vue'\nimport { useFormDisabled } from '@element-plus/components/form'\nimport { isUndefined } from '@element-plus/utils'\nimport { checkboxGroupContextKey } from '../constants'\n\nimport type { CheckboxModel, CheckboxStatus } from '../composables'\n\nexport const useCheckboxDisabled = ({\n model,\n isChecked,\n}: Pick & Pick) => {\n const checkboxGroup = inject(checkboxGroupContextKey, undefined)\n\n const isLimitDisabled = computed(() => {\n const max = checkboxGroup?.max?.value\n const min = checkboxGroup?.min?.value\n return (\n (!isUndefined(max) && model.value.length >= max && !isChecked.value) ||\n (!isUndefined(min) && model.value.length <= min && isChecked.value)\n )\n })\n\n const isDisabled = useFormDisabled(\n computed(() => checkboxGroup?.disabled.value || isLimitDisabled.value)\n )\n\n return {\n isDisabled,\n isLimitDisabled,\n }\n}\n\nexport type CheckboxDisabled = ReturnType\n", "import { computed, getCurrentInstance, inject, nextTick, watch } from 'vue'\nimport { useFormItem } from '@element-plus/components/form'\nimport { debugWarn } from '@element-plus/utils'\nimport { checkboxGroupContextKey } from '../constants'\n\nimport type { useFormItemInputId } from '@element-plus/components/form'\nimport type { CheckboxProps } from '../checkbox'\nimport type {\n CheckboxDisabled,\n CheckboxModel,\n CheckboxStatus,\n} from '../composables'\n\nexport const useCheckboxEvent = (\n props: CheckboxProps,\n {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n }: Pick &\n Pick &\n Pick &\n Pick, 'isLabeledByFormItem'>\n) => {\n const checkboxGroup = inject(checkboxGroupContextKey, undefined)\n const { formItem } = useFormItem()\n const { emit } = getCurrentInstance()!\n\n function getLabeledValue(value: string | number | boolean) {\n return [true, props.trueValue, props.trueLabel].includes(value)\n ? props.trueValue ?? props.trueLabel ?? true\n : props.falseValue ?? props.falseLabel ?? false\n }\n\n function emitChangeEvent(\n checked: string | number | boolean,\n e: InputEvent | MouseEvent\n ) {\n emit('change', getLabeledValue(checked), e)\n }\n\n function handleChange(e: Event) {\n if (isLimitExceeded.value) return\n\n const target = e.target as HTMLInputElement\n emit('change', getLabeledValue(target.checked), e)\n }\n\n async function onClickRoot(e: MouseEvent) {\n if (isLimitExceeded.value) return\n\n if (!hasOwnLabel.value && !isDisabled.value && isLabeledByFormItem.value) {\n // fix: https://github.com/element-plus/element-plus/issues/9981\n const eventTargets: EventTarget[] = e.composedPath()\n const hasLabel = eventTargets.some(\n (item) => (item as HTMLElement).tagName === 'LABEL'\n )\n if (!hasLabel) {\n model.value = getLabeledValue(\n [false, props.falseValue, props.falseLabel].includes(model.value)\n )\n await nextTick()\n emitChangeEvent(model.value, e)\n }\n }\n }\n\n const validateEvent = computed(\n () => checkboxGroup?.validateEvent || props.validateEvent\n )\n\n watch(\n () => props.modelValue,\n () => {\n if (validateEvent.value) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n )\n\n return {\n handleChange,\n onClickRoot,\n }\n}\n", "import { computed, getCurrentInstance, inject, ref } from 'vue'\nimport { isArray, isUndefined } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { checkboxGroupContextKey } from '../constants'\n\nimport type { CheckboxProps } from '../checkbox'\n\nexport const useCheckboxModel = (props: CheckboxProps) => {\n const selfModel = ref(false)\n const { emit } = getCurrentInstance()!\n const checkboxGroup = inject(checkboxGroupContextKey, undefined)\n const isGroup = computed(() => isUndefined(checkboxGroup) === false)\n const isLimitExceeded = ref(false)\n const model = computed({\n get() {\n return isGroup.value\n ? checkboxGroup?.modelValue?.value\n : props.modelValue ?? selfModel.value\n },\n\n set(val: unknown) {\n if (isGroup.value && isArray(val)) {\n isLimitExceeded.value =\n checkboxGroup?.max?.value !== undefined &&\n val.length > checkboxGroup?.max.value &&\n val.length > model.value.length\n isLimitExceeded.value === false && checkboxGroup?.changeEvent?.(val)\n } else {\n emit(UPDATE_MODEL_EVENT, val)\n selfModel.value = val\n }\n },\n })\n\n return {\n model,\n isGroup,\n isLimitExceeded,\n }\n}\n\nexport type CheckboxModel = ReturnType\n", "import { computed, inject, ref, toRaw } from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { useFormSize } from '@element-plus/components/form'\nimport { isArray, isBoolean, isObject, isPropAbsent } from '@element-plus/utils'\nimport { checkboxGroupContextKey } from '../constants'\n\nimport type { ComponentInternalInstance } from 'vue'\nimport type { CheckboxProps } from '../checkbox'\nimport type { CheckboxModel } from '../composables'\n\nexport const useCheckboxStatus = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots'],\n { model }: Pick\n) => {\n const checkboxGroup = inject(checkboxGroupContextKey, undefined)\n const isFocused = ref(false)\n const actualValue = computed(() => {\n // In version 2.x, if there's no props.value, props.label will act as props.value\n // In version 3.x, remove this computed value, use props.value instead.\n if (!isPropAbsent(props.value)) {\n return props.value\n }\n return props.label\n })\n const isChecked = computed(() => {\n const value = model.value\n if (isBoolean(value)) {\n return value\n } else if (isArray(value)) {\n if (isObject(actualValue.value)) {\n return value.map(toRaw).some((o) => isEqual(o, actualValue.value))\n } else {\n return value.map(toRaw).includes(actualValue.value)\n }\n } else if (value !== null && value !== undefined) {\n return value === props.trueValue || value === props.trueLabel\n } else {\n return !!value\n }\n })\n\n const checkboxButtonSize = useFormSize(\n computed(() => checkboxGroup?.size?.value),\n {\n prop: true,\n }\n )\n const checkboxSize = useFormSize(computed(() => checkboxGroup?.size?.value))\n\n const hasOwnLabel = computed(() => {\n return !!slots.default || !isPropAbsent(actualValue.value)\n })\n\n return {\n checkboxButtonSize,\n isChecked,\n isFocused,\n checkboxSize,\n hasOwnLabel,\n actualValue,\n }\n}\n\nexport type CheckboxStatus = ReturnType\n", "import { computed } from 'vue'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { isArray, isPropAbsent } from '@element-plus/utils'\nimport { useDeprecated } from '@element-plus/hooks'\nimport { useCheckboxDisabled } from './use-checkbox-disabled'\nimport { useCheckboxEvent } from './use-checkbox-event'\nimport { useCheckboxModel } from './use-checkbox-model'\nimport { useCheckboxStatus } from './use-checkbox-status'\nimport type { ComponentInternalInstance } from 'vue'\n\nimport type { CheckboxProps } from '../checkbox'\n\nexport const useCheckbox = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots']\n) => {\n const { formItem: elFormItem } = useFormItem()\n const { model, isGroup, isLimitExceeded } = useCheckboxModel(props)\n const {\n isFocused,\n isChecked,\n checkboxButtonSize,\n checkboxSize,\n hasOwnLabel,\n actualValue,\n } = useCheckboxStatus(props, slots, { model })\n const { isDisabled } = useCheckboxDisabled({ model, isChecked })\n const { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n disableIdGeneration: hasOwnLabel,\n disableIdManagement: isGroup,\n })\n const { handleChange, onClickRoot } = useCheckboxEvent(props, {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n })\n\n const setStoreValue = () => {\n function addToStore() {\n if (isArray(model.value) && !model.value.includes(actualValue.value)) {\n model.value.push(actualValue.value)\n } else {\n model.value = props.trueValue ?? props.trueLabel ?? true\n }\n }\n props.checked && addToStore()\n }\n\n setStoreValue()\n\n useDeprecated(\n {\n from: 'label act as value',\n replacement: 'value',\n version: '3.0.0',\n scope: 'el-checkbox',\n ref: 'https://element-plus.org/en-US/component/checkbox.html',\n },\n computed(() => isGroup.value && isPropAbsent(props.value))\n )\n\n useDeprecated(\n {\n from: 'true-label',\n replacement: 'true-value',\n version: '3.0.0',\n scope: 'el-checkbox',\n ref: 'https://element-plus.org/en-US/component/checkbox.html',\n },\n computed(() => !!props.trueLabel)\n )\n\n useDeprecated(\n {\n from: 'false-label',\n replacement: 'false-value',\n version: '3.0.0',\n scope: 'el-checkbox',\n ref: 'https://element-plus.org/en-US/component/checkbox.html',\n },\n computed(() => !!props.falseLabel)\n )\n\n return {\n inputId,\n isLabeledByFormItem,\n isChecked,\n isDisabled,\n isFocused,\n checkboxButtonSize,\n checkboxSize,\n hasOwnLabel,\n model,\n actualValue,\n handleChange,\n onClickRoot,\n }\n}\n", "\n\n\n", "\n\n\n", "import { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { buildProps, definePropType, isArray } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type checkboxGroup from './checkbox-group.vue'\nimport type { CheckboxValueType } from './checkbox'\n\nexport type CheckboxGroupValueType = Exclude[]\n\nexport const checkboxGroupProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: definePropType(Array),\n default: () => [],\n },\n /**\n * @description whether the nesting checkboxes are disabled\n */\n disabled: Boolean,\n /**\n * @description minimum number of checkbox checked\n */\n min: Number,\n /**\n * @description maximum number of checkbox checked\n */\n max: Number,\n /**\n * @description size of checkbox\n */\n size: useSizeProp,\n /**\n * @description border and background color when button is active\n */\n fill: String,\n /**\n * @description font color when button is active\n */\n textColor: String,\n /**\n * @description element tag of the checkbox group\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport const checkboxGroupEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxGroupValueType) => isArray(val),\n change: (val: CheckboxValueType[]) => isArray(val),\n}\n\nexport type CheckboxGroupProps = ExtractPropTypes\nexport type CheckboxGroupEmits = typeof checkboxGroupEmits\nexport type CheckboxGroupInstance = InstanceType\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Checkbox from './src/checkbox.vue'\nimport CheckboxButton from './src/checkbox-button.vue'\nimport CheckboxGroup from './src/checkbox-group.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCheckbox: SFCWithInstall & {\n CheckboxButton: typeof CheckboxButton\n CheckboxGroup: typeof CheckboxGroup\n} = withInstall(Checkbox, {\n CheckboxButton,\n CheckboxGroup,\n})\nexport default ElCheckbox\n\nexport const ElCheckboxButton: SFCWithInstall =\n withNoopInstall(CheckboxButton)\nexport const ElCheckboxGroup: SFCWithInstall =\n withNoopInstall(CheckboxGroup)\n\nexport * from './src/checkbox-group'\nexport * from './src/checkbox'\nexport * from './src/constants'\n", "import { buildProps, isBoolean, isNumber, isString } from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useSizeProp } from '@element-plus/hooks'\nimport type { ExtractPropTypes } from 'vue'\nimport type Radio from './radio.vue'\n\nexport const radioPropsBase = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n /**\n * @description size of the Radio\n */\n size: useSizeProp,\n /**\n * @description whether Radio is disabled\n */\n disabled: Boolean,\n /**\n * @description the label of Radio\n */\n label: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n /**\n * @description the value of Radio\n */\n value: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n /**\n * @description native `name` attribute\n */\n name: {\n type: String,\n default: undefined,\n },\n})\n\nexport const radioProps = buildProps({\n ...radioPropsBase,\n /**\n * @description whether to add a border around Radio\n */\n border: Boolean,\n} as const)\n\nexport const radioEmits = {\n [UPDATE_MODEL_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n [CHANGE_EVENT]: (val: string | number | boolean | undefined) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\n\nexport type RadioProps = ExtractPropTypes\nexport type RadioEmits = typeof radioEmits\nexport type RadioInstance = InstanceType\n", "import type { InjectionKey } from 'vue'\nimport type { RadioGroupProps } from './radio-group'\n\nexport interface RadioGroupContext extends RadioGroupProps {\n changeEvent: (val: RadioGroupProps['modelValue']) => void\n}\n\nexport const radioGroupKey: InjectionKey =\n Symbol('radioGroupKey')\n", "import { computed, inject, ref } from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useFormDisabled, useFormSize } from '@element-plus/components/form'\nimport { useDeprecated } from '@element-plus/hooks'\nimport { isPropAbsent } from '@element-plus/utils'\nimport { radioGroupKey } from './constants'\n\nimport type { RadioButtonProps } from './radio-button'\nimport type { SetupContext } from 'vue'\nimport type { RadioEmits, RadioProps } from './radio'\nexport const useRadio = (\n props: RadioProps | RadioButtonProps,\n emit?: SetupContext['emit']\n) => {\n const radioRef = ref()\n const radioGroup = inject(radioGroupKey, undefined)\n const isGroup = computed(() => !!radioGroup)\n const actualValue = computed(() => {\n // In version 2.x, if there's no props.value, props.label will act as props.value\n // In version 3.x, remove this computed value, use props.value instead.\n if (!isPropAbsent(props.value)) {\n return props.value\n }\n return props.label\n })\n const modelValue = computed({\n get() {\n return isGroup.value ? radioGroup!.modelValue : props.modelValue!\n },\n set(val) {\n if (isGroup.value) {\n radioGroup!.changeEvent(val)\n } else {\n emit && emit(UPDATE_MODEL_EVENT, val)\n }\n radioRef.value!.checked = props.modelValue === actualValue.value\n },\n })\n\n const size = useFormSize(computed(() => radioGroup?.size))\n const disabled = useFormDisabled(computed(() => radioGroup?.disabled))\n const focus = ref(false)\n const tabIndex = computed(() => {\n return disabled.value ||\n (isGroup.value && modelValue.value !== actualValue.value)\n ? -1\n : 0\n })\n\n useDeprecated(\n {\n from: 'label act as value',\n replacement: 'value',\n version: '3.0.0',\n scope: 'el-radio',\n ref: 'https://element-plus.org/en-US/component/radio.html',\n },\n computed(() => isGroup.value && isPropAbsent(props.value))\n )\n\n return {\n radioRef,\n isGroup,\n radioGroup,\n focus,\n size,\n disabled,\n tabIndex,\n modelValue,\n actualValue,\n }\n}\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { radioPropsBase } from './radio'\nimport type { ExtractPropTypes } from 'vue'\nimport type RadioButton from './radio-button.vue'\n\nexport const radioButtonProps = buildProps({\n ...radioPropsBase,\n} as const)\n\nexport type RadioButtonProps = ExtractPropTypes\nexport type RadioButtonInstance = InstanceType\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { radioEmits } from './radio'\nimport type { ExtractPropTypes } from '@vue/runtime-core'\nimport type RadioGroup from './radio-group.vue'\n\nexport const radioGroupProps = buildProps({\n /**\n * @description native `id` attribute\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description the size of radio buttons or bordered radios\n */\n size: useSizeProp,\n /**\n * @description whether the nesting radios are disabled\n */\n disabled: Boolean,\n /**\n * @description binding value\n */\n modelValue: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n /**\n * @description border and background color when button is active\n */\n fill: {\n type: String,\n default: '',\n },\n /**\n * @description font color when button is active\n */\n textColor: {\n type: String,\n default: '',\n },\n /**\n * @description native `name` attribute\n */\n name: {\n type: String,\n default: undefined,\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type RadioGroupProps = ExtractPropTypes\n\nexport const radioGroupEmits = radioEmits\nexport type RadioGroupEmits = typeof radioGroupEmits\nexport type RadioGroupInstance = InstanceType\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Radio from './src/radio.vue'\nimport RadioButton from './src/radio-button.vue'\nimport RadioGroup from './src/radio-group.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElRadio: SFCWithInstall & {\n RadioButton: typeof RadioButton\n RadioGroup: typeof RadioGroup\n} = withInstall(Radio, {\n RadioButton,\n RadioGroup,\n})\nexport default ElRadio\nexport const ElRadioGroup: SFCWithInstall =\n withNoopInstall(RadioGroup)\nexport const ElRadioButton: SFCWithInstall =\n withNoopInstall(RadioButton)\n\nexport * from './src/radio'\nexport * from './src/radio-group'\nexport * from './src/radio-button'\nexport * from './src/constants'\n", "// @ts-nocheck\nimport { defineComponent, h } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nexport default defineComponent({\n name: 'NodeContent',\n setup() {\n const ns = useNamespace('cascader-node')\n return {\n ns,\n }\n },\n render() {\n const { ns } = this\n const { node, panel } = this.$parent\n const { data, label } = node\n const { renderLabelFn } = panel\n return h(\n 'span',\n { class: ns.e('label') },\n renderLabelFn ? renderLabelFn({ node, data }) : label\n )\n },\n})\n", "// @ts-nocheck\nimport type { InjectionKey, VNode } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n default as CascaderNode,\n CascaderOption,\n CascaderProps,\n ExpandTrigger,\n} from './node'\n\nexport type { CascaderNode, CascaderOption, CascaderProps, ExpandTrigger }\n\nexport type CascaderNodeValue = string | number\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue =\n | CascaderNodeValue\n | CascaderNodePathValue\n | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required\nexport type isDisabled = (data: CascaderOption, node: CascaderNode) => boolean\nexport type isLeaf = (data: CascaderOption, node: CascaderNode) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (node: CascaderNode, resolve: Resolve) => void\nexport type RenderLabel = ({\n node: CascaderNode,\n data: CascaderOption,\n}) => VNode | VNode[]\n\nexport interface Tag {\n node?: CascaderNode\n key: number\n text: string\n hitState?: boolean\n closable: boolean\n isCollapseTag: boolean\n}\n\nexport interface ElCascaderPanelContext {\n config: CascaderConfig\n expandingNode: Nullable\n checkedNodes: CascaderNode[]\n isHoverMenu: boolean\n initialLoaded: boolean\n renderLabelFn: RenderLabel\n lazyLoad: (\n node?: CascaderNode,\n cb?: (dataList: CascaderOption[]) => void\n ) => void\n expandNode: (node: CascaderNode, silent?: boolean) => void\n handleCheckChange: (\n node: CascaderNode,\n checked: boolean,\n emitClose?: boolean\n ) => void\n}\n\nexport const CASCADER_PANEL_INJECTION_KEY: InjectionKey =\n Symbol()\n", "\n\n\n", "\n\n\n", "// @ts-nocheck\nimport {\n capitalize,\n isArray,\n isEmpty,\n isFunction,\n isUndefined,\n} from '@element-plus/utils'\nimport type { VNode } from 'vue'\n\nexport type CascaderNodeValue = string | number\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue =\n | CascaderNodeValue\n | CascaderNodePathValue\n | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required\nexport type ExpandTrigger = 'click' | 'hover'\nexport type isDisabled = (data: CascaderOption, node: Node) => boolean\nexport type isLeaf = (data: CascaderOption, node: Node) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (node: Node, resolve: Resolve) => void\nexport type RenderLabel = ({\n node: Node,\n data: CascaderOption,\n}) => VNode | VNode[]\nexport interface CascaderOption extends Record {\n label?: string\n value?: CascaderNodeValue\n children?: CascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport interface CascaderProps {\n expandTrigger?: ExpandTrigger\n multiple?: boolean\n checkStrictly?: boolean\n emitPath?: boolean\n lazy?: boolean\n lazyLoad?: LazyLoad\n value?: string\n label?: string\n children?: string\n disabled?: string | isDisabled\n leaf?: string | isLeaf\n hoverThreshold?: number\n}\n\nexport type Nullable = null | T\n\ntype ChildrenData = CascaderOption[] | undefined\n\nlet uid = 0\n\nconst calculatePathNodes = (node: Node) => {\n const nodes = [node]\n let { parent } = node\n\n while (parent) {\n nodes.unshift(parent)\n parent = parent.parent\n }\n\n return nodes\n}\n\nclass Node {\n readonly uid: number = uid++\n readonly level: number\n readonly value: CascaderNodeValue\n readonly label: string\n readonly pathNodes: Node[]\n readonly pathValues: CascaderNodePathValue\n readonly pathLabels: string[]\n\n childrenData: ChildrenData\n children: Node[]\n text: string\n loaded: boolean\n /**\n * Is it checked\n *\n * @default false\n */\n checked = false\n /**\n * Used to indicate the intermediate state of unchecked and fully checked child nodes\n *\n * @default false\n */\n indeterminate = false\n /**\n * Loading Status\n *\n * @default false\n */\n loading = false\n\n constructor(\n readonly data: Nullable,\n readonly config: CascaderConfig,\n readonly parent?: Node,\n readonly root = false\n ) {\n const { value: valueKey, label: labelKey, children: childrenKey } = config\n\n const childrenData = data[childrenKey] as ChildrenData\n const pathNodes = calculatePathNodes(this)\n\n this.level = root ? 0 : parent ? parent.level + 1 : 1\n this.value = data[valueKey] as CascaderNodeValue\n this.label = data[labelKey] as string\n this.pathNodes = pathNodes\n this.pathValues = pathNodes.map((node) => node.value)\n this.pathLabels = pathNodes.map((node) => node.label)\n this.childrenData = childrenData\n this.children = (childrenData || []).map(\n (child) => new Node(child, config, this)\n )\n this.loaded = !config.lazy || this.isLeaf || !isEmpty(childrenData)\n }\n\n get isDisabled(): boolean {\n const { data, parent, config } = this\n const { disabled, checkStrictly } = config\n const isDisabled = isFunction(disabled)\n ? disabled(data, this)\n : !!data[disabled]\n return isDisabled || (!checkStrictly && parent?.isDisabled)\n }\n\n get isLeaf(): boolean {\n const { data, config, childrenData, loaded } = this\n const { lazy, leaf } = config\n const isLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf]\n\n return isUndefined(isLeaf)\n ? lazy && !loaded\n ? false\n : !(isArray(childrenData) && childrenData.length)\n : !!isLeaf\n }\n\n get valueByOption() {\n return this.config.emitPath ? this.pathValues : this.value\n }\n\n appendChild(childData: CascaderOption) {\n const { childrenData, children } = this\n const node = new Node(childData, this.config, this)\n\n if (isArray(childrenData)) {\n childrenData.push(childData)\n } else {\n this.childrenData = [childData]\n }\n\n children.push(node)\n\n return node\n }\n\n calcText(allLevels: boolean, separator: string) {\n const text = allLevels ? this.pathLabels.join(separator) : this.label\n this.text = text\n return text\n }\n\n broadcast(event: string, ...args: unknown[]) {\n const handlerName = `onParent${capitalize(event)}`\n this.children.forEach((child) => {\n if (child) {\n // bottom up\n child.broadcast(event, ...args)\n child[handlerName] && child[handlerName](...args)\n }\n })\n }\n\n emit(event: string, ...args: unknown[]) {\n const { parent } = this\n const handlerName = `onChild${capitalize(event)}`\n if (parent) {\n parent[handlerName] && parent[handlerName](...args)\n parent.emit(event, ...args)\n }\n }\n\n onParentCheck(checked: boolean) {\n if (!this.isDisabled) {\n this.setCheckState(checked)\n }\n }\n\n onChildCheck() {\n const { children } = this\n const validChildren = children.filter((child) => !child.isDisabled)\n const checked = validChildren.length\n ? validChildren.every((child) => child.checked)\n : false\n\n this.setCheckState(checked)\n }\n\n setCheckState(checked: boolean) {\n const totalNum = this.children.length\n const checkedNum = this.children.reduce((c, p) => {\n const num = p.checked ? 1 : p.indeterminate ? 0.5 : 0\n return c + num\n }, 0)\n\n this.checked =\n this.loaded &&\n this.children\n .filter((child) => !child.isDisabled)\n .every((child) => child.loaded && child.checked) &&\n checked\n this.indeterminate =\n this.loaded && checkedNum !== totalNum && checkedNum > 0\n }\n\n doCheck(checked: boolean) {\n if (this.checked === checked) return\n\n const { checkStrictly, multiple } = this.config\n\n if (checkStrictly || !multiple) {\n this.checked = checked\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast('check', checked)\n this.setCheckState(checked)\n this.emit('check')\n }\n }\n}\n\nexport default Node\n", "import { isEqual } from 'lodash-unified'\nimport Node from './node'\n\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n CascaderConfig,\n CascaderNodePathValue,\n CascaderNodeValue,\n CascaderOption,\n} from './node'\n\nconst flatNodes = (nodes: Node[], leafOnly: boolean) => {\n return nodes.reduce((res, node) => {\n if (node.isLeaf) {\n res.push(node)\n } else {\n !leafOnly && res.push(node)\n res = res.concat(flatNodes(node.children, leafOnly))\n }\n return res\n }, [] as Node[])\n}\n\nexport default class Store {\n readonly nodes: Node[]\n readonly allNodes: Node[]\n readonly leafNodes: Node[]\n\n constructor(data: CascaderOption[], readonly config: CascaderConfig) {\n const nodes = (data || []).map(\n (nodeData) => new Node(nodeData, this.config)\n )\n this.nodes = nodes\n this.allNodes = flatNodes(nodes, false)\n this.leafNodes = flatNodes(nodes, true)\n }\n\n getNodes() {\n return this.nodes\n }\n\n getFlattedNodes(leafOnly: boolean) {\n return leafOnly ? this.leafNodes : this.allNodes\n }\n\n appendNode(nodeData: CascaderOption, parentNode?: Node) {\n const node = parentNode\n ? parentNode.appendChild(nodeData)\n : new Node(nodeData, this.config)\n\n if (!parentNode) this.nodes.push(node)\n\n this.allNodes.push(node)\n node.isLeaf && this.leafNodes.push(node)\n }\n\n appendNodes(nodeDataList: CascaderOption[], parentNode: Node) {\n nodeDataList.forEach((nodeData) => this.appendNode(nodeData, parentNode))\n }\n\n // when checkStrictly, leaf node first\n getNodeByValue(\n value: CascaderNodeValue | CascaderNodePathValue,\n leafOnly = false\n ): Nullable {\n if (!value && value !== 0) return null\n\n const node = this.getFlattedNodes(leafOnly).find(\n (node) => isEqual(node.value, value) || isEqual(node.pathValues, value)\n )\n\n return node || null\n }\n\n getSameNode(node: Node): Nullable {\n if (!node) return null\n\n const node_ = this.getFlattedNodes(false).find(\n ({ value, level }) => isEqual(node.value, value) && node.level === level\n )\n\n return node_ || null\n }\n}\n", "import { computed } from 'vue'\nimport { NOOP, buildProps, definePropType } from '@element-plus/utils'\nimport type {\n CascaderConfig,\n CascaderOption,\n CascaderProps,\n CascaderValue,\n} from './node'\n\nexport const CommonProps = buildProps({\n /**\n * @description specify which key of node object is used as the node's value\n */\n modelValue: {\n type: definePropType([Number, String, Array]),\n },\n /**\n * @description data of the options, the key of `value` and `label` can be customize by `CascaderProps`.\n */\n options: {\n type: definePropType(Array),\n default: () => [] as CascaderOption[],\n },\n /**\n * @description configuration options, see the following `CascaderProps` table.\n */\n props: {\n type: definePropType(Object),\n default: () => ({} as CascaderProps),\n },\n} as const)\n\nexport const DefaultProps: CascaderConfig = {\n /**\n * @description trigger mode of expanding options\n */\n expandTrigger: 'click',\n /**\n * @description whether multiple selection is enabled\n */\n multiple: false,\n /**\n * @description whether checked state of a node not affects its parent and child nodes\n */\n checkStrictly: false, // whether all nodes can be selected\n /**\n * @description when checked nodes change, whether to emit an array of node's path, if false, only emit the value of node.\n */\n emitPath: true, // wether to emit an array of all levels value in which node is located\n /**\n * @description whether to dynamic load child nodes, use with `lazyload` attribute\n */\n lazy: false,\n /**\n * @description method for loading child nodes data, only works when `lazy` is true\n */\n lazyLoad: NOOP,\n /**\n * @description specify which key of node object is used as the node's value\n */\n value: 'value',\n /**\n * @description specify which key of node object is used as the node's label\n */\n label: 'label',\n /**\n * @description specify which key of node object is used as the node's children\n */\n children: 'children',\n /**\n * @description specify which key of node object is used as the node's leaf\n */\n leaf: 'leaf',\n /**\n * @description specify which key of node object is used as the node's disabled\n */\n disabled: 'disabled',\n /**\n * @description hover threshold of expanding options\n */\n hoverThreshold: 500,\n}\n\nexport const useCascaderConfig = (props: { props: CascaderProps }) => {\n return computed(() => ({\n ...DefaultProps,\n ...props.props,\n }))\n}\n", "import { isLeaf } from '@element-plus/utils'\nimport type { default as CascaderNode } from './node'\n\nexport const getMenuIndex = (el: HTMLElement) => {\n if (!el) return 0\n const pieces = el.id.split('-')\n return Number(pieces[pieces.length - 2])\n}\n\nexport const checkNode = (el: HTMLElement) => {\n if (!el) return\n\n const input = el.querySelector('input')\n if (input) {\n input.click()\n } else if (isLeaf(el)) {\n el.click()\n }\n}\n\nexport const sortByOriginalOrder = (\n oldNodes: CascaderNode[],\n newNodes: CascaderNode[]\n) => {\n const newNodesCopy = newNodes.slice(0)\n const newIds = newNodesCopy.map((node) => node.uid)\n const res = oldNodes.reduce((acc, item) => {\n const index = newIds.indexOf(item.uid)\n if (index > -1) {\n acc.push(item)\n newNodesCopy.splice(index, 1)\n newIds.splice(index, 1)\n }\n return acc\n }, [] as CascaderNode[])\n\n res.push(...newNodesCopy)\n\n return res\n}\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport CascaderPanel from './src/index.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCascaderPanel: SFCWithInstall =\n withInstall(CascaderPanel)\n\nexport default ElCascaderPanel\nexport * from './src/types'\nexport * from './src/config'\nexport * from './src/instance'\n", "import { buildProps } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type Tag from './tag.vue'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const tagProps = buildProps({\n /**\n * @description type of Tag\n */\n type: {\n type: String,\n values: ['primary', 'success', 'info', 'warning', 'danger'],\n default: 'primary',\n },\n /**\n * @description whether Tag can be removed\n */\n closable: Boolean,\n /**\n * @description whether to disable animations\n */\n disableTransitions: Boolean,\n /**\n * @description whether Tag has a highlighted border\n */\n hit: Boolean,\n /**\n * @description background color of the Tag\n */\n color: String,\n /**\n * @description size of Tag\n */\n size: {\n type: String,\n values: componentSizes,\n },\n /**\n * @description theme of Tag\n */\n effect: {\n type: String,\n values: ['dark', 'light', 'plain'],\n default: 'light',\n },\n /**\n * @description whether Tag is rounded\n */\n round: Boolean,\n} as const)\nexport type TagProps = ExtractPropTypes\n\nexport const tagEmits = {\n close: (evt: MouseEvent) => evt instanceof MouseEvent,\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type TagEmits = typeof tagEmits\n\nexport type TagInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Tag from './src/tag.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElTag: SFCWithInstall = withInstall(Tag)\nexport default ElTag\n\nexport * from './src/tag'\n", "import { placements } from '@popperjs/core'\nimport { CommonProps } from '@element-plus/components/cascader-panel'\nimport { buildProps, definePropType, isBoolean } from '@element-plus/utils'\nimport { useEmptyValuesProps, useSizeProp } from '@element-plus/hooks'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { tagProps } from '@element-plus/components/tag'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type {\n CascaderNode,\n CascaderValue,\n} from '@element-plus/components/cascader-panel'\nimport type { Placement } from '@element-plus/components/popper'\n\nexport const cascaderProps = buildProps({\n ...CommonProps,\n /**\n * @description size of input\n */\n size: useSizeProp,\n /**\n * @description placeholder of input\n */\n placeholder: String,\n /**\n * @description whether Cascader is disabled\n */\n disabled: Boolean,\n /**\n * @description whether selected value can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether the options can be searched\n */\n filterable: Boolean,\n /**\n * @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.\n */\n filterMethod: {\n type: definePropType<(node: CascaderNode, keyword: string) => boolean>(\n Function\n ),\n default: (node: CascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n /**\n * @description option label separator\n */\n separator: {\n type: String,\n default: ' / ',\n },\n /**\n * @description whether to display all levels of the selected value in the input\n */\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to collapse tags in multiple selection mode\n */\n collapseTags: Boolean,\n /**\n * @description The max tags number to be shown. To use this, collapse-tags must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description native input id\n */\n collapseTagsTooltip: {\n type: Boolean,\n default: false,\n },\n /**\n * @description debounce delay when typing filter keyword, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted\n */\n beforeFilter: {\n type: definePropType<(value: string) => boolean | Promise>(Function),\n default: () => true,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType(Array),\n default: ['bottom-start', 'bottom', 'top-start', 'top', 'right', 'left'],\n },\n /**\n * @description custom class name for Cascader's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether cascader popup is teleported\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description tag type\n */\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description when dropdown is inactive and `persistent` is `false`, dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n ...useEmptyValuesProps,\n})\n\nexport const cascaderEmits = {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n [UPDATE_MODEL_EVENT]: (_: CascaderValue) => true,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n [CHANGE_EVENT]: (_: CascaderValue) => true,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n clear: () => true,\n visibleChange: (val: boolean) => isBoolean(val),\n expandChange: (val: CascaderValue) => !!val,\n removeTag: (val: CascaderNode['valueByOption']) => !!val,\n}\n\n// Type name is taken(cascader-panel/src/node), needs discussion\n// export type CascaderProps = ExtractPropTypes\n\nexport type CascaderEmits = typeof cascaderEmits\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Cascader from './src/cascader.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCascader: SFCWithInstall = withInstall(Cascader)\n\nexport default ElCascader\n\nexport * from './src/cascader'\nexport * from './src/instances'\n", "import { buildProps, isBoolean } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\n\nimport type CheckTag from './check-tag.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const checkTagProps = buildProps({\n /**\n * @description is checked\n */\n checked: Boolean,\n /**\n * @description whether the check-tag is disabled\n */\n disabled: Boolean,\n /**\n * @description type of Tag\n */\n type: {\n type: String,\n values: ['primary', 'success', 'info', 'warning', 'danger'],\n default: 'primary',\n },\n} as const)\nexport type CheckTagProps = ExtractPropTypes\n\nexport const checkTagEmits = {\n 'update:checked': (value: boolean) => isBoolean(value),\n [CHANGE_EVENT]: (value: boolean) => isBoolean(value),\n}\nexport type CheckTagEmits = typeof checkTagEmits\n\nexport type CheckTagInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport CheckTag from './src/check-tag.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCheckTag: SFCWithInstall = withInstall(CheckTag)\nexport default ElCheckTag\n\nexport * from './src/check-tag'\n", "import type { ComputedRef, InjectionKey } from 'vue'\n\ninterface RowContext {\n gutter: ComputedRef\n}\n\nexport const rowContextKey: InjectionKey = Symbol('rowContextKey')\n", "import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Row from './row.vue'\n\nexport const RowJustify = [\n 'start',\n 'center',\n 'end',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const\n\nexport const RowAlign = ['top', 'middle', 'bottom'] as const\n\nexport const rowProps = buildProps({\n /**\n * @description custom element tag\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description grid spacing\n */\n gutter: {\n type: Number,\n default: 0,\n },\n /**\n * @description horizontal alignment of flex layout\n */\n justify: {\n type: String,\n values: RowJustify,\n default: 'start',\n },\n /**\n * @description vertical alignment of flex layout\n */\n align: {\n type: String,\n values: RowAlign,\n },\n} as const)\n\nexport type RowProps = ExtractPropTypes\nexport type RowInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Row from './src/row.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElRow: SFCWithInstall = withInstall(Row)\nexport default ElRow\n\nexport * from './src/row'\nexport * from './src/constants'\n", "import { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Col from './col.vue'\n\nexport type ColSizeObject = {\n span?: number\n offset?: number\n pull?: number\n push?: number\n}\nexport type ColSize = number | ColSizeObject\n\nexport const colProps = buildProps({\n /**\n * @description custom element tag\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description number of column the grid spans\n */\n span: {\n type: Number,\n default: 24,\n },\n /**\n * @description number of spacing on the left side of the grid\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description number of columns that grid moves to the left\n */\n pull: {\n type: Number,\n default: 0,\n },\n /**\n * @description number of columns that grid moves to the right\n */\n push: {\n type: Number,\n default: 0,\n },\n /**\n * @description `<768px` Responsive columns or column props object\n */\n xs: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥768px` Responsive columns or column props object\n */\n sm: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥992px` Responsive columns or column props object\n */\n md: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥1200px` Responsive columns or column props object\n */\n lg: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n /**\n * @description `≥1920px` Responsive columns or column props object\n */\n xl: {\n type: definePropType([Number, Object]),\n default: () => mutable({} as const),\n },\n} as const)\nexport type ColProps = ExtractPropTypes\nexport type ColInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Col from './src/col.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCol: SFCWithInstall = withInstall(Col)\nexport default ElCol\n\nexport * from './src/col'\n", "import {\n buildProps,\n definePropType,\n isArray,\n isNumber,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Arrayable } from '@element-plus/utils'\n\nexport type CollapseActiveName = string | number\nexport type CollapseModelValue = Arrayable\n\nexport const emitChangeFn = (value: CollapseModelValue) =>\n isNumber(value) || isString(value) || isArray(value)\n\nexport const collapseProps = buildProps({\n /**\n * @description whether to activate accordion mode\n */\n accordion: Boolean,\n /**\n * @description currently active panel, the type is `string` in accordion mode, otherwise it is `array`\n */\n modelValue: {\n type: definePropType([Array, String, Number]),\n default: () => mutable([] as const),\n },\n} as const)\nexport type CollapseProps = ExtractPropTypes\n\nexport const collapseEmits = {\n [UPDATE_MODEL_EVENT]: emitChangeFn,\n [CHANGE_EVENT]: emitChangeFn,\n}\nexport type CollapseEmits = typeof collapseEmits\n", "import type { InjectionKey, Ref } from 'vue'\nimport type { CollapseActiveName } from './collapse'\n\nexport interface CollapseContext {\n activeNames: Ref\n handleItemClick: (name: CollapseActiveName) => void\n}\n\nexport const collapseContextKey: InjectionKey =\n Symbol('collapseContextKey')\n", "import { computed, provide, ref, watch } from 'vue'\nimport { ensureArray } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { collapseContextKey } from './constants'\n\nimport type { SetupContext } from 'vue'\nimport type {\n CollapseActiveName,\n CollapseEmits,\n CollapseProps,\n} from './collapse'\n\nexport const useCollapse = (\n props: CollapseProps,\n emit: SetupContext['emit']\n) => {\n const activeNames = ref(ensureArray(props.modelValue))\n\n const setActiveNames = (_activeNames: CollapseActiveName[]) => {\n activeNames.value = _activeNames\n const value = props.accordion ? activeNames.value[0] : activeNames.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n }\n\n const handleItemClick = (name: CollapseActiveName) => {\n if (props.accordion) {\n setActiveNames([activeNames.value[0] === name ? '' : name])\n } else {\n const _activeNames = [...activeNames.value]\n const index = _activeNames.indexOf(name)\n\n if (index > -1) {\n _activeNames.splice(index, 1)\n } else {\n _activeNames.push(name)\n }\n setActiveNames(_activeNames)\n }\n }\n\n watch(\n () => props.modelValue,\n () => (activeNames.value = ensureArray(props.modelValue)),\n { deep: true }\n )\n\n provide(collapseContextKey, {\n activeNames,\n handleItemClick,\n })\n return {\n activeNames,\n setActiveNames,\n }\n}\n\nexport const useCollapseDOM = () => {\n const ns = useNamespace('collapse')\n\n const rootKls = computed(() => ns.b())\n return {\n rootKls,\n }\n}\n", "\n\n\n", "\n\n", "import { withInstall } from '@element-plus/utils'\nimport CollapseTransition from './src/collapse-transition.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCollapseTransition: SFCWithInstall =\n withInstall(CollapseTransition)\n\nexport default ElCollapseTransition\n", "import { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { ArrowRight } from '@element-plus/icons-vue'\nimport type { ExtractPropTypes } from 'vue'\nimport type { CollapseActiveName } from './collapse'\n\nexport const collapseItemProps = buildProps({\n /**\n * @description title of the panel\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description unique identification of the panel\n */\n name: {\n type: definePropType([String, Number]),\n default: undefined,\n },\n /**\n * @description icon of the collapse item\n */\n icon: {\n type: iconPropType,\n default: ArrowRight,\n },\n /**\n * @description disable the collapse item\n */\n disabled: Boolean,\n} as const)\nexport type CollapseItemProps = ExtractPropTypes\n", "import { computed, inject, ref, unref } from 'vue'\nimport { useIdInjection, useNamespace } from '@element-plus/hooks'\nimport { collapseContextKey } from './constants'\n\nimport type { CollapseItemProps } from './collapse-item'\n\nexport const useCollapseItem = (props: CollapseItemProps) => {\n const collapse = inject(collapseContextKey)\n const { namespace } = useNamespace('collapse')\n\n const focusing = ref(false)\n const isClick = ref(false)\n const idInjection = useIdInjection()\n const id = computed(() => idInjection.current++)\n const name = computed(() => {\n return (\n props.name ?? `${namespace.value}-id-${idInjection.prefix}-${unref(id)}`\n )\n })\n\n const isActive = computed(() =>\n collapse?.activeNames.value.includes(unref(name))\n )\n\n const handleFocus = () => {\n setTimeout(() => {\n if (!isClick.value) {\n focusing.value = true\n } else {\n isClick.value = false\n }\n }, 50)\n }\n\n const handleHeaderClick = () => {\n if (props.disabled) return\n collapse?.handleItemClick(unref(name))\n focusing.value = false\n isClick.value = true\n }\n\n const handleEnterClick = () => {\n collapse?.handleItemClick(unref(name))\n }\n\n return {\n focusing,\n id,\n isActive,\n handleFocus,\n handleHeaderClick,\n handleEnterClick,\n }\n}\n\nexport const useCollapseItemDOM = (\n props: CollapseItemProps,\n { focusing, isActive, id }: Partial>\n) => {\n const ns = useNamespace('collapse')\n\n const rootKls = computed(() => [\n ns.b('item'),\n ns.is('active', unref(isActive)),\n ns.is('disabled', props.disabled),\n ])\n const headKls = computed(() => [\n ns.be('item', 'header'),\n ns.is('active', unref(isActive)),\n { focusing: unref(focusing) && !props.disabled },\n ])\n const arrowKls = computed(() => [\n ns.be('item', 'arrow'),\n ns.is('active', unref(isActive)),\n ])\n const itemWrapperKls = computed(() => ns.be('item', 'wrap'))\n const itemContentKls = computed(() => ns.be('item', 'content'))\n const scopedContentId = computed(() => ns.b(`content-${unref(id)}`))\n const scopedHeadId = computed(() => ns.b(`head-${unref(id)}`))\n\n return {\n arrowKls,\n headKls,\n rootKls,\n itemWrapperKls,\n itemContentKls,\n scopedContentId,\n scopedHeadId,\n }\n}\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Collapse from './src/collapse.vue'\nimport CollapseItem from './src/collapse-item.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElCollapse: SFCWithInstall & {\n CollapseItem: typeof CollapseItem\n} = withInstall(Collapse, {\n CollapseItem,\n})\nexport default ElCollapse\nexport const ElCollapseItem: SFCWithInstall =\n withNoopInstall(CollapseItem)\n\nexport * from './src/collapse'\nexport * from './src/collapse-item'\nexport * from './src/constants'\nexport type { CollapseInstance, CollapseItemInstance } from './src/instance'\n", "import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Color from '../utils/color'\n\nexport const alphaSliderProps = buildProps({\n color: {\n type: definePropType(Object),\n required: true,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n} as const)\n\nexport type AlphaSliderProps = ExtractPropTypes\n", "import { isClient } from '@element-plus/utils'\n\nlet isDragging = false\n\nexport interface DraggableOptions {\n drag?: (event: MouseEvent | TouchEvent) => void\n start?: (event: MouseEvent | TouchEvent) => void\n end?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport function draggable(element: HTMLElement, options: DraggableOptions) {\n if (!isClient) return\n\n const moveFn = function (event: MouseEvent | TouchEvent) {\n options.drag?.(event)\n }\n\n const upFn = function (event: MouseEvent | TouchEvent) {\n document.removeEventListener('mousemove', moveFn)\n document.removeEventListener('mouseup', upFn)\n document.removeEventListener('touchmove', moveFn)\n document.removeEventListener('touchend', upFn)\n document.onselectstart = null\n document.ondragstart = null\n\n isDragging = false\n\n options.end?.(event)\n }\n\n const downFn = function (event: MouseEvent | TouchEvent) {\n if (isDragging) return\n event.preventDefault()\n document.onselectstart = () => false\n document.ondragstart = () => false\n document.addEventListener('mousemove', moveFn)\n document.addEventListener('mouseup', upFn)\n document.addEventListener('touchmove', moveFn)\n document.addEventListener('touchend', upFn)\n\n isDragging = true\n\n options.start?.(event)\n }\n\n element.addEventListener('mousedown', downFn)\n element.addEventListener('touchstart', downFn, { passive: false })\n}\n", "import {\n computed,\n getCurrentInstance,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { addUnit, getClientXY } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { draggable } from '../utils/draggable'\n\nimport type { AlphaSliderProps } from '../props/alpha-slider'\n\nexport const useAlphaSlider = (props: AlphaSliderProps) => {\n const instance = getCurrentInstance()!\n const { t } = useLocale()\n\n const thumb = shallowRef()\n const bar = shallowRef()\n\n const alpha = computed(() => props.color.get('alpha'))\n const alphaLabel = computed(() => t('el.colorpicker.alphaLabel'))\n\n function handleClick(event: MouseEvent | TouchEvent) {\n const target = event.target\n\n if (target !== thumb.value) {\n handleDrag(event)\n }\n thumb.value?.focus()\n }\n\n function handleDrag(event: MouseEvent | TouchEvent) {\n if (!bar.value || !thumb.value) return\n\n const el = instance.vnode.el as HTMLElement\n const rect = el.getBoundingClientRect()\n const { clientX, clientY } = getClientXY(event)\n\n if (!props.vertical) {\n let left = clientX - rect.left\n left = Math.max(thumb.value.offsetWidth / 2, left)\n left = Math.min(left, rect.width - thumb.value.offsetWidth / 2)\n\n props.color.set(\n 'alpha',\n Math.round(\n ((left - thumb.value.offsetWidth / 2) /\n (rect.width - thumb.value.offsetWidth)) *\n 100\n )\n )\n } else {\n let top = clientY - rect.top\n top = Math.max(thumb.value.offsetHeight / 2, top)\n top = Math.min(top, rect.height - thumb.value.offsetHeight / 2)\n\n props.color.set(\n 'alpha',\n Math.round(\n ((top - thumb.value.offsetHeight / 2) /\n (rect.height - thumb.value.offsetHeight)) *\n 100\n )\n )\n }\n }\n\n function handleKeydown(event: KeyboardEvent) {\n const { code, shiftKey } = event\n const step = shiftKey ? 10 : 1\n\n switch (code) {\n case EVENT_CODE.left:\n case EVENT_CODE.down:\n event.preventDefault()\n event.stopPropagation()\n incrementPosition(-step)\n break\n case EVENT_CODE.right:\n case EVENT_CODE.up:\n event.preventDefault()\n event.stopPropagation()\n incrementPosition(step)\n break\n }\n }\n\n function incrementPosition(step: number) {\n let next = alpha.value + step\n next = next < 0 ? 0 : next > 100 ? 100 : next\n props.color.set('alpha', next)\n }\n\n return {\n thumb,\n bar,\n alpha,\n alphaLabel,\n handleDrag,\n handleClick,\n handleKeydown,\n }\n}\n\nexport const useAlphaSliderDOM = (\n props: AlphaSliderProps,\n {\n bar,\n thumb,\n handleDrag,\n }: Pick, 'bar' | 'thumb' | 'handleDrag'>\n) => {\n const instance = getCurrentInstance()!\n\n const ns = useNamespace('color-alpha-slider')\n // refs\n\n const thumbLeft = ref(0)\n const thumbTop = ref(0)\n const background = ref()\n\n function getThumbLeft() {\n if (!thumb.value) return 0\n\n if (props.vertical) return 0\n const el = instance.vnode.el\n const alpha = props.color.get('alpha')\n\n if (!el) return 0\n return Math.round(\n (alpha * (el.offsetWidth - thumb.value.offsetWidth / 2)) / 100\n )\n }\n\n function getThumbTop() {\n if (!thumb.value) return 0\n\n const el = instance.vnode.el\n if (!props.vertical) return 0\n const alpha = props.color.get('alpha')\n\n if (!el) return 0\n return Math.round(\n (alpha * (el.offsetHeight - thumb.value.offsetHeight / 2)) / 100\n )\n }\n\n function getBackground() {\n if (props.color && props.color.value) {\n const { r, g, b } = props.color.toRgb()\n return `linear-gradient(to right, rgba(${r}, ${g}, ${b}, 0) 0%, rgba(${r}, ${g}, ${b}, 1) 100%)`\n }\n return ''\n }\n\n function update() {\n thumbLeft.value = getThumbLeft()\n thumbTop.value = getThumbTop()\n background.value = getBackground()\n }\n\n onMounted(() => {\n if (!bar.value || !thumb.value) return\n\n const dragConfig = {\n drag: (event: MouseEvent | TouchEvent) => {\n handleDrag(event)\n },\n end: (event: MouseEvent | TouchEvent) => {\n handleDrag(event)\n },\n }\n\n draggable(bar.value, dragConfig)\n draggable(thumb.value, dragConfig)\n update()\n })\n\n watch(\n () => props.color.get('alpha'),\n () => update()\n )\n watch(\n () => props.color.value,\n () => update()\n )\n\n const rootKls = computed(() => [ns.b(), ns.is('vertical', props.vertical)])\n const barKls = computed(() => ns.e('bar'))\n const thumbKls = computed(() => ns.e('thumb'))\n const barStyle = computed(() => ({ background: background.value }))\n const thumbStyle = computed(() => ({\n left: addUnit(thumbLeft.value),\n top: addUnit(thumbTop.value),\n }))\n\n return { rootKls, barKls, barStyle, thumbKls, thumbStyle, update }\n}\n", "\n\n\n", "\n\n\n", "import { isNil } from 'lodash-unified'\nimport { buildProps, definePropType, isString } from '@element-plus/utils'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\nimport type { ComputedRef, ExtractPropTypes, InjectionKey } from 'vue'\nimport type ColorPicker from './color-picker.vue'\n\nexport const colorPickerProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: String,\n /**\n * @description ColorPicker id\n */\n id: String,\n /**\n * @description whether to display the alpha slider\n */\n showAlpha: Boolean,\n /**\n * @description color format of v-model\n */\n colorFormat: String,\n /**\n * @description whether to disable the ColorPicker\n */\n disabled: Boolean,\n /**\n * @description size of ColorPicker\n */\n size: useSizeProp,\n /**\n * @description custom class name for ColorPicker's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description ColorPicker tabindex\n */\n tabindex: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description whether color-picker popper is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description predefined color options\n */\n predefine: {\n type: definePropType(Array),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport const colorPickerEmits = {\n [UPDATE_MODEL_EVENT]: (val: string | null) => isString(val) || isNil(val),\n [CHANGE_EVENT]: (val: string | null) => isString(val) || isNil(val),\n activeChange: (val: string | null) => isString(val) || isNil(val),\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n}\n\nexport type ColorPickerProps = ExtractPropTypes\nexport type ColorPickerEmits = typeof colorPickerEmits\nexport type ColorPickerInstance = InstanceType\n\nexport interface ColorPickerContext {\n currentColor: ComputedRef\n}\n\nexport const colorPickerContextKey: InjectionKey = Symbol(\n 'colorPickerContextKey'\n)\n", "import { hasOwn, isString } from '@element-plus/utils'\n\nconst hsv2hsl = function (hue: number, sat: number, val: number) {\n return [\n hue,\n (sat * val) / ((hue = (2 - sat) * val) < 1 ? hue : 2 - hue) || 0,\n hue / 2,\n ]\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nconst isOnePointZero = function (n: unknown) {\n return isString(n) && n.includes('.') && Number.parseFloat(n) === 1\n}\n\nconst isPercentage = function (n: unknown) {\n return isString(n) && n.includes('%')\n}\n\n// Take input from [0, n] and return it as [0, 1]\nconst bound01 = function (value: number | string, max: number | string) {\n if (isOnePointZero(value)) value = '100%'\n\n const processPercent = isPercentage(value)\n value = Math.min(max as number, Math.max(0, Number.parseFloat(`${value}`)))\n\n // Automatically convert percentage into number\n if (processPercent) {\n value = Number.parseInt(`${value * (max as number)}`, 10) / 100\n }\n\n // Handle floating point rounding errors\n if (Math.abs(value - (max as number)) < 0.000001) {\n return 1\n }\n\n // Convert into [0, 1] range if it isn't already\n return (value % (max as number)) / Number.parseFloat(max as string)\n}\n\nconst INT_HEX_MAP: Record = {\n 10: 'A',\n 11: 'B',\n 12: 'C',\n 13: 'D',\n 14: 'E',\n 15: 'F',\n}\n\nconst hexOne = (value: number) => {\n value = Math.min(Math.round(value), 255)\n const high = Math.floor(value / 16)\n const low = value % 16\n return `${INT_HEX_MAP[high] || high}${INT_HEX_MAP[low] || low}`\n}\n\nconst toHex = function ({ r, g, b }: { r: number; g: number; b: number }) {\n if (Number.isNaN(+r) || Number.isNaN(+g) || Number.isNaN(+b)) return ''\n return `#${hexOne(r)}${hexOne(g)}${hexOne(b)}`\n}\n\nconst HEX_INT_MAP: Record = {\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15,\n}\n\nconst parseHexChannel = function (hex: string) {\n if (hex.length === 2) {\n return (\n (HEX_INT_MAP[hex[0].toUpperCase()] || +hex[0]) * 16 +\n (HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1])\n )\n }\n\n return HEX_INT_MAP[hex[1].toUpperCase()] || +hex[1]\n}\n\nconst hsl2hsv = function (hue: number, sat: number, light: number) {\n sat = sat / 100\n light = light / 100\n let smin = sat\n const lmin = Math.max(light, 0.01)\n // let sv\n // let v\n\n light *= 2\n sat *= light <= 1 ? light : 2 - light\n smin *= lmin <= 1 ? lmin : 2 - lmin\n const v = (light + sat) / 2\n const sv =\n light === 0 ? (2 * smin) / (lmin + smin) : (2 * sat) / (light + sat)\n\n return {\n h: hue,\n s: sv * 100,\n v: v * 100,\n }\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nconst rgb2hsv = (r: number, g: number, b: number) => {\n r = bound01(r, 255)\n g = bound01(g, 255)\n b = bound01(b, 255)\n\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n let h: number\n const v = max\n\n const d = max - min\n const s = max === 0 ? 0 : d / max\n\n if (max === min) {\n h = 0 // achromatic\n } else {\n switch (max) {\n case r: {\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n }\n case g: {\n h = (b - r) / d + 2\n break\n }\n case b: {\n h = (r - g) / d + 4\n break\n }\n }\n h! /= 6\n }\n\n return { h: h! * 360, s: s * 100, v: v * 100 }\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nconst hsv2rgb = function (h: number, s: number, v: number) {\n h = bound01(h, 360) * 6\n s = bound01(s, 100)\n v = bound01(v, 100)\n\n const i = Math.floor(h)\n const f = h - i\n const p = v * (1 - s)\n const q = v * (1 - f * s)\n const t = v * (1 - (1 - f) * s)\n const mod = i % 6\n const r = [v, q, p, p, t, v][mod]\n const g = [t, v, v, q, p, p][mod]\n const b = [p, p, t, v, v, q][mod]\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n }\n}\n\ninterface ColorOptions {\n enableAlpha: boolean\n format: string\n value?: string\n}\n\nexport default class Color {\n private _hue = 0\n private _saturation = 100\n private _value = 100\n _alpha = 100\n public enableAlpha = false\n public format = 'hex'\n public value = ''\n public selected?: boolean\n\n constructor(options: Partial = {}) {\n for (const option in options) {\n if (hasOwn(options, option)) {\n this[option] = options[option]\n }\n }\n if (options.value) {\n this.fromString(options.value)\n } else {\n this.doOnChange()\n }\n }\n\n set(prop: { [key: string]: any } | any, value?: number) {\n if (arguments.length === 1 && typeof prop === 'object') {\n for (const p in prop) {\n if (hasOwn(prop, p)) {\n this.set(p, prop[p])\n }\n }\n\n return\n }\n\n ;(this as any)[`_${prop}`] = value\n this.doOnChange()\n }\n\n get(prop: string) {\n if (prop === 'alpha') {\n return Math.floor(this[`_${prop}`])\n }\n return (this as any)[`_${prop}`]\n }\n\n toRgb() {\n return hsv2rgb(this._hue, this._saturation, this._value)\n }\n\n fromString(value: string) {\n if (!value) {\n this._hue = 0\n this._saturation = 100\n this._value = 100\n\n this.doOnChange()\n return\n }\n\n const fromHSV = (h: number, s: number, v: number) => {\n this._hue = Math.max(0, Math.min(360, h))\n this._saturation = Math.max(0, Math.min(100, s))\n this._value = Math.max(0, Math.min(100, v))\n\n this.doOnChange()\n }\n\n if (value.includes('hsl')) {\n const parts = value\n .replace(/hsla|hsl|\\(|\\)/gm, '')\n .split(/\\s|,/g)\n .filter((val) => val !== '')\n .map((val, index) =>\n index > 2 ? Number.parseFloat(val) : Number.parseInt(val, 10)\n )\n\n if (parts.length === 4) {\n // @ts-expect-error\n this._alpha = Number.parseFloat(parts[3]) * 100\n } else if (parts.length === 3) {\n this._alpha = 100\n }\n if (parts.length >= 3) {\n const { h, s, v } = hsl2hsv(parts[0], parts[1], parts[2])\n fromHSV(h, s, v)\n }\n } else if (value.includes('hsv')) {\n const parts = value\n .replace(/hsva|hsv|\\(|\\)/gm, '')\n .split(/\\s|,/g)\n .filter((val) => val !== '')\n .map((val, index) =>\n index > 2 ? Number.parseFloat(val) : Number.parseInt(val, 10)\n )\n\n if (parts.length === 4) {\n // @ts-expect-error\n this._alpha = Number.parseFloat(parts[3]) * 100\n } else if (parts.length === 3) {\n this._alpha = 100\n }\n if (parts.length >= 3) {\n fromHSV(parts[0], parts[1], parts[2])\n }\n } else if (value.includes('rgb')) {\n const parts = value\n .replace(/rgba|rgb|\\(|\\)/gm, '')\n .split(/\\s|,/g)\n .filter((val) => val !== '')\n .map((val, index) =>\n index > 2 ? Number.parseFloat(val) : Number.parseInt(val, 10)\n )\n\n if (parts.length === 4) {\n // @ts-expect-error\n this._alpha = Number.parseFloat(parts[3]) * 100\n } else if (parts.length === 3) {\n this._alpha = 100\n }\n if (parts.length >= 3) {\n const { h, s, v } = rgb2hsv(parts[0], parts[1], parts[2])\n fromHSV(h, s, v)\n }\n } else if (value.includes('#')) {\n const hex = value.replace('#', '').trim()\n if (!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$|^[0-9a-fA-F]{8}$/.test(hex))\n return\n let r: number, g: number, b: number\n\n if (hex.length === 3) {\n r = parseHexChannel(hex[0] + hex[0])\n g = parseHexChannel(hex[1] + hex[1])\n b = parseHexChannel(hex[2] + hex[2])\n } else if (hex.length === 6 || hex.length === 8) {\n r = parseHexChannel(hex.slice(0, 2))\n g = parseHexChannel(hex.slice(2, 4))\n b = parseHexChannel(hex.slice(4, 6))\n }\n\n if (hex.length === 8) {\n this._alpha = (parseHexChannel(hex.slice(6)) / 255) * 100\n } else if (hex.length === 3 || hex.length === 6) {\n this._alpha = 100\n }\n\n const { h, s, v } = rgb2hsv(r!, g!, b!)\n fromHSV(h, s, v)\n }\n }\n\n compare(color: this) {\n return (\n Math.abs(color._hue - this._hue) < 2 &&\n Math.abs(color._saturation - this._saturation) < 1 &&\n Math.abs(color._value - this._value) < 1 &&\n Math.abs(color._alpha - this._alpha) < 1\n )\n }\n\n doOnChange() {\n const { _hue, _saturation, _value, _alpha, format } = this\n\n if (this.enableAlpha) {\n switch (format) {\n case 'hsl': {\n const hsl = hsv2hsl(_hue, _saturation / 100, _value / 100)\n this.value = `hsla(${_hue}, ${Math.round(\n hsl[1] * 100\n )}%, ${Math.round(hsl[2] * 100)}%, ${this.get('alpha') / 100})`\n break\n }\n case 'hsv': {\n this.value = `hsva(${_hue}, ${Math.round(_saturation)}%, ${Math.round(\n _value\n )}%, ${this.get('alpha') / 100})`\n break\n }\n case 'hex': {\n this.value = `${toHex(hsv2rgb(_hue, _saturation, _value))}${hexOne(\n (_alpha * 255) / 100\n )}`\n break\n }\n default: {\n const { r, g, b } = hsv2rgb(_hue, _saturation, _value)\n this.value = `rgba(${r}, ${g}, ${b}, ${this.get('alpha') / 100})`\n }\n }\n } else {\n switch (format) {\n case 'hsl': {\n const hsl = hsv2hsl(_hue, _saturation / 100, _value / 100)\n this.value = `hsl(${_hue}, ${Math.round(hsl[1] * 100)}%, ${Math.round(\n hsl[2] * 100\n )}%)`\n break\n }\n case 'hsv': {\n this.value = `hsv(${_hue}, ${Math.round(_saturation)}%, ${Math.round(\n _value\n )}%)`\n break\n }\n case 'rgb': {\n const { r, g, b } = hsv2rgb(_hue, _saturation, _value)\n this.value = `rgb(${r}, ${g}, ${b})`\n break\n }\n default: {\n this.value = toHex(hsv2rgb(_hue, _saturation, _value))\n }\n }\n }\n }\n}\n", "\n\n\n", "\n\n\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport ColorPicker from './src/color-picker.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElColorPicker: SFCWithInstall =\n withInstall(ColorPicker)\nexport default ElColorPicker\n\nexport * from './src/color-picker'\n", "\n\n", "\n\n", "\n\n", "\n\n", "\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Container from './src/container.vue'\nimport Aside from './src/aside.vue'\nimport Footer from './src/footer.vue'\nimport Header from './src/header.vue'\nimport Main from './src/main.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElContainer: SFCWithInstall & {\n Aside: typeof Aside\n Footer: typeof Footer\n Header: typeof Header\n Main: typeof Main\n} = withInstall(Container, {\n Aside,\n Footer,\n Header,\n Main,\n})\n\nexport default ElContainer\nexport const ElAside: SFCWithInstall = withNoopInstall(Aside)\nexport const ElFooter: SFCWithInstall = withNoopInstall(Footer)\nexport const ElHeader: SFCWithInstall = withNoopInstall(Header)\nexport const ElMain: SFCWithInstall = withNoopInstall(Main)\n\nexport type ContainerInstance = InstanceType\nexport type AsideInstance = InstanceType\nexport type FooterInstance = InstanceType\nexport type HeaderInstance = InstanceType\nexport type MainInstance = InstanceType\n", "export var SECONDS_A_MINUTE = 60;\nexport var SECONDS_A_HOUR = SECONDS_A_MINUTE * 60;\nexport var SECONDS_A_DAY = SECONDS_A_HOUR * 24;\nexport var SECONDS_A_WEEK = SECONDS_A_DAY * 7;\nexport var MILLISECONDS_A_SECOND = 1e3;\nexport var MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND;\nexport var MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND;\nexport var MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND;\nexport var MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND; // English locales\n\nexport var MS = 'millisecond';\nexport var S = 'second';\nexport var MIN = 'minute';\nexport var H = 'hour';\nexport var D = 'day';\nexport var W = 'week';\nexport var M = 'month';\nexport var Q = 'quarter';\nexport var Y = 'year';\nexport var DATE = 'date';\nexport var FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ssZ';\nexport var INVALID_DATE_STRING = 'Invalid Date'; // regex\n\nexport var REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nexport var REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;", "import { FORMAT_DEFAULT } from '../../constant';\nexport default (function (o, c) {\n // locale needed later\n var proto = c.prototype;\n var oldFormat = proto.format;\n\n proto.format = function (formatStr) {\n var _this = this;\n\n var locale = this.$locale();\n\n if (!this.isValid()) {\n return oldFormat.bind(this)(formatStr);\n }\n\n var utils = this.$utils();\n var str = formatStr || FORMAT_DEFAULT;\n var result = str.replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function (match) {\n switch (match) {\n case 'Q':\n return Math.ceil((_this.$M + 1) / 3);\n\n case 'Do':\n return locale.ordinal(_this.$D);\n\n case 'gggg':\n return _this.weekYear();\n\n case 'GGGG':\n return _this.isoWeekYear();\n\n case 'wo':\n return locale.ordinal(_this.week(), 'W');\n // W for week\n\n case 'w':\n case 'ww':\n return utils.s(_this.week(), match === 'w' ? 1 : 2, '0');\n\n case 'W':\n case 'WW':\n return utils.s(_this.isoWeek(), match === 'W' ? 1 : 2, '0');\n\n case 'k':\n case 'kk':\n return utils.s(String(_this.$H === 0 ? 24 : _this.$H), match === 'k' ? 1 : 2, '0');\n\n case 'X':\n return Math.floor(_this.$d.getTime() / 1000);\n\n case 'x':\n return _this.$d.getTime();\n\n case 'z':\n return \"[\" + _this.offsetName() + \"]\";\n\n case 'zzz':\n return \"[\" + _this.offsetName('long') + \"]\";\n\n default:\n return match;\n }\n });\n return oldFormat.bind(this)(result);\n };\n});", "import { MS, Y, D, W } from '../../constant';\nexport default (function (o, c, d) {\n var proto = c.prototype;\n\n proto.week = function (week) {\n if (week === void 0) {\n week = null;\n }\n\n if (week !== null) {\n return this.add((week - this.week()) * 7, D);\n }\n\n var yearStart = this.$locale().yearStart || 1;\n\n if (this.month() === 11 && this.date() > 25) {\n // d(this) is for badMutable\n var nextYearStartDay = d(this).startOf(Y).add(1, Y).date(yearStart);\n var thisEndOfWeek = d(this).endOf(W);\n\n if (nextYearStartDay.isBefore(thisEndOfWeek)) {\n return 1;\n }\n }\n\n var yearStartDay = d(this).startOf(Y).date(yearStart);\n var yearStartWeek = yearStartDay.startOf(W).subtract(1, MS);\n var diffInWeek = this.diff(yearStartWeek, W, true);\n\n if (diffInWeek < 0) {\n return d(this).startOf('week').week();\n }\n\n return Math.ceil(diffInWeek);\n };\n\n proto.weeks = function (week) {\n if (week === void 0) {\n week = null;\n }\n\n return this.week(week);\n };\n});", "export default (function (o, c) {\n var proto = c.prototype;\n\n proto.weekYear = function () {\n var month = this.month();\n var weekOfYear = this.week();\n var year = this.year();\n\n if (weekOfYear === 1 && month === 11) {\n return year + 1;\n }\n\n if (month === 0 && weekOfYear >= 52) {\n return year - 1;\n }\n\n return year;\n };\n});", "export default (function (o, c, d) {\n var proto = c.prototype;\n\n proto.dayOfYear = function (input) {\n // d(this) is for badMutable\n var dayOfYear = Math.round((d(this).startOf('day') - d(this).startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'day');\n };\n});", "export default (function (o, c) {\n c.prototype.isSameOrAfter = function (that, units) {\n return this.isSame(that, units) || this.isAfter(that, units);\n };\n});", "export default (function (o, c) {\n c.prototype.isSameOrBefore = function (that, units) {\n return this.isSame(that, units) || this.isBefore(that, units);\n };\n});", "import type { InjectionKey, SetupContext } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\n\ninterface DatePickerContext {\n slots: SetupContext['slots']\n pickerNs: UseNamespaceReturn\n}\n\nexport const ROOT_PICKER_INJECTION_KEY: InjectionKey =\n Symbol()\n", "import { timePickerDefaultProps } from '@element-plus/components/time-picker'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { IDatePickerType } from '../date-picker.type'\n\nexport const datePickerProps = buildProps({\n ...timePickerDefaultProps,\n /**\n * @description type of the picker\n */\n type: {\n type: definePropType(String),\n default: 'date',\n },\n} as const)\n\nexport type DatePickerProps = ExtractPropTypes\n", "import { buildProps, definePropType, isArray } from '@element-plus/utils'\nimport { datePickTypes } from '@element-plus/constants'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DatePickType } from '@element-plus/constants'\n\nconst selectionModes = [\n 'date',\n 'dates',\n 'year',\n 'years',\n 'month',\n 'months',\n 'week',\n 'range',\n]\n\nexport type RangeState = {\n endDate: null | Dayjs\n selecting: boolean\n}\n\nexport type DisabledDateType = (date: Date) => boolean\n\nexport const datePickerSharedProps = buildProps({\n disabledDate: {\n type: definePropType(Function),\n },\n date: {\n type: definePropType(Object),\n required: true,\n },\n minDate: {\n type: definePropType(Object),\n },\n maxDate: {\n type: definePropType(Object),\n },\n parsedValue: {\n type: definePropType([Object, Array]),\n },\n rangeState: {\n type: definePropType(Object),\n default: () => ({\n endDate: null,\n selecting: false,\n }),\n },\n} as const)\n\nexport const panelSharedProps = buildProps({\n type: {\n type: definePropType(String),\n required: true,\n values: datePickTypes,\n },\n dateFormat: String,\n timeFormat: String,\n showNow: {\n type: Boolean,\n default: true,\n },\n} as const)\n\nexport const panelRangeSharedProps = buildProps({\n unlinkPanels: Boolean,\n parsedValue: {\n type: definePropType(Array),\n },\n} as const)\n\nexport const selectionModeWithDefault = (\n mode: typeof selectionModes[number]\n) => {\n return {\n type: String,\n values: selectionModes,\n default: mode,\n }\n}\n\nexport const rangePickerSharedEmits = {\n pick: (range: [Dayjs, Dayjs]) => isArray(range),\n}\n\nexport type RangePickerSharedEmits = typeof rangePickerSharedEmits\nexport type PanelRangeSharedProps = ExtractPropTypes<\n typeof panelRangeSharedProps\n>\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { panelSharedProps } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const panelDatePickProps = buildProps({\n ...panelSharedProps,\n parsedValue: {\n type: definePropType([Object, Array]),\n },\n visible: {\n type: Boolean,\n },\n format: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type PanelDatePickProps = ExtractPropTypes\n", "import dayjs from 'dayjs'\nimport { isArray } from '@element-plus/utils'\nimport { rangeArr } from '@element-plus/components/time-picker'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from './date-picker.type'\nimport type { DisabledDateType } from './props/shared'\n\ntype DayRange = [Dayjs | undefined, Dayjs | undefined]\n\nexport const isValidRange = (range: DayRange): boolean => {\n if (!isArray(range)) return false\n\n const [left, right] = range\n\n return (\n dayjs.isDayjs(left) && dayjs.isDayjs(right) && left.isSameOrBefore(right)\n )\n}\n\ntype GetDefaultValueParams = {\n lang: string\n unit: 'month' | 'year'\n unlinkPanels: boolean\n}\n\nexport type DefaultValue = [Date, Date] | Date | undefined\n\nexport const getDefaultValue = (\n defaultValue: DefaultValue,\n { lang, unit, unlinkPanels }: GetDefaultValueParams\n) => {\n let start: Dayjs\n\n if (isArray(defaultValue)) {\n let [left, right] = defaultValue.map((d) => dayjs(d).locale(lang))\n if (!unlinkPanels) {\n right = left.add(1, unit)\n }\n return [left, right]\n } else if (defaultValue) {\n start = dayjs(defaultValue)\n } else {\n start = dayjs()\n }\n start = start.locale(lang)\n return [start, start.add(1, unit)]\n}\n\ntype Dimension = {\n row: number\n column: number\n}\n\ntype BuildPickerTableMetadata = {\n startDate?: Dayjs | null\n unit: 'month' | 'day'\n columnIndexOffset: number\n now: Dayjs\n nextEndDate: Dayjs | null\n relativeDateGetter: (index: number) => Dayjs\n setCellMetadata?: (\n cell: DateCell,\n dimension: { rowIndex: number; columnIndex: number }\n ) => void\n setRowMetadata?: (row: DateCell[]) => void\n}\n\nexport const buildPickerTable = (\n dimension: Dimension,\n rows: DateCell[][],\n {\n columnIndexOffset,\n startDate,\n nextEndDate,\n now,\n unit,\n relativeDateGetter,\n setCellMetadata,\n setRowMetadata,\n }: BuildPickerTableMetadata\n) => {\n for (let rowIndex = 0; rowIndex < dimension.row; rowIndex++) {\n const row = rows[rowIndex]\n for (let columnIndex = 0; columnIndex < dimension.column; columnIndex++) {\n let cell = row[columnIndex + columnIndexOffset]\n if (!cell) {\n cell = {\n row: rowIndex,\n column: columnIndex,\n type: 'normal',\n inRange: false,\n start: false,\n end: false,\n }\n }\n const index = rowIndex * dimension.column + columnIndex\n const nextStartDate = relativeDateGetter(index)\n cell.dayjs = nextStartDate\n cell.date = nextStartDate.toDate()\n cell.timestamp = nextStartDate.valueOf()\n cell.type = 'normal'\n\n cell.inRange =\n !!(\n startDate &&\n nextStartDate.isSameOrAfter(startDate, unit) &&\n nextEndDate &&\n nextStartDate.isSameOrBefore(nextEndDate, unit)\n ) ||\n !!(\n startDate &&\n nextStartDate.isSameOrBefore(startDate, unit) &&\n nextEndDate &&\n nextStartDate.isSameOrAfter(nextEndDate, unit)\n )\n\n if (startDate?.isSameOrAfter(nextEndDate)) {\n cell.start = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit)\n cell.end = startDate && nextStartDate.isSame(startDate, unit)\n } else {\n cell.start = !!startDate && nextStartDate.isSame(startDate, unit)\n cell.end = !!nextEndDate && nextStartDate.isSame(nextEndDate, unit)\n }\n\n const isToday = nextStartDate.isSame(now, unit)\n\n if (isToday) {\n cell.type = 'today'\n }\n setCellMetadata?.(cell, { rowIndex, columnIndex })\n row[columnIndex + columnIndexOffset] = cell\n }\n setRowMetadata?.(row)\n }\n}\n\nexport const datesInMonth = (year: number, month: number, lang: string) => {\n const firstDay = dayjs().locale(lang).startOf('month').month(month).year(year)\n const numOfDays = firstDay.daysInMonth()\n return rangeArr(numOfDays).map((n) => firstDay.add(n, 'day').toDate())\n}\n\nexport const getValidDateOfMonth = (\n year: number,\n month: number,\n lang: string,\n disabledDate?: DisabledDateType\n) => {\n const _value = dayjs().year(year).month(month).startOf('month')\n const _date = datesInMonth(year, month, lang).find((date) => {\n return !disabledDate?.(date)\n })\n if (_date) {\n return dayjs(_date).locale(lang)\n }\n return _value.locale(lang)\n}\n\nexport const getValidDateOfYear = (\n value: Dayjs,\n lang: string,\n disabledDate?: DisabledDateType\n) => {\n const year = value.year()\n if (!disabledDate?.(value.toDate())) {\n return value.locale(lang)\n }\n const month = value.month()\n if (!datesInMonth(year, month, lang).every(disabledDate)) {\n return getValidDateOfMonth(year, month, lang, disabledDate)\n }\n for (let i = 0; i < 12; i++) {\n if (!datesInMonth(year, i, lang).every(disabledDate)) {\n return getValidDateOfMonth(year, i, lang, disabledDate)\n }\n }\n return value\n}\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { datePickerSharedProps, selectionModeWithDefault } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const basicDateTableProps = buildProps({\n ...datePickerSharedProps,\n cellClassName: {\n type: definePropType<(date: Date) => string>(Function),\n },\n showWeekNumber: Boolean,\n selectionMode: selectionModeWithDefault('date'),\n} as const)\n\nexport const basicDateTableEmits = ['changerange', 'pick', 'select']\n\nexport type BasicDateTableProps = ExtractPropTypes\nexport type BasicDateTableEmits = typeof basicDateTableEmits\n\nexport type RangePickerEmits = { minDate: Dayjs; maxDate: null }\nexport type DatePickerEmits = Dayjs\nexport type DatesPickerEmits = Dayjs[]\nexport type MonthsPickerEmits = Dayjs[]\nexport type YearsPickerEmits = Dayjs[]\nexport type WeekPickerEmits = {\n year: number\n week: number\n value: string\n date: Dayjs\n}\n\nexport type DateTableEmits =\n | RangePickerEmits\n | DatePickerEmits\n | DatesPickerEmits\n | WeekPickerEmits\n", "import { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { flatten } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray, isArray } from '@element-plus/utils'\nimport { buildPickerTable } from '../utils'\n\nimport type { SetupContext } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\nimport type {\n BasicDateTableEmits,\n BasicDateTableProps,\n} from '../props/basic-date-table'\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nexport const useBasicDateTable = (\n props: BasicDateTableProps,\n emit: SetupContext['emit']\n) => {\n const { lang } = useLocale()\n const tbodyRef = ref()\n const currentCellRef = ref()\n // data\n const lastRow = ref()\n const lastColumn = ref()\n const tableRows = ref([[], [], [], [], [], []])\n\n let focusWithClick = false\n\n // todo better way to get Day.js locale object\n const firstDayOfWeek = (props.date as any).$locale().weekStart || 7\n const WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\n const offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n })\n\n const startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n })\n\n const WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n })\n\n const hasCurrent = computed(() => {\n return flatten(unref(rows)).some((row) => {\n return row.isCurrent\n })\n })\n\n const days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n })\n\n const selectedDate = computed(() => {\n return props.selectionMode === 'dates'\n ? (castArray(props.parsedValue) as Dayjs[])\n : ([] as Dayjs[])\n })\n\n // Return value indicates should the counter be incremented\n type CellCoordinate = { columnIndex: number; rowIndex: number }\n type CellMeta = CellCoordinate & {\n count: number\n }\n const setDateText = (\n cell: DateCell,\n { count, rowIndex, columnIndex }: CellMeta\n ): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n }\n\n const setCellMetadata = (\n cell: DateCell,\n { columnIndex, rowIndex }: CellCoordinate,\n count: number\n ) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find((d) => d.isSame(cell.dayjs, 'day'))\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n }\n\n const setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n }\n\n const rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = unref(offsetDay)\n const rows_ = unref(tableRows)\n const dateUnit = 'day'\n let count = 1\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (!rows_[rowIndex][0]) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: unref(startDate)\n .add(rowIndex * 7 + 1, dateUnit)\n .week(),\n }\n }\n }\n }\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n unref(startDate).add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n return rows_\n })\n\n watch(\n () => props.date,\n async () => {\n if (unref(tbodyRef)?.contains(document.activeElement)) {\n await nextTick()\n await focus()\n // currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = async () => unref(currentCellRef)?.focus()\n\n const isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n }\n\n const cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(unref(lang))\n .isSame(props.date.date(Number(cell.text)), 'day')\n }\n\n const getDateOfCell = (row: number, column: number) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - unref(offsetDay)\n return unref(startDate).add(offsetFromStart, 'day')\n }\n\n const handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (unref(rows)[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== unref(lastRow) || column !== unref(lastColumn)) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n }\n\n const isSelectedCell = (cell: DateCell) => {\n return (\n (!unref(hasCurrent) && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n }\n\n const handleFocus = (event: FocusEvent) => {\n if (focusWithClick || unref(hasCurrent) || props.selectionMode !== 'date')\n return\n handlePickDate(event, true)\n }\n\n const handleMouseDown = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = true\n }\n\n const handleMouseUp = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = false\n }\n\n const handleRangePick = (newDate: Dayjs) => {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n }\n\n const handleWeekPick = (newDate: Dayjs) => {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n }\n\n const handleDatesPick = (newDate: Dayjs, selected: boolean) => {\n const newValue = selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n\n const handlePickDate = (\n event: FocusEvent | MouseEvent,\n isKeyboardMovement = false\n ) => {\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target) return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = unref(rows)[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n switch (props.selectionMode) {\n case 'range': {\n handleRangePick(newDate)\n break\n }\n case 'date': {\n emit('pick', newDate, isKeyboardMovement)\n break\n }\n case 'week': {\n handleWeekPick(newDate)\n break\n }\n case 'dates': {\n handleDatesPick(newDate, !!cell.selected)\n break\n }\n default: {\n break\n }\n }\n }\n\n const isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n }\n\n return {\n WEEKS,\n rows,\n tbodyRef,\n currentCellRef,\n\n // cellMatchesDate,\n // getDateOfCell,\n focus,\n isCurrent,\n isWeekActive,\n isSelectedCell,\n\n handlePickDate,\n handleMouseUp,\n handleMouseDown,\n handleMouseMove,\n handleFocus,\n }\n}\n\nexport const useBasicDateTableDOM = (\n props: BasicDateTableProps,\n {\n isCurrent,\n isWeekActive,\n }: Pick, 'isCurrent' | 'isWeekActive'>\n) => {\n const ns = useNamespace('date-table')\n const { t } = useLocale()\n\n const tableKls = computed(() => [\n ns.b(),\n { 'is-week-mode': props.selectionMode === 'week' },\n ])\n\n const tableLabel = computed(() => t('el.datepicker.dateTablePrompt'))\n const weekLabel = computed(() => t('el.datepicker.week'))\n\n const getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n }\n\n const getRowKls = (cell: DateCell) => [\n ns.e('row'),\n { current: isWeekActive(cell) },\n ]\n\n return {\n tableKls,\n tableLabel,\n weekLabel,\n\n getCellClasses,\n getRowKls,\n t,\n }\n}\n", "import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { DateCell } from '../date-picker.type'\n\nexport const basicCellProps = buildProps({\n cell: {\n type: definePropType(Object),\n },\n} as const)\n\nexport type BasicCellProps = ExtractPropTypes\n", "import { defineComponent, inject, renderSlot } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ROOT_PICKER_INJECTION_KEY } from '../constants'\nimport { basicCellProps } from '../props/basic-cell'\n\nexport default defineComponent({\n name: 'ElDatePickerCell',\n props: basicCellProps,\n setup(props) {\n const ns = useNamespace('date-table-cell')\n const { slots } = inject(ROOT_PICKER_INJECTION_KEY)!\n return () => {\n const { cell } = props\n\n return renderSlot(slots, 'default', { ...cell }, () => [\n
\n {cell?.renderText ?? cell?.text}\n
,\n ])\n }\n },\n})\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { datePickerSharedProps, selectionModeWithDefault } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const basicMonthTableProps = buildProps({\n ...datePickerSharedProps,\n selectionMode: selectionModeWithDefault('month'),\n})\n\nexport type BasicMonthTableProps = ExtractPropTypes\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { datePickerSharedProps, selectionModeWithDefault } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const basicYearTableProps = buildProps({\n ...datePickerSharedProps,\n selectionMode: selectionModeWithDefault('year'),\n} as const)\n\nexport type BasicYearTableProps = ExtractPropTypes\n", "\n\n\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { panelRangeSharedProps, panelSharedProps } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const panelDateRangeProps = buildProps({\n ...panelSharedProps,\n ...panelRangeSharedProps,\n visible: Boolean,\n} as const)\n\nexport type PanelDateRangeProps = ExtractPropTypes\n", "import { getCurrentInstance, useAttrs, useSlots } from 'vue'\nimport dayjs from 'dayjs'\nimport { isFunction } from '@element-plus/utils'\n\nimport type { SetupContext } from 'vue'\nimport type { useLocale } from '@element-plus/hooks'\nimport type { RangePickerSharedEmits } from '../props/shared'\n\n// FIXME: extract this to `date-picker.ts`\nexport type Shortcut = {\n text: string\n value: [Date, Date] | (() => [Date, Date])\n onClick?: (ctx: Omit, 'expose'>) => void\n}\n\nexport const useShortcut = (lang: ReturnType['lang']) => {\n const { emit } = getCurrentInstance()!\n const attrs = useAttrs()\n const slots = useSlots()\n\n const handleShortcutClick = (shortcut: Shortcut) => {\n const shortcutValues = isFunction(shortcut.value)\n ? shortcut.value()\n : shortcut.value\n\n if (shortcutValues) {\n emit('pick', [\n dayjs(shortcutValues[0]).locale(lang.value),\n dayjs(shortcutValues[1]).locale(lang.value),\n ])\n return\n }\n if (shortcut.onClick) {\n shortcut.onClick({\n attrs,\n slots,\n emit,\n })\n }\n }\n\n return handleShortcutClick\n}\n", "import { getCurrentInstance, inject, ref, unref, watch } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { getDefaultValue, isValidRange } from '../utils'\nimport { ROOT_PICKER_INJECTION_KEY } from '../constants'\nimport { useShortcut } from './use-shortcut'\n\nimport type { Ref } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { PanelRangeSharedProps, RangeState } from '../props/shared'\nimport type { DefaultValue } from '../utils'\n\ntype UseRangePickerProps = {\n onParsedValueChanged: (\n minDate: Dayjs | undefined,\n maxDate: Dayjs | undefined\n ) => void\n defaultValue: Ref\n leftDate: Ref\n rightDate: Ref\n unit: 'month' | 'year'\n}\n\nexport const useRangePicker = (\n props: PanelRangeSharedProps,\n {\n defaultValue,\n leftDate,\n rightDate,\n unit,\n\n onParsedValueChanged,\n }: UseRangePickerProps\n) => {\n const { emit } = getCurrentInstance()!\n\n const { pickerNs } = inject(ROOT_PICKER_INJECTION_KEY)!\n const drpNs = useNamespace('date-range-picker')\n const { t, lang } = useLocale()\n const handleShortcutClick = useShortcut(lang)\n const minDate = ref()\n const maxDate = ref()\n const rangeState = ref({\n endDate: null,\n selecting: false,\n })\n\n const handleChangeRange = (val: RangeState) => {\n rangeState.value = val\n }\n\n const handleRangeConfirm = (visible = false) => {\n const _minDate = unref(minDate)\n const _maxDate = unref(maxDate)\n\n if (isValidRange([_minDate, _maxDate])) {\n emit('pick', [_minDate, _maxDate], visible)\n }\n }\n\n const onSelect = (selecting: boolean) => {\n rangeState.value.selecting = selecting\n if (!selecting) {\n rangeState.value.endDate = null\n }\n }\n\n const onReset = (parsedValue: PanelRangeSharedProps['parsedValue']) => {\n if (isArray(parsedValue) && parsedValue.length === 2) {\n const [start, end] = parsedValue\n minDate.value = start\n leftDate.value = start\n maxDate.value = end\n onParsedValueChanged(unref(minDate), unref(maxDate))\n } else {\n restoreDefault()\n }\n }\n\n const restoreDefault = () => {\n const [start, end] = getDefaultValue(unref(defaultValue), {\n lang: unref(lang),\n unit,\n unlinkPanels: props.unlinkPanels,\n })\n minDate.value = undefined\n maxDate.value = undefined\n leftDate.value = start\n rightDate.value = end\n }\n\n watch(\n defaultValue,\n (val) => {\n if (val) {\n restoreDefault()\n }\n },\n { immediate: true }\n )\n\n watch(() => props.parsedValue, onReset, { immediate: true })\n\n return {\n minDate,\n maxDate,\n rangeState,\n lang,\n ppNs: pickerNs,\n drpNs,\n\n handleChangeRange,\n handleRangeConfirm,\n handleShortcutClick,\n onSelect,\n onReset,\n t,\n }\n}\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { panelRangeSharedProps } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const panelMonthRangeProps = buildProps({\n ...panelRangeSharedProps,\n} as const)\n\nexport const panelMonthRangeEmits = [\n 'pick',\n 'set-picker-option',\n 'calendar-change',\n]\n\nexport type PanelMonthRangeProps = ExtractPropTypes\n", "import { computed } from 'vue'\nimport { useLocale } from '@element-plus/hooks'\nimport type { Ref, ToRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const useMonthRangeHeader = ({\n unlinkPanels,\n leftDate,\n rightDate,\n}: {\n unlinkPanels: ToRef\n leftDate: Ref\n rightDate: Ref\n}) => {\n const { t } = useLocale()\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(1, 'year')\n if (!unlinkPanels.value) {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!unlinkPanels.value) {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n rightDate.value = rightDate.value.add(1, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(1, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(1, 'year')\n }\n const leftLabel = computed(() => {\n return `${leftDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const rightLabel = computed(() => {\n return `${rightDate.value.year()} ${t('el.datepicker.year')}`\n })\n\n const leftYear = computed(() => {\n return leftDate.value.year()\n })\n\n const rightYear = computed(() => {\n return rightDate.value.year() === leftDate.value.year()\n ? leftDate.value.year() + 1\n : rightDate.value.year()\n })\n\n return {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n }\n}\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { panelRangeSharedProps } from './shared'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const panelYearRangeProps = buildProps({\n ...panelRangeSharedProps,\n} as const)\n\nexport const panelYearRangeEmits = [\n 'pick',\n 'set-picker-option',\n 'calendar-change',\n]\n\nexport type PanelYearRangeProps = ExtractPropTypes\n", "import { computed } from 'vue'\nimport type { Ref, ToRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport const useYearRangeHeader = ({\n unlinkPanels,\n leftDate,\n rightDate,\n}: {\n unlinkPanels: ToRef\n leftDate: Ref\n rightDate: Ref\n}) => {\n const leftPrevYear = () => {\n leftDate.value = leftDate.value.subtract(10, 'year')\n if (!unlinkPanels.value) {\n rightDate.value = rightDate.value.subtract(10, 'year')\n }\n }\n\n const rightNextYear = () => {\n if (!unlinkPanels.value) {\n leftDate.value = leftDate.value.add(10, 'year')\n }\n rightDate.value = rightDate.value.add(10, 'year')\n }\n\n const leftNextYear = () => {\n leftDate.value = leftDate.value.add(10, 'year')\n }\n\n const rightPrevYear = () => {\n rightDate.value = rightDate.value.subtract(10, 'year')\n }\n\n const leftLabel = computed(() => {\n const leftStartDate = Math.floor(leftDate.value.year() / 10) * 10\n return `${leftStartDate}-${leftStartDate + 9}`\n })\n\n const rightLabel = computed(() => {\n const rightStartDate = Math.floor(rightDate.value.year() / 10) * 10\n return `${rightStartDate}-${rightStartDate + 9}`\n })\n\n const leftYear = computed(() => {\n const leftEndDate = Math.floor(leftDate.value.year() / 10) * 10 + 9\n return leftEndDate\n })\n\n const rightYear = computed(() => {\n const rightStartDate = Math.floor(rightDate.value.year() / 10) * 10\n return rightStartDate\n })\n\n return {\n leftPrevYear,\n rightNextYear,\n leftNextYear,\n rightPrevYear,\n leftLabel,\n rightLabel,\n leftYear,\n rightYear,\n }\n}\n", "\n\n", "import DatePickPanel from './date-picker-com/panel-date-pick.vue'\nimport DateRangePickPanel from './date-picker-com/panel-date-range.vue'\nimport MonthRangePickPanel from './date-picker-com/panel-month-range.vue'\nimport YearRangePickPanel from './date-picker-com/panel-year-range.vue'\nimport type { IDatePickerType } from './date-picker.type'\n\nexport const getPanel = function (type: IDatePickerType) {\n switch (type) {\n case 'daterange':\n case 'datetimerange': {\n return DateRangePickPanel\n }\n case 'monthrange': {\n return MonthRangePickPanel\n }\n case 'yearrange': {\n return YearRangePickPanel\n }\n default: {\n return DatePickPanel\n }\n }\n}\n", "import { defineComponent, provide, reactive, ref, toRef } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport advancedFormat from 'dayjs/plugin/advancedFormat.js'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js'\nimport weekYear from 'dayjs/plugin/weekYear.js'\nimport dayOfYear from 'dayjs/plugin/dayOfYear.js'\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n CommonPicker,\n DEFAULT_FORMATS_DATE,\n DEFAULT_FORMATS_DATEPICKER,\n} from '@element-plus/components/time-picker'\nimport { ROOT_PICKER_INJECTION_KEY } from './constants'\n\nimport { datePickerProps } from './props/date-picker'\nimport { getPanel } from './panel-utils'\nimport type { DatePickerExpose } from './instance'\n\ndayjs.extend(localeData)\ndayjs.extend(advancedFormat)\ndayjs.extend(customParseFormat)\ndayjs.extend(weekOfYear)\ndayjs.extend(weekYear)\ndayjs.extend(dayOfYear)\ndayjs.extend(isSameOrAfter)\ndayjs.extend(isSameOrBefore)\n\nexport default defineComponent({\n name: 'ElDatePicker',\n install: null,\n props: datePickerProps,\n emits: ['update:modelValue'],\n setup(props, { expose, emit, slots }) {\n const ns = useNamespace('picker-panel')\n\n provide('ElPopperOptions', reactive(toRef(props, 'popperOptions')))\n provide(ROOT_PICKER_INJECTION_KEY, {\n slots,\n pickerNs: ns,\n })\n\n const commonPicker = ref>()\n const refProps: DatePickerExpose = {\n focus: () => {\n commonPicker.value?.focus()\n },\n blur: () => {\n commonPicker.value?.blur()\n },\n handleOpen: () => {\n commonPicker.value?.handleOpen()\n },\n handleClose: () => {\n commonPicker.value?.handleClose()\n },\n }\n\n expose(refProps)\n\n const onModelValueUpdated = (val: any) => {\n emit('update:modelValue', val)\n }\n\n return () => {\n // since props always have all defined keys on it, {format, ...props} will always overwrite format\n // pick props.format or provide default value here before spreading\n const format =\n props.format ??\n (DEFAULT_FORMATS_DATEPICKER[props.type] || DEFAULT_FORMATS_DATE)\n\n const Component = getPanel(props.type)\n\n return (\n \n {{\n default: (scopedProps: /**FIXME: remove any type */ any) => (\n \n {{\n 'prev-month': slots['prev-month'],\n 'next-month': slots['next-month'],\n 'prev-year': slots['prev-year'],\n 'next-year': slots['next-year'],\n }}\n \n ),\n 'range-separator': slots['range-separator'],\n }}\n \n )\n }\n },\n})\n", "import { withInstall } from '@element-plus/utils'\nimport DatePicker from './src/date-picker'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDatePicker: SFCWithInstall =\n withInstall(DatePicker)\n\nexport default ElDatePicker\nexport * from './src/constants'\nexport * from './src/props/date-picker'\nexport type { DatePickerInstance } from './src/instance'\n", "import type { InjectionKey } from 'vue'\nimport type { IDescriptionsInject } from './descriptions.type'\n\nexport const descriptionsKey: InjectionKey =\n Symbol('elDescriptions')\n", "import { defineComponent, h, inject, withDirectives } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { addUnit, getNormalizedProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { descriptionsKey } from './token'\nimport type { DirectiveArguments, PropType, VNode } from 'vue'\n\nimport type {\n IDescriptionsInject,\n IDescriptionsItemInject,\n} from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\nexport default defineComponent({\n name: 'ElDescriptionsCell',\n props: {\n cell: {\n type: Object as PropType,\n },\n tag: {\n type: String,\n default: 'td',\n },\n type: {\n type: String,\n },\n },\n setup() {\n const descriptions = inject(descriptionsKey, {} as IDescriptionsInject)\n\n return {\n descriptions,\n }\n },\n render() {\n const item = getNormalizedProps(\n this.cell as VNode\n ) as IDescriptionsItemInject\n\n const directives = (this.cell?.dirs || []).map((dire) => {\n const { dir, arg, modifiers, value } = dire\n return [dir, value, arg, modifiers]\n }) as DirectiveArguments\n\n const { border, direction } = this.descriptions\n const isVertical = direction === 'vertical'\n const renderLabel = () => this.cell?.children?.label?.() || item.label\n const renderContent = () => this.cell?.children?.default?.()\n const span = item.span\n const rowspan = item.rowspan\n const align = item.align ? `is-${item.align}` : ''\n const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : align\n const className = item.className\n const labelClassName = item.labelClassName\n const width =\n this.type === 'label'\n ? item.labelWidth || this.descriptions.labelWidth || item.width\n : item.width\n\n const style = {\n width: addUnit(width),\n minWidth: addUnit(item.minWidth),\n }\n const ns = useNamespace('descriptions')\n\n switch (this.type) {\n case 'label':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('label'),\n ns.is('bordered-label', border),\n ns.is('vertical-label', isVertical),\n labelAlign,\n labelClassName,\n ],\n colSpan: isVertical ? span : 1,\n rowspan: isVertical ? 1 : rowspan,\n },\n renderLabel()\n ),\n directives\n )\n case 'content':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('content'),\n ns.is('bordered-content', border),\n ns.is('vertical-content', isVertical),\n align,\n className,\n ],\n colSpan: isVertical ? span : span * 2 - 1,\n rowspan: isVertical ? rowspan * 2 - 1 : rowspan,\n },\n renderContent()\n ),\n directives\n )\n default: {\n const label = renderLabel()\n\n return withDirectives(\n h(\n 'td',\n {\n style,\n class: [ns.e('cell'), align],\n colSpan: span,\n rowspan,\n },\n [\n !isNil(label)\n ? h(\n 'span',\n {\n class: [ns.e('label'), labelClassName],\n },\n label\n )\n : undefined,\n h(\n 'span',\n {\n class: [ns.e('content'), className],\n },\n renderContent()\n ),\n ]\n ),\n directives\n )\n }\n }\n },\n})\n", "import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { DescriptionItemVNode } from './description-item'\n\nexport const descriptionsRowProps = buildProps({\n row: {\n type: definePropType(Array),\n default: () => [],\n },\n} as const)\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n /**\n * @description with or without border\n */\n border: Boolean,\n /**\n * @description numbers of `Descriptions Item` in one line\n */\n column: {\n type: Number,\n default: 3,\n },\n /**\n * @description direction of list\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description size of list\n */\n size: useSizeProp,\n /**\n * @description title text, display on the top left\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description extra text, display on the top right\n */\n extra: {\n type: String,\n default: '',\n },\n /**\n * @description width of every label column\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n} as const)\n\nexport type DescriptionProps = ExtractPropTypes\nexport type DescriptionInstance = InstanceType\n", "\n\n\n", "import { defineComponent } from 'vue'\nimport { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, Slot, VNode } from 'vue'\n\nexport const descriptionItemProps = buildProps({\n /**\n * @description label text\n */\n label: {\n type: String,\n default: '',\n },\n /**\n * @description colspan of column\n */\n span: {\n type: Number,\n default: 1,\n },\n /**\n * @description the number of rows a cell should span\n */\n rowspan: {\n type: Number,\n default: 1,\n },\n /**\n * @description column width, the width of the same column in different rows is set by the max value (If no `border`, width contains label and content)\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column minimum width, columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion (If no`border`, width contains label and content)\n */\n minWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column label width, if not set, it will be the same as the width of the column. Higher priority than the `label-width` of `Descriptions`\n */\n labelWidth: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description column content alignment (If no `border`, effective for both label and content)\n */\n align: {\n type: String,\n default: 'left',\n },\n /**\n * @description column label alignment, if omitted, the value of the above `align` attribute will be applied (If no `border`, please use `align` attribute)\n */\n labelAlign: {\n type: String,\n default: '',\n },\n /**\n * @description column content custom class name\n */\n className: {\n type: String,\n default: '',\n },\n /**\n * @description column label custom class name\n */\n labelClassName: {\n type: String,\n default: '',\n },\n})\nconst DescriptionItem = defineComponent({\n name: 'ElDescriptionsItem',\n props: descriptionItemProps,\n})\n\nexport default DescriptionItem\n\nexport type DescriptionItemProps = ExtractPropTypes\nexport type DescriptionItemVNode = VNode & {\n children: { [name: string]: Slot } | null\n props: Partial | null\n}\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Descriptions from './src/description.vue'\nimport DescriptionsItem from './src/description-item'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDescriptions: SFCWithInstall & {\n DescriptionsItem: typeof DescriptionsItem\n} = withInstall(Descriptions, {\n DescriptionsItem,\n})\n\nexport const ElDescriptionsItem: SFCWithInstall =\n withNoopInstall(DescriptionsItem)\n\nexport default ElDescriptions\n\nexport * from './src/description'\nexport * from './src/description-item'\n", "import { createVNode, defineComponent, h, renderSlot } from 'vue'\nimport { PatchFlags, buildProps, definePropType } from '@element-plus/utils'\nimport { useNamespace, useSameTarget } from '@element-plus/hooks'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { ZIndexProperty } from 'csstype'\n\nexport const overlayProps = buildProps({\n mask: {\n type: Boolean,\n default: true,\n },\n customMaskEvent: Boolean,\n overlayClass: {\n type: definePropType>([\n String,\n Array,\n Object,\n ]),\n },\n zIndex: {\n type: definePropType([String, Number]),\n },\n} as const)\nexport type OverlayProps = ExtractPropTypes\n\nexport const overlayEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type OverlayEmits = typeof overlayEmits\n\nconst BLOCK = 'overlay'\n\nexport default defineComponent({\n name: 'ElOverlay',\n\n props: overlayProps,\n emits: overlayEmits,\n\n setup(props, { slots, emit }) {\n // No reactivity on this prop because when its rendering with a global\n // component, this will be a constant flag.\n const ns = useNamespace(BLOCK)\n\n const onMaskClick = (e: MouseEvent) => {\n emit('click', e)\n }\n\n const { onClick, onMousedown, onMouseup } = useSameTarget(\n props.customMaskEvent ? undefined : onMaskClick\n )\n\n // init here\n return () => {\n // when the vnode meets the same structure but with different change trigger\n // it will not automatically update, thus we simply use h function to manage updating\n return props.mask\n ? createVNode(\n 'div',\n {\n class: [ns.b(), props.overlayClass],\n style: {\n zIndex: props.zIndex,\n },\n onClick,\n onMousedown,\n onMouseup,\n },\n [renderSlot(slots, 'default')],\n PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS,\n ['onClick', 'onMouseup', 'onMousedown']\n )\n : h(\n 'div',\n {\n class: props.overlayClass,\n style: {\n zIndex: props.zIndex,\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n } as CSSProperties,\n },\n [renderSlot(slots, 'default')]\n )\n }\n },\n})\n", "import Overlay from './src/overlay'\n\nexport const ElOverlay = Overlay\nexport default ElOverlay\n\nexport * from './src/overlay'\n", "import type { CSSProperties, ComputedRef, InjectionKey, Ref } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\n\nexport type DialogContext = {\n dialogRef: Ref\n headerRef: Ref\n bodyId: Ref\n ns: UseNamespaceReturn\n rendered: Ref\n style: ComputedRef\n}\n\nexport const dialogInjectionKey: InjectionKey =\n Symbol('dialogInjectionKey')\n", "import { buildProps, iconPropType } from '@element-plus/utils'\n\nexport const dialogContentProps = buildProps({\n /**\n * @description whether to align the header and footer in center\n */\n center: Boolean,\n /**\n * @description whether to align the dialog both horizontally and vertically\n */\n alignCenter: Boolean,\n /**\n * @description custom close icon, default is Close\n */\n closeIcon: {\n type: iconPropType,\n },\n /**\n * @description enable dragging feature for Dialog\n */\n draggable: Boolean,\n /**\n * @description draggable Dialog can overflow the viewport\n */\n overflow: Boolean,\n /**\n * @description whether the Dialog takes up full screen\n */\n fullscreen: Boolean,\n /**\n * @description whether to show a close button\n */\n showClose: {\n type: Boolean,\n default: true,\n },\n /**\n * @description title of Dialog. Can also be passed with a named slot (see the following table)\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description header's aria-level attribute\n */\n ariaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport const dialogContentEmits = {\n close: () => true,\n}\n", "\n\n\n", "import { buildProps, definePropType, isBoolean } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { dialogContentProps } from './dialog-content'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Dialog from './dialog.vue'\n\ntype DoneFn = (cancel?: boolean) => void\nexport type DialogBeforeCloseFn = (done: DoneFn) => void\n\nexport const dialogProps = buildProps({\n ...dialogContentProps,\n /**\n * @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true`\n */\n appendToBody: Boolean,\n /**\n * @description which element the Dialog appends to\n */\n appendTo: {\n type: definePropType([String, Object]),\n default: 'body',\n },\n /**\n * @description callback before Dialog closes, and it will prevent Dialog from closing, use done to close the dialog\n */\n beforeClose: {\n type: definePropType(Function),\n },\n /**\n * @description destroy elements in Dialog when closed\n */\n destroyOnClose: Boolean,\n /**\n * @description whether the Dialog can be closed by clicking the mask\n */\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the Dialog can be closed by pressing ESC\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether scroll of body is disabled while Dialog is displayed\n */\n lockScroll: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether a mask is displayed\n */\n modal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the Time(milliseconds) before open\n */\n openDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description the Time(milliseconds) before close\n */\n closeDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description value for `margin-top` of Dialog CSS, default is 15vh\n */\n top: {\n type: String,\n },\n /**\n * @description visibility of Dialog\n */\n modelValue: Boolean,\n /**\n * @description custom class names for mask\n */\n modalClass: String,\n /**\n * @description width of Dialog, default is 50%\n */\n width: {\n type: [String, Number],\n },\n /**\n * @description same as z-index in native CSS, z-order of dialog\n */\n zIndex: {\n type: Number,\n },\n trapFocus: Boolean,\n /**\n * @description header's aria-level attribute\n */\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DialogProps = ExtractPropTypes\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => isBoolean(value),\n openAutoFocus: () => true,\n closeAutoFocus: () => true,\n}\nexport type DialogEmits = typeof dialogEmits\nexport type DialogInstance = InstanceType\n", "import {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\n\nimport { isUndefined } from 'lodash-unified'\nimport {\n defaultNamespace,\n useId,\n useLockscreen,\n useZIndex,\n} from '@element-plus/hooks'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { addUnit, isClient } from '@element-plus/utils'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\n\nimport type { CSSProperties, Ref, SetupContext } from 'vue'\nimport type { DialogEmits, DialogProps } from './dialog'\n\nexport const useDialog = (\n props: DialogProps,\n targetRef: Ref\n) => {\n const instance = getCurrentInstance()!\n const emit = instance.emit as SetupContext['emit']\n const { nextZIndex } = useZIndex()\n\n let lastPosition = ''\n const titleId = useId()\n const bodyId = useId()\n const visible = ref(false)\n const closed = ref(false)\n const rendered = ref(false) // when desctroyOnClose is true, we initialize it as false vise versa\n const zIndex = ref(props.zIndex ?? nextZIndex())\n\n let openTimer: (() => void) | undefined = undefined\n let closeTimer: (() => void) | undefined = undefined\n\n const namespace = useGlobalConfig('namespace', defaultNamespace)\n\n const style = computed(() => {\n const style: CSSProperties = {}\n const varPrefix = `--${namespace.value}-dialog` as const\n if (!props.fullscreen) {\n if (props.top) {\n style[`${varPrefix}-margin-top`] = props.top\n }\n if (props.width) {\n style[`${varPrefix}-width`] = addUnit(props.width)\n }\n }\n return style\n })\n\n const overlayDialogStyle = computed(() => {\n if (props.alignCenter) {\n return { display: 'flex' }\n }\n return {}\n })\n\n function afterEnter() {\n emit('opened')\n }\n\n function afterLeave() {\n emit('closed')\n emit(UPDATE_MODEL_EVENT, false)\n if (props.destroyOnClose) {\n rendered.value = false\n }\n }\n\n function beforeLeave() {\n emit('close')\n }\n\n function open() {\n closeTimer?.()\n openTimer?.()\n\n if (props.openDelay && props.openDelay > 0) {\n ;({ stop: openTimer } = useTimeoutFn(() => doOpen(), props.openDelay))\n } else {\n doOpen()\n }\n }\n\n function close() {\n openTimer?.()\n closeTimer?.()\n\n if (props.closeDelay && props.closeDelay > 0) {\n ;({ stop: closeTimer } = useTimeoutFn(() => doClose(), props.closeDelay))\n } else {\n doClose()\n }\n }\n\n function handleClose() {\n function hide(shouldCancel?: boolean) {\n if (shouldCancel) return\n closed.value = true\n visible.value = false\n }\n\n if (props.beforeClose) {\n props.beforeClose(hide)\n } else {\n close()\n }\n }\n\n function onModalClick() {\n if (props.closeOnClickModal) {\n handleClose()\n }\n }\n\n function doOpen() {\n if (!isClient) return\n visible.value = true\n }\n\n function doClose() {\n visible.value = false\n }\n\n function onOpenAutoFocus() {\n emit('openAutoFocus')\n }\n\n function onCloseAutoFocus() {\n emit('closeAutoFocus')\n }\n\n function onFocusoutPrevented(event: CustomEvent) {\n if (event.detail?.focusReason === 'pointer') {\n event.preventDefault()\n }\n }\n\n if (props.lockScroll) {\n useLockscreen(visible)\n }\n\n function onCloseRequested() {\n if (props.closeOnPressEscape) {\n handleClose()\n }\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n if (val) {\n closed.value = false\n open()\n rendered.value = true // enables lazy rendering\n zIndex.value = isUndefined(props.zIndex) ? nextZIndex() : zIndex.value++\n // this.$el.addEventListener('scroll', this.updatePopper)\n nextTick(() => {\n emit('open')\n if (targetRef.value) {\n targetRef.value.scrollTop = 0\n }\n })\n } else {\n // this.$el.removeEventListener('scroll', this.updatePopper\n if (visible.value) {\n close()\n }\n }\n }\n )\n\n watch(\n () => props.fullscreen,\n (val) => {\n if (!targetRef.value) return\n if (val) {\n lastPosition = targetRef.value.style.transform\n targetRef.value.style.transform = ''\n } else {\n targetRef.value.style.transform = lastPosition\n }\n }\n )\n\n onMounted(() => {\n if (props.modelValue) {\n visible.value = true\n rendered.value = true // enables lazy rendering\n open()\n }\n })\n\n return {\n afterEnter,\n afterLeave,\n beforeLeave,\n handleClose,\n onModalClick,\n close,\n doClose,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n titleId,\n bodyId,\n closed,\n style,\n overlayDialogStyle,\n rendered,\n visible,\n zIndex,\n }\n}\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Dialog from './src/dialog.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDialog: SFCWithInstall = withInstall(Dialog)\nexport default ElDialog\n\nexport * from './src/use-dialog'\nexport * from './src/dialog'\nexport * from './src/constants'\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Divider from './divider.vue'\n\nexport type BorderStyle = CSSStyleDeclaration['borderStyle']\n\nexport const dividerProps = buildProps({\n /**\n * @description Set divider's direction\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description Set the style of divider\n */\n contentPosition: {\n type: String,\n values: ['left', 'center', 'right'],\n default: 'center',\n },\n /**\n * @description the position of the customized content on the divider line\n */\n borderStyle: {\n type: definePropType(String),\n default: 'solid',\n },\n} as const)\nexport type DividerProps = ExtractPropTypes\n\nexport type DividerInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Divider from './src/divider.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDivider: SFCWithInstall = withInstall(Divider)\nexport default ElDivider\n\nexport * from './src/divider'\n", "import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes\n\nexport const drawerEmits = dialogEmits\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Drawer from './src/drawer.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDrawer: SFCWithInstall = withInstall(Drawer)\nexport default ElDrawer\n\nexport * from './src/drawer'\n", "\n\n\n", "\n\n\n", "import { inject, onBeforeUnmount, onMounted, provide, ref, unref } from 'vue'\nimport Collection from './collection.vue'\nimport CollectionItem from './collection-item.vue'\n\nimport type { InjectionKey } from 'vue'\nimport type { SetupContext } from '@vue/runtime-core'\nimport type {\n ElCollectionInjectionContext,\n ElCollectionItemInjectionContext,\n} from './tokens'\n\nexport const COLLECTION_ITEM_SIGN = `data-el-collection-item`\n\n// Make sure the first letter of name is capitalized\nexport const createCollectionWithScope = (name: string) => {\n const COLLECTION_NAME = `El${name}Collection`\n const COLLECTION_ITEM_NAME = `${COLLECTION_NAME}Item`\n const COLLECTION_INJECTION_KEY: InjectionKey =\n Symbol(COLLECTION_NAME)\n const COLLECTION_ITEM_INJECTION_KEY: InjectionKey =\n Symbol(COLLECTION_ITEM_NAME)\n\n const ElCollection = {\n ...Collection,\n name: COLLECTION_NAME,\n setup() {\n const collectionRef = ref(null)\n const itemMap: ElCollectionInjectionContext['itemMap'] = new Map()\n const getItems = () => {\n const collectionEl = unref(collectionRef)\n\n if (!collectionEl) return []\n const orderedNodes = Array.from(\n collectionEl.querySelectorAll(`[${COLLECTION_ITEM_SIGN}]`)\n )\n\n const items = [...itemMap.values()]\n\n return items.sort(\n (a, b) => orderedNodes.indexOf(a.ref!) - orderedNodes.indexOf(b.ref!)\n )\n }\n\n provide(COLLECTION_INJECTION_KEY, {\n itemMap,\n getItems,\n collectionRef,\n })\n },\n }\n\n const ElCollectionItem = {\n ...CollectionItem,\n name: COLLECTION_ITEM_NAME,\n setup(_: unknown, { attrs }: SetupContext) {\n const collectionItemRef = ref(null)\n const collectionInjection = inject(COLLECTION_INJECTION_KEY, undefined)!\n\n provide(COLLECTION_ITEM_INJECTION_KEY, {\n collectionItemRef,\n })\n\n onMounted(() => {\n const collectionItemEl = unref(collectionItemRef)\n if (collectionItemEl) {\n collectionInjection.itemMap.set(collectionItemEl, {\n ref: collectionItemEl,\n ...attrs,\n })\n }\n })\n\n onBeforeUnmount(() => {\n const collectionItemEl = unref(collectionItemRef)!\n collectionInjection.itemMap.delete(collectionItemEl)\n })\n },\n }\n\n return {\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n ElCollection,\n ElCollectionItem,\n }\n}\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport type { ExtractPropTypes, HTMLAttributes, StyleValue } from 'vue'\n\nexport const rovingFocusGroupProps = buildProps({\n style: { type: definePropType([String, Array, Object]) },\n currentTabId: {\n type: definePropType(String),\n },\n defaultCurrentTabId: String,\n loop: Boolean,\n dir: {\n type: String, // left for direction support\n values: ['ltr', 'rtl'],\n default: 'ltr',\n },\n orientation: {\n // left for orientation support\n type: definePropType(String),\n },\n\n onBlur: Function,\n onFocus: Function,\n onMousedown: Function,\n})\n\nexport type ElRovingFocusGroupProps = ExtractPropTypes<\n typeof rovingFocusGroupProps\n>\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('RovingFocusGroup')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as ROVING_FOCUS_ITEM_COLLECTION_INJECTION_KEY,\n}\n", "import type { InjectionKey, Ref, StyleValue } from 'vue'\nimport type { ElRovingFocusGroupProps } from './roving-focus-group'\n\ntype EventHandler = (e: T) => void\n\nexport type RovingGroupInjectionContext = {\n currentTabbedId: Ref\n dir: Ref\n loop: Ref\n orientation: Ref\n tabIndex: Ref\n rovingFocusGroupRef: Ref\n rovingFocusGroupRootStyle: Ref\n onBlur: EventHandler\n onFocus: EventHandler\n onMousedown: EventHandler\n onItemFocus: (id: string) => void\n onItemShiftTab: () => void\n}\n\nexport type RovingFocusGroupItemInjectionContext = {\n rovingFocusGroupItemRef: Ref\n tabIndex: Ref\n handleMousedown: EventHandler\n handleFocus: EventHandler\n handleKeydown: EventHandler\n}\n\nexport const ROVING_FOCUS_GROUP_INJECTION_KEY: InjectionKey =\n Symbol('elRovingFocusGroup')\n\nexport const ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY: InjectionKey =\n Symbol('elRovingFocusGroupItem')\n", "import { EVENT_CODE } from '@element-plus/constants'\nimport type { HTMLAttributes } from 'vue'\n\ntype Orientation = HTMLAttributes['aria-orientation']\ntype Direction = 'ltr' | 'rtl'\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next'\n\nconst MAP_KEY_TO_FOCUS_INTENT: Record = {\n ArrowLeft: 'prev',\n ArrowUp: 'prev',\n ArrowRight: 'next',\n ArrowDown: 'next',\n PageUp: 'first',\n Home: 'first',\n PageDown: 'last',\n End: 'last',\n}\n\nconst getDirectionAwareKey = (key: string, dir?: Direction) => {\n if (dir !== 'rtl') return key\n\n switch (key) {\n case EVENT_CODE.right:\n return EVENT_CODE.left\n case EVENT_CODE.left:\n return EVENT_CODE.right\n default:\n return key\n }\n}\n\nexport const getFocusIntent = (\n event: KeyboardEvent,\n orientation?: Orientation,\n dir?: Direction\n) => {\n const key = getDirectionAwareKey(event.code, dir)\n if (\n orientation === 'vertical' &&\n [EVENT_CODE.left, EVENT_CODE.right].includes(key)\n )\n return undefined\n if (\n orientation === 'horizontal' &&\n [EVENT_CODE.up, EVENT_CODE.down].includes(key)\n )\n return undefined\n return MAP_KEY_TO_FOCUS_INTENT[key]\n}\n\nexport const reorderArray = (array: T[], atIdx: number) => {\n return array.map((_, idx) => array[(idx + atIdx) % array.length])\n}\n\nexport const focusFirst = (elements: HTMLElement[]) => {\n const { activeElement: prevActive } = document\n\n for (const element of elements) {\n if (element === prevActive) return\n element.focus()\n if (prevActive !== document.activeElement) return\n }\n}\n", "\n\n\n", "\n\n\n", "\n\n\n", "// @ts-nocheck\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { createCollectionWithScope } from '@element-plus/components/collection'\nimport {\n useTooltipContentProps,\n useTooltipTriggerProps,\n} from '@element-plus/components/tooltip'\n\nimport type { Options } from '@popperjs/core'\nimport type { ButtonProps, ButtonType } from '@element-plus/components/button'\nimport type { Placement } from '@element-plus/components/popper'\nimport type { ComponentInternalInstance, ComputedRef } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\n\nexport interface IElDropdownInstance {\n instance?: ComponentInternalInstance\n dropdownSize?: ComputedRef\n handleClick?: () => void\n commandHandler?: (...arg) => void\n show?: () => void\n hide?: () => void\n trigger?: ComputedRef\n hideOnClick?: ComputedRef\n triggerElm?: ComputedRef>\n}\n\nexport const dropdownProps = buildProps({\n /**\n * @description how to trigger\n */\n trigger: useTooltipTriggerProps.trigger,\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n /**\n * @description menu button type, refer to `Button` Component, only works when `split-button` is true\n */\n type: {\n type: definePropType(String),\n },\n /**\n * @description placement of pop menu\n */\n placement: {\n type: definePropType(String),\n default: 'bottom',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType>(Object),\n default: () => ({}),\n },\n id: String,\n /**\n * @description menu size, also works on the split button\n */\n size: {\n type: String,\n default: '',\n },\n /**\n * @description whether a button group is displayed\n */\n splitButton: Boolean,\n /**\n * @description whether to hide menu after clicking menu-item\n */\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n loop: {\n type: Boolean,\n default: true,\n },\n /**\n * @description delay time before show a dropdown (only works when trigger is `hover`)\n */\n showTimeout: {\n type: Number,\n default: 150,\n },\n /**\n * @description delay time before hide a dropdown (only works when trigger is `hover`)\n */\n hideTimeout: {\n type: Number,\n default: 150,\n },\n /**\n * @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Dropdown\n */\n tabindex: {\n type: definePropType([Number, String]),\n default: 0,\n },\n /**\n * @description the max height of menu\n */\n maxHeight: {\n type: definePropType([Number, String]),\n default: '',\n },\n /**\n * @description custom class name for Dropdown's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether to disable\n */\n disabled: Boolean,\n /**\n * @description the ARIA role attribute for the dropdown menu. Depending on the use case, you may want to change this to 'navigation'\n */\n role: {\n type: String,\n default: 'menu',\n },\n buttonProps: {\n type: definePropType(Object),\n },\n /**\n * @description whether the dropdown popup is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n} as const)\n\nexport const dropdownItemProps = buildProps({\n /**\n * @description a command to be dispatched to Dropdown's `command` callback\n */\n command: {\n type: [Object, String, Number],\n default: () => ({}),\n },\n /**\n * @description whether the item is disabled\n */\n disabled: Boolean,\n /**\n * @description whether a divider is displayed\n */\n divided: Boolean,\n textValue: String,\n /**\n * @description custom icon\n */\n icon: {\n type: iconPropType,\n },\n} as const)\n\nexport const dropdownMenuProps = buildProps({\n onKeydown: { type: definePropType<(e: KeyboardEvent) => void>(Function) },\n})\n\nexport const FIRST_KEYS = [\n EVENT_CODE.down,\n EVENT_CODE.pageDown,\n EVENT_CODE.home,\n]\n\nexport const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end]\n\nexport const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS]\n\nconst {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY,\n} = createCollectionWithScope('Dropdown')\n\nexport {\n ElCollection,\n ElCollectionItem,\n COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY,\n COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY,\n}\n", "import type { ComputedRef, InjectionKey, Ref } from 'vue'\n\nexport type ElDropdownInjectionContext = {\n contentRef: Ref\n role: ComputedRef\n triggerId: ComputedRef\n isUsingKeyboard: Ref\n onItemLeave: (e: PointerEvent) => void\n onItemEnter: (e: PointerEvent) => void\n}\n\nexport const DROPDOWN_INJECTION_KEY: InjectionKey =\n Symbol('elDropdown')\n", "\n\n", "\n\n\n", "// @ts-nocheck\nimport { computed, inject, ref } from 'vue'\nimport { addClass } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport type { Nullable } from '@element-plus/utils'\nimport type { IElDropdownInstance } from './dropdown'\n\nexport const useDropdown = () => {\n const elDropdown = inject('elDropdown', {})\n const _elDropdownSize = computed(() => elDropdown?.dropdownSize)\n\n return {\n elDropdown,\n _elDropdownSize,\n }\n}\n\nexport const initDropdownDomEvent = (\n dropdownChildren,\n triggerElm,\n _instance\n) => {\n const ns = useNamespace('dropdown')\n const menuItems = ref>(null)\n const menuItemsArray = ref>(null)\n const dropdownElm = ref>(null)\n const listId = useId()\n dropdownElm.value = dropdownChildren?.subTree.el\n\n function removeTabindex() {\n triggerElm.setAttribute('tabindex', '-1')\n menuItemsArray.value?.forEach((item) => item.setAttribute('tabindex', '-1'))\n }\n\n function resetTabindex(ele) {\n removeTabindex()\n ele?.setAttribute('tabindex', '0')\n }\n\n function handleTriggerKeyDown(ev: KeyboardEvent) {\n const code = ev.code\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n removeTabindex()\n resetTabindex(menuItems.value[0])\n menuItems.value[0].focus()\n ev.preventDefault()\n ev.stopPropagation()\n } else if ([EVENT_CODE.enter, EVENT_CODE.numpadEnter].includes(code)) {\n _instance.handleClick()\n } else if ([EVENT_CODE.tab, EVENT_CODE.esc].includes(code)) {\n _instance.hide()\n }\n }\n\n function handleItemKeyDown(ev) {\n const code = ev.code\n const target = ev.target\n const currentIndex = menuItemsArray.value.indexOf(target)\n const max = menuItemsArray.value.length - 1\n let nextIndex\n if ([EVENT_CODE.up, EVENT_CODE.down].includes(code)) {\n if (code === EVENT_CODE.up) {\n nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0\n } else {\n nextIndex = currentIndex < max ? currentIndex + 1 : max\n }\n removeTabindex()\n resetTabindex(menuItems.value[nextIndex])\n menuItems.value[nextIndex].focus()\n ev.preventDefault()\n ev.stopPropagation()\n } else if (code === EVENT_CODE.enter) {\n triggerElmFocus()\n target.click()\n if (_instance.props.hideOnClick) {\n _instance.hide()\n }\n } else if ([EVENT_CODE.tab, EVENT_CODE.esc].includes(code)) {\n _instance.hide()\n triggerElmFocus()\n }\n }\n\n function initAria() {\n dropdownElm.value.setAttribute('id', listId.value)\n triggerElm.setAttribute('aria-haspopup', 'list')\n triggerElm.setAttribute('aria-controls', listId.value)\n if (!_instance.props.splitButton) {\n triggerElm.setAttribute('role', 'button')\n triggerElm.setAttribute('tabindex', _instance.props.tabindex)\n addClass(triggerElm, ns.b('selfdefine'))\n }\n }\n\n function initEvent() {\n triggerElm?.addEventListener('keydown', handleTriggerKeyDown)\n dropdownElm.value?.addEventListener('keydown', handleItemKeyDown, true)\n }\n\n function initDomOperation() {\n menuItems.value = dropdownElm.value.querySelectorAll(\n \"[tabindex='-1']\"\n ) as unknown as HTMLButtonElement[]\n menuItemsArray.value = Array.from(menuItems.value)\n\n initEvent()\n initAria()\n }\n\n function triggerElmFocus() {\n triggerElm.focus()\n }\n\n initDomOperation()\n}\n", "\n\n", "\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Dropdown from './src/dropdown.vue'\nimport DropdownItem from './src/dropdown-item.vue'\nimport DropdownMenu from './src/dropdown-menu.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDropdown: SFCWithInstall & {\n DropdownItem: typeof DropdownItem\n DropdownMenu: typeof DropdownMenu\n} = withInstall(Dropdown, {\n DropdownItem,\n DropdownMenu,\n})\nexport default ElDropdown\nexport const ElDropdownItem: SFCWithInstall =\n withNoopInstall(DropdownItem)\nexport const ElDropdownMenu: SFCWithInstall =\n withNoopInstall(DropdownMenu)\nexport * from './src/dropdown'\nexport * from './src/instance'\nexport * from './src/tokens'\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const emptyProps = buildProps({\n /**\n * @description image URL of empty\n */\n image: {\n type: String,\n default: '',\n },\n /**\n * @description image size (width) of empty\n */\n imageSize: Number,\n /**\n * @description description of empty\n */\n description: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type EmptyProps = ExtractPropTypes\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Empty from './src/empty.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElEmpty: SFCWithInstall = withInstall(Empty)\nexport default ElEmpty\n\nexport * from './src/empty'\nexport type { EmptyInstance } from './src/instance'\n", "import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type ImageViewer from './image-viewer.vue'\n\nexport type ImageViewerAction =\n | 'zoomIn'\n | 'zoomOut'\n | 'clockwise'\n | 'anticlockwise'\n\nexport const imageViewerProps = buildProps({\n /**\n * @description preview link list.\n */\n urlList: {\n type: definePropType(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description preview backdrop z-index.\n */\n zIndex: {\n type: Number,\n },\n /**\n * @description the initial preview image index, less than or equal to the length of `url-list`.\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether preview is infinite.\n */\n infinite: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether user can emit close event when clicking backdrop.\n */\n hideOnClickModal: Boolean,\n /**\n * @description whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n teleported: Boolean,\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the zoom rate of the image viewer zoom event.\n */\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale: {\n type: Number,\n default: 0.2,\n },\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale: {\n type: Number,\n default: 7,\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\nexport type ImageViewerProps = ExtractPropTypes\n\nexport const imageViewerEmits = {\n close: () => true,\n switch: (index: number) => isNumber(index),\n rotate: (deg: number) => isNumber(deg),\n}\nexport type ImageViewerEmits = typeof imageViewerEmits\n\nexport interface ImageViewerMode {\n name: string\n icon: Component\n}\n\nexport type ImageViewerInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport ImageViewer from './src/image-viewer.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElImageViewer: SFCWithInstall =\n withInstall(ImageViewer)\nexport default ElImageViewer\n\nexport * from './src/image-viewer'\n", "import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const imageProps = buildProps({\n /**\n * @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode.\n */\n hideOnClickModal: Boolean,\n /**\n * @description image source, same as native.\n */\n src: {\n type: String,\n default: '',\n },\n /**\n * @description indicate how the image should be resized to fit its container, same as [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit).\n */\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n /**\n * @description Indicates how the browser should load the image, same as [native](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-loading)\n */\n loading: {\n type: String,\n values: ['eager', 'lazy'],\n },\n /**\n * @description whether to use lazy load.\n */\n lazy: Boolean,\n /**\n * @description the container to add scroll listener when using lazy load.\n */\n scrollContainer: {\n type: definePropType([String, Object]),\n },\n /**\n * @description allow big image preview.\n */\n previewSrcList: {\n type: definePropType(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n previewTeleported: Boolean,\n /**\n * @description set image preview z-index.\n */\n zIndex: {\n type: Number,\n },\n /**\n * @description initial preview image index, less than the length of `url-list`.\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether the viewer preview is infinite.\n */\n infinite: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the zoom rate of the image viewer zoom event\n */\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale: {\n type: Number,\n default: 0.2,\n },\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale: {\n type: Number,\n default: 7,\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\nexport type ImageProps = ExtractPropTypes\n\nexport const imageEmits = {\n load: (evt: Event) => evt instanceof Event,\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n show: () => true,\n}\nexport type ImageEmits = typeof imageEmits\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Image from './src/image.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElImage: SFCWithInstall = withInstall(Image)\nexport default ElImage\n\nexport * from './src/image'\n", "import { isNil } from 'lodash-unified'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport { buildProps, isNumber } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type InputNumber from './input-number.vue'\n\nexport const inputNumberProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description incremental step\n */\n step: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether input value can only be multiple of step\n */\n stepStrictly: Boolean,\n /**\n * @description the maximum allowed value\n */\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n /**\n * @description the minimum allowed value\n */\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n /**\n * @description binding value\n */\n modelValue: Number,\n /**\n * @description same as `readonly` in native input\n */\n readonly: Boolean,\n /**\n * @description whether the component is disabled\n */\n disabled: Boolean,\n /**\n * @description size of the component\n */\n size: useSizeProp,\n /**\n * @description whether to enable the control buttons\n */\n controls: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of the control buttons\n */\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n /**\n * @description value should be set when input box is cleared\n */\n valueOnClear: {\n type: [String, Number, null],\n validator: (val: 'min' | 'max' | number | null) =>\n val === null || isNumber(val) || ['min', 'max'].includes(val),\n default: null,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description same as `placeholder` in native input\n */\n placeholder: String,\n /**\n * @description precision of input value\n */\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\nexport type InputNumberProps = ExtractPropTypes\n\nexport const inputNumberEmits = {\n [CHANGE_EVENT]: (cur: number | undefined, prev: number | undefined) =>\n prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n [INPUT_EVENT]: (val: number | null | undefined) =>\n isNumber(val) || isNil(val),\n [UPDATE_MODEL_EVENT]: (val: number | undefined) =>\n isNumber(val) || isNil(val),\n}\nexport type InputNumberEmits = typeof inputNumberEmits\n\nexport type InputNumberInstance = InstanceType\n", "\n\n", "import { withInstall } from '@element-plus/utils'\nimport InputNumber from './src/input-number.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElInputNumber: SFCWithInstall =\n withInstall(InputNumber)\n\nexport default ElInputNumber\nexport * from './src/input-number'\n", "import { buildProps, iconPropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type Link from './link.vue'\n\nexport const linkProps = buildProps({\n /**\n * @description type\n */\n type: {\n type: String,\n values: ['primary', 'success', 'warning', 'info', 'danger', 'default'],\n default: 'default',\n },\n /**\n * @description whether the component has underline\n */\n underline: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the component is disabled\n */\n disabled: Boolean,\n /**\n * @description same as native hyperlink's `href`\n */\n href: { type: String, default: '' },\n /**\n * @description same as native hyperlink's `target`\n */\n target: {\n type: String as PropType<'_blank' | '_parent' | '_self' | '_top' | string>,\n default: '_self',\n },\n /**\n * @description icon component\n */\n icon: {\n type: iconPropType,\n },\n} as const)\nexport type LinkProps = ExtractPropTypes\n\nexport const linkEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type LinkEmits = typeof linkEmits\n\nexport type LinkInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Link from './src/link.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElLink: SFCWithInstall = withInstall(Link)\nexport default ElLink\n\nexport * from './src/link'\n", "// @ts-nocheck\nimport { triggerEvent } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport type MenuItem from './menu-item'\n\nclass SubMenu {\n public subMenuItems: NodeList\n public subIndex = 0\n constructor(public parent: MenuItem, public domNode: ParentNode) {\n this.subIndex = 0\n this.init()\n }\n\n init(): void {\n this.subMenuItems = this.domNode.querySelectorAll('li')\n this.addListeners()\n }\n\n gotoSubIndex(idx: number): void {\n if (idx === this.subMenuItems.length) {\n idx = 0\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1\n }\n ;(this.subMenuItems[idx] as HTMLElement).focus()\n this.subIndex = idx\n }\n\n addListeners(): void {\n const parentNode = this.parent.domNode\n Array.prototype.forEach.call(this.subMenuItems, (el: Element) => {\n el.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false\n switch (event.code) {\n case EVENT_CODE.down: {\n this.gotoSubIndex(this.subIndex + 1)\n prevDef = true\n break\n }\n case EVENT_CODE.up: {\n this.gotoSubIndex(this.subIndex - 1)\n prevDef = true\n break\n }\n case EVENT_CODE.tab: {\n triggerEvent(parentNode as HTMLElement, 'mouseleave')\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n case EVENT_CODE.space: {\n prevDef = true\n ;(event.currentTarget as HTMLElement).click()\n break\n }\n }\n if (prevDef) {\n event.preventDefault()\n event.stopPropagation()\n }\n return false\n })\n })\n }\n}\n\nexport default SubMenu\n", "// @ts-nocheck\nimport { triggerEvent } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport SubMenu from './submenu'\n\nclass MenuItem {\n public submenu: SubMenu = null\n constructor(public domNode: HTMLElement, namespace: string) {\n this.submenu = null\n this.init(namespace)\n }\n\n init(namespace: string): void {\n this.domNode.setAttribute('tabindex', '0')\n const menuChild = this.domNode.querySelector(`.${namespace}-menu`)\n if (menuChild) {\n this.submenu = new SubMenu(this, menuChild)\n }\n this.addListeners()\n }\n\n addListeners(): void {\n this.domNode.addEventListener('keydown', (event: KeyboardEvent) => {\n let prevDef = false\n switch (event.code) {\n case EVENT_CODE.down: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter')\n this.submenu && this.submenu.gotoSubIndex(0)\n prevDef = true\n break\n }\n case EVENT_CODE.up: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseenter')\n this.submenu &&\n this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1)\n prevDef = true\n break\n }\n case EVENT_CODE.tab: {\n triggerEvent(event.currentTarget as HTMLElement, 'mouseleave')\n break\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.numpadEnter:\n case EVENT_CODE.space: {\n prevDef = true\n ;(event.currentTarget as HTMLElement).click()\n break\n }\n }\n if (prevDef) {\n event.preventDefault()\n }\n })\n }\n}\n\nexport default MenuItem\n", "import MenuItem from './menu-item'\n\nimport type { RendererNode } from 'vue'\n\nclass Menu {\n constructor(public domNode: RendererNode, namespace: string) {\n this.init(namespace)\n }\n init(namespace: string): void {\n const menuChildren = this.domNode.childNodes\n Array.from(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child as HTMLElement, namespace)\n }\n })\n }\n}\n\nexport default Menu\n", "\n\n", "import { computed } from 'vue'\n\nimport type { ComponentInternalInstance, Ref } from 'vue'\n\nexport default function useMenu(\n instance: ComponentInternalInstance,\n currentIndex: Ref\n) {\n const indexPath = computed(() => {\n let parent = instance.parent!\n const path = [currentIndex.value]\n while (parent.type.name !== 'ElMenu') {\n if (parent.props.index) {\n path.unshift(parent.props.index as string)\n }\n parent = parent.parent!\n }\n return path\n })\n\n const parentMenu = computed(() => {\n let parent = instance.parent\n while (parent && !['ElMenu', 'ElSubMenu'].includes(parent.type.name!)) {\n parent = parent.parent\n }\n return parent!\n })\n\n return {\n parentMenu,\n indexPath,\n }\n}\n", "import { computed } from 'vue'\nimport { TinyColor } from '@ctrl/tinycolor'\n\nimport type { MenuProps } from './menu'\n\nexport default function useMenuColor(props: MenuProps) {\n const menuBarColor = computed(() => {\n const color = props.backgroundColor\n if (!color) {\n return ''\n } else {\n return new TinyColor(color).shade(20).toString()\n }\n })\n return menuBarColor\n}\n", "import { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport useMenuColor from './use-menu-color'\n\nimport type { MenuProps } from './menu'\n\nexport const useMenuCssVar = (props: MenuProps, level: number) => {\n const ns = useNamespace('menu')\n return computed(() => {\n return ns.cssVarBlock({\n 'text-color': props.textColor || '',\n 'hover-text-color': props.textColor || '',\n 'bg-color': props.backgroundColor || '',\n 'hover-bg-color': useMenuColor(props).value || '',\n 'active-color': props.activeTextColor || '',\n level: `${level}`,\n })\n })\n}\n", "import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport { useTimeoutFn } from '@vueuse/core'\nimport ElCollapseTransition from '@element-plus/components/collapse-transition'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport {\n buildProps,\n iconPropType,\n isString,\n throwError,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport useMenu from './use-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\n\nimport type { Placement } from '@element-plus/components/popper'\nimport type { ExtractPropTypes, VNodeArrayChildren } from 'vue'\nimport type { MenuProvider, SubMenuProvider } from './types'\n\nexport const subMenuProps = buildProps({\n /**\n * @description unique identification\n */\n index: {\n type: String,\n required: true,\n },\n /**\n * @description timeout before showing a sub-menu(inherit `show-timeout` of the menu by default.)\n */\n showTimeout: Number,\n /**\n * @description timeout before hiding a sub-menu(inherit `hide-timeout` of the menu by default.)\n */\n hideTimeout: Number,\n /**\n * @description custom class name for the popup menu\n */\n popperClass: String,\n /**\n * @description whether the sub-menu is disabled\n */\n disabled: Boolean,\n /**\n * @description whether popup menu is teleported to the body\n */\n teleported: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description offset of the popper (overrides the `popper` of menu)\n */\n popperOffset: Number,\n /**\n * @description Icon when menu are expanded and submenu are closed, `expand-close-icon` and `expand-open-icon` need to be passed together to take effect\n */\n expandCloseIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are expanded and submenu are opened, `expand-open-icon` and `expand-close-icon` need to be passed together to take effect\n */\n expandOpenIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are collapsed and submenu are closed, `collapse-close-icon` and `collapse-open-icon` need to be passed together to take effect\n */\n collapseCloseIcon: {\n type: iconPropType,\n },\n /**\n * @description Icon when menu are collapsed and submenu are opened, `collapse-open-icon` and `collapse-close-icon` need to be passed together to take effect\n */\n collapseOpenIcon: {\n type: iconPropType,\n },\n} as const)\nexport type SubMenuProps = ExtractPropTypes\n\nconst COMPONENT_NAME = 'ElSubMenu'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance()!\n const { indexPath, parentMenu } = useMenu(\n instance,\n computed(() => props.index)\n )\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // inject\n const rootMenu = inject('rootMenu')\n if (!rootMenu) throwError(COMPONENT_NAME, 'can not inject root menu')\n\n const subMenu = inject(`subMenu:${parentMenu.value!.uid}`)\n if (!subMenu) throwError(COMPONENT_NAME, 'can not inject sub menu')\n\n const items = ref({})\n const subMenus = ref({})\n\n let timeout: (() => void) | undefined\n const mouseInChild = ref(false)\n const verticalTitleRef = ref()\n const vPopper = ref | null>(null)\n\n // computed\n const currentPlacement = computed(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? 'bottom-start'\n : 'right-start'\n )\n const subMenuTitleIcon = computed(() => {\n return (mode.value === 'horizontal' && isFirstLevel.value) ||\n (mode.value === 'vertical' && !rootMenu.props.collapse)\n ? props.expandCloseIcon && props.expandOpenIcon\n ? opened.value\n ? props.expandOpenIcon\n : props.expandCloseIcon\n : ArrowDown\n : props.collapseCloseIcon && props.collapseOpenIcon\n ? opened.value\n ? props.collapseOpenIcon\n : props.collapseCloseIcon\n : ArrowRight\n })\n const isFirstLevel = computed(() => {\n return subMenu.level === 0\n })\n const appendToBody = computed(() => {\n const value = props.teleported\n return value === undefined ? isFirstLevel.value : value\n })\n const menuTransitionName = computed(() =>\n rootMenu.props.collapse\n ? `${nsMenu.namespace.value}-zoom-in-left`\n : `${nsMenu.namespace.value}-zoom-in-top`\n )\n const fallbackPlacements = computed(() =>\n mode.value === 'horizontal' && isFirstLevel.value\n ? [\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n 'right-start',\n 'left-start',\n ]\n : [\n 'right-start',\n 'right',\n 'right-end',\n 'left-start',\n 'bottom-start',\n 'bottom-end',\n 'top-start',\n 'top-end',\n ]\n )\n const opened = computed(() => rootMenu.openedMenus.includes(props.index))\n const active = computed(() => {\n let isActive = false\n\n Object.values(items.value).forEach((item) => {\n if (item.active) {\n isActive = true\n }\n })\n\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true\n }\n })\n\n return isActive\n })\n\n const mode = computed(() => rootMenu.props.mode)\n const item = reactive({\n index: props.index,\n indexPath,\n active,\n })\n\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1)\n\n const subMenuPopperOffset = computed(() => {\n return props.popperOffset ?? rootMenu.props.popperOffset\n })\n\n const subMenuPopperClass = computed(() => {\n return props.popperClass ?? rootMenu.props.popperClass\n })\n\n const subMenuShowTimeout = computed(() => {\n return props.showTimeout ?? rootMenu.props.showTimeout\n })\n\n const subMenuHideTimeout = computed(() => {\n return props.hideTimeout ?? rootMenu.props.hideTimeout\n })\n\n // methods\n const doDestroy = () =>\n vPopper.value?.popperRef?.popperInstanceRef?.destroy()\n\n const handleCollapseToggle = (value: boolean) => {\n if (!value) {\n doDestroy()\n }\n }\n\n const handleClick = () => {\n if (\n (rootMenu.props.menuTrigger === 'hover' &&\n rootMenu.props.mode === 'horizontal') ||\n (rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||\n props.disabled\n )\n return\n\n rootMenu.handleSubMenuClick({\n index: props.index,\n indexPath: indexPath.value,\n active: active.value,\n })\n }\n\n const handleMouseenter = (\n event: MouseEvent | FocusEvent,\n showTimeout = subMenuShowTimeout.value\n ) => {\n if (event.type === 'focus') {\n return\n }\n if (\n (rootMenu.props.menuTrigger === 'click' &&\n rootMenu.props.mode === 'horizontal') ||\n (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical') ||\n props.disabled\n ) {\n subMenu.mouseInChild.value = true\n return\n }\n subMenu.mouseInChild.value = true\n\n timeout?.()\n ;({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(props.index, indexPath.value)\n }, showTimeout))\n\n if (appendToBody.value) {\n parentMenu.value.vnode.el?.dispatchEvent(new MouseEvent('mouseenter'))\n }\n }\n\n const handleMouseleave = (deepDispatch = false) => {\n if (\n (rootMenu.props.menuTrigger === 'click' &&\n rootMenu.props.mode === 'horizontal') ||\n (!rootMenu.props.collapse && rootMenu.props.mode === 'vertical')\n ) {\n subMenu.mouseInChild.value = false\n return\n }\n timeout?.()\n subMenu.mouseInChild.value = false\n ;({ stop: timeout } = useTimeoutFn(\n () =>\n !mouseInChild.value &&\n rootMenu.closeMenu(props.index, indexPath.value),\n subMenuHideTimeout.value\n ))\n\n if (appendToBody.value && deepDispatch) {\n subMenu.handleMouseleave?.(true)\n }\n }\n\n watch(\n () => rootMenu.props.collapse,\n (value) => handleCollapseToggle(Boolean(value))\n )\n\n // provide\n {\n const addSubMenu: SubMenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n const removeSubMenu: SubMenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n provide(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1,\n })\n }\n\n // expose\n expose({\n opened,\n })\n\n // lifecycle\n onMounted(() => {\n rootMenu.addSubMenu(item)\n subMenu.addSubMenu(item)\n })\n\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item)\n rootMenu.removeSubMenu(item)\n })\n\n return () => {\n const titleTag: VNodeArrayChildren = [\n slots.title?.(),\n h(\n ElIcon,\n {\n class: nsSubMenu.e('icon-arrow'),\n style: {\n transform: opened.value\n ? (props.expandCloseIcon && props.expandOpenIcon) ||\n (props.collapseCloseIcon &&\n props.collapseOpenIcon &&\n rootMenu.props.collapse)\n ? 'none'\n : 'rotateZ(180deg)'\n : 'none',\n },\n },\n {\n default: () =>\n isString(subMenuTitleIcon.value)\n ? h(instance.appContext.components[subMenuTitleIcon.value])\n : h(subMenuTitleIcon.value),\n }\n ),\n ]\n\n // this render function is only used for bypass `Vue`'s compiler caused patching issue.\n // temporarily mark ElPopper as any due to type inconsistency.\n const child = rootMenu.isMenuPopup\n ? h(\n // TODO: correct popper's type.\n ElTooltip as any,\n {\n ref: vPopper,\n visible: opened.value,\n effect: 'light',\n pure: true,\n offset: subMenuPopperOffset.value,\n showArrow: false,\n persistent: true,\n popperClass: subMenuPopperClass.value,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false,\n },\n {\n content: () =>\n h(\n 'div',\n {\n class: [\n nsMenu.m(mode.value),\n nsMenu.m('popup-container'),\n subMenuPopperClass.value,\n ],\n onMouseenter: (evt: MouseEvent) =>\n handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt: FocusEvent) => handleMouseenter(evt, 100),\n },\n [\n h(\n 'ul',\n {\n class: [\n nsMenu.b(),\n nsMenu.m('popup'),\n nsMenu.m(`popup-${currentPlacement.value}`),\n ],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n ]\n ),\n default: () =>\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n onClick: handleClick,\n },\n titleTag\n ),\n }\n )\n : h(Fragment, {}, [\n h(\n 'div',\n {\n class: nsSubMenu.e('title'),\n ref: verticalTitleRef,\n onClick: handleClick,\n },\n titleTag\n ),\n h(\n ElCollapseTransition,\n {},\n {\n default: () =>\n withDirectives(\n h(\n 'ul',\n {\n role: 'menu',\n class: [nsMenu.b(), nsMenu.m('inline')],\n style: ulStyle.value,\n },\n [slots.default?.()]\n ),\n [[vShow, opened.value]]\n ),\n }\n ),\n ])\n\n return h(\n 'li',\n {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is('active', active.value),\n nsSubMenu.is('opened', opened.value),\n nsSubMenu.is('disabled', props.disabled),\n ],\n role: 'menuitem',\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(),\n onFocus: handleMouseenter,\n },\n [child]\n )\n }\n },\n})\n", "import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n watchEffect,\n withDirectives,\n} from 'vue'\n\nimport { useResizeObserver } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport ElIcon from '@element-plus/components/icon'\nimport { More } from '@element-plus/icons-vue'\nimport {\n buildProps,\n definePropType,\n flattedChildren,\n iconPropType,\n isArray,\n isObject,\n isString,\n mutable,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ClickOutside as vClickoutside } from '@element-plus/directives'\nimport Menubar from './utils/menu-bar'\nimport ElMenuCollapseTransition from './menu-collapse-transition.vue'\nimport ElSubMenu from './sub-menu'\nimport { useMenuCssVar } from './use-menu-css-var'\nimport type { PopperEffect } from '@element-plus/components/popper'\n\nimport type { MenuItemClicked, MenuProvider, SubMenuProvider } from './types'\nimport type { NavigationFailure, Router } from 'vue-router'\nimport type {\n Component,\n DirectiveArguments,\n ExtractPropTypes,\n VNode,\n VNodeArrayChildren,\n} from 'vue'\nimport type { UseResizeObserverReturn } from '@vueuse/core'\n\nexport const menuProps = buildProps({\n /**\n * @description menu display mode\n */\n mode: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'vertical',\n },\n /**\n * @description index of active menu on page load\n */\n defaultActive: {\n type: String,\n default: '',\n },\n /**\n * @description array that contains indexes of currently active sub-menus\n */\n defaultOpeneds: {\n type: definePropType(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether only one sub-menu can be active\n */\n uniqueOpened: Boolean,\n /**\n * @description whether `vue-router` mode is activated. If true, index will be used as 'path' to activate the route action. Use with `default-active` to set the active item on load.\n */\n router: Boolean,\n /**\n * @description how sub-menus are triggered, only works when `mode` is 'horizontal'\n */\n menuTrigger: {\n type: String,\n values: ['hover', 'click'],\n default: 'hover',\n },\n /**\n * @description whether the menu is collapsed (available only in vertical mode)\n */\n collapse: Boolean,\n /**\n * @description background color of Menu (hex format) (deprecated, use `--bg-color` instead)\n * @deprecated use `--bg-color` instead\n */\n backgroundColor: String,\n /**\n * @description text color of Menu (hex format) (deprecated, use `--text-color` instead)\n * @deprecated use `--text-color` instead\n */\n textColor: String,\n /**\n * @description text color of currently active menu item (hex format) (deprecated, use `--active-color` instead)\n * @deprecated use `--active-color` instead\n */\n activeTextColor: String,\n /**\n * @description optional, whether menu is collapsed when clicking outside\n */\n closeOnClickOutside: Boolean,\n /**\n * @description whether to enable the collapse transition\n */\n collapseTransition: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the menu is ellipsis (available only in horizontal mode)\n */\n ellipsis: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the popper (effective for all submenus)\n */\n popperOffset: {\n type: Number,\n default: 6,\n },\n /**\n * @description custom ellipsis icon (available only in horizontal mode and ellipsis is true)\n */\n ellipsisIcon: {\n type: iconPropType,\n default: () => More,\n },\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light` when menu is collapsed\n */\n popperEffect: {\n type: definePropType(String),\n default: 'dark',\n },\n /**\n * @description custom class name for all popup menus\n */\n popperClass: String,\n /**\n * @description control timeout for all menus before showing\n */\n showTimeout: {\n type: Number,\n default: 300,\n },\n /**\n * @description control timeout for all menus before hiding\n */\n hideTimeout: {\n type: Number,\n default: 300,\n },\n} as const)\nexport type MenuProps = ExtractPropTypes\n\nconst checkIndexPath = (indexPath: unknown): indexPath is string[] =>\n isArray(indexPath) && indexPath.every((path) => isString(path))\n\nexport const menuEmits = {\n close: (index: string, indexPath: string[]) =>\n isString(index) && checkIndexPath(indexPath),\n\n open: (index: string, indexPath: string[]) =>\n isString(index) && checkIndexPath(indexPath),\n\n select: (\n index: string,\n indexPath: string[],\n item: MenuItemClicked,\n routerResult?: Promise\n ) =>\n isString(index) &&\n checkIndexPath(indexPath) &&\n isObject(item) &&\n (routerResult === undefined || routerResult instanceof Promise),\n}\nexport type MenuEmits = typeof menuEmits\n\nexport default defineComponent({\n name: 'ElMenu',\n\n props: menuProps,\n emits: menuEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const menu = ref()\n const nsMenu = useNamespace('menu')\n const nsSubMenu = useNamespace('sub-menu')\n\n // data\n const sliceIndex = ref(-1)\n\n const openedMenus = ref(\n props.defaultOpeneds && !props.collapse\n ? props.defaultOpeneds.slice(0)\n : []\n )\n const activeIndex = ref(props.defaultActive)\n const items = ref({})\n const subMenus = ref({})\n\n // computed\n const isMenuPopup = computed(() => {\n return (\n props.mode === 'horizontal' ||\n (props.mode === 'vertical' && props.collapse)\n )\n })\n\n // methods\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value]\n if (!activeItem || props.mode === 'horizontal' || props.collapse) return\n\n const indexPath = activeItem.indexPath\n\n // 展开该菜单项的路径上所有子菜单\n // expand all subMenus of the menu item\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index]\n subMenu && openMenu(index, subMenu.indexPath)\n })\n }\n\n const openMenu: MenuProvider['openMenu'] = (index, indexPath) => {\n if (openedMenus.value.includes(index)) return\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index: string) =>\n indexPath.includes(index)\n )\n }\n openedMenus.value.push(index)\n emit('open', index, indexPath)\n }\n\n const close = (index: string) => {\n const i = openedMenus.value.indexOf(index)\n if (i !== -1) {\n openedMenus.value.splice(i, 1)\n }\n }\n\n const closeMenu: MenuProvider['closeMenu'] = (index, indexPath) => {\n close(index)\n emit('close', index, indexPath)\n }\n\n const handleSubMenuClick: MenuProvider['handleSubMenuClick'] = ({\n index,\n indexPath,\n }) => {\n const isOpened = openedMenus.value.includes(index)\n\n if (isOpened) {\n closeMenu(index, indexPath)\n } else {\n openMenu(index, indexPath)\n }\n }\n\n const handleMenuItemClick: MenuProvider['handleMenuItemClick'] = (\n menuItem\n ) => {\n if (props.mode === 'horizontal' || props.collapse) {\n openedMenus.value = []\n }\n\n const { index, indexPath } = menuItem\n if (isNil(index) || isNil(indexPath)) return\n\n if (props.router && router) {\n const route = menuItem.route || index\n const routerResult = router.push(route).then((res) => {\n if (!res) activeIndex.value = index\n return res\n })\n emit(\n 'select',\n index,\n indexPath,\n { index, indexPath, route },\n routerResult\n )\n } else {\n activeIndex.value = index\n emit('select', index, indexPath, { index, indexPath })\n }\n }\n\n const updateActiveIndex = (val: string) => {\n const itemsInData = items.value\n const item =\n itemsInData[val] ||\n (activeIndex.value && itemsInData[activeIndex.value]) ||\n itemsInData[props.defaultActive]\n\n if (item) {\n activeIndex.value = item.index\n } else {\n activeIndex.value = val\n }\n }\n\n const calcMenuItemWidth = (menuItem: HTMLElement) => {\n const computedStyle = getComputedStyle(menuItem)\n const marginLeft = Number.parseInt(computedStyle.marginLeft, 10)\n const marginRight = Number.parseInt(computedStyle.marginRight, 10)\n return menuItem.offsetWidth + marginLeft + marginRight || 0\n }\n\n const calcSliceIndex = () => {\n if (!menu.value) return -1\n const items = Array.from(menu.value?.childNodes ?? []).filter(\n (item) =>\n // remove comment type node #12634\n item.nodeName !== '#comment' &&\n (item.nodeName !== '#text' || item.nodeValue)\n ) as HTMLElement[]\n const moreItemWidth = 64\n const computedMenuStyle = getComputedStyle(menu.value!)\n const paddingLeft = Number.parseInt(computedMenuStyle.paddingLeft, 10)\n const paddingRight = Number.parseInt(computedMenuStyle.paddingRight, 10)\n const menuWidth = menu.value!.clientWidth - paddingLeft - paddingRight\n let calcWidth = 0\n let sliceIndex = 0\n items.forEach((item, index) => {\n calcWidth += calcMenuItemWidth(item)\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1\n }\n })\n return sliceIndex === items.length ? -1 : sliceIndex\n }\n\n const getIndexPath = (index: string) => subMenus.value[index].indexPath\n\n // Common computer monitor FPS is 60Hz, which means 60 redraws per second. Calculation formula: 1000ms/60 ≈ 16.67ms, In order to avoid a certain chance of repeated triggering when `resize`, set wait to 16.67 * 2 = 33.34\n const debounce = (fn: () => void, wait = 33.34) => {\n let timmer: ReturnType | null\n return () => {\n timmer && clearTimeout(timmer)\n timmer = setTimeout(() => {\n fn()\n }, wait)\n }\n }\n\n let isFirstTimeRender = true\n const handleResize = () => {\n if (sliceIndex.value === calcSliceIndex()) return\n const callback = () => {\n sliceIndex.value = -1\n nextTick(() => {\n sliceIndex.value = calcSliceIndex()\n })\n }\n // execute callback directly when first time resize to avoid shaking\n isFirstTimeRender ? callback() : debounce(callback)()\n isFirstTimeRender = false\n }\n\n watch(\n () => props.defaultActive,\n (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = ''\n }\n updateActiveIndex(currentActive)\n }\n )\n\n watch(\n () => props.collapse,\n (value) => {\n if (value) openedMenus.value = []\n }\n )\n\n watch(items.value, initMenu)\n\n let resizeStopper: UseResizeObserverReturn['stop']\n watchEffect(() => {\n if (props.mode === 'horizontal' && props.ellipsis)\n resizeStopper = useResizeObserver(menu, handleResize).stop\n else resizeStopper?.()\n })\n\n const mouseInChild = ref(false)\n\n // provide\n {\n const addSubMenu: MenuProvider['addSubMenu'] = (item) => {\n subMenus.value[item.index] = item\n }\n\n const removeSubMenu: MenuProvider['removeSubMenu'] = (item) => {\n delete subMenus.value[item.index]\n }\n\n const addMenuItem: MenuProvider['addMenuItem'] = (item) => {\n items.value[item.index] = item\n }\n\n const removeMenuItem: MenuProvider['removeMenuItem'] = (item) => {\n delete items.value[item.index]\n }\n provide(\n 'rootMenu',\n reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick,\n })\n )\n provide(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild,\n level: 0,\n })\n }\n\n // lifecycle\n onMounted(() => {\n if (props.mode === 'horizontal') {\n new Menubar(instance.vnode.el!, nsMenu.namespace.value)\n }\n })\n\n {\n const open = (index: string) => {\n const { indexPath } = subMenus.value[index]\n indexPath.forEach((i) => openMenu(i, indexPath))\n }\n\n expose({\n open,\n close,\n handleResize,\n })\n }\n\n const ulStyle = useMenuCssVar(props, 0)\n\n return () => {\n let slot: VNodeArrayChildren = slots.default?.() ?? []\n const vShowMore: VNode[] = []\n\n if (props.mode === 'horizontal' && menu.value) {\n const originalSlot = flattedChildren(slot) as VNodeArrayChildren\n const slotDefault =\n sliceIndex.value === -1\n ? originalSlot\n : originalSlot.slice(0, sliceIndex.value)\n\n const slotMore =\n sliceIndex.value === -1 ? [] : originalSlot.slice(sliceIndex.value)\n\n if (slotMore?.length && props.ellipsis) {\n slot = slotDefault\n vShowMore.push(\n h(\n ElSubMenu,\n {\n index: 'sub-menu-more',\n class: nsSubMenu.e('hide-arrow'),\n popperOffset: props.popperOffset,\n },\n {\n title: () =>\n h(\n ElIcon,\n {\n class: nsSubMenu.e('icon-more'),\n },\n {\n default: () => h(props.ellipsisIcon as Component),\n }\n ),\n default: () => slotMore,\n }\n )\n )\n }\n }\n\n const directives: DirectiveArguments = props.closeOnClickOutside\n ? [\n [\n vClickoutside,\n () => {\n if (!openedMenus.value.length) return\n\n if (!mouseInChild.value) {\n openedMenus.value.forEach((openedMenu) =>\n emit('close', openedMenu, getIndexPath(openedMenu))\n )\n\n openedMenus.value = []\n }\n },\n ],\n ]\n : []\n\n const vMenu = withDirectives(\n h(\n 'ul',\n {\n key: String(props.collapse),\n role: 'menubar',\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m('collapse')]: props.collapse,\n },\n },\n [...slot, ...vShowMore]\n ),\n directives\n )\n\n if (props.collapseTransition && props.mode === 'vertical') {\n return h(ElMenuCollapseTransition, () => vMenu)\n }\n\n return vMenu\n }\n },\n})\n", "import {\n buildProps,\n definePropType,\n isArray,\n isString,\n} from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport type { MenuItemRegistered } from './types'\n\nexport const menuItemProps = buildProps({\n /**\n * @description unique identification\n */\n index: {\n type: definePropType([String, null]),\n default: null,\n },\n /**\n * @description Vue Router object\n */\n route: {\n type: definePropType([String, Object]),\n },\n /**\n * @description whether disabled\n */\n disabled: Boolean,\n} as const)\nexport type MenuItemProps = ExtractPropTypes\n\nexport const menuItemEmits = {\n click: (item: MenuItemRegistered) =>\n isString(item.index) && isArray(item.indexPath),\n}\nexport type MenuItemEmits = typeof menuItemEmits\n", "\n\n\n", "import type { ExtractPropTypes } from 'vue'\n\nexport const menuItemGroupProps = {\n /**\n * @description group title\n */\n title: String,\n} as const\nexport type MenuItemGroupProps = ExtractPropTypes\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Menu from './src/menu'\nimport MenuItem from './src/menu-item.vue'\nimport MenuItemGroup from './src/menu-item-group.vue'\nimport SubMenu from './src/sub-menu'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElMenu: SFCWithInstall & {\n MenuItem: typeof MenuItem\n MenuItemGroup: typeof MenuItemGroup\n SubMenu: typeof SubMenu\n} = withInstall(Menu, {\n MenuItem,\n MenuItemGroup,\n SubMenu,\n})\nexport default ElMenu\nexport const ElMenuItem: SFCWithInstall =\n withNoopInstall(MenuItem)\nexport const ElMenuItemGroup: SFCWithInstall =\n withNoopInstall(MenuItemGroup)\nexport const ElSubMenu: SFCWithInstall =\n withNoopInstall(SubMenu)\n\nexport * from './src/menu'\nexport * from './src/menu-item'\nexport * from './src/menu-item-group'\nexport * from './src/sub-menu'\nexport * from './src/types'\nexport * from './src/instance'\n", "import { buildProps, iconPropType } from '@element-plus/utils'\nimport { Back } from '@element-plus/icons-vue'\nimport type { ExtractPropTypes } from 'vue'\nimport type PageHeader from './page-header.vue'\n\nexport const pageHeaderProps = buildProps({\n /**\n * @description icon component of page header\n */\n icon: {\n type: iconPropType,\n default: () => Back,\n },\n /**\n * @description main title of page header\n */\n title: String,\n /**\n * @description content of page header\n */\n content: {\n type: String,\n default: '',\n },\n} as const)\nexport type PageHeaderProps = ExtractPropTypes\n\nexport const pageHeaderEmits = {\n back: () => true,\n}\nexport type PageHeaderEmits = typeof pageHeaderEmits\n\nexport type PageHeaderInstance = InstanceType\n", "\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport PageHeader from './src/page-header.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElPageHeader: SFCWithInstall =\n withInstall(PageHeader)\nexport default ElPageHeader\n\nexport * from './src/page-header'\n", "import type { ComputedRef, InjectionKey, WritableComputedRef } from 'vue'\n\nexport interface ElPaginationContext {\n currentPage?: WritableComputedRef\n pageCount?: ComputedRef\n disabled?: ComputedRef\n changeEvent?: (val: number) => void\n handleSizeChange?: (val: number) => void\n}\n\nexport const elPaginationKey: InjectionKey =\n Symbol('elPaginationKey')\n", "import { buildProps, iconPropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Prev from './prev.vue'\n\nexport const paginationPrevProps = buildProps({\n disabled: Boolean,\n currentPage: {\n type: Number,\n default: 1,\n },\n prevText: {\n type: String,\n },\n prevIcon: {\n type: iconPropType,\n },\n} as const)\n\nexport const paginationPrevEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\n\nexport type PaginationPrevProps = ExtractPropTypes\n\nexport type PrevInstance = InstanceType\n", "\n\n\n", "import { buildProps, iconPropType } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Next from './next.vue'\n\nexport const paginationNextProps = buildProps({\n disabled: Boolean,\n currentPage: {\n type: Number,\n default: 1,\n },\n pageCount: {\n type: Number,\n default: 50,\n },\n nextText: {\n type: String,\n },\n nextIcon: {\n type: iconPropType,\n },\n} as const)\n\nexport type PaginationNextProps = ExtractPropTypes\n\nexport type NextInstance = InstanceType\n", "\n\n\n", "import type { ExtractPropTypes, InjectionKey } from 'vue'\nimport type { SelectProps } from './select'\n\ninterface SelectGroupContext {\n disabled: boolean\n}\n\nexport interface SelectContext {\n props: ExtractPropTypes\n states: any\n expanded: boolean\n selectRef: HTMLElement\n optionsArray: any[]\n setSelected(): void\n onOptionCreate(vm: SelectOptionProxy): void\n onOptionDestroy(\n key: number | string | Record,\n vm: SelectOptionProxy\n ): void\n handleOptionSelect(vm: SelectOptionProxy): void\n}\n\n// For individual build sharing injection key, we had to make `Symbol` to string\nexport const selectGroupKey: InjectionKey =\n Symbol('ElSelectGroup')\n\nexport const selectKey: InjectionKey = Symbol('ElSelect')\n\nexport interface SelectOptionProxy {\n value: string | number | Record\n label: string | number\n created: boolean\n disabled: boolean\n currentLabel: string\n itemSelected: boolean\n isDisabled: boolean\n select: SelectContext\n hoverItem: () => void\n updateOption: (query: string) => void\n visible: boolean\n hover: boolean\n selectOptionClick: () => void\n}\n\nexport type ISelectProps = ExtractPropTypes\n", "// @ts-nocheck\nimport { computed, getCurrentInstance, inject, toRaw, watch } from 'vue'\nimport { get } from 'lodash-unified'\nimport { ensureArray, escapeStringRegexp, isObject } from '@element-plus/utils'\nimport { selectGroupKey, selectKey } from './token'\n\nexport function useOption(props, states) {\n // inject\n const select = inject(selectKey)\n const selectGroup = inject(selectGroupKey, { disabled: false })\n\n // computed\n const itemSelected = computed(() => {\n return contains(ensureArray(select.props.modelValue), props.value)\n })\n\n const limitReached = computed(() => {\n if (select.props.multiple) {\n const modelValue = ensureArray(select.props.modelValue ?? [])\n return (\n !itemSelected.value &&\n modelValue.length >= select.props.multipleLimit &&\n select.props.multipleLimit > 0\n )\n } else {\n return false\n }\n })\n\n const currentLabel = computed(() => {\n return props.label || (isObject(props.value) ? '' : props.value)\n })\n\n const currentValue = computed(() => {\n return props.value || props.label || ''\n })\n\n const isDisabled = computed(() => {\n return props.disabled || states.groupDisabled || limitReached.value\n })\n\n const instance = getCurrentInstance()\n\n const contains = (arr = [], target) => {\n if (!isObject(props.value)) {\n return arr && arr.includes(target)\n } else {\n const valueKey = select.props.valueKey\n return (\n arr &&\n arr.some((item) => {\n return toRaw(get(item, valueKey)) === get(target, valueKey)\n })\n )\n }\n }\n\n const hoverItem = () => {\n if (!props.disabled && !selectGroup.disabled) {\n select.states.hoveringIndex = select.optionsArray.indexOf(instance.proxy)\n }\n }\n\n const updateOption = (query: string) => {\n const regexp = new RegExp(escapeStringRegexp(query), 'i')\n states.visible = regexp.test(currentLabel.value) || props.created\n }\n\n watch(\n () => currentLabel.value,\n () => {\n if (!props.created && !select.props.remote) select.setSelected()\n }\n )\n\n watch(\n () => props.value,\n (val, oldVal) => {\n const { remote, valueKey } = select.props\n\n if (val !== oldVal) {\n select.onOptionDestroy(oldVal, instance.proxy)\n select.onOptionCreate(instance.proxy)\n }\n\n if (!props.created && !remote) {\n if (\n valueKey &&\n isObject(val) &&\n isObject(oldVal) &&\n val[valueKey] === oldVal[valueKey]\n ) {\n return\n }\n select.setSelected()\n }\n }\n )\n\n watch(\n () => selectGroup.disabled,\n () => {\n states.groupDisabled = selectGroup.disabled\n },\n { immediate: true }\n )\n\n return {\n select,\n currentLabel,\n currentValue,\n itemSelected,\n isDisabled,\n hoverItem,\n updateOption,\n }\n}\n", "\n\n\n", "\n\n\n", "// @ts-nocheck\nimport {\n computed,\n nextTick,\n onMounted,\n reactive,\n ref,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n findLastIndex,\n get,\n isEqual,\n debounce as lodashDebounce,\n} from 'lodash-unified'\nimport { useResizeObserver } from '@vueuse/core'\nimport {\n ValidateComponentsMap,\n debugWarn,\n ensureArray,\n isArray,\n isClient,\n isFunction,\n isIOS,\n isNumber,\n isObject,\n isPlainObject,\n isUndefined,\n scrollIntoView,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n useComposition,\n useEmptyValues,\n useFocusController,\n useId,\n useLocale,\n useNamespace,\n} from '@element-plus/hooks'\nimport {\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\n\nimport type ElTooltip from '@element-plus/components/tooltip'\nimport type { ISelectProps, SelectOptionProxy } from './token'\n\nconst MINIMUM_INPUT_WIDTH = 11\n\nexport const useSelect = (props: ISelectProps, emit) => {\n const { t } = useLocale()\n const contentId = useId()\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n\n const states = reactive({\n inputValue: '',\n options: new Map(),\n cachedOptions: new Map(),\n optionValues: [] as any[], // sorted value of options\n selected: [] as any[],\n selectionWidth: 0,\n calculatorWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: '',\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: false,\n menuVisibleOnFocus: false,\n isBeforeHide: false,\n })\n\n // template refs\n const selectRef = ref(null)\n const selectionRef = ref(null)\n const tooltipRef = ref | null>(null)\n const tagTooltipRef = ref | null>(null)\n const inputRef = ref(null)\n const calculatorRef = ref(null)\n const prefixRef = ref(null)\n const suffixRef = ref(null)\n const menuRef = ref(null)\n const tagMenuRef = ref(null)\n const collapseItemRef = ref(null)\n const scrollbarRef = ref<{\n handleScroll: () => void\n } | null>(null)\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({\n afterComposition: (e) => onInput(e),\n })\n\n const { wrapperRef, isFocused, handleBlur } = useFocusController(inputRef, {\n beforeFocus() {\n return selectDisabled.value\n },\n afterFocus() {\n if (props.automaticDropdown && !expanded.value) {\n expanded.value = true\n states.menuVisibleOnFocus = true\n }\n },\n beforeBlur(event) {\n return (\n tooltipRef.value?.isFocusInsideContent(event) ||\n tagTooltipRef.value?.isFocusInsideContent(event)\n )\n },\n afterBlur() {\n expanded.value = false\n states.menuVisibleOnFocus = false\n },\n })\n\n // the controller of the expanded popup\n const expanded = ref(false)\n const hoverOption = ref()\n\n const { form, formItem } = useFormItem()\n const { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n })\n const { valueOnClear, isEmptyValue } = useEmptyValues(props)\n\n const selectDisabled = computed(() => props.disabled || form?.disabled)\n\n const hasModelValue = computed(() => {\n return isArray(props.modelValue)\n ? props.modelValue.length > 0\n : !isEmptyValue(props.modelValue)\n })\n\n const needStatusIcon = computed(() => form?.statusIcon ?? false)\n\n const showClose = computed(() => {\n return (\n props.clearable &&\n !selectDisabled.value &&\n states.inputHovering &&\n hasModelValue.value\n )\n })\n const iconComponent = computed(() =>\n props.remote && props.filterable && !props.remoteShowSuffix\n ? ''\n : props.suffixIcon\n )\n const iconReverse = computed(() =>\n nsSelect.is('reverse', iconComponent.value && expanded.value)\n )\n\n const validateState = computed(() => formItem?.validateState || '')\n const validateIcon = computed(\n () => ValidateComponentsMap[validateState.value]\n )\n\n const debounce = computed(() => (props.remote ? 300 : 0))\n\n const emptyText = computed(() => {\n if (props.loading) {\n return props.loadingText || t('el.select.loading')\n } else {\n if (props.remote && !states.inputValue && states.options.size === 0)\n return false\n if (\n props.filterable &&\n states.inputValue &&\n states.options.size > 0 &&\n filteredOptionsCount.value === 0\n ) {\n return props.noMatchText || t('el.select.noMatch')\n }\n if (states.options.size === 0) {\n return props.noDataText || t('el.select.noData')\n }\n }\n return null\n })\n\n const filteredOptionsCount = computed(\n () => optionsArray.value.filter((option) => option.visible).length\n )\n\n const optionsArray = computed(() => {\n const list = Array.from(states.options.values())\n const newList = []\n states.optionValues.forEach((item) => {\n const index = list.findIndex((i) => i.value === item)\n if (index > -1) {\n newList.push(list[index])\n }\n })\n return newList.length >= list.length ? newList : list\n })\n\n const cachedOptionsArray = computed(() =>\n Array.from(states.cachedOptions.values())\n )\n\n const showNewOption = computed(() => {\n const hasExistingOption = optionsArray.value\n .filter((option) => {\n return !option.created\n })\n .some((option) => {\n return option.currentLabel === states.inputValue\n })\n return (\n props.filterable &&\n props.allowCreate &&\n states.inputValue !== '' &&\n !hasExistingOption\n )\n })\n\n const updateOptions = () => {\n if (props.filterable && isFunction(props.filterMethod)) return\n if (props.filterable && props.remote && isFunction(props.remoteMethod))\n return\n optionsArray.value.forEach((option) => {\n option.updateOption?.(states.inputValue)\n })\n }\n\n const selectSize = useFormSize()\n\n const collapseTagSize = computed(() =>\n ['small'].includes(selectSize.value) ? 'small' : 'default'\n )\n\n const dropdownMenuVisible = computed({\n get() {\n return expanded.value && emptyText.value !== false\n },\n set(val: boolean) {\n expanded.value = val\n },\n })\n\n const shouldShowPlaceholder = computed(() => {\n if (props.multiple && !isUndefined(props.modelValue)) {\n return ensureArray(props.modelValue).length === 0 && !states.inputValue\n }\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n return props.filterable || isUndefined(value) ? !states.inputValue : true\n })\n\n const currentPlaceholder = computed(() => {\n const _placeholder = props.placeholder ?? t('el.select.placeholder')\n return props.multiple || !hasModelValue.value\n ? _placeholder\n : states.selectedLabel\n })\n\n // iOS Safari does not handle click events when a mouseenter event is registered and a DOM-change happens in a child\n // We use a Vue custom event binding to only register the event on non-iOS devices\n // ref.: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n // Github Issue: https://github.com/vuejs/vue/issues/9859\n const mouseEnterEventName = computed(() => (isIOS ? null : 'mouseenter'))\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (props.multiple) {\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n handleQueryChange('')\n }\n }\n setSelected()\n if (!isEqual(val, oldVal) && props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n {\n flush: 'post',\n deep: true,\n }\n )\n\n watch(\n () => expanded.value,\n (val) => {\n if (val) {\n handleQueryChange(states.inputValue)\n } else {\n states.inputValue = ''\n states.previousQuery = null\n states.isBeforeHide = true\n }\n emit('visible-change', val)\n }\n )\n\n watch(\n // fix `Array.prototype.push/splice/..` cannot trigger non-deep watcher\n // https://github.com/vuejs/vue-next/issues/2116\n () => states.options.entries(),\n () => {\n if (!isClient) return\n // tooltipRef.value?.updatePopper?.()\n const inputs = selectRef.value?.querySelectorAll('input') || []\n if (\n (!props.filterable &&\n !props.defaultFirstOption &&\n !isUndefined(props.modelValue)) ||\n !Array.from(inputs).includes(document.activeElement as HTMLInputElement)\n ) {\n setSelected()\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n checkDefaultFirstOption()\n }\n },\n {\n flush: 'post',\n }\n )\n\n watch(\n () => states.hoveringIndex,\n (val) => {\n if (isNumber(val) && val > -1) {\n hoverOption.value = optionsArray.value[val] || {}\n } else {\n hoverOption.value = {}\n }\n optionsArray.value.forEach((option) => {\n option.hover = hoverOption.value === option\n })\n }\n )\n\n watchEffect(() => {\n // Anything could cause options changed, then update options\n // If you want to control it by condition, write here\n if (states.isBeforeHide) return\n updateOptions()\n })\n\n const handleQueryChange = (val: string) => {\n if (states.previousQuery === val || isComposing.value) {\n return\n }\n states.previousQuery = val\n if (props.filterable && isFunction(props.filterMethod)) {\n props.filterMethod(val)\n } else if (\n props.filterable &&\n props.remote &&\n isFunction(props.remoteMethod)\n ) {\n props.remoteMethod(val)\n }\n if (\n props.defaultFirstOption &&\n (props.filterable || props.remote) &&\n filteredOptionsCount.value\n ) {\n nextTick(checkDefaultFirstOption)\n } else {\n nextTick(updateHoveringIndex)\n }\n }\n\n /**\n * find and highlight first option as default selected\n * @remark\n * - if the first option in dropdown list is user-created,\n * it would be at the end of the optionsArray\n * so find it and set hover.\n * (NOTE: there must be only one user-created option in dropdown list with query)\n * - if there's no user-created option in list, just find the first one as usual\n * (NOTE: exclude options that are disabled or in disabled-group)\n */\n const checkDefaultFirstOption = () => {\n const optionsInDropdown = optionsArray.value.filter(\n (n) => n.visible && !n.disabled && !n.states.groupDisabled\n )\n const userCreatedOption = optionsInDropdown.find((n) => n.created)\n const firstOriginOption = optionsInDropdown[0]\n const valueList = optionsArray.value.map((item) => item.value)\n states.hoveringIndex = getValueIndex(\n valueList,\n userCreatedOption || firstOriginOption\n )\n }\n\n const setSelected = () => {\n if (!props.multiple) {\n const value = isArray(props.modelValue)\n ? props.modelValue[0]\n : props.modelValue\n const option = getOption(value)\n states.selectedLabel = option.currentLabel\n states.selected = [option]\n return\n } else {\n states.selectedLabel = ''\n }\n const result: any[] = []\n if (!isUndefined(props.modelValue)) {\n ensureArray(props.modelValue).forEach((value) => {\n result.push(getOption(value))\n })\n }\n states.selected = result\n }\n\n const getOption = (value) => {\n let option\n const isObjectValue = isPlainObject(value)\n\n for (let i = states.cachedOptions.size - 1; i >= 0; i--) {\n const cachedOption = cachedOptionsArray.value[i]\n const isEqualValue = isObjectValue\n ? get(cachedOption.value, props.valueKey) === get(value, props.valueKey)\n : cachedOption.value === value\n if (isEqualValue) {\n option = {\n value,\n currentLabel: cachedOption.currentLabel,\n get isDisabled() {\n return cachedOption.isDisabled\n },\n }\n break\n }\n }\n if (option) return option\n const label = isObjectValue ? value.label : value ?? ''\n const newOption = {\n value,\n currentLabel: label,\n }\n return newOption\n }\n\n const updateHoveringIndex = () => {\n states.hoveringIndex = optionsArray.value.findIndex((item) =>\n states.selected.some(\n (selected) => getValueKey(selected) === getValueKey(item)\n )\n )\n }\n\n const resetSelectionWidth = () => {\n states.selectionWidth = selectionRef.value.getBoundingClientRect().width\n }\n\n const resetCalculatorWidth = () => {\n states.calculatorWidth = calculatorRef.value.getBoundingClientRect().width\n }\n\n const resetCollapseItemWidth = () => {\n states.collapseItemWidth =\n collapseItemRef.value.getBoundingClientRect().width\n }\n\n const updateTooltip = () => {\n tooltipRef.value?.updatePopper?.()\n }\n\n const updateTagTooltip = () => {\n tagTooltipRef.value?.updatePopper?.()\n }\n\n const onInputChange = () => {\n if (states.inputValue.length > 0 && !expanded.value) {\n expanded.value = true\n }\n handleQueryChange(states.inputValue)\n }\n\n const onInput = (event) => {\n states.inputValue = event.target.value\n if (props.remote) {\n debouncedOnInputChange()\n } else {\n return onInputChange()\n }\n }\n\n const debouncedOnInputChange = lodashDebounce(() => {\n onInputChange()\n }, debounce.value)\n\n const emitChange = (val) => {\n if (!isEqual(props.modelValue, val)) {\n emit(CHANGE_EVENT, val)\n }\n }\n\n const getLastNotDisabledIndex = (value) =>\n findLastIndex(value, (it) => {\n const option = states.cachedOptions.get(it)\n return option && !option.disabled && !option.states.groupDisabled\n })\n\n const deletePrevTag = (e) => {\n if (!props.multiple) return\n if (e.code === EVENT_CODE.delete) return\n if (e.target.value.length <= 0) {\n const value = ensureArray(props.modelValue).slice()\n const lastNotDisabledIndex = getLastNotDisabledIndex(value)\n if (lastNotDisabledIndex < 0) return\n const removeTagValue = value[lastNotDisabledIndex]\n value.splice(lastNotDisabledIndex, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', removeTagValue)\n }\n }\n\n const deleteTag = (event, tag) => {\n const index = states.selected.indexOf(tag)\n if (index > -1 && !selectDisabled.value) {\n const value = ensureArray(props.modelValue).slice()\n value.splice(index, 1)\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n emit('remove-tag', tag.value)\n }\n event.stopPropagation()\n focus()\n }\n\n const deleteSelected = (event) => {\n event.stopPropagation()\n const value: string | any[] = props.multiple ? [] : valueOnClear.value\n if (props.multiple) {\n for (const item of states.selected) {\n if (item.isDisabled) value.push(item.value)\n }\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n states.hoveringIndex = -1\n expanded.value = false\n emit('clear')\n focus()\n }\n\n const handleOptionSelect = (option) => {\n if (props.multiple) {\n const value = ensureArray(props.modelValue ?? []).slice()\n const optionIndex = getValueIndex(value, option)\n if (optionIndex > -1) {\n value.splice(optionIndex, 1)\n } else if (\n props.multipleLimit <= 0 ||\n value.length < props.multipleLimit\n ) {\n value.push(option.value)\n }\n emit(UPDATE_MODEL_EVENT, value)\n emitChange(value)\n if (option.created) {\n handleQueryChange('')\n }\n if (props.filterable && !props.reserveKeyword) {\n states.inputValue = ''\n }\n } else {\n emit(UPDATE_MODEL_EVENT, option.value)\n emitChange(option.value)\n expanded.value = false\n }\n focus()\n if (expanded.value) return\n nextTick(() => {\n scrollToOption(option)\n })\n }\n\n const getValueIndex = (arr: any[] = [], option) => {\n if (isUndefined(option)) return -1\n if (!isObject(option.value)) return arr.indexOf(option.value)\n\n return arr.findIndex((item) => {\n return isEqual(get(item, props.valueKey), getValueKey(option))\n })\n }\n\n const scrollToOption = (option) => {\n const targetOption = isArray(option) ? option[0] : option\n let target = null\n\n if (targetOption?.value) {\n const options = optionsArray.value.filter(\n (item) => item.value === targetOption.value\n )\n if (options.length > 0) {\n target = options[0].$el\n }\n }\n\n if (tooltipRef.value && target) {\n const menu = tooltipRef.value?.popperRef?.contentRef?.querySelector?.(\n `.${nsSelect.be('dropdown', 'wrap')}`\n )\n if (menu) {\n scrollIntoView(menu as HTMLElement, target)\n }\n }\n scrollbarRef.value?.handleScroll()\n }\n\n const onOptionCreate = (vm: SelectOptionProxy) => {\n states.options.set(vm.value, vm)\n states.cachedOptions.set(vm.value, vm)\n }\n\n const onOptionDestroy = (key, vm: SelectOptionProxy) => {\n if (states.options.get(key) === vm) {\n states.options.delete(key)\n }\n }\n\n const popperRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const handleMenuEnter = () => {\n states.isBeforeHide = false\n nextTick(() => scrollToOption(states.selected))\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n if (expanded.value) {\n expanded.value = false\n nextTick(() => inputRef.value?.blur())\n return\n }\n inputRef.value?.blur()\n }\n\n const handleClearClick = (event: Event) => {\n deleteSelected(event)\n }\n\n const handleClickOutside = (event: Event) => {\n expanded.value = false\n\n if (isFocused.value) {\n const _event = new FocusEvent('focus', event)\n nextTick(() => handleBlur(_event))\n }\n }\n\n const handleEsc = () => {\n if (states.inputValue.length > 0) {\n states.inputValue = ''\n } else {\n expanded.value = false\n }\n }\n\n const toggleMenu = () => {\n if (selectDisabled.value) return\n\n // We only set the inputHovering state to true on mouseenter event on iOS devices\n // To keep the state updated we set it here to true\n if (isIOS) states.inputHovering = true\n\n if (states.menuVisibleOnFocus) {\n // controlled by automaticDropdown\n states.menuVisibleOnFocus = false\n } else {\n expanded.value = !expanded.value\n }\n }\n\n const selectOption = () => {\n if (!expanded.value) {\n toggleMenu()\n } else {\n const option = optionsArray.value[states.hoveringIndex]\n if (option && !option.disabled && !option.states.groupDisabled) {\n handleOptionSelect(option)\n }\n }\n }\n\n const getValueKey = (item) => {\n return isObject(item.value) ? get(item.value, props.valueKey) : item.value\n }\n\n const optionsAllDisabled = computed(() =>\n optionsArray.value\n .filter((option) => option.visible)\n .every((option) => option.disabled)\n )\n\n const showTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(0, props.maxCollapseTags)\n : states.selected\n })\n\n const collapseTagList = computed(() => {\n if (!props.multiple) {\n return []\n }\n return props.collapseTags\n ? states.selected.slice(props.maxCollapseTags)\n : []\n })\n\n const navigateOptions = (direction) => {\n if (!expanded.value) {\n expanded.value = true\n return\n }\n if (\n states.options.size === 0 ||\n states.filteredOptionsCount === 0 ||\n isComposing.value\n )\n return\n\n if (!optionsAllDisabled.value) {\n if (direction === 'next') {\n states.hoveringIndex++\n if (states.hoveringIndex === states.options.size) {\n states.hoveringIndex = 0\n }\n } else if (direction === 'prev') {\n states.hoveringIndex--\n if (states.hoveringIndex < 0) {\n states.hoveringIndex = states.options.size - 1\n }\n }\n const option = optionsArray.value[states.hoveringIndex]\n if (\n option.disabled === true ||\n option.states.groupDisabled === true ||\n !option.visible\n ) {\n navigateOptions(direction)\n }\n nextTick(() => scrollToOption(hoverOption.value))\n }\n }\n\n const getGapWidth = () => {\n if (!selectionRef.value) return 0\n const style = window.getComputedStyle(selectionRef.value)\n return Number.parseFloat(style.gap || '6px')\n }\n\n // computed style\n const tagStyle = computed(() => {\n const gapWidth = getGapWidth()\n const maxWidth =\n collapseItemRef.value && props.maxCollapseTags === 1\n ? states.selectionWidth - states.collapseItemWidth - gapWidth\n : states.selectionWidth\n return { maxWidth: `${maxWidth}px` }\n })\n\n const collapseTagStyle = computed(() => {\n return { maxWidth: `${states.selectionWidth}px` }\n })\n\n const inputStyle = computed(() => ({\n width: `${Math.max(states.calculatorWidth, MINIMUM_INPUT_WIDTH)}px`,\n }))\n\n useResizeObserver(selectionRef, resetSelectionWidth)\n useResizeObserver(calculatorRef, resetCalculatorWidth)\n useResizeObserver(menuRef, updateTooltip)\n useResizeObserver(wrapperRef, updateTooltip)\n useResizeObserver(tagMenuRef, updateTagTooltip)\n useResizeObserver(collapseItemRef, resetCollapseItemWidth)\n\n onMounted(() => {\n setSelected()\n })\n\n return {\n inputId,\n contentId,\n nsSelect,\n nsInput,\n states,\n isFocused,\n expanded,\n optionsArray,\n hoverOption,\n selectSize,\n filteredOptionsCount,\n resetCalculatorWidth,\n updateTooltip,\n updateTagTooltip,\n debouncedOnInputChange,\n onInput,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n hasModelValue,\n shouldShowPlaceholder,\n currentPlaceholder,\n mouseEnterEventName,\n needStatusIcon,\n showClose,\n iconComponent,\n iconReverse,\n validateState,\n validateIcon,\n showNewOption,\n updateOptions,\n collapseTagSize,\n setSelected,\n selectDisabled,\n emptyText,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n focus,\n blur,\n handleClearClick,\n handleClickOutside,\n handleEsc,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropdownMenuVisible,\n showTagList,\n collapseTagList,\n\n // computed style\n tagStyle,\n collapseTagStyle,\n inputStyle,\n\n // DOM ref\n popperRef,\n inputRef,\n tooltipRef,\n tagTooltipRef,\n calculatorRef,\n prefixRef,\n suffixRef,\n selectRef,\n wrapperRef,\n selectionRef,\n scrollbarRef,\n menuRef,\n tagMenuRef,\n collapseItemRef,\n }\n}\n", "import { defineComponent, inject } from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { isArray, isFunction, isString } from '@element-plus/utils'\nimport { selectKey } from './token'\nimport type { Component, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport default defineComponent({\n name: 'ElOptions',\n setup(_, { slots }) {\n const select = inject(selectKey)\n let cachedValueList: any[] = []\n\n return () => {\n const children = slots.default?.()!\n const valueList: any[] = []\n\n function filterOptions(children?: VNodeNormalizedChildren) {\n if (!isArray(children)) return\n ;(children as VNode[]).forEach((item) => {\n const name = ((item?.type || {}) as Component)?.name\n\n if (name === 'ElOptionGroup') {\n filterOptions(\n !isString(item.children) &&\n !isArray(item.children) &&\n isFunction(item.children?.default)\n ? item.children?.default()\n : item.children\n )\n } else if (name === 'ElOption') {\n valueList.push(item.props?.value)\n } else if (isArray(item.children)) {\n filterOptions(item.children)\n }\n })\n }\n\n if (children.length) {\n filterOptions(children[0]?.children)\n }\n\n if (!isEqual(valueList, cachedValueList)) {\n cachedValueList = valueList\n if (select) {\n select.states.optionValues = valueList\n }\n }\n\n return children\n }\n },\n})\n", "import { placements } from '@popperjs/core'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { buildProps, definePropType, iconPropType } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { ArrowDown, CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '@element-plus/components/tag'\nimport type {\n Options,\n Placement,\n PopperEffect,\n} from '@element-plus/components/popper'\n\nexport const SelectProps = buildProps({\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description native input id\n */\n id: String,\n /**\n * @description binding value\n */\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n /**\n * @description the autocomplete attribute of select input\n */\n autocomplete: {\n type: String,\n default: 'off',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description size of Input\n */\n size: useSizeProp,\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType(String),\n default: 'light',\n },\n /**\n * @description whether Select is disabled\n */\n disabled: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether Select is filterable\n */\n filterable: Boolean,\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType>(Object),\n default: () => ({} as Partial),\n },\n /**\n * @description whether options are loaded from server\n */\n remote: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'\n */\n noDataText: String,\n /**\n * @description custom remote search method\n */\n remoteMethod: Function,\n /**\n * @description custom filter method\n */\n filterMethod: Function,\n /**\n * @description whether multiple-select is activated\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description placeholder, default is 'Select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description select first matching option on enter key. Use with `filterable` or `remote`\n */\n defaultFirstOption: Boolean,\n /**\n * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description the max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom clear icon component\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description whether the width of the dropdown is the same as the input\n */\n fitInputWidth: Boolean,\n /**\n * @description custom suffix icon component\n */\n suffixIcon: {\n type: iconPropType,\n default: ArrowDown,\n },\n /**\n * @description tag type\n */\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description in remote search method show suffix icon\n */\n remoteShowSuffix: Boolean,\n /**\n * @description determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the dropdown\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description which element the selection dropdown appends to\n */\n appendTo: String,\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n})\n", "\n\n\n", "\n\n\n", "import { withInstall, withNoopInstall } from '@element-plus/utils'\n\nimport Select from './src/select.vue'\nimport Option from './src/option.vue'\nimport OptionGroup from './src/option-group.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElSelect: SFCWithInstall & {\n Option: typeof Option\n OptionGroup: typeof OptionGroup\n} = withInstall(Select, {\n Option,\n OptionGroup,\n})\nexport default ElSelect\nexport const ElOption: SFCWithInstall = withNoopInstall(Option)\nexport const ElOptionGroup: SFCWithInstall =\n withNoopInstall(OptionGroup)\n\nexport * from './src/token'\n", "import { inject } from 'vue'\nimport { elPaginationKey } from './constants'\n\nexport const usePagination = () => inject(elPaginationKey, {})\n", "import { buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Sizes from './sizes.vue'\n\nexport const paginationSizesProps = buildProps({\n pageSize: {\n type: Number,\n required: true,\n },\n pageSizes: {\n type: definePropType(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n popperClass: {\n type: String,\n },\n disabled: Boolean,\n teleported: Boolean,\n size: {\n type: String,\n values: componentSizes,\n },\n appendSizeTo: String,\n} as const)\n\nexport type PaginationSizesProps = ExtractPropTypes\n\nexport type SizesInstance = InstanceType\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport { componentSizes } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Jumper from './jumper.vue'\n\nexport const paginationJumperProps = buildProps({\n size: {\n type: String,\n values: componentSizes,\n },\n} as const)\n\nexport type PaginationJumperProps = ExtractPropTypes<\n typeof paginationJumperProps\n>\n\nexport type PaginationJumperInstance = InstanceType\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport type Total from './total.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const paginationTotalProps = buildProps({\n total: {\n type: Number,\n default: 1000,\n },\n} as const)\n\nexport type PaginationTotalProps = ExtractPropTypes\n\nexport type TotalInstance = InstanceType\n", "\n\n\n", "import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type Pager from './pager.vue'\n\nexport const paginationPagerProps = buildProps({\n currentPage: {\n type: Number,\n default: 1,\n },\n pageCount: {\n type: Number,\n required: true,\n },\n pagerCount: {\n type: Number,\n default: 7,\n },\n disabled: Boolean,\n} as const)\n\nexport type PaginationPagerProps = ExtractPropTypes\n\nexport type PagerInstance = InstanceType\n", "\n\n", "import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\nimport {\n useDeprecated,\n useGlobalSize,\n useLocale,\n useNamespace,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { elPaginationKey } from './constants'\n\nimport Prev from './components/prev.vue'\nimport Next from './components/next.vue'\nimport Sizes from './components/sizes.vue'\nimport Jumper from './components/jumper.vue'\nimport Total from './components/total.vue'\nimport Pager from './components/pager.vue'\nimport type { ExtractPropTypes, VNode } from 'vue'\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey =\n | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n /**\n * @description options of item count per page\n */\n pageSize: Number,\n /**\n * @description default initial value of page size, not setting is the same as setting 10\n */\n defaultPageSize: Number,\n /**\n * @description total item count\n */\n total: Number,\n /**\n * @description total page count. Set either `total` or `page-count` and pages will be displayed; if you need `page-sizes`, `total` is required\n */\n pageCount: Number,\n /**\n * @description number of pagers. Pagination collapses when the total page count exceeds this value\n */\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n isNumber(value) &&\n Math.trunc(value) === value &&\n value > 4 &&\n value < 22 &&\n value % 2 === 1\n )\n },\n default: 7,\n },\n /**\n * @description current page number\n */\n currentPage: Number,\n /**\n * @description default initial value of current-page, not setting is the same as setting 1\n */\n defaultCurrentPage: Number,\n /**\n * @description layout of Pagination, elements separated with a comma\n */\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n /**\n * @description item count of each page\n */\n pageSizes: {\n type: definePropType(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n /**\n * @description custom class name for the page size Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description text for the prev button\n */\n prevText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the prev button, higher priority of `prev-text`\n */\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n /**\n * @description text for the next button\n */\n nextText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the next button, higher priority of `next-text`\n */\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n /**\n * @description whether Pagination size is teleported to body\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to use small pagination\n */\n small: Boolean,\n /**\n * @description set page size\n */\n size: useSizeProp,\n /**\n * @description whether the buttons have a background color\n */\n background: Boolean,\n /**\n * @description whether Pagination is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to hide when there's only one page\n */\n hideOnSinglePage: Boolean,\n /**\n * @description which element the size dropdown appends to.\n */\n appendSizeTo: String,\n} as const)\nexport type PaginationProps = ExtractPropTypes\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => isNumber(val),\n 'update:page-size': (val: number) => isNumber(val),\n 'size-change': (val: number) => isNumber(val),\n change: (currentPage: number, pageSize: number) =>\n isNumber(currentPage) && isNumber(pageSize),\n 'current-change': (val: number) => isNumber(val),\n 'prev-click': (val: number) => isNumber(val),\n 'next-click': (val: number) => isNumber(val),\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n const _globalSize = useGlobalSize()\n const _size = computed(() =>\n props.small ? 'small' : props.size ?? _globalSize.value\n )\n useDeprecated(\n {\n from: 'small',\n replacement: 'size',\n version: '3.0.0',\n scope: 'el-pagination',\n ref: 'https://element-plus.org/zh-CN/component/pagination.html',\n },\n computed(() => !!props.small)\n )\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener =\n 'onUpdate:currentPage' in vnodeProps ||\n 'onUpdate:current-page' in vnodeProps ||\n 'onCurrentChange' in vnodeProps\n const hasPageSizeListener =\n 'onUpdate:pageSize' in vnodeProps ||\n 'onUpdate:page-size' in vnodeProps ||\n 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false\n // without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener) return false\n } else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false\n }\n } else {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val) currentPageBridge.value = val\n })\n\n watch(\n [currentPageBridge, pageSizeBridge],\n (value) => {\n emit('change', ...value)\n },\n { flush: 'post' }\n )\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled) return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled) return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout) return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null\n const rootChildren: Array = []\n const rightWrapperChildren: Array = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren\n )\n const TEMPLATE_MAP: Record<\n Exclude'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper, {\n size: _size.value,\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n appendSizeTo: props.appendSizeTo,\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n components.forEach((c) => {\n if (c === '->') {\n haveRightWrapper = true\n return\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c])\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n })\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren[rootChildren.length - 1], ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren[rightWrapperChildren.length - 1],\n ns.is('last')\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n class: [\n ns.b(),\n ns.is('background', props.background),\n ns.m(_size.value),\n ],\n },\n rootChildren\n )\n }\n },\n})\n", "import { withInstall } from '@element-plus/utils'\n\nimport Pagination from './src/pagination'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElPagination: SFCWithInstall =\n withInstall(Pagination)\nexport default ElPagination\n\nexport * from './src/pagination'\nexport * from './src/constants'\n", "import { buttonTypes } from '@element-plus/components/button'\nimport { QuestionFilled } from '@element-plus/icons-vue'\nimport { buildProps, iconPropType } from '@element-plus/utils'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport type { ExtractPropTypes } from 'vue'\nimport type Popconfirm from './popconfirm.vue'\n\nexport const popconfirmProps = buildProps({\n /**\n * @description Title\n */\n title: String,\n /**\n * @description Confirm button text\n */\n confirmButtonText: String,\n /**\n * @description Cancel button text\n */\n cancelButtonText: String,\n /**\n * @description Confirm button type\n */\n confirmButtonType: {\n type: String,\n values: buttonTypes,\n default: 'primary',\n },\n /**\n * @description Cancel button type\n */\n cancelButtonType: {\n type: String,\n values: buttonTypes,\n default: 'text',\n },\n /**\n * @description Icon Component\n */\n icon: {\n type: iconPropType,\n default: () => QuestionFilled,\n },\n /**\n * @description Icon color\n */\n iconColor: {\n type: String,\n default: '#f90',\n },\n /**\n * @description is hide Icon\n */\n hideIcon: {\n type: Boolean,\n default: false,\n },\n /**\n * @description delay of disappear, in millisecond\n */\n hideAfter: {\n type: Number,\n default: 200,\n },\n /**\n * @description whether popconfirm is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when popconfirm inactive and `persistent` is `false` , popconfirm will be destroyed\n */\n persistent: useTooltipContentProps.persistent,\n /**\n * @description popconfirm width, min width 150px\n */\n width: {\n type: [String, Number],\n default: 150,\n },\n} as const)\n\nexport const popconfirmEmits = {\n /**\n * @description triggers when click confirm button\n */\n confirm: (e: MouseEvent) => e instanceof MouseEvent,\n /**\n * @description triggers when click cancel button\n */\n cancel: (e: MouseEvent) => e instanceof MouseEvent,\n}\n\nexport type PopconfirmEmits = typeof popconfirmEmits\n\nexport type PopconfirmProps = ExtractPropTypes\n\nexport type PopconfirmInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Popconfirm from './src/popconfirm.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElPopconfirm: SFCWithInstall =\n withInstall(Popconfirm)\nexport default ElPopconfirm\n\nexport * from './src/popconfirm'\n", "import { buildProps, isBoolean } from '@element-plus/utils'\nimport {\n useTooltipContentProps,\n useTooltipTriggerProps,\n} from '@element-plus/components/tooltip'\nimport { dropdownProps } from '@element-plus/components/dropdown'\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type Popover from './popover.vue'\n\nexport const popoverProps = buildProps({\n /**\n * @description how the popover is triggered\n */\n trigger: useTooltipTriggerProps.trigger,\n /**\n * @description popover placement\n */\n placement: dropdownProps.placement,\n /**\n * @description whether Popover is disabled\n */\n disabled: useTooltipTriggerProps.disabled,\n /**\n * @description whether popover is visible\n */\n visible: useTooltipContentProps.visible,\n /**\n * @description popover transition animation\n */\n transition: useTooltipContentProps.transition,\n /**\n * @description parameters for [popper.js](https://popper.js.org/docs/v2/)\n */\n popperOptions: dropdownProps.popperOptions,\n /**\n * @description [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of Popover\n */\n tabindex: dropdownProps.tabindex,\n /**\n * @description popover content, can be replaced with a default `slot`\n */\n content: useTooltipContentProps.content,\n /**\n * @description custom style for popover\n */\n popperStyle: useTooltipContentProps.popperStyle,\n /**\n * @description custom class name for popover\n */\n popperClass: useTooltipContentProps.popperClass,\n enterable: {\n ...useTooltipContentProps.enterable,\n default: true,\n },\n /**\n * @description Tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n ...useTooltipContentProps.effect,\n default: 'light',\n },\n /**\n * @description whether popover dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description popover title\n */\n title: String,\n /**\n * @description popover width\n */\n width: {\n type: [String, Number],\n default: 150,\n },\n /**\n * @description popover offset\n */\n offset: {\n type: Number,\n default: undefined,\n },\n /**\n * @description delay of appearance, in millisecond\n */\n showAfter: {\n type: Number,\n default: 0,\n },\n /**\n * @description delay of disappear, in millisecond\n */\n hideAfter: {\n type: Number,\n default: 200,\n },\n /**\n * @description timeout in milliseconds to hide tooltip\n */\n autoClose: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether a tooltip arrow is displayed or not. For more info, please refer to [ElPopper](https://github.com/element-plus/element-plus/tree/dev/packages/components/popper)\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description when popover inactive and `persistent` is `false` , popover will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n 'onUpdate:visible': {\n type: Function as PropType<(visible: boolean) => void>,\n },\n} as const)\nexport type PopoverProps = ExtractPropTypes\n\nexport const popoverEmits = {\n 'update:visible': (value: boolean) => isBoolean(value),\n 'before-enter': () => true,\n 'before-leave': () => true,\n 'after-enter': () => true,\n 'after-leave': () => true,\n}\nexport type PopoverEmits = typeof popoverEmits\n\nexport type PopoverInstance = InstanceType\n", "\n\n", "import type { DirectiveBinding, ObjectDirective } from 'vue'\nimport type { PopoverInstance } from './popover'\n\nconst attachEvents = (el: HTMLElement, binding: DirectiveBinding) => {\n const popperComponent: PopoverInstance = binding.arg || binding.value\n const popover = popperComponent?.popperRef\n if (popover) {\n popover.triggerRef = el\n }\n}\n\nexport default {\n mounted(el, binding) {\n attachEvents(el, binding)\n },\n updated(el, binding) {\n attachEvents(el, binding)\n },\n} as ObjectDirective\n\nexport const VPopover = 'popover'\n", "import { withInstall, withInstallDirective } from '@element-plus/utils'\n\nimport Popover from './src/popover.vue'\nimport PopoverDirective, { VPopover } from './src/directive'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElPopoverDirective: SFCWithInstall =\n withInstallDirective(PopoverDirective, VPopover)\n\nexport const ElPopover: SFCWithInstall & {\n directive: typeof ElPopoverDirective\n} = withInstall(Popover, {\n directive: ElPopoverDirective,\n})\nexport default ElPopover\n\nexport * from './src/popover'\n", "import { buildProps, definePropType } from '@element-plus/utils'\nimport type { ExtractPropTypes, SVGAttributes } from 'vue'\nimport type Progress from './progress.vue'\n\nexport type ProgressColor = { color: string; percentage: number }\nexport type ProgressFn = (percentage: number) => string\n\nexport const progressProps = buildProps({\n /**\n * @description type of progress bar\n */\n type: {\n type: String,\n default: 'line',\n values: ['line', 'circle', 'dashboard'],\n },\n /**\n * @description percentage, required\n */\n percentage: {\n type: Number,\n default: 0,\n validator: (val: number): boolean => val >= 0 && val <= 100,\n },\n /**\n * @description the current status of progress bar\n */\n status: {\n type: String,\n default: '',\n values: ['', 'success', 'exception', 'warning'],\n },\n /**\n * @description set indeterminate progress\n */\n indeterminate: Boolean,\n /**\n * @description control the animation duration of indeterminate progress or striped flow progress\n */\n duration: {\n type: Number,\n default: 3,\n },\n /**\n * @description the width of progress bar\n */\n strokeWidth: {\n type: Number,\n default: 6,\n },\n /**\n * @description butt/circle/dashboard type shape at the end path\n */\n strokeLinecap: {\n type: definePropType>(String),\n default: 'round',\n },\n /**\n * @description whether to place the percentage inside progress bar, only works when `type` is 'line'\n */\n textInside: Boolean,\n /**\n * @description the canvas width of circle progress bar\n */\n width: {\n type: Number,\n default: 126,\n },\n /**\n * @description whether to show percentage\n */\n showText: {\n type: Boolean,\n default: true,\n },\n /**\n * @description background color of progress bar. Overrides `status` prop\n */\n color: {\n type: definePropType([\n String,\n Array,\n Function,\n ]),\n default: '',\n },\n /**\n * @description stripe over the progress bar's color\n */\n striped: Boolean,\n /**\n * @description get the stripes to flow\n */\n stripedFlow: Boolean,\n /**\n * @description custom text format\n */\n format: {\n type: definePropType(Function),\n default: (percentage: number): string => `${percentage}%`,\n },\n} as const)\n\nexport type ProgressProps = ExtractPropTypes\nexport type ProgressInstance = InstanceType\n", "\n\n\n", "import { withInstall } from '@element-plus/utils'\nimport Progress from './src/progress.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElProgress: SFCWithInstall = withInstall(Progress)\nexport default ElProgress\n\nexport * from './src/progress'\n", "import { Star, StarFilled } from '@element-plus/icons-vue'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\nimport { useAriaProps, useSizeProp } from '@element-plus/hooks'\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type Rate from './rate.vue'\n\nexport const rateProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: Number,\n default: 0,\n },\n /**\n * @description native `id` attribute\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description threshold value between low and medium level. The value itself will be included in low level\n */\n lowThreshold: {\n type: Number,\n default: 2,\n },\n /**\n * @description threshold value between medium and high level. The value itself will be included in high level\n */\n highThreshold: {\n type: Number,\n default: 4,\n },\n /**\n * @description max rating score\n */\n max: {\n type: Number,\n default: 5,\n },\n /**\n * @description colors for icons. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding color\n */\n colors: {\n type: definePropType>([Array, Object]),\n default: () => mutable(['', '', ''] as const),\n },\n /**\n * @description color of unselected icons\n */\n voidColor: {\n type: String,\n default: '',\n },\n /**\n * @description color of unselected read-only icons\n */\n disabledVoidColor: {\n type: String,\n default: '',\n },\n /**\n * @description icon components. If array, it should have 3 elements, each of which corresponds with a score level, else if object, the key should be threshold value between two levels, and the value should be corresponding icon component\n */\n icons: {\n type: definePropType<\n Array | Record\n >([Array, Object]),\n default: () =>\n [StarFilled, StarFilled, StarFilled] as [Component, Component, Component],\n },\n /**\n * @description component of unselected icons\n */\n voidIcon: {\n type: iconPropType,\n default: () => Star as Component,\n },\n /**\n * @description component of unselected read-only icons\n */\n disabledVoidIcon: {\n type: iconPropType,\n default: () => StarFilled as Component,\n },\n /**\n * @description whether Rate is read-only\n */\n disabled: Boolean,\n /**\n * @description whether picking half start is allowed\n */\n allowHalf: Boolean,\n /**\n * @description whether to display texts\n */\n showText: Boolean,\n /**\n * @description whether to display current score. show-score and show-text cannot be true at the same time\n */\n showScore: Boolean,\n /**\n * @description color of texts\n */\n textColor: {\n type: String,\n default: '',\n },\n /**\n * @description text array\n */\n texts: {\n type: definePropType(Array),\n default: () =>\n mutable([\n 'Extremely bad',\n 'Disappointed',\n 'Fair',\n 'Satisfied',\n 'Surprise',\n ] as const),\n },\n /**\n * @description score template\n */\n scoreTemplate: {\n type: String,\n default: '{value}',\n },\n /**\n * @description size of Rate\n */\n size: useSizeProp,\n /**\n * @description whether value can be reset to `0`\n */\n clearable: Boolean,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type RateProps = ExtractPropTypes\n\nexport const rateEmits = {\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n [UPDATE_MODEL_EVENT]: (value: number) => isNumber(value),\n}\nexport type RateEmits = typeof rateEmits\n\nexport type RateInstance = InstanceType\n", "\n\n", "import { withInstall } from '@element-plus/utils'\n\nimport Rate from './src/rate.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElRate: SFCWithInstall = withInstall(Rate)\nexport default ElRate\n\nexport * from './src/rate'\n", "import { buildProps } from '@element-plus/utils'\nimport {\n CircleCheckFilled,\n CircleCloseFilled,\n InfoFilled,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport type { Component, ExtractPropTypes } from 'vue'\nimport type Result from './result.vue'\n\nexport const IconMap = {\n success: 'icon-success',\n warning: 'icon-warning',\n error: 'icon-error',\n info: 'icon-info',\n} as const\n\nexport const IconComponentMap: Record<\n typeof IconMap[keyof typeof IconMap],\n Component\n> = {\n [IconMap.success]: CircleCheckFilled,\n [IconMap.warning]: WarningFilled,\n [IconMap.error]: CircleCloseFilled,\n [IconMap.info]: InfoFilled,\n}\n\nexport const resultProps = buildProps({\n /**\n * @description title of result\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description sub title of result\n */\n subTitle: {\n type: String,\n default: '',\n },\n /**\n * @description icon type of result\n */\n icon: {\n type: String,\n values: ['success', 'warning', 'info', 'error'],\n default: 'info',\n },\n} as const)\n\nexport type ResultProps = ExtractPropTypes\n\nexport type ResultInstance = InstanceType\n", "\n\n", "import { withInstall } from '@element-plus/utils'\nimport Result from './src/result.vue'\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElResult: SFCWithInstall = withInstall(Result)\n\nexport default ElResult\n\nexport * from './src/result'\n", "var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n", "import { computed, getCurrentInstance } from 'vue'\nimport { memoize } from 'lodash-unified'\nimport memoOne from 'memoize-one'\n\nimport type { VirtualizedProps } from '../props'\n\nexport const useCache = () => {\n const vm = getCurrentInstance()!\n\n const props = vm.proxy!.$props as VirtualizedProps\n\n return computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _getItemStyleCache = (_: any, __: any, ___: any) =>\n ({} as Record)\n return props.perfMode\n ? memoize(_getItemStyleCache)\n : memoOne(_getItemStyleCache)\n })\n}\n", "export const DEFAULT_DYNAMIC_LIST_ITEM_SIZE = 50\n\nexport const ITEM_RENDER_EVT = 'itemRendered'\nexport const SCROLL_EVT = 'scroll'\n\nexport const FORWARD = 'forward'\nexport const BACKWARD = 'backward'\n\nexport const AUTO_ALIGNMENT = 'auto'\nexport const SMART_ALIGNMENT = 'smart'\nexport const START_ALIGNMENT = 'start'\nexport const CENTERED_ALIGNMENT = 'center'\nexport const END_ALIGNMENT = 'end'\n\nexport const HORIZONTAL = 'horizontal'\nexport const VERTICAL = 'vertical'\n\nexport const LTR = 'ltr'\nexport const RTL = 'rtl'\n\nexport const RTL_OFFSET_NAG = 'negative'\nexport const RTL_OFFSET_POS_ASC = 'positive-ascending'\nexport const RTL_OFFSET_POS_DESC = 'positive-descending'\n\nexport const PageKey = {\n [HORIZONTAL]: 'pageX',\n [VERTICAL]: 'pageY',\n}\n\nexport const ScrollbarSizeKey = {\n [HORIZONTAL]: 'height',\n [VERTICAL]: 'width',\n}\n\nexport const ScrollbarDirKey = {\n [HORIZONTAL]: 'left',\n [VERTICAL]: 'top',\n}\n\nexport const SCROLLBAR_MIN_SIZE = 20\n", "import { cAF, isFirefox, rAF } from '@element-plus/utils'\nimport { HORIZONTAL, VERTICAL } from '../defaults'\n\nimport type { ComputedRef } from 'vue'\nimport type { LayoutDirection } from '../types'\n\nconst LayoutKeys = {\n [HORIZONTAL]: 'deltaX',\n [VERTICAL]: 'deltaY',\n} as const\n\ninterface ListWheelState {\n atStartEdge: ComputedRef // exclusive to reachEnd\n atEndEdge: ComputedRef\n layout: ComputedRef\n}\n\ntype ListWheelHandler = (offset: number) => void\n\nconst useWheel = (\n { atEndEdge, atStartEdge, layout }: ListWheelState,\n onWheelDelta: ListWheelHandler\n) => {\n let frameHandle: number\n let offset = 0\n\n // let scrollLock = false\n // let lockHandle = null\n\n // const lockScroll = () => {\n // clearTimeout(lockHandle)\n // scrollLock = true\n // lockHandle = setTimeout(() => scrollLock = false, 50)\n // }\n\n const hasReachedEdge = (offset: number) => {\n const edgeReached =\n (offset < 0 && atStartEdge.value) || (offset > 0 && atEndEdge.value)\n\n return edgeReached\n }\n\n const onWheel = (e: WheelEvent) => {\n cAF(frameHandle)\n\n const newOffset = e[LayoutKeys[layout.value]]\n\n if (hasReachedEdge(offset) && hasReachedEdge(offset + newOffset)) return\n\n offset += newOffset\n\n if (!isFirefox()) {\n e.preventDefault()\n }\n\n frameHandle = rAF(() => {\n onWheelDelta(offset)\n offset = 0\n })\n }\n\n return {\n hasReachedEdge,\n onWheel,\n }\n}\n\nexport default useWheel\n", "import {\n buildProp,\n buildProps,\n definePropType,\n mutable,\n} from '@element-plus/utils'\nimport { VERTICAL } from './defaults'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { GridItemKeyGetter, ItemSize } from './types'\n\nconst itemSize = buildProp({\n type: definePropType([Number, Function]),\n required: true,\n} as const)\n\nconst estimatedItemSize = buildProp({\n type: Number,\n} as const)\n\nconst cache = buildProp({\n type: Number,\n default: 2,\n} as const)\n\nconst direction = buildProp({\n type: String,\n values: ['ltr', 'rtl'],\n default: 'ltr',\n} as const)\n\nconst initScrollOffset = buildProp({\n type: Number,\n default: 0,\n} as const)\n\nconst total = buildProp({\n type: Number,\n required: true,\n} as const)\n\nconst layout = buildProp({\n type: String,\n values: ['horizontal', 'vertical'],\n default: VERTICAL,\n} as const)\n\nexport const virtualizedProps = buildProps({\n className: {\n type: String,\n default: '',\n },\n\n containerElement: {\n type: definePropType([String, Object]),\n default: 'div',\n },\n\n data: {\n type: definePropType(Array),\n default: () => mutable([] as const),\n },\n\n /**\n * @description controls the horizontal direction.\n */\n direction,\n\n height: {\n type: [String, Number],\n required: true,\n },\n\n innerElement: {\n type: [String, Object],\n default: 'div',\n },\n\n style: {\n type: definePropType([Object, String, Array]),\n },\n\n useIsScrolling: {\n type: Boolean,\n default: false,\n },\n\n width: {\n type: [Number, String],\n required: false,\n },\n\n perfMode: {\n type: Boolean,\n default: true,\n },\n scrollbarAlwaysOn: {\n type: Boolean,\n default: false,\n },\n} as const)\n\nexport const virtualizedListProps = buildProps({\n /**\n * @description describes how many items should be pre rendered to the head\n * and the tail of the window\n */\n cache,\n\n estimatedItemSize,\n\n /**\n * @description controls the list's orientation\n */\n layout,\n\n initScrollOffset,\n\n /**\n * @description describes the total number of the list.\n */\n total,\n\n itemSize,\n ...virtualizedProps,\n} as const)\n\nconst scrollbarSize = {\n type: Number,\n default: 6,\n} as const\n\nconst startGap = { type: Number, default: 0 } as const\nconst endGap = { type: Number, default: 2 } as const\n\nexport const virtualizedGridProps = buildProps({\n columnCache: cache,\n columnWidth: itemSize,\n estimatedColumnWidth: estimatedItemSize,\n estimatedRowHeight: estimatedItemSize,\n initScrollLeft: initScrollOffset,\n initScrollTop: initScrollOffset,\n itemKey: {\n type: definePropType(Function),\n default: ({\n columnIndex,\n rowIndex,\n }: {\n columnIndex: number\n rowIndex: number\n }) => `${rowIndex}:${columnIndex}`,\n },\n rowCache: cache,\n rowHeight: itemSize,\n totalColumn: total,\n totalRow: total,\n hScrollbarSize: scrollbarSize,\n vScrollbarSize: scrollbarSize,\n scrollbarStartGap: startGap,\n scrollbarEndGap: endGap,\n role: String,\n ...virtualizedProps,\n} as const)\n\nexport const virtualizedScrollbarProps = buildProps({\n alwaysOn: Boolean,\n class: String,\n layout,\n total,\n ratio: {\n type: Number,\n required: true,\n },\n clientSize: {\n type: Number,\n required: true,\n },\n scrollFrom: {\n type: Number,\n required: true,\n },\n scrollbarSize,\n startGap,\n endGap,\n\n visible: Boolean,\n} as const)\n\nexport type VirtualizedProps = ExtractPropTypes\nexport type VirtualizedListProps = ExtractPropTypes\nexport type VirtualizedGridProps = ExtractPropTypes\n\nexport type VirtualizedScrollbarProps = ExtractPropTypes<\n typeof virtualizedScrollbarProps\n>\n", "// @ts-nocheck\nimport {\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n LTR,\n PageKey,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n} from './defaults'\n\nimport type { CSSProperties } from 'vue'\nimport type { Direction, LayoutDirection, RTLOffsetType } from './types'\n\nexport const getScrollDir = (prev: number, cur: number) =>\n prev < cur ? FORWARD : BACKWARD\n\nexport const isHorizontal = (dir: string) =>\n dir === LTR || dir === RTL || dir === HORIZONTAL\n\nexport const isRTL = (dir: Direction) => dir === RTL\n\nlet cachedRTLResult: RTLOffsetType | null = null\n\nexport function getRTLOffsetType(recalculate = false): RTLOffsetType {\n if (cachedRTLResult === null || recalculate) {\n const outerDiv = document.createElement('div')\n const outerStyle = outerDiv.style\n outerStyle.width = '50px'\n outerStyle.height = '50px'\n outerStyle.overflow = 'scroll'\n outerStyle.direction = 'rtl'\n\n const innerDiv = document.createElement('div')\n const innerStyle = innerDiv.style\n innerStyle.width = '100px'\n innerStyle.height = '100px'\n\n outerDiv.appendChild(innerDiv)\n\n document.body.appendChild(outerDiv)\n\n if (outerDiv.scrollLeft > 0) {\n cachedRTLResult = RTL_OFFSET_POS_DESC\n } else {\n outerDiv.scrollLeft = 1\n if (outerDiv.scrollLeft === 0) {\n cachedRTLResult = RTL_OFFSET_NAG\n } else {\n cachedRTLResult = RTL_OFFSET_POS_ASC\n }\n }\n\n document.body.removeChild(outerDiv)\n\n return cachedRTLResult\n }\n\n return cachedRTLResult\n}\n\nexport const getRelativePos = (\n e: TouchEvent | MouseEvent,\n layout: LayoutDirection\n) => {\n return 'touches' in e ? e.touches[0][PageKey[layout]] : e[PageKey[layout]]\n}\n\ntype RenderThumbStyleParams = {\n bar: {\n size: 'height' | 'width'\n axis: 'X' | 'Y'\n }\n size: string\n move: number\n}\n\nexport function renderThumbStyle(\n { move, size, bar }: RenderThumbStyleParams,\n layout: string\n) {\n const style: CSSProperties = {}\n const translate = `translate${bar.axis}(${move}px)`\n\n style[bar.size] = size\n style.transform = translate\n style.msTransform = translate\n // polyfill\n ;(style as any).webkitTransform = translate\n\n if (layout === 'horizontal') {\n style.height = '100%'\n } else {\n style.width = '100%'\n }\n\n return style\n}\n", "// @ts-nocheck\nimport {\n computed,\n defineComponent,\n h,\n onBeforeUnmount,\n reactive,\n ref,\n unref,\n watch,\n withModifiers,\n} from 'vue'\nimport { BAR_MAP } from '@element-plus/components/scrollbar'\nimport { cAF, rAF } from '@element-plus/utils'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { HORIZONTAL, SCROLLBAR_MIN_SIZE, ScrollbarDirKey } from '../defaults'\nimport { virtualizedScrollbarProps } from '../props'\nimport { renderThumbStyle } from '../utils'\n\nimport type { CSSProperties } from 'vue'\n\nconst ScrollBar = defineComponent({\n name: 'ElVirtualScrollBar',\n props: virtualizedScrollbarProps,\n emits: ['scroll', 'start-move', 'stop-move'],\n setup(props, { emit }) {\n const GAP = computed(() => props.startGap + props.endGap) // top 2 + bottom 2 | left 2 + right 2\n\n const nsVirtualScrollbar = useNamespace('virtual-scrollbar')\n const nsScrollbar = useNamespace('scrollbar')\n // DOM refs\n const trackRef = ref()\n const thumbRef = ref()\n\n // local variables\n let frameHandle: null | number = null\n let onselectstartStore: null | typeof document.onselectstart = null\n\n // data\n const state = reactive({\n isDragging: false,\n traveled: 0,\n })\n\n const bar = computed(() => BAR_MAP[props.layout])\n\n const trackSize = computed(() => props.clientSize! - unref(GAP))\n\n const trackStyle = computed(() => ({\n position: 'absolute',\n width: `${\n HORIZONTAL === props.layout ? trackSize.value : props.scrollbarSize\n }px`,\n height: `${\n HORIZONTAL === props.layout ? props.scrollbarSize : trackSize.value\n }px`,\n [ScrollbarDirKey[props.layout]]: '2px',\n right: '2px',\n bottom: '2px',\n borderRadius: '4px',\n }))\n\n const thumbSize = computed(() => {\n const ratio = props.ratio!\n const clientSize = props.clientSize!\n if (ratio >= 100) {\n return Number.POSITIVE_INFINITY\n }\n\n if (ratio >= 50) {\n return (ratio * clientSize) / 100\n }\n\n const SCROLLBAR_MAX_SIZE = clientSize / 3\n return Math.floor(\n Math.min(\n Math.max(ratio * clientSize, SCROLLBAR_MIN_SIZE),\n SCROLLBAR_MAX_SIZE\n )\n )\n })\n\n // const sizeRange = computed(() => props.size - thumbSize.value)\n\n const thumbStyle = computed(() => {\n if (!Number.isFinite(thumbSize.value)) {\n return {\n display: 'none',\n }\n }\n\n const thumb = `${thumbSize.value}px`\n\n const style: CSSProperties = renderThumbStyle(\n {\n bar: bar.value,\n size: thumb,\n move: state.traveled,\n },\n props.layout\n )\n\n return style\n })\n\n const totalSteps = computed(() =>\n Math.floor(props.clientSize! - thumbSize.value - unref(GAP))\n )\n\n const attachEvents = () => {\n window.addEventListener('mousemove', onMouseMove)\n window.addEventListener('mouseup', onMouseUp)\n\n const thumbEl = unref(thumbRef)\n\n if (!thumbEl) return\n\n onselectstartStore = document.onselectstart\n document.onselectstart = () => false\n\n thumbEl.addEventListener('touchmove', onMouseMove, { passive: true })\n thumbEl.addEventListener('touchend', onMouseUp)\n }\n\n const detachEvents = () => {\n window.removeEventListener('mousemove', onMouseMove)\n window.removeEventListener('mouseup', onMouseUp)\n\n document.onselectstart = onselectstartStore\n onselectstartStore = null\n\n const thumbEl = unref(thumbRef)\n if (!thumbEl) return\n\n thumbEl.removeEventListener('touchmove', onMouseMove)\n thumbEl.removeEventListener('touchend', onMouseUp)\n }\n\n const onThumbMouseDown = (e: Event) => {\n e.stopImmediatePropagation()\n if (\n (e as KeyboardEvent).ctrlKey ||\n [1, 2].includes((e as MouseEvent).button)\n ) {\n return\n }\n\n state.isDragging = true\n state[bar.value.axis] =\n e.currentTarget![bar.value.offset] -\n (e[bar.value.client] -\n (e.currentTarget as HTMLElement).getBoundingClientRect()[\n bar.value.direction\n ])\n\n emit('start-move')\n attachEvents()\n }\n\n const onMouseUp = () => {\n state.isDragging = false\n state[bar.value.axis] = 0\n emit('stop-move')\n detachEvents()\n }\n\n const onMouseMove = (e: Event) => {\n const { isDragging } = state\n if (!isDragging) return\n if (!thumbRef.value || !trackRef.value) return\n\n const prevPage = state[bar.value.axis]\n if (!prevPage) return\n\n cAF(frameHandle!)\n // using the current track's offset top/left - the current pointer's clientY/clientX\n // to get the relative position of the pointer to the track.\n const offset =\n (trackRef.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n\n // find where the thumb was clicked on.\n const thumbClickPosition = thumbRef.value[bar.value.offset] - prevPage\n /**\n * +--------------+ +--------------+\n * | - <--------- thumb.offsetTop | |\n * | |+| <--+ | |\n * | - | | |\n * | Content | | | |\n * | | | | |\n * | | | | |\n * | | | | -\n * | | +--> | |+|\n * | | | -\n * +--------------+ +--------------+\n */\n\n // using the current position - prev position to\n\n const distance = offset - thumbClickPosition\n // get how many steps in total.\n // gap of 2 on top, 2 on bottom, in total 4.\n // using totalSteps ÷ totalSize getting each step's size * distance to get the new\n // scroll offset to scrollTo\n frameHandle = rAF(() => {\n state.traveled = Math.max(\n props.startGap,\n Math.min(\n distance,\n totalSteps.value // 2 is the top value\n )\n )\n emit('scroll', distance, totalSteps.value)\n })\n }\n\n const clickTrackHandler = (e: MouseEvent) => {\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumbRef.value![bar.value.offset] / 2\n const distance = offset - thumbHalf\n\n state.traveled = Math.max(0, Math.min(distance, totalSteps.value))\n emit('scroll', distance, totalSteps.value)\n }\n\n watch(\n () => props.scrollFrom,\n (v) => {\n if (state.isDragging) return\n /**\n * this is simply mapping the current scrollbar offset\n *\n * formula 1:\n * v = scrollOffset / (estimatedTotalSize - clientSize)\n * traveled = v * (clientSize - thumbSize - GAP) --> v * totalSteps\n *\n * formula 2:\n * traveled = (v * clientSize) / (clientSize / totalSteps) --> (v * clientSize) * (totalSteps / clientSize) --> v * totalSteps\n */\n state.traveled = Math.ceil(v! * totalSteps.value)\n }\n )\n\n onBeforeUnmount(() => {\n detachEvents()\n })\n\n return () => {\n return h(\n 'div',\n {\n role: 'presentation',\n ref: trackRef,\n class: [\n nsVirtualScrollbar.b(),\n props.class,\n (props.alwaysOn || state.isDragging) && 'always-on',\n ],\n style: trackStyle.value,\n onMousedown: withModifiers(clickTrackHandler, ['stop', 'prevent']),\n onTouchstartPrevent: onThumbMouseDown,\n },\n h(\n 'div',\n {\n ref: thumbRef,\n class: nsScrollbar.e('thumb'),\n style: thumbStyle.value,\n onMousedown: onThumbMouseDown,\n },\n []\n )\n )\n }\n },\n})\n\nexport default ScrollBar\n", "import {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onActivated,\n onMounted,\n onUpdated,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { hasOwn, isClient, isNumber, isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCache } from '../hooks/use-cache'\nimport useWheel from '../hooks/use-wheel'\nimport Scrollbar from '../components/scrollbar'\nimport { getRTLOffsetType, getScrollDir, isHorizontal } from '../utils'\nimport { virtualizedListProps } from '../props'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\n\nimport type { CSSProperties, Slot, VNode, VNodeChild } from 'vue'\nimport type { Alignment, ListConstructorProps } from '../types'\nimport type { VirtualizedListProps } from '../props'\n\nconst createList = ({\n name,\n getOffset,\n getItemSize,\n getItemOffset,\n getEstimatedTotalSize,\n getStartIndexForOffset,\n getStopIndexForStartIndex,\n initCache,\n clearCache,\n validateProps,\n}: ListConstructorProps) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedListProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose }) {\n validateProps(props)\n const instance = getCurrentInstance()!\n\n const ns = useNamespace('vl')\n\n const dynamicSizeCache = ref(initCache(props, instance))\n\n const getItemStyleCache = useCache()\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref()\n const innerRef = ref()\n const scrollbarRef = ref()\n const states = ref({\n isScrolling: false,\n scrollDir: 'forward',\n scrollOffset: isNumber(props.initScrollOffset)\n ? props.initScrollOffset\n : 0,\n updateRequested: false,\n isScrollbarDragging: false,\n scrollbarAlwaysOn: props.scrollbarAlwaysOn,\n })\n\n // computed\n const itemsToRender = computed(() => {\n const { total, cache } = props\n const { isScrolling, scrollDir, scrollOffset } = unref(states)\n\n if (total === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getStartIndexForOffset(\n props,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n const stopIndex = getStopIndexForStartIndex(\n props,\n startIndex,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n\n const cacheBackward =\n !isScrolling || scrollDir === BACKWARD ? Math.max(1, cache) : 1\n const cacheForward =\n !isScrolling || scrollDir === FORWARD ? Math.max(1, cache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(total! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalSize = computed(() =>\n getEstimatedTotalSize(props, unref(dynamicSizeCache))\n )\n\n const _isHorizontal = computed(() => isHorizontal(props.layout))\n\n const windowStyle = computed(() => [\n {\n position: 'relative',\n [`overflow-${_isHorizontal.value ? 'x' : 'y'}`]: 'scroll',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style,\n ])\n\n const innerStyle = computed(() => {\n const size = unref(estimatedTotalSize)\n const horizontal = unref(_isHorizontal)\n return {\n height: horizontal ? '100%' : `${size}px`,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width: horizontal ? `${size}px` : '100%',\n }\n })\n\n const clientSize = computed(() =>\n _isHorizontal.value ? props.width : props.height\n )\n\n // methods\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => states.value.scrollOffset <= 0),\n atEndEdge: computed(\n () => states.value.scrollOffset >= estimatedTotalSize.value\n ),\n layout: computed(() => props.layout),\n },\n (offset) => {\n ;(\n scrollbarRef.value as any as {\n onMouseUp: () => void\n }\n ).onMouseUp?.()\n scrollTo(\n Math.min(\n states.value.scrollOffset + offset,\n estimatedTotalSize.value - (clientSize.value as number)\n )\n )\n }\n )\n\n useEventListener(windowRef, 'wheel', onWheel, {\n passive: false,\n })\n\n const emitEvents = () => {\n const { total } = props\n\n if (total! > 0) {\n const [cacheStart, cacheEnd, visibleStart, visibleEnd] =\n unref(itemsToRender)\n emit(ITEM_RENDER_EVT, cacheStart, cacheEnd, visibleStart, visibleEnd)\n }\n\n const { scrollDir, scrollOffset, updateRequested } = unref(states)\n emit(SCROLL_EVT, scrollDir, scrollOffset, updateRequested)\n }\n\n const scrollVertically = (e: Event) => {\n const { clientHeight, scrollHeight, scrollTop } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n if (_states.scrollOffset === scrollTop) {\n return\n }\n\n const scrollOffset = Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollHorizontally = (e: Event) => {\n const { clientWidth, scrollLeft, scrollWidth } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n\n if (_states.scrollOffset === scrollLeft) {\n return\n }\n\n const { direction } = props\n\n let scrollOffset = scrollLeft\n\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n scrollOffset = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_DESC: {\n scrollOffset = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n }\n\n scrollOffset = Math.max(\n 0,\n Math.min(scrollOffset, scrollWidth - clientWidth)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const onScroll = (e: Event) => {\n unref(_isHorizontal) ? scrollHorizontally(e) : scrollVertically(e)\n emitEvents()\n }\n\n const onScrollbarScroll = (distanceToGo: number, totalSteps: number) => {\n const offset =\n ((estimatedTotalSize.value - (clientSize.value as number)) /\n totalSteps) *\n distanceToGo\n scrollTo(\n Math.min(\n estimatedTotalSize.value - (clientSize.value as number),\n offset\n )\n )\n }\n\n const scrollTo = (offset: number) => {\n offset = Math.max(offset, 0)\n\n if (offset === unref(states).scrollOffset) {\n return\n }\n\n states.value = {\n ...unref(states),\n scrollOffset: offset,\n scrollDir: getScrollDir(unref(states).scrollOffset, offset),\n updateRequested: true,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollToItem = (\n idx: number,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const { scrollOffset } = unref(states)\n\n idx = Math.max(0, Math.min(idx, props.total! - 1))\n scrollTo(\n getOffset(\n props,\n idx,\n alignment,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n )\n }\n\n const getItemStyle = (idx: number) => {\n const { direction, itemSize, layout } = props\n\n const itemStyleCache = getItemStyleCache.value(\n clearCache && itemSize,\n clearCache && layout,\n clearCache && direction\n )\n\n let style: CSSProperties\n if (hasOwn(itemStyleCache, String(idx))) {\n style = itemStyleCache[idx]\n } else {\n const offset = getItemOffset(props, idx, unref(dynamicSizeCache))\n const size = getItemSize(props, idx, unref(dynamicSizeCache))\n const horizontal = unref(_isHorizontal)\n\n const isRtl = direction === RTL\n const offsetHorizontal = horizontal ? offset : 0\n itemStyleCache[idx] = style = {\n position: 'absolute',\n left: isRtl ? undefined : `${offsetHorizontal}px`,\n right: isRtl ? `${offsetHorizontal}px` : undefined,\n top: !horizontal ? `${offset}px` : 0,\n height: !horizontal ? `${size}px` : '100%',\n width: horizontal ? `${size}px` : '100%',\n }\n }\n\n return style\n }\n\n // TODO:\n // perf optimization here, reset isScrolling with debounce.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n const resetScrollTop = () => {\n const window = windowRef.value\n if (window) {\n window.scrollTop = 0\n }\n }\n\n // life cycles\n onMounted(() => {\n if (!isClient) return\n const { initScrollOffset } = props\n const windowElement = unref(windowRef)\n if (isNumber(initScrollOffset) && windowElement) {\n if (unref(_isHorizontal)) {\n windowElement.scrollLeft = initScrollOffset\n } else {\n windowElement.scrollTop = initScrollOffset\n }\n }\n\n emitEvents()\n })\n\n onUpdated(() => {\n const { direction, layout } = props\n const { scrollOffset, updateRequested } = unref(states)\n const windowElement = unref(windowRef)\n\n if (updateRequested && windowElement) {\n if (layout === HORIZONTAL) {\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollOffset\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollOffset\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollOffset\n break\n }\n }\n } else {\n windowElement.scrollLeft = scrollOffset\n }\n } else {\n windowElement.scrollTop = scrollOffset\n }\n }\n })\n\n onActivated(() => {\n unref(windowRef)!.scrollTop = unref(states).scrollOffset\n })\n\n const api = {\n ns,\n clientSize,\n estimatedTotalSize,\n windowStyle,\n windowRef,\n innerRef,\n innerStyle,\n itemsToRender,\n scrollbarRef,\n states,\n getItemStyle,\n onScroll,\n onScrollbarScroll,\n onWheel,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n }\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n states,\n })\n\n return api\n },\n\n render(ctx: any) {\n const {\n $slots,\n className,\n clientSize,\n containerElement,\n data,\n getItemStyle,\n innerElement,\n itemsToRender,\n innerStyle,\n layout,\n total,\n onScroll,\n onScrollbarScroll,\n states,\n useIsScrolling,\n windowStyle,\n ns,\n } = ctx\n\n const [start, end] = itemsToRender\n\n const Container = resolveDynamicComponent(containerElement)\n const Inner = resolveDynamicComponent(innerElement)\n\n const children = [] as VNodeChild[]\n\n if (total > 0) {\n for (let i = start; i <= end; i++) {\n children.push(\n h(\n Fragment,\n { key: i },\n ($slots.default as Slot)?.({\n data,\n index: i,\n isScrolling: useIsScrolling ? states.isScrolling : undefined,\n style: getItemStyle(i),\n })\n )\n )\n }\n }\n\n const InnerNode = [\n h(\n Inner as VNode,\n {\n style: innerStyle,\n ref: 'innerRef',\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n\n const scrollbar = h(Scrollbar, {\n ref: 'scrollbarRef',\n clientSize,\n layout,\n onScroll: onScrollbarScroll,\n ratio: (clientSize * 100) / this.estimatedTotalSize,\n scrollFrom:\n states.scrollOffset / (this.estimatedTotalSize - clientSize),\n total,\n })\n\n const listContainer = h(\n Container as VNode,\n {\n class: [ns.e('window'), className],\n style: windowStyle,\n onScroll,\n ref: 'windowRef',\n key: 0,\n },\n !isString(Container) ? { default: () => [InnerNode] } : [InnerNode]\n )\n\n return h(\n 'div',\n {\n key: 0,\n class: [ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : ''],\n },\n [listContainer, scrollbar]\n )\n },\n })\n}\n\nexport default createList\n", "import { isString, throwError } from '@element-plus/utils'\nimport buildList from '../builders/build-list'\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nimport type { VirtualizedListProps } from '../props'\n\ntype Props = VirtualizedListProps\n\nconst FixedSizeList = buildList({\n name: 'ElFixedSizeList',\n getItemOffset: ({ itemSize }, index) => index * (itemSize as number),\n\n getItemSize: ({ itemSize }) => itemSize as number,\n\n getEstimatedTotalSize: ({ total, itemSize }) => (itemSize as number) * total,\n\n getOffset: (\n { height, total, itemSize, layout, width },\n index,\n alignment,\n scrollOffset\n ) => {\n const size = (isHorizontal(layout) ? width : height) as number\n if (process.env.NODE_ENV !== 'production' && isString(size)) {\n throwError(\n '[ElVirtualList]',\n `\n You should set\n width/height\n to number when your layout is\n horizontal/vertical\n `\n )\n }\n const lastItemOffset = Math.max(0, total * (itemSize as number) - size)\n const maxOffset = Math.min(lastItemOffset, index * (itemSize as number))\n const minOffset = Math.max(0, (index + 1) * (itemSize as number) - size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (\n scrollOffset >= minOffset - size &&\n scrollOffset <= maxOffset + size\n ) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(size / 2)) {\n return 0 // near the beginning\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset // near the end\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n },\n\n getStartIndexForOffset: ({ total, itemSize }, offset) =>\n Math.max(0, Math.min(total - 1, Math.floor(offset / (itemSize as number)))),\n\n getStopIndexForStartIndex: (\n { height, total, itemSize, layout, width }: Props,\n startIndex: number,\n scrollOffset: number\n ) => {\n const offset = startIndex * (itemSize as number)\n const size = isHorizontal(layout) ? width : height\n const numVisibleItems = Math.ceil(\n ((size as number) + scrollOffset - offset) / (itemSize as number)\n )\n return Math.max(\n 0,\n Math.min(\n total - 1,\n // because startIndex is inclusive, so in order to prevent array outbound indexing\n // we need to - 1 to prevent outbound behavior\n startIndex + numVisibleItems - 1\n )\n )\n },\n\n /**\n * Fixed size list does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache() {\n return undefined as any\n },\n\n clearCache: true,\n\n validateProps() {\n //\n },\n})\n\nexport type FixedSizeListInstance = InstanceType\nexport default FixedSizeList\n", "import { throwError } from '@element-plus/utils'\n\nimport createList from '../builders/build-list'\n\nimport { isHorizontal } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\nimport type { VirtualizedListProps } from '../props'\n\nimport type { ItemSize, ListCache, ListItem } from '../types'\n\ntype Props = VirtualizedListProps\n\nconst SCOPE = 'ElDynamicSizeList'\nconst getItemFromCache = (\n props: Props,\n index: number,\n listCache: ListCache\n): ListItem => {\n const { itemSize } = props\n const { items, lastVisitedIndex } = listCache\n\n if (index > lastVisitedIndex) {\n let offset = 0\n if (lastVisitedIndex >= 0) {\n const item = items[lastVisitedIndex]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisitedIndex + 1; i <= index; i++) {\n const size = (itemSize as ItemSize)(i)\n\n items[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n listCache.lastVisitedIndex = index\n }\n\n return items[index]\n}\n\nconst findItem = (props: Props, listCache: ListCache, offset: number) => {\n const { items, lastVisitedIndex } = listCache\n\n const lastVisitedOffset =\n lastVisitedIndex > 0 ? items[lastVisitedIndex].offset : 0\n\n if (lastVisitedOffset >= offset) {\n return bs(props, listCache, 0, lastVisitedIndex, offset)\n }\n return es(props, listCache, Math.max(0, lastVisitedIndex), offset)\n}\n\n// bs stands for binary search which has approximately time complexity of O(Log n)\n// space complexity of O(1)\n// in this case we use it for search the offset of each item, since\n// the cached items' offset is monotonically increasing\nconst bs = (\n props: Props,\n listCache: ListCache,\n low: number,\n high: number,\n offset: number\n) => {\n while (low <= high) {\n const mid = low + Math.floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, listCache).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else if (currentOffset > offset) {\n high = mid - 1\n }\n }\n\n return Math.max(0, low - 1)\n}\n\n// es stands for exponential search which has time complexity of O(Log n) and\n// space complexity of O(1) in the case of finding the boundary element.\n// the exponential indicator in this case is 2.\n// for more detail about exponential search click this link\n// https://www.freecodecamp.org/news/search-algorithms-exponential-search-explained/\n\nconst es = (\n props: Props,\n listCache: ListCache,\n index: number,\n offset: number\n) => {\n const { total } = props\n let exponent = 1\n\n while (\n index < total &&\n getItemFromCache(props, index, listCache).offset < offset\n ) {\n index += exponent\n exponent *= 2\n }\n\n return bs(\n props,\n listCache,\n Math.floor(index / 2),\n Math.min(index, total - 1),\n offset\n )\n}\n\nconst getEstimatedTotalSize = (\n { total }: Props,\n { items, estimatedItemSize, lastVisitedIndex }: ListCache\n) => {\n let totalSizeOfMeasuredItems = 0\n\n if (lastVisitedIndex >= total) {\n lastVisitedIndex = total - 1\n }\n\n if (lastVisitedIndex >= 0) {\n const item = items[lastVisitedIndex]\n totalSizeOfMeasuredItems = item.offset + item.size\n }\n\n const numUnmeasuredItems = total - lastVisitedIndex - 1\n const totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize\n return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems\n}\n\nconst DynamicSizeList = createList({\n name: 'ElDynamicSizeList',\n getItemOffset: (props, index, listCache) =>\n getItemFromCache(props, index, listCache).offset,\n\n getItemSize: (_, index, { items }) => items[index].size,\n\n getEstimatedTotalSize,\n\n getOffset: (props, index, alignment, scrollOffset, listCache) => {\n const { height, layout, width } = props\n\n const size = (isHorizontal(layout) ? width : height) as number\n const item = getItemFromCache(props, index, listCache)\n\n const estimatedTotalSize = getEstimatedTotalSize(props, listCache)\n\n const maxOffset = Math.max(\n 0,\n Math.min(estimatedTotalSize - size, item.offset)\n )\n const minOffset = Math.max(0, item.offset - size + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (\n scrollOffset >= minOffset - size &&\n scrollOffset <= maxOffset + size\n ) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n },\n\n getStartIndexForOffset: (props, offset, listCache) =>\n findItem(props, listCache, offset),\n\n getStopIndexForStartIndex: (props, startIndex, scrollOffset, listCache) => {\n const { height, total, layout, width } = props\n\n const size = (isHorizontal(layout) ? width : height) as number\n const item = getItemFromCache(props, startIndex, listCache)\n const maxOffset = scrollOffset + size\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n\n while (stopIndex < total - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, listCache).size\n }\n\n return stopIndex\n },\n\n initCache({ estimatedItemSize = DEFAULT_DYNAMIC_LIST_ITEM_SIZE }, instance) {\n const cache = {\n items: {},\n estimatedItemSize,\n lastVisitedIndex: -1,\n } as ListCache\n\n cache.clearCacheAfterIndex = (index: number, forceUpdate = true) => {\n cache.lastVisitedIndex = Math.min(cache.lastVisitedIndex, index - 1)\n instance.exposed?.getItemStyleCache(-1)\n\n if (forceUpdate) {\n instance.proxy?.$forceUpdate()\n }\n }\n\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ itemSize }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof itemSize !== 'function') {\n throwError(\n SCOPE,\n `\n itemSize is required as function, but the given value was ${typeof itemSize}\n `\n )\n }\n }\n },\n})\n\nexport type DynamicSizeListInstance = InstanceType\nexport default DynamicSizeList\n", "import { cAF, rAF } from '@element-plus/utils'\n\nimport type { ComputedRef } from 'vue'\n\ninterface GridWheelState {\n atXStartEdge: ComputedRef\n atXEndEdge: ComputedRef\n atYStartEdge: ComputedRef\n atYEndEdge: ComputedRef\n}\n\ntype GridWheelHandler = (x: number, y: number) => void\n\nexport const useGridWheel = (\n { atXEndEdge, atXStartEdge, atYEndEdge, atYStartEdge }: GridWheelState,\n onWheelDelta: GridWheelHandler\n) => {\n let frameHandle: number | null = null\n let xOffset = 0\n let yOffset = 0\n\n const hasReachedEdge = (x: number, y: number) => {\n const xEdgeReached =\n (x <= 0 && atXStartEdge.value) || (x >= 0 && atXEndEdge.value)\n const yEdgeReached =\n (y <= 0 && atYStartEdge.value) || (y >= 0 && atYEndEdge.value)\n return xEdgeReached && yEdgeReached\n }\n\n const onWheel = (e: WheelEvent) => {\n cAF(frameHandle!)\n\n let x = e.deltaX\n let y = e.deltaY\n // Simulate native behavior when using touch pad/track pad for wheeling.\n if (Math.abs(x) > Math.abs(y)) {\n y = 0\n } else {\n x = 0\n }\n\n // Special case for windows machine with shift key + wheel scrolling\n if (e.shiftKey && y !== 0) {\n x = y\n y = 0\n }\n\n if (\n hasReachedEdge(xOffset, yOffset) &&\n hasReachedEdge(xOffset + x, yOffset + y)\n )\n return\n\n xOffset += x\n yOffset += y\n\n e.preventDefault()\n\n frameHandle = rAF(() => {\n onWheelDelta(xOffset, yOffset)\n xOffset = 0\n yOffset = 0\n })\n }\n\n return {\n hasReachedEdge,\n onWheel,\n }\n}\n", "// @ts-nocheck\nimport {\n Fragment,\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport {\n getScrollBarWidth,\n hasOwn,\n isClient,\n isNumber,\n isString,\n} from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport Scrollbar from '../components/scrollbar'\nimport { useGridWheel } from '../hooks/use-grid-wheel'\nimport { useCache } from '../hooks/use-cache'\nimport { virtualizedGridProps } from '../props'\nimport { getRTLOffsetType, getScrollDir, isRTL } from '../utils'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\nimport type {\n CSSProperties,\n Ref,\n StyleValue,\n UnwrapRef,\n VNode,\n VNodeChild,\n} from 'vue'\nimport type {\n Alignment,\n GridConstructorProps,\n GridScrollOptions,\n ScrollbarExpose,\n} from '../types'\nimport type { VirtualizedGridProps } from '../props'\n\nconst createGrid = ({\n name,\n clearCache,\n getColumnPosition,\n getColumnStartIndexForOffset,\n getColumnStopIndexForStartIndex,\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n getColumnOffset,\n getRowOffset,\n getRowPosition,\n getRowStartIndexForOffset,\n getRowStopIndexForStartIndex,\n\n initCache,\n injectToInstance,\n validateProps,\n}: GridConstructorProps) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedGridProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose, slots }) {\n const ns = useNamespace('vl')\n\n validateProps(props)\n const instance = getCurrentInstance()!\n const cache = ref(initCache(props, instance))\n injectToInstance?.(instance, cache)\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref()\n const hScrollbar = ref()\n const vScrollbar = ref()\n // innerRef is the actual container element which contains all the elements\n const innerRef = ref(null)\n const states = ref({\n isScrolling: false,\n scrollLeft: isNumber(props.initScrollLeft) ? props.initScrollLeft : 0,\n scrollTop: isNumber(props.initScrollTop) ? props.initScrollTop : 0,\n updateRequested: false,\n xAxisScrollDir: FORWARD,\n yAxisScrollDir: FORWARD,\n })\n\n const getItemStyleCache = useCache()\n\n // computed\n const parsedHeight = computed(() =>\n Number.parseInt(`${props.height}`, 10)\n )\n const parsedWidth = computed(() => Number.parseInt(`${props.width}`, 10))\n const columnsToRender = computed(() => {\n const { totalColumn, totalRow, columnCache } = props\n const { isScrolling, xAxisScrollDir, scrollLeft } = unref(states)\n\n if (totalColumn === 0 || totalRow === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getColumnStartIndexForOffset(\n props,\n scrollLeft,\n unref(cache)\n )\n const stopIndex = getColumnStopIndexForStartIndex(\n props,\n startIndex,\n scrollLeft,\n unref(cache)\n )\n\n const cacheBackward =\n !isScrolling || xAxisScrollDir === BACKWARD\n ? Math.max(1, columnCache)\n : 1\n const cacheForward =\n !isScrolling || xAxisScrollDir === FORWARD\n ? Math.max(1, columnCache)\n : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(totalColumn! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const rowsToRender = computed(() => {\n const { totalColumn, totalRow, rowCache } = props\n const { isScrolling, yAxisScrollDir, scrollTop } = unref(states)\n\n if (totalColumn === 0 || totalRow === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getRowStartIndexForOffset(\n props,\n scrollTop,\n unref(cache)\n )\n const stopIndex = getRowStopIndexForStartIndex(\n props,\n startIndex,\n scrollTop,\n unref(cache)\n )\n\n const cacheBackward =\n !isScrolling || yAxisScrollDir === BACKWARD\n ? Math.max(1, rowCache)\n : 1\n const cacheForward =\n !isScrolling || yAxisScrollDir === FORWARD ? Math.max(1, rowCache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(totalRow! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalHeight = computed(() =>\n getEstimatedTotalHeight(props, unref(cache))\n )\n const estimatedTotalWidth = computed(() =>\n getEstimatedTotalWidth(props, unref(cache))\n )\n\n const windowStyle = computed(() => [\n {\n position: 'relative',\n overflow: 'hidden',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style ?? {},\n ])\n\n const innerStyle = computed(() => {\n const width = `${unref(estimatedTotalWidth)}px`\n const height = `${unref(estimatedTotalHeight)}px`\n\n return {\n height,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width,\n }\n })\n\n // methods\n const emitEvents = () => {\n const { totalColumn, totalRow } = props\n\n if (totalColumn! > 0 && totalRow! > 0) {\n const [\n columnCacheStart,\n columnCacheEnd,\n columnVisibleStart,\n columnVisibleEnd,\n ] = unref(columnsToRender)\n const [rowCacheStart, rowCacheEnd, rowVisibleStart, rowVisibleEnd] =\n unref(rowsToRender)\n // emit the render item event with\n // [xAxisInvisibleStart, xAxisInvisibleEnd, xAxisVisibleStart, xAxisVisibleEnd]\n // [yAxisInvisibleStart, yAxisInvisibleEnd, yAxisVisibleStart, yAxisVisibleEnd]\n emit(ITEM_RENDER_EVT, {\n columnCacheStart,\n columnCacheEnd,\n rowCacheStart,\n rowCacheEnd,\n columnVisibleStart,\n columnVisibleEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n const {\n scrollLeft,\n scrollTop,\n updateRequested,\n xAxisScrollDir,\n yAxisScrollDir,\n } = unref(states)\n emit(SCROLL_EVT, {\n xAxisScrollDir,\n scrollLeft,\n yAxisScrollDir,\n scrollTop,\n updateRequested,\n })\n }\n\n const onScroll = (e: Event) => {\n const {\n clientHeight,\n clientWidth,\n scrollHeight,\n scrollLeft,\n scrollTop,\n scrollWidth,\n } = e.currentTarget as HTMLElement\n\n const _states = unref(states)\n\n if (\n _states.scrollTop === scrollTop &&\n _states.scrollLeft === scrollLeft\n ) {\n return\n }\n\n let _scrollLeft = scrollLeft\n\n if (isRTL(props.direction)) {\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG:\n _scrollLeft = -scrollLeft\n break\n case RTL_OFFSET_POS_DESC:\n _scrollLeft = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollLeft: _scrollLeft,\n scrollTop: Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n ),\n updateRequested: true,\n xAxisScrollDir: getScrollDir(_states.scrollLeft, _scrollLeft),\n yAxisScrollDir: getScrollDir(_states.scrollTop, scrollTop),\n }\n\n nextTick(() => resetIsScrolling())\n\n onUpdated()\n emitEvents()\n }\n\n const onVerticalScroll = (distance: number, totalSteps: number) => {\n const height = unref(parsedHeight)\n const offset =\n ((estimatedTotalHeight.value - height) / totalSteps) * distance\n scrollTo({\n scrollTop: Math.min(estimatedTotalHeight.value - height, offset),\n })\n }\n\n const onHorizontalScroll = (distance: number, totalSteps: number) => {\n const width = unref(parsedWidth)\n const offset =\n ((estimatedTotalWidth.value - width) / totalSteps) * distance\n scrollTo({\n scrollLeft: Math.min(estimatedTotalWidth.value - width, offset),\n })\n }\n\n const { onWheel } = useGridWheel(\n {\n atXStartEdge: computed(() => states.value.scrollLeft <= 0),\n atXEndEdge: computed(\n () =>\n states.value.scrollLeft >=\n estimatedTotalWidth.value - unref(parsedWidth)\n ),\n atYStartEdge: computed(() => states.value.scrollTop <= 0),\n atYEndEdge: computed(\n () =>\n states.value.scrollTop >=\n estimatedTotalHeight.value - unref(parsedHeight)\n ),\n },\n (x: number, y: number) => {\n hScrollbar.value?.onMouseUp?.()\n vScrollbar.value?.onMouseUp?.()\n const width = unref(parsedWidth)\n const height = unref(parsedHeight)\n scrollTo({\n scrollLeft: Math.min(\n states.value.scrollLeft + x,\n estimatedTotalWidth.value - width\n ),\n scrollTop: Math.min(\n states.value.scrollTop + y,\n estimatedTotalHeight.value - height\n ),\n })\n }\n )\n\n useEventListener(windowRef, 'wheel', onWheel, {\n passive: false,\n })\n\n const scrollTo = ({\n scrollLeft = states.value.scrollLeft,\n scrollTop = states.value.scrollTop,\n }: GridScrollOptions) => {\n scrollLeft = Math.max(scrollLeft, 0)\n scrollTop = Math.max(scrollTop, 0)\n const _states = unref(states)\n if (\n scrollTop === _states.scrollTop &&\n scrollLeft === _states.scrollLeft\n ) {\n return\n }\n\n states.value = {\n ..._states,\n xAxisScrollDir: getScrollDir(_states.scrollLeft, scrollLeft),\n yAxisScrollDir: getScrollDir(_states.scrollTop, scrollTop),\n scrollLeft,\n scrollTop,\n updateRequested: true,\n }\n\n nextTick(() => resetIsScrolling())\n\n onUpdated()\n emitEvents()\n }\n\n const scrollToItem = (\n rowIndex = 0,\n columnIdx = 0,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const _states = unref(states)\n columnIdx = Math.max(0, Math.min(columnIdx, props.totalColumn! - 1))\n rowIndex = Math.max(0, Math.min(rowIndex, props.totalRow! - 1))\n const scrollBarWidth = getScrollBarWidth(ns.namespace.value)\n\n const _cache = unref(cache)\n const estimatedHeight = getEstimatedTotalHeight(props, _cache)\n const estimatedWidth = getEstimatedTotalWidth(props, _cache)\n\n scrollTo({\n scrollLeft: getColumnOffset(\n props,\n columnIdx,\n alignment,\n _states.scrollLeft,\n _cache,\n estimatedWidth > props.width! ? scrollBarWidth : 0\n ),\n scrollTop: getRowOffset(\n props,\n rowIndex,\n alignment,\n _states.scrollTop,\n _cache,\n estimatedHeight > props.height! ? scrollBarWidth : 0\n ),\n })\n }\n\n const getItemStyle = (\n rowIndex: number,\n columnIndex: number\n ): CSSProperties => {\n const { columnWidth, direction, rowHeight } = props\n const itemStyleCache = getItemStyleCache.value(\n clearCache && columnWidth,\n clearCache && rowHeight,\n clearCache && direction\n )\n // since there was no need to introduce an nested array into cache object\n // we use row,column to construct the key for indexing the map.\n const key = `${rowIndex},${columnIndex}`\n\n if (hasOwn(itemStyleCache, key)) {\n return itemStyleCache[key]\n } else {\n const [, left] = getColumnPosition(props, columnIndex, unref(cache))\n const _cache = unref(cache)\n\n const rtl = isRTL(direction)\n const [height, top] = getRowPosition(props, rowIndex, _cache)\n const [width] = getColumnPosition(props, columnIndex, _cache)\n\n itemStyleCache[key] = {\n position: 'absolute',\n left: rtl ? undefined : `${left}px`,\n right: rtl ? `${left}px` : undefined,\n top: `${top}px`,\n height: `${height}px`,\n width: `${width}px`,\n }\n\n return itemStyleCache[key]\n }\n }\n\n // TODO: debounce setting is scrolling.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n // life cycles\n onMounted(() => {\n // for SSR\n if (!isClient) return\n const { initScrollLeft, initScrollTop } = props\n const windowElement = unref(windowRef)\n if (windowElement) {\n if (isNumber(initScrollLeft)) {\n windowElement.scrollLeft = initScrollLeft\n }\n if (isNumber(initScrollTop)) {\n windowElement.scrollTop = initScrollTop\n }\n }\n emitEvents()\n })\n\n const onUpdated = () => {\n const { direction } = props\n const { scrollLeft, scrollTop, updateRequested } = unref(states)\n\n const windowElement = unref(windowRef)\n if (updateRequested && windowElement) {\n if (direction === RTL) {\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollLeft\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n } else {\n windowElement.scrollLeft = Math.max(0, scrollLeft)\n }\n\n windowElement.scrollTop = Math.max(0, scrollTop)\n }\n }\n\n const { resetAfterColumnIndex, resetAfterRowIndex, resetAfter } =\n instance.proxy as any\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n states,\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n\n // rendering part\n\n const renderScrollbars = () => {\n const {\n scrollbarAlwaysOn,\n scrollbarStartGap,\n scrollbarEndGap,\n totalColumn,\n totalRow,\n } = props\n\n const width = unref(parsedWidth)\n const height = unref(parsedHeight)\n const estimatedWidth = unref(estimatedTotalWidth)\n const estimatedHeight = unref(estimatedTotalHeight)\n const { scrollLeft, scrollTop } = unref(states)\n const horizontalScrollbar = h(Scrollbar, {\n ref: hScrollbar,\n alwaysOn: scrollbarAlwaysOn,\n startGap: scrollbarStartGap,\n endGap: scrollbarEndGap,\n class: ns.e('horizontal'),\n clientSize: width,\n layout: 'horizontal',\n onScroll: onHorizontalScroll,\n ratio: (width * 100) / estimatedWidth,\n scrollFrom: scrollLeft / (estimatedWidth - width),\n total: totalRow,\n visible: true,\n })\n\n const verticalScrollbar = h(Scrollbar, {\n ref: vScrollbar,\n alwaysOn: scrollbarAlwaysOn,\n startGap: scrollbarStartGap,\n endGap: scrollbarEndGap,\n class: ns.e('vertical'),\n clientSize: height,\n layout: 'vertical',\n onScroll: onVerticalScroll,\n ratio: (height * 100) / estimatedHeight,\n scrollFrom: scrollTop / (estimatedHeight - height),\n\n total: totalColumn,\n visible: true,\n })\n\n return {\n horizontalScrollbar,\n verticalScrollbar,\n }\n }\n\n const renderItems = () => {\n const [columnStart, columnEnd] = unref(columnsToRender)\n const [rowStart, rowEnd] = unref(rowsToRender)\n const { data, totalColumn, totalRow, useIsScrolling, itemKey } = props\n const children: VNodeChild[] = []\n if (totalRow > 0 && totalColumn > 0) {\n for (let row = rowStart; row <= rowEnd; row++) {\n for (let column = columnStart; column <= columnEnd; column++) {\n const key = itemKey({ columnIndex: column, data, rowIndex: row })\n children.push(\n h(\n Fragment,\n { key },\n slots.default?.({\n columnIndex: column,\n data,\n isScrolling: useIsScrolling\n ? unref(states).isScrolling\n : undefined,\n style: getItemStyle(row, column),\n rowIndex: row,\n })\n )\n )\n }\n }\n }\n return children\n }\n\n const renderInner = () => {\n const Inner = resolveDynamicComponent(props.innerElement) as VNode\n const children = renderItems()\n return [\n h(\n Inner,\n {\n style: unref(innerStyle),\n ref: innerRef,\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n }\n\n const renderWindow = () => {\n const Container = resolveDynamicComponent(\n props.containerElement\n ) as VNode\n const { horizontalScrollbar, verticalScrollbar } = renderScrollbars()\n const Inner = renderInner()\n\n return h(\n 'div',\n {\n key: 0,\n class: ns.e('wrapper'),\n role: props.role,\n },\n [\n h(\n Container,\n {\n class: props.className,\n style: unref(windowStyle),\n onScroll,\n ref: windowRef,\n },\n !isString(Container) ? { default: () => Inner } : Inner\n ),\n horizontalScrollbar,\n verticalScrollbar,\n ]\n )\n }\n\n return renderWindow\n },\n })\n}\n\nexport default createGrid\n\ntype Dir = typeof FORWARD | typeof BACKWARD\n\nexport type GridInstance = InstanceType> &\n UnwrapRef<{\n windowRef: Ref\n innerRef: Ref\n getItemStyleCache: ReturnType\n scrollTo: (scrollOptions: GridScrollOptions) => void\n scrollToItem: (\n rowIndex: number,\n columnIndex: number,\n alignment: Alignment\n ) => void\n states: Ref<{\n isScrolling: boolean\n scrollLeft: number\n scrollTop: number\n updateRequested: boolean\n xAxisScrollDir: Dir\n yAxisScrollDir: Dir\n }>\n }>\n", "import { isNumber, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\n\nconst SCOPE = 'ElFixedSizeGrid'\n\nconst FixedSizeGrid = createGrid({\n name: 'ElFixedSizeGrid',\n getColumnPosition: ({ columnWidth }, index) => [\n columnWidth as number,\n index * (columnWidth as number),\n ],\n\n getRowPosition: ({ rowHeight }, index) => [\n rowHeight as number,\n index * (rowHeight as number),\n ],\n\n getEstimatedTotalHeight: ({ totalRow, rowHeight }) =>\n (rowHeight as number) * totalRow,\n\n getEstimatedTotalWidth: ({ totalColumn, columnWidth }) =>\n (columnWidth as number) * totalColumn,\n\n getColumnOffset: (\n { totalColumn, columnWidth, width },\n columnIndex,\n alignment,\n scrollLeft,\n _,\n scrollBarWidth\n ) => {\n width = Number(width)\n const lastColumnOffset = Math.max(\n 0,\n totalColumn * (columnWidth as number) - width\n )\n const maxOffset = Math.min(\n lastColumnOffset,\n columnIndex * (columnWidth as number)\n )\n const minOffset = Math.max(\n 0,\n columnIndex * (columnWidth as number) -\n width +\n scrollBarWidth +\n (columnWidth as number)\n )\n\n if (alignment === 'smart') {\n if (scrollLeft >= minOffset - width && scrollLeft <= maxOffset + width) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(width / 2)) {\n return 0\n } else if (middleOffset > lastColumnOffset + Math.floor(width / 2)) {\n return lastColumnOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollLeft >= minOffset && scrollLeft <= maxOffset) {\n return scrollLeft\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollLeft < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getRowOffset: (\n { rowHeight, height, totalRow },\n rowIndex,\n align,\n scrollTop,\n _,\n scrollBarWidth\n ): number => {\n height = Number(height)\n const lastRowOffset = Math.max(0, totalRow * (rowHeight as number) - height)\n const maxOffset = Math.min(lastRowOffset, rowIndex * (rowHeight as number))\n const minOffset = Math.max(\n 0,\n rowIndex * (rowHeight as number) -\n height +\n scrollBarWidth +\n (rowHeight as number)\n )\n\n if (align === SMART_ALIGNMENT) {\n if (scrollTop >= minOffset - height && scrollTop <= maxOffset + height) {\n align = AUTO_ALIGNMENT\n } else {\n align = CENTERED_ALIGNMENT\n }\n }\n\n switch (align) {\n case START_ALIGNMENT:\n return maxOffset\n case END_ALIGNMENT:\n return minOffset\n case CENTERED_ALIGNMENT: {\n const middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2)\n if (middleOffset < Math.ceil(height / 2)) {\n return 0\n } else if (middleOffset > lastRowOffset + Math.floor(height / 2)) {\n return lastRowOffset\n } else {\n return middleOffset\n }\n }\n case AUTO_ALIGNMENT:\n default:\n if (scrollTop >= minOffset && scrollTop <= maxOffset) {\n return scrollTop\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollTop < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n },\n\n getColumnStartIndexForOffset: ({ columnWidth, totalColumn }, scrollLeft) =>\n Math.max(\n 0,\n Math.min(\n totalColumn - 1,\n Math.floor(scrollLeft / (columnWidth as number))\n )\n ),\n\n getColumnStopIndexForStartIndex: (\n { columnWidth, totalColumn, width },\n startIndex: number,\n scrollLeft: number\n ): number => {\n const left = startIndex * (columnWidth as number)\n const visibleColumnsCount = Math.ceil(\n ((width as number) + scrollLeft - left) / (columnWidth as number)\n )\n return Math.max(\n 0,\n Math.min(totalColumn - 1, startIndex + visibleColumnsCount - 1)\n )\n },\n\n getRowStartIndexForOffset: (\n { rowHeight, totalRow },\n scrollTop: number\n ): number =>\n Math.max(\n 0,\n Math.min(totalRow - 1, Math.floor(scrollTop / (rowHeight as number)))\n ),\n\n getRowStopIndexForStartIndex: (\n { rowHeight, totalRow, height },\n startIndex: number,\n scrollTop: number\n ): number => {\n const top = startIndex * (rowHeight as number)\n const numVisibleRows = Math.ceil(\n ((height as number) + scrollTop - top) / (rowHeight as number)\n )\n return Math.max(\n 0,\n Math.min(\n totalRow - 1,\n startIndex + numVisibleRows - 1 // -1 is because stop index is inclusive\n )\n )\n },\n /**\n * Fixed size grid does not need this cache\n * Using any to bypass it, TODO: Using type inference to fix this.\n */\n initCache: () => undefined as any,\n\n clearCache: true,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isNumber(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isNumber(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as number,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default FixedSizeGrid\n", "// @ts-nocheck\nimport {\n isFunction,\n isNumber,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\n\nimport type { Alignment, GridCache, ItemSize, ListItem } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n}\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n}\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record, ItemSize, number]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n // console.log(i, sizer(i))\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record, number]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n // console.log(rowIndex)\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n", "\n\n\n", "import type { IOptionV2Props } from './token'\nimport type { OptionEmitFn } from './defaults'\n\nexport function useOption(\n props: IOptionV2Props,\n { emit }: { emit: OptionEmitFn }\n) {\n return {\n hoverItem: () => {\n if (!props.disabled) {\n emit('hover', props.index)\n }\n },\n selectOptionClick: () => {\n if (!props.disabled) {\n emit('select', props.item, props.index)\n }\n },\n }\n}\n", "import { computed } from 'vue'\nimport { get } from 'lodash-unified'\n\nimport type { ISelectV2Props } from './token'\nimport type { Option } from './select.types'\n\nexport interface Props {\n label?: string\n value?: string\n disabled?: string\n options?: string\n}\n\nexport const defaultProps: Required = {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n options: 'options',\n}\n\nexport function useProps(props: Pick) {\n const aliasProps = computed(() => ({ ...defaultProps, ...props.props }))\n\n const getLabel = (option: Option) => get(option, aliasProps.value.label)\n const getValue = (option: Option) => get(option, aliasProps.value.value)\n const getDisabled = (option: Option) => get(option, aliasProps.value.disabled)\n const getOptions = (option: Option) => get(option, aliasProps.value.options)\n\n return {\n aliasProps,\n getLabel,\n getValue,\n getDisabled,\n getOptions,\n }\n}\n", "import { placements } from '@popperjs/core'\nimport {\n useAriaProps,\n useEmptyValuesProps,\n useSizeProp,\n} from '@element-plus/hooks'\nimport {\n buildProps,\n definePropType,\n iconPropType,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useTooltipContentProps } from '@element-plus/components/tooltip'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport { tagProps } from '../../tag'\nimport { defaultProps } from './useProps'\n\nimport type { Option, OptionType } from './select.types'\nimport type { Props } from './useProps'\nimport type { EmitFn } from '@element-plus/utils/vue/typescript'\nimport type { ExtractPropTypes } from 'vue'\nimport type {\n Options,\n Placement,\n PopperEffect,\n} from '@element-plus/components/popper'\n\nexport const SelectProps = buildProps({\n /**\n * @description whether creating new items is allowed. To use this, `filterable` must be true\n */\n allowCreate: Boolean,\n /**\n * @description autocomplete of select input\n */\n autocomplete: {\n type: definePropType<'none' | 'both' | 'list' | 'inline'>(String),\n default: 'none',\n },\n /**\n * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n */\n automaticDropdown: Boolean,\n /**\n * @description whether select can be cleared\n */\n clearable: Boolean,\n /**\n * @description custom clear icon\n */\n clearIcon: {\n type: iconPropType,\n default: CircleClose,\n },\n /**\n * @description tooltip theme, built-in theme: `dark` / `light`\n */\n effect: {\n type: definePropType(String),\n default: 'light',\n },\n /**\n * @description whether to collapse tags to a text when multiple selecting\n */\n collapseTags: Boolean,\n /**\n * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n */\n collapseTagsTooltip: Boolean,\n /**\n * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description\n */\n defaultFirstOption: Boolean,\n /**\n * @description is disabled\n */\n disabled: Boolean,\n /**\n * @description\n */\n estimatedOptionHeight: {\n type: Number,\n default: undefined,\n },\n /**\n * @description is filterable\n */\n filterable: Boolean,\n /**\n * @description\n */\n filterMethod: Function,\n /**\n * @description The height of the dropdown panel, 34px for each item\n */\n height: {\n type: Number,\n default: 274, // same as select dropdown menu\n },\n /**\n * @description The height of the dropdown item\n */\n itemHeight: {\n type: Number,\n default: 34,\n },\n /**\n * @description\n */\n id: String,\n /**\n * @description whether Select is loading data from server\n */\n loading: Boolean,\n /**\n * @description displayed text while loading data from server, default is 'Loading'\n */\n loadingText: String,\n /**\n * @description biding value\n */\n modelValue: {\n type: definePropType<\n any[] | string | number | boolean | Record | any\n >([Array, String, Number, Boolean, Object]),\n },\n /**\n * @description is multiple\n */\n multiple: Boolean,\n /**\n * @description maximum number of options user can select when multiple is true. No limit when set to 0\n */\n multipleLimit: {\n type: Number,\n default: 0,\n },\n /**\n * @description the name attribute of select input\n */\n name: String,\n /**\n * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n */\n noDataText: String,\n /**\n * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n */\n noMatchText: String,\n /**\n * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n */\n remoteMethod: Function,\n /**\n * @description whether reserve the keyword after select filtered option.\n */\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n /**\n * @description data of the options, the key of `value` and `label` can be customize by `props`\n */\n options: {\n type: definePropType(Array),\n required: true,\n },\n /**\n * @description placeholder, the default is 'Please select'\n */\n placeholder: {\n type: String,\n },\n /**\n * @description whether select dropdown is teleported to the body\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n */\n persistent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description custom class name for Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n */\n popperOptions: {\n type: definePropType>(Object),\n default: () => ({} as Partial),\n },\n /**\n * @description whether search data from server\n */\n remote: Boolean,\n /**\n * @description size of component\n */\n size: useSizeProp,\n /**\n * @description configuration options, see the following table\n */\n props: {\n type: definePropType(Object),\n default: () => defaultProps,\n },\n /**\n * @description unique identity key name for value, required when value is an object\n */\n valueKey: {\n type: String,\n default: 'value',\n },\n /**\n * @description Controls whether the scrollbar is always displayed\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description offset of the dropdown\n */\n offset: {\n type: Number,\n default: 12,\n },\n /**\n * @description Determines whether the arrow is displayed\n */\n showArrow: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of dropdown\n */\n placement: {\n type: definePropType(String),\n values: placements,\n default: 'bottom-start',\n },\n /**\n * @description list of possible positions for dropdown\n */\n fallbackPlacements: {\n type: definePropType(Array),\n default: ['bottom-start', 'top-start', 'right', 'left'],\n },\n /**\n * @description tag type\n */\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description tag effect\n */\n tagEffect: { ...tagProps.effect, default: 'light' },\n /**\n * @description which element the select dropdown appends to\n */\n appendTo: String,\n ...useEmptyValuesProps,\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport const OptionProps = buildProps({\n data: Array,\n disabled: Boolean,\n hovering: Boolean,\n item: {\n type: definePropType