excalimaid 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +129 -0
- package/cli/cli.ts +63 -0
- package/cli/mcp.ts +37 -0
- package/cli/server.ts +135 -0
- package/dist/assets/Assistant-Bold-gm-uSS1B.woff2 +0 -0
- package/dist/assets/Assistant-Medium-DrcxCXg3.woff2 +0 -0
- package/dist/assets/Assistant-Regular-DVxZuzxb.woff2 +0 -0
- package/dist/assets/Assistant-SemiBold-SCI4bEL9.woff2 +0 -0
- package/dist/assets/Tableau10-B-NsZVaP.js +1 -0
- package/dist/assets/_basePickBy-U5zE7l2l.js +1 -0
- package/dist/assets/_baseUniq-C8C1_z3A.js +1 -0
- package/dist/assets/_commonjs-dynamic-modules-TDtrdbi3.js +1 -0
- package/dist/assets/advancedFormat-CittAtZX.js +1 -0
- package/dist/assets/ar-SA-G6X2FPQ2-CnkVR461.js +10 -0
- package/dist/assets/arc-DiFeZt3u.js +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-BrJW8Z6k.js +36 -0
- package/dist/assets/az-AZ-76LH7QW2-BhAbB4T8.js +1 -0
- package/dist/assets/band-dPffDWoQ.js +1 -0
- package/dist/assets/bg-BG-XCXSNQG7-8NzMZV9h.js +5 -0
- package/dist/assets/blockDiagram-38ab4fdb-CkEsj7oX.js +118 -0
- package/dist/assets/blockDiagram-VD42YOAC-HrzhYbbg.js +122 -0
- package/dist/assets/bn-BD-2XOGV67Q-lrrKmGxD.js +5 -0
- package/dist/assets/c4Diagram-3d4e48cf-DFEa8jER.js +10 -0
- package/dist/assets/c4Diagram-YG6GDRKO-0zfoIR7X.js +10 -0
- package/dist/assets/ca-ES-6MX7JW3Y-CNPurwJ_.js +8 -0
- package/dist/assets/channel-JSq6KtgV.js +1 -0
- package/dist/assets/chunk-4BX2VUAB-DAiZEhOh.js +1 -0
- package/dist/assets/chunk-55IACEB6-0fFfdbKp.js +1 -0
- package/dist/assets/chunk-B4BG7PRW-DIOvEK83.js +165 -0
- package/dist/assets/chunk-DI55MBZ5-DOBYV4Dg.js +220 -0
- package/dist/assets/chunk-FMBD7UC4-BJp0p1TP.js +15 -0
- package/dist/assets/chunk-QN33PNHL-YUF7d6JH.js +1 -0
- package/dist/assets/chunk-QZHKN3VN-Cyy6lNhA.js +1 -0
- package/dist/assets/chunk-TZMSLE5B-jSmnGpc9.js +1 -0
- package/dist/assets/classDiagram-2ON5EDUG-DRbtoOHM.js +1 -0
- package/dist/assets/classDiagram-70f12bd4-CUJ_Soe2.js +2 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-DRbtoOHM.js +1 -0
- package/dist/assets/classDiagram-v2-f2320105-BzY282lu.js +2 -0
- package/dist/assets/clone-CnBKGJgN.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-0csmBfem.js +1 -0
- package/dist/assets/createText-2e5e7dd3-DCciBdh6.js +7 -0
- package/dist/assets/cs-CZ-2BRQDIVT-z-7Qyhzo.js +11 -0
- package/dist/assets/cytoscape-cose-bilkent-CZB_nyuA.js +1 -0
- package/dist/assets/cytoscape.esm-5J0xJHOV.js +321 -0
- package/dist/assets/da-DK-5WZEPLOC-BhWYLCAZ.js +5 -0
- package/dist/assets/dagre-6UL2VRFP-CxaMJ1Ig.js +4 -0
- package/dist/assets/de-DE-XR44H4JA-CjxGsLl4.js +8 -0
- package/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist/assets/diagram-PSM6KHXK-CMYzaEDA.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-CiDR6_Cy.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-DIDEjq9V.js +24 -0
- package/dist/assets/directory-open-01563666-DWU9wJ6I.js +1 -0
- package/dist/assets/directory-open-4ed118d0-CunoC1EB.js +1 -0
- package/dist/assets/edges-e0da2a9e-BsMU_rJF.js +4 -0
- package/dist/assets/el-GR-BZB4AONW-Ch5eFb9A.js +10 -0
- package/dist/assets/erDiagram-9861fffd-Cn2kQt2G.js +51 -0
- package/dist/assets/erDiagram-Q2GNP2WA-Du-uRoT1.js +60 -0
- package/dist/assets/es-ES-U4NZUMDT-UJBeRd2z.js +9 -0
- package/dist/assets/eu-ES-A7QVB2H4-DQJ0ScQo.js +11 -0
- package/dist/assets/fa-IR-HGAKTJCU-BXrt0rf-.js +8 -0
- package/dist/assets/fi-FI-Z5N7JZ37-CoDFgykC.js +6 -0
- package/dist/assets/file-open-002ab408-DIuFHtCF.js +1 -0
- package/dist/assets/file-open-7c801643-684qeFg4.js +1 -0
- package/dist/assets/file-save-3189631c-C1wFhQhH.js +1 -0
- package/dist/assets/file-save-745eba88-Bb9F9Kg7.js +1 -0
- package/dist/assets/flowDb-956e92f1-CZwJsQkO.js +10 -0
- package/dist/assets/flowDiagram-66a62f08-BrYRPcaS.js +4 -0
- package/dist/assets/flowDiagram-NV44I4VS-DpNoNrNl.js +162 -0
- package/dist/assets/flowDiagram-v2-96b9c2cf-CsNAX8kI.js +1 -0
- package/dist/assets/flowchart-elk-definition-4a651766-m0xqqFaS.js +139 -0
- package/dist/assets/fr-FR-RHASNOE6-DnBfYs8d.js +9 -0
- package/dist/assets/ganttDiagram-JELNMOA3-Df_UWBCA.js +267 -0
- package/dist/assets/ganttDiagram-c361ad54-BZWYs-Fm.js +257 -0
- package/dist/assets/gitGraphDiagram-72cf32ee-HcnPT855.js +70 -0
- package/dist/assets/gitGraphDiagram-V2S2FVAM-D9KL5n_-.js +65 -0
- package/dist/assets/gl-ES-HMX3MZ6V-BPGb23Pl.js +10 -0
- package/dist/assets/graph-B4-L-Gvq.js +1 -0
- package/dist/assets/graph-CtIwUVx8.js +1 -0
- package/dist/assets/has-A6rbwllf.js +1 -0
- package/dist/assets/he-IL-6SHJWFNN-Cy-IYrpe.js +10 -0
- package/dist/assets/hi-IN-IWLTKZ5I-3k8Joel4.js +4 -0
- package/dist/assets/hu-HU-A5ZG7DT2-htkFsZKZ.js +7 -0
- package/dist/assets/id-ID-SAP4L64H-B4J-98Uw.js +10 -0
- package/dist/assets/image-blob-reduce.esm-BLtmMM_J.js +2 -0
- package/dist/assets/index-3862675e-BOTHwpNx.js +1 -0
- package/dist/assets/index-5Olo7e5p.js +85 -0
- package/dist/assets/index-BcEmUJXn.css +1 -0
- package/dist/assets/index-nvEXTqYJ.js +462 -0
- package/dist/assets/infoDiagram-HS3SLOUP-C2Ryn1VX.js +2 -0
- package/dist/assets/infoDiagram-f8f76790-DPC1gsIv.js +7 -0
- package/dist/assets/init-Gi6I4Gst.js +1 -0
- package/dist/assets/it-IT-JPQ66NNP-DyGiVPpk.js +11 -0
- package/dist/assets/ja-JP-DBVTYXUO-CSUF2up4.js +8 -0
- package/dist/assets/journeyDiagram-49397b02-Ckh5epkp.js +139 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-DLxs5KYd.js +139 -0
- package/dist/assets/kaa-6HZHGXH3-CBg4CQFV.js +1 -0
- package/dist/assets/kab-KAB-ZGHBKWFO-DBwboV-Y.js +8 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-C0WGKrmS.js +89 -0
- package/dist/assets/katex-DhXJpUyf.js +261 -0
- package/dist/assets/kk-KZ-P5N5QNE5-BFYQ9SHV.js +1 -0
- package/dist/assets/km-KH-HSX4SM5Z-7Q610_nc.js +11 -0
- package/dist/assets/ko-KR-MTYHY66A-Bs2lK9kx.js +9 -0
- package/dist/assets/ku-TR-6OUDTVRD-BhSpQTO8.js +9 -0
- package/dist/assets/layout-C-djlcxr.js +1 -0
- package/dist/assets/layout-MCsY_wR3.js +1 -0
- package/dist/assets/linear-J3gXBN6C.js +1 -0
- package/dist/assets/lt-LT-XHIRWOB4-Cmyt_K1R.js +3 -0
- package/dist/assets/lv-LV-5QDEKY6T-DwvpM6uv.js +7 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-DN2KfXDn.js +68 -0
- package/dist/assets/mindmap-definition-fc14e90a-C5uqIRBs.js +95 -0
- package/dist/assets/mr-IN-CRQNXWMA-C7x-vLO_.js +13 -0
- package/dist/assets/my-MM-5M5IBNSE-BX84QsBX.js +1 -0
- package/dist/assets/nb-NO-T6EIAALU-B6WI7RjO.js +10 -0
- package/dist/assets/nl-NL-IS3SIHDZ-Dn0HrPJz.js +8 -0
- package/dist/assets/nn-NO-6E72VCQL-CuyVuhr9.js +8 -0
- package/dist/assets/oc-FR-POXYY2M6-vjETrNoO.js +8 -0
- package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/assets/pa-IN-N4M65BXN-QdUqGQ9r.js +4 -0
- package/dist/assets/pica-DOTfn93U.js +2 -0
- package/dist/assets/pie-B9yH-m0f.js +1 -0
- package/dist/assets/pieDiagram-8a3498a8-CgtXDZK9.js +35 -0
- package/dist/assets/pieDiagram-ADFJNKIX-M6Yb7g7k.js +30 -0
- package/dist/assets/pl-PL-T2D74RX3-D1PB3RJb.js +9 -0
- package/dist/assets/pt-BR-5N22H2LF-DVTK9HaD.js +9 -0
- package/dist/assets/pt-PT-UZXXM6DQ-DK2QQBMg.js +9 -0
- package/dist/assets/quadrantDiagram-120e2f19-CNFdUkCV.js +7 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-C6Pqcalj.js +7 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-DiRJXMZK.js +64 -0
- package/dist/assets/requirementDiagram-deff3bca-Dkx7sAQD.js +52 -0
- package/dist/assets/ro-RO-JPDTUUEW-BL18iILj.js +11 -0
- package/dist/assets/roundRect-mAH3dD0p.js +1 -0
- package/dist/assets/ru-RU-B4JR7IUQ-C4ULTRpH.js +9 -0
- package/dist/assets/sankeyDiagram-04a897e0-BHnp8X9A.js +8 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-TB-Rq34g.js +10 -0
- package/dist/assets/sankeyLinkHorizontal-DgqkLiUE.js +1 -0
- package/dist/assets/sequenceDiagram-704730f1-9jnU87y7.js +122 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-Cx9DO4n5.js +145 -0
- package/dist/assets/si-LK-N5RQ5JYF-BvJgJyOc.js +1 -0
- package/dist/assets/sk-SK-C5VTKIMK-CWimMbFO.js +6 -0
- package/dist/assets/sl-SI-NN7IZMDC-Bm2zjgI0.js +6 -0
- package/dist/assets/stateDiagram-587899a1-DI0INKJY.js +1 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-Dy-PI7_5.js +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-Dhm6D5Wj.js +1 -0
- package/dist/assets/stateDiagram-v2-d93cdb3a-CzVA8yMH.js +1 -0
- package/dist/assets/styles-6aaf32cf-BC-Z6TZR.js +207 -0
- package/dist/assets/styles-9a916d00-Cm0GdcLu.js +160 -0
- package/dist/assets/styles-c10674c1-0xBiNREm.js +116 -0
- package/dist/assets/subset-shared.chunk-t5mWr_E3.js +22 -0
- package/dist/assets/subset-worker.chunk-B3tOW3EM.js +1 -0
- package/dist/assets/sv-SE-XGPEYMSR-Bs2PAJqk.js +10 -0
- package/dist/assets/svgDrawCommon-08f97a94-B0__78K9.js +1 -0
- package/dist/assets/ta-IN-2NMHFXQM-CrZ5zVNq.js +9 -0
- package/dist/assets/th-TH-HPSO5L25-GldrTMSG.js +2 -0
- package/dist/assets/timeline-definition-85554ec2-8b0z9xQd.js +61 -0
- package/dist/assets/timeline-definition-IT6M3QCI-ZU0_U4jZ.js +61 -0
- package/dist/assets/tr-TR-DEFEU3FU-OYLHVVjE.js +7 -0
- package/dist/assets/treemap-GDKQZRPO-DXs8fXBf.js +168 -0
- package/dist/assets/uk-UA-QMV73CPH-xHhqMOn6.js +6 -0
- package/dist/assets/union-D1U0I7jc.js +1 -0
- package/dist/assets/vi-VN-M7AON7JQ-Bervi7TC.js +5 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-nnpTPX25.js +7 -0
- package/dist/assets/xychartDiagram-e933f94c-MV17g1gZ.js +7 -0
- package/dist/assets/zh-CN-LNUGB5OW-BTDsEPg_.js +10 -0
- package/dist/assets/zh-HK-E62DVLB3-CnY_wdEo.js +1 -0
- package/dist/assets/zh-TW-RAJ6MFWO-CBDoexpW.js +9 -0
- package/dist/assets/zipObject-BRbYwuZU.js +1 -0
- package/dist/fonts/Assistant/Assistant-Bold.woff2 +0 -0
- package/dist/fonts/Assistant/Assistant-Medium.woff2 +0 -0
- package/dist/fonts/Assistant/Assistant-Regular.woff2 +0 -0
- package/dist/fonts/Assistant/Assistant-SemiBold.woff2 +0 -0
- package/dist/fonts/Cascadia/CascadiaCode-Regular.woff2 +0 -0
- package/dist/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
- package/dist/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
- package/dist/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
- package/dist/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
- package/dist/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
- package/dist/fonts/Liberation/LiberationSans-Regular.woff2 +0 -0
- package/dist/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
- package/dist/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
- package/dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
- package/dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
- package/dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
- package/dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
- package/dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
- package/dist/fonts/Virgil/Virgil-Regular.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-019d66dcad46dc156b162d267f981c20.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-04b718e5623574919c8b0dea5f301444.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-069e77aac84590e2e991d0a0176d34f2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-06c77b8c66e51ed6c63ccb502dd8b8af.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-08e0dc436ad0ad61ba5558db0674d762.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-093b9ef39a46ceae95a1df18a0a3a326.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-095c169f3314805276f603a362766abd.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-09850c4077f3fffe707905872e0e2460.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-0986d134c05864f5025962eef9f994a0.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-0b5d723fdc4e249c140f0909e87d03b4.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-0f626226ba1272e832aea87bafd9720e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-0f7fb1e0d5015bb1371343153ecf7ce3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-0fa55a080fcd0f9dc2e0b0058b793df8.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-0facdf1ea213ba40261022f5d5ed4493.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-10a7ae9a371830a80c3d844acf1c02d7.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-112c051027b2d766c19a519f6ee1f4f7.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-11c345711937f0ba4b8f7b6b919c8440.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-12b52b58eb3df36804b9a654ec9ee194.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-13ae07ed2e272d26d59bc0691cd7117a.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-13d2887ec8ee73c43acdabc52a05af7b.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-145aa02cdd91946e67dc934e1acffe75.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-15dc6d811c9cd078f9086a740d5a1038.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-173945821411c09f70c95f98d590e697.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-1b611157cd46bb184d4fa4dae2d6a2b8.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-1e6fd68f1f3902ce48ce8c69df385622.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-1ee544f0f1dac422545c505baa788992.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-1fdc0c67ed57263a80fd108c1f6ccf24.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-203b0e569e3b14aac86a003dc3fa523e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-20cc1bbf50e7efb442756cb605672c1f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-20e7bf72fa05de9adf7dbcc7bf51dde6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-21430ee05a1248901da8d0de08744d47.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-23686f7f29da6e8008c36dd3a80c83d6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-23ad2d71b280f00b1363b95b7bea94eb.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-23f228f3999c01983860012330e4be08.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-24476a126f129212beb33f66853ea151.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-24a21c1e4449222e8d1898d69ff3a404.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-25b7f38e18f035f96cb5e547bd2bd08c.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-29cec36cd205b211da97acabaa62f055.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2a26d20a23b00898ce82f09d2ee47c3f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2adbc89c11e65905393d3dfc468b9d5b.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2b7441d46298788ac94e610ffcc709b6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2b77e8ebfb2367ab2662396a60e7d320.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2cf96d082d35ea3d8106851223ad0d16.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2d43040e86ff03ba677f6f9c04cd0805.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-2e33e8dc771ef5e1d9127d60a6b73679.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-33432927cd87d40cfe393c7482bf221f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-353f33792a8f60dc69323ddf635a269e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-36925dfe329a45086cbb7fc5c20d45ac.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3717077e38f98d89eae729b6c14e56dc.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3756e81d3e149cf6099163ee79944fec.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-395c35dd584b56b0789f58a0559beaf1.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3c9de2ae0ea4bc91a510942dfa4be8d2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3cc70dbb64df5b21f1326cc24dee2195.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3e1f8f654357353bf0e04ba5c34b5f7f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3e63ed8162808a9e425ed80a8bc79114.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-3eaa538115d76932653c21d8dc28f207.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4095eb84ef3874e2600247bee0b04026.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-41521fade99856108931b4768b1b2648.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-450da755d5bcb70906e1295e559b9602.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-452225341522a7942f0f6aab1a5c91a3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4535823663ad81405188a528d8f2b1a2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4806e761d750087c2d734fc64596eaff.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4a0fdb40036e87b40aa08dd30584cb85.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4a38cc3e9cf104e69ba246d37f8cf135.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4aca6a43e59aceee2166b0c7e4e85ef1.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4bfaa8ffa64c5ee560aa2daba7c9cbd3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4dc6d5f188d5c96d44815cd1e81aa885.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4ddc14ed3eb0c3e46364317dfc0144a3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4ee10ae43505e2e0bc62656ced49c0fa.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-4f50e5136e136527280bc902c5817561.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-51502f1206be09c565f1547c406e9558.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-51a0e808bbc8361236ac521a119758a3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-52a84a22fd1369bffeaf21da2d6158dc.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5330a2119a716e4e7224ed108b085dac.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-543fa46ace099a7099dad69123399400.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-544fc28abe2c5c30e62383fd4dac255f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-54acdfc2166ad7fcbd074f75fd4a56ba.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5572b3513ba8df57a3d5d7303ee6b11b.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-56467a5c8840c4d23a60b2f935114848.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-56a32a7689abd0326e57c10c6c069bb4.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-57862b464a55b18c7bf234ce22907d73.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-583d166e56ba0de4b77eabb47ef67839.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5882ffa04f32584d26109137e2da4352.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-58fd02350d0bc52cf1ca3bb32ce9766e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5935a5775af3d5c6307ac667bd9ae74e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-59e9ff77b0efaf684bc09274fb6908c9.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5a1ce3117cfe90c48e8fb4a9a00f694d.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5a45d991244d4c7140217e1e5f5ca4f4.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5a7fac4b8b23a6e4e5ba0c9bf1756c91.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5b0ed6971aaab9c8ad563230bd5471a7.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-5d2898fbc097a7e24c6f38d80587621e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-603aefd23e350ba7eb124273e3c9bcf1.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-60a3089806700d379f11827ee9843b6b.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-60a41c7e1c68f22424e6d22df544bc82.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-642b26e2e5f5fb780b51b593dbc8c851.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-66493ba5a8367f2928812f446f47b56a.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-670ba603758d94268e8606f240a42e12.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-671a2c20b1eb9e4ef8a192833940e319.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-684d65f1793cac449dde5d59cb3c47fb.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-69c09cc5fa3e55c74fc4821f76909cc3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-6ae5b42180ad70b971c91e7eefb8eba2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-6e092f71c1e634059ada0e52abadce67.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-6f3256af8454371776bc46670d33cc65.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-6fe5c5973cc06f74b2387a631ea36b88.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-70c2eb8d64e71a42a834eb857ea9df51.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-70e811fd7994e61f408c923de6ddd078.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7197d6fda6cba7c3874c53d6381ca239.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-72252d73220fa3cd856677888cee1635.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-72536a3d71b694a0d53dd90ddceae41e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-726303e0774b4e678bff8c2deb6ca603.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-733171b4ffcd17ea1fe1c0ba627173bf.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-739bc1a567439c7cffcd1614644593d2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-73e309718fd16cea44b4d54a33581811.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7494dc504ae00ee9cd0505f990f88c5d.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-74e2263a91439c25b91d5132ce9f4d62.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-761d05e3cd968cf574166867998ef06a.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7718fe60986d8b42b1be9c5ace5ccf25.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-774d4f764a1299da5d28ec2f2ffe0d69.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-79d494361ae093b69e74ee9dbe65bfd4.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-79f007c1c6d07557120982951ea67998.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7a07ddc0f0c0f5f4a9bad6ee3dda66b5.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7ab2bed91166a9dca83a5ebfbe2a7f38.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7ccce86603f80a099ddb0cb21d4ae3e3.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7e4bde7e9c7f84cd34d8a845e384c746.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7e929f262f30c8ee78bf398150b1a7cd.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7eb9fffd1aa890d07d0f88cc82e6cfe4.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-7f855356ab893b0d2b9c1c83b8116f0e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-829615148e6357d826b9242eb7fbbd1e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-866fa7613df6b3fd272bcfd4530c0bb9.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-87599f94b6cc129d505b375798d0d751.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-8c2f33cee3993174f7e87c28e4bf42ee.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-8d3bcabb847b56243b16afe62adaaf21.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-8de5b863cb50dfefdd07cb11c774d579.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-8e9f97f01034820170065b2921b4fb5e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-8f476c4c99813d57cbe6eca4727388ad.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-903bb6865f3452e2fda42e3a25547bc5.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-91ddb2969bf2d31ba02ad82998d1314c.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-938d90c10ff8c20386af7f242c05d6b0.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-93fc8f28a33234bcadf1527cafabd502.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-95429962233afd82db1c27df1500a28c.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-9544732d2e62d1a429674f8ee41b5d3a.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-9592bfc861f07bcb8d75c196b370e548.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-95bfd249da4902577b4b7d76ebdd0b44.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-968cffdc8ee679da094e77ebf50f58ef.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-97f7f48ce90c9429bf32ae51469db74d.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-982b630266d87db93d2539affb1275c6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-98f2ad84457de7f3740d9920b8fa8667.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-99a16ef6a64934d5781933dbd9c46b2e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-9cfb2a77a4e45025105ad29a1748b90d.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-9d81066dd2b337c938df6e90380a00dc.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-9eb5a99df4e76ac3363453ac9ca288b1.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a004ddfcb26e67bd6e678c8ed19e25ce.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a0ca5df4258213d7fc9fce80f65ce760.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a1f916d6039285c4ffb900cd654e418f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a203b91dad570bf05a58c3c3ddb529bf.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a365e82ed54697a52f27adcea1315fe8.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a4c34be6d42152e64b0df90bc4607f64.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-a7accba310e821da5505f71c03b76bdb.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-aa0d470430e6391eca720c7cfa44446f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-aa5c9ca6cf4fba00433b7aa3fa10671a.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-ac9ceb44437becc3e9c4dbfebab7fc2d.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b1220a3c61f85cc0408deedb4c5f57a2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b358f7a51ece39a3247942b1feabdb29.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b57aaedfd8ebdf3931f25119dc6a5eb2.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b5c1596551c256e0e9cf02028595b092.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b6d128682ee29e471486354d486a1b90.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b6fd38ca30869792244804b04bc058da.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b7d203b051eff504ff59ddca7576b6a9.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-b96d9226ce77ec94ceca043d712182e6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-ba3de316d63c7e339987b16f41a0b879.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-bafff7a14c27403dcc6cf1432e8ea836.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-bd77e3c7f9e0b072d96af37f73d1aa32.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-be549ab72f0719d606a5c01e2c0219b6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c16ed9740b85badf16e86ea782a3062f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c1f94158256bb1f3bf665b053d895af9.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c40533fdf4cc57177b12803598af7e59.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c4a687ac4f0c2766eefc9f77ed99cddf.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c69f61a4ab18d0488c8d1fc12e7028e8.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c8b71798409ccc126ee264a00aadcf21.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-c99eda15fc26a2941579560f76c3a5cf.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cb17fc3db95f6d139afc9d31a8e93293.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cbaaefaaf326668277aa24dfa93c4d28.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cd145ce4a0ea18469358df53c207bc1b.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cdbce89e82cc1ab53a2decbf5819278f.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-ce4884f96f11589608b76b726a755803.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cf2cc71752631e579e35b0e423bf2638.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cf6ff4e0f491ca0cf3038187a997b9b4.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-cfb211578629b7e8153b37240de6a9d5.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-d0cf73942fea1c74edbdf0b3011f4656.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-d2666cbed13462c5dc36fa2f15c202ca.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-d3716376641d615e2995605b29bca7b6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-dac48066b5883d8b4551fc584f0c2a3e.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-dbea1af6dcd9860be40c3d18254338f5.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e11567fd2accf9957cd0d3c2be937d87.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e2ead7ea7da0437f085f42ffc05f8d13.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e3fcf5180fd466c8915c4e8069491054.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e480d9c614742d05f0e78f274f1e69e6.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e4bca6cfa53e499cae0a6be4894a90e9.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e51ef413167c6e14e0c0fdcc585f2fc9.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e5f453bb04da18eed01675eeebd88bf8.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-e656f091b9dc4709722c9f4b84d3c797.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-ec181b795ac1fb5a50d700b6e996d745.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-ee8bae97908d5147b423f77ad0d3c1bb.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-f0f13b5c60e0af5553bd359f5513be1b.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-f2b54d4e7be0eaefe1c2c56836fa5368.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-f56414bf9bced67990def8660e306759.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-f5d079153c99a25b9be5b8583c4cc8a7.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-f6032fc06eb20480f096199713f70885.woff2 +0 -0
- package/dist/fonts/Xiaolai/Xiaolai-Regular-f8ee5d36068a42b51d0e4a1116cfcec1.woff2 +0 -0
- package/dist/index.html +17 -0
- package/package.json +41 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Michal Klinovsky
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Excalimaid
|
|
2
|
+
|
|
3
|
+
Converts Mermaid diagrams into Excalidraw diagrams, serves them locally, and opens the result in your browser. Includes an MCP server for AI assistants.
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- Node.js >= 22.18
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
npm install -g excalimaid
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
### CLI
|
|
18
|
+
|
|
19
|
+
Open a Mermaid diagram in Excalidraw:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
excalimaid 'graph TD
|
|
23
|
+
A-->B'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Or pipe via stdin:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
cat diagram.mmd | excalimaid
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### MCP Server
|
|
33
|
+
|
|
34
|
+
Excalimaid provides an MCP server for AI assistants:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
excalimaid mcp
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Tool: `open-diagram`**
|
|
41
|
+
|
|
42
|
+
Opens a Mermaid diagram in Excalidraw:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"name": "open-diagram",
|
|
47
|
+
"arguments": {
|
|
48
|
+
"mermaid": "graph TD\nA-->B"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Starts a local HTTP server on port 17532, opens your browser, and returns the URL: `http://localhost:17532/?mermaid=...`
|
|
54
|
+
|
|
55
|
+
The server auto-shuts down after 5 minutes of inactivity.
|
|
56
|
+
|
|
57
|
+
#### MCP Setup
|
|
58
|
+
|
|
59
|
+
Configure excalimaid in your MCP client:
|
|
60
|
+
|
|
61
|
+
**OpenCode** (`opencode.json`):
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"$schema": "https://opencode.ai/config.json",
|
|
65
|
+
"mcp": {
|
|
66
|
+
"excalimaid": {
|
|
67
|
+
"type": "local",
|
|
68
|
+
"command": ["npx", "excalimaid", "mcp"],
|
|
69
|
+
"enabled": true
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Claude or Cursor**
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"mcpServers": {
|
|
79
|
+
"excalimaid": {
|
|
80
|
+
"command": "npx",
|
|
81
|
+
"args": ["excalimaid", "mcp"]
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Once configured, the `open-diagram` tool will be available to your AI assistant.
|
|
88
|
+
|
|
89
|
+
## Development
|
|
90
|
+
|
|
91
|
+
Clone and setup for local development:
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
git clone https://github.com/mklinovsky/excalimaid.git
|
|
95
|
+
cd excalimaid
|
|
96
|
+
npm install
|
|
97
|
+
npm run build
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Link globally to use the local version:
|
|
101
|
+
|
|
102
|
+
```sh
|
|
103
|
+
npm link
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Now you can run `excalimaid` from anywhere using your local build.
|
|
107
|
+
|
|
108
|
+
For frontend development with hot reload:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
npm run dev
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Tip
|
|
115
|
+
|
|
116
|
+
Add to your `~/.zshrc` or `~/.bashrc` to open whatever Mermaid diagram is in your clipboard:
|
|
117
|
+
|
|
118
|
+
```sh
|
|
119
|
+
alias mmd='pbpaste | excalimaid'
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Then just copy a Mermaid diagram and run `mmd`.
|
|
123
|
+
|
|
124
|
+
## How it works
|
|
125
|
+
|
|
126
|
+
1. The script base64-encodes the Mermaid syntax and passes it as a `?mermaid=` query parameter
|
|
127
|
+
2. It serves the `dist/` directory via a minimal HTTP server on port 17532
|
|
128
|
+
3. The React app decodes the parameter and converts it to Excalidraw elements using `@excalidraw/mermaid-to-excalidraw`
|
|
129
|
+
4. The result is rendered in a full-screen Excalidraw canvas
|
package/cli/cli.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { startSimpleServer, generateUrl, openBrowser } from "./server.ts";
|
|
4
|
+
import { runMcpServer } from "./mcp.ts";
|
|
5
|
+
|
|
6
|
+
const HELP = `excalimaid - Open mermaid diagrams in Excalidraw
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
excalimaid [mermaid] Open diagram (reads from stdin if no argument)
|
|
10
|
+
excalimaid mcp Start MCP server
|
|
11
|
+
excalimaid --help, -h Show this help
|
|
12
|
+
`;
|
|
13
|
+
|
|
14
|
+
async function getInputFromStdin(): Promise<string> {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
const chunks: Buffer[] = [];
|
|
17
|
+
process.stdin.on("data", (chunk) => chunks.push(chunk));
|
|
18
|
+
process.stdin.on("end", () =>
|
|
19
|
+
resolve(Buffer.concat(chunks).toString().trim()),
|
|
20
|
+
);
|
|
21
|
+
process.stdin.on("error", reject);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async function openDiagram(mermaidArg?: string) {
|
|
26
|
+
let mermaid = mermaidArg;
|
|
27
|
+
|
|
28
|
+
if (!mermaid && !process.stdin.isTTY) {
|
|
29
|
+
mermaid = await getInputFromStdin();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (!mermaid) {
|
|
33
|
+
console.error("Missing mermaid diagram");
|
|
34
|
+
console.log(HELP);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
await startSimpleServer();
|
|
39
|
+
const url = generateUrl(mermaid);
|
|
40
|
+
openBrowser(url);
|
|
41
|
+
console.log(url);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async function main() {
|
|
45
|
+
const args = process.argv.slice(2);
|
|
46
|
+
|
|
47
|
+
if (args[0] === "--help" || args[0] === "-h") {
|
|
48
|
+
console.log(HELP);
|
|
49
|
+
process.exit(0);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (args[0] === "mcp") {
|
|
53
|
+
await runMcpServer();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
await openDiagram(args[0]);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
main().catch((err) => {
|
|
61
|
+
console.error(err.message);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
});
|
package/cli/mcp.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { ensureManagedServer, generateUrl, openBrowser } from "./server.ts";
|
|
5
|
+
|
|
6
|
+
export async function runMcpServer() {
|
|
7
|
+
const server = new McpServer({
|
|
8
|
+
name: "excalimaid",
|
|
9
|
+
version: "1.0.0",
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
server.registerTool(
|
|
13
|
+
"open-diagram",
|
|
14
|
+
{
|
|
15
|
+
description: "Open a mermaid diagram in Excalidraw editor",
|
|
16
|
+
inputSchema: {
|
|
17
|
+
mermaid: z.string().describe("Mermaid diagram code"),
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
async ({ mermaid }) => {
|
|
21
|
+
await ensureManagedServer();
|
|
22
|
+
const url = generateUrl(mermaid);
|
|
23
|
+
openBrowser(url);
|
|
24
|
+
return {
|
|
25
|
+
content: [
|
|
26
|
+
{
|
|
27
|
+
type: "text" as const,
|
|
28
|
+
text: url,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const transport = new StdioServerTransport();
|
|
36
|
+
await server.connect(transport);
|
|
37
|
+
}
|
package/cli/server.ts
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import http from "node:http";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { exec } from "node:child_process";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
|
|
7
|
+
const PORT = 17532;
|
|
8
|
+
const IDLE_TIMEOUT_MS = 5 * 60 * 1000;
|
|
9
|
+
const DIST_DIR = path.resolve(fileURLToPath(import.meta.url), "../../dist");
|
|
10
|
+
const TIMEOUT_CHECK_INTERVAL_MS = 30 * 1000;
|
|
11
|
+
|
|
12
|
+
const MIME_TYPES: Record<string, string> = {
|
|
13
|
+
".html": "text/html",
|
|
14
|
+
".js": "application/javascript",
|
|
15
|
+
".css": "text/css",
|
|
16
|
+
".woff2": "font/woff2",
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
function serveStatic(req: http.IncomingMessage, res: http.ServerResponse) {
|
|
20
|
+
const reqPath = req.url?.split("?")[0] ?? "/";
|
|
21
|
+
const filePath = path.join(
|
|
22
|
+
DIST_DIR,
|
|
23
|
+
reqPath === "/" ? "index.html" : reqPath,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
fs.readFile(filePath, (err, data) => {
|
|
27
|
+
if (err) {
|
|
28
|
+
fs.readFile(
|
|
29
|
+
path.join(DIST_DIR, "index.html"),
|
|
30
|
+
(fallbackErr, fallbackData) => {
|
|
31
|
+
if (fallbackErr) {
|
|
32
|
+
res.writeHead(500);
|
|
33
|
+
res.end("Internal Server Error");
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
37
|
+
res.end(fallbackData);
|
|
38
|
+
},
|
|
39
|
+
);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const ext = path.extname(filePath);
|
|
44
|
+
res.writeHead(200, {
|
|
45
|
+
"Content-Type": MIME_TYPES[ext] ?? "application/octet-stream",
|
|
46
|
+
});
|
|
47
|
+
res.end(data);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function startSimpleServer(): Promise<void> {
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
53
|
+
const server = http.createServer(serveStatic);
|
|
54
|
+
server.on("error", reject);
|
|
55
|
+
server.listen(PORT, resolve);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
let managedServer: http.Server | null = null;
|
|
60
|
+
let lastRequestTime = Date.now();
|
|
61
|
+
let timeoutCheckInterval: ReturnType<typeof setInterval> | null = null;
|
|
62
|
+
|
|
63
|
+
export async function isServerRunning(): Promise<boolean> {
|
|
64
|
+
return new Promise((resolve) => {
|
|
65
|
+
const req = http.request(
|
|
66
|
+
{
|
|
67
|
+
hostname: "localhost",
|
|
68
|
+
port: PORT,
|
|
69
|
+
path: "/excalimaid-healthy",
|
|
70
|
+
method: "GET",
|
|
71
|
+
timeout: 1000,
|
|
72
|
+
},
|
|
73
|
+
(res) => resolve(res.statusCode === 200),
|
|
74
|
+
);
|
|
75
|
+
req.on("error", () => resolve(false));
|
|
76
|
+
req.on("timeout", () => {
|
|
77
|
+
req.destroy();
|
|
78
|
+
resolve(false);
|
|
79
|
+
});
|
|
80
|
+
req.end();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function startTimeoutCheck() {
|
|
85
|
+
if (timeoutCheckInterval) return;
|
|
86
|
+
timeoutCheckInterval = setInterval(() => {
|
|
87
|
+
if (Date.now() - lastRequestTime > IDLE_TIMEOUT_MS && managedServer) {
|
|
88
|
+
clearInterval(timeoutCheckInterval!);
|
|
89
|
+
timeoutCheckInterval = null;
|
|
90
|
+
managedServer.close();
|
|
91
|
+
managedServer = null;
|
|
92
|
+
}
|
|
93
|
+
}, TIMEOUT_CHECK_INTERVAL_MS);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function startManagedServer(): Promise<void> {
|
|
97
|
+
return new Promise((resolve, reject) => {
|
|
98
|
+
managedServer = http.createServer((req, res) => {
|
|
99
|
+
lastRequestTime = Date.now();
|
|
100
|
+
|
|
101
|
+
if (req.url?.split("?")[0] === "/excalimaid-healthy") {
|
|
102
|
+
res.writeHead(200, { "Content-Type": "text/plain" });
|
|
103
|
+
res.end("ok");
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
serveStatic(req, res);
|
|
107
|
+
});
|
|
108
|
+
managedServer.on("error", reject);
|
|
109
|
+
managedServer.listen(PORT, () => {
|
|
110
|
+
startTimeoutCheck();
|
|
111
|
+
resolve();
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export async function ensureManagedServer(): Promise<void> {
|
|
117
|
+
if (!(await isServerRunning())) {
|
|
118
|
+
await startManagedServer();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export function generateUrl(mermaid: string): string {
|
|
123
|
+
const encoded = encodeURIComponent(Buffer.from(mermaid).toString("base64"));
|
|
124
|
+
return `http://localhost:${PORT}/?mermaid=${encoded}`;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export function openBrowser(url: string): void {
|
|
128
|
+
const opener =
|
|
129
|
+
process.platform === "darwin"
|
|
130
|
+
? "open"
|
|
131
|
+
: process.platform === "win32"
|
|
132
|
+
? "start"
|
|
133
|
+
: "xdg-open";
|
|
134
|
+
exec(`${opener} "${url}"`);
|
|
135
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function o(e){for(var c=e.length/6|0,n=new Array(c),a=0;a<c;)n[a]="#"+e.slice(a*6,++a*6);return n}const r=o("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");export{r as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as I,d as l,g as m,k as A,j as N,l as P,m as _,n as b,t as p,o as w}from"./_baseUniq-C8C1_z3A.js";import{aU as g,ag as E,aV as F,aW as M,aX as B,aY as o,aZ as T,a_ as $,a$ as S,b0 as c}from"./index-nvEXTqYJ.js";var G=/\s/;function L(n){for(var r=n.length;r--&&G.test(n.charAt(r)););return r}var R=/^\s+/;function W(n){return n&&n.slice(0,L(n)+1).replace(R,"")}var x=NaN,X=/^[-+]0x[0-9a-f]+$/i,Y=/^0b[01]+$/i,q=/^0o[0-7]+$/i,z=parseInt;function C(n){if(typeof n=="number")return n;if(I(n))return x;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=W(n);var t=Y.test(n);return t||q.test(n)?z(n.slice(2),t?2:8):X.test(n)?x:+n}var v=1/0,H=17976931348623157e292;function K(n){if(!n)return n===0?n:0;if(n=C(n),n===v||n===-v){var r=n<0?-1:1;return r*H}return n===n?n:0}function U(n){var r=K(n),t=r%1;return r===r?t?r-t:r:0}function tn(n){var r=n==null?0:n.length;return r?l(n):[]}var O=Object.prototype,Z=O.hasOwnProperty,an=E(function(n,r){n=Object(n);var t=-1,e=r.length,i=e>2?r[2]:void 0;for(i&&F(r[0],r[1],i)&&(e=1);++t<e;)for(var f=r[t],a=M(f),s=-1,d=a.length;++s<d;){var u=a[s],h=n[u];(h===void 0||B(h,O[u])&&!Z.call(n,u))&&(n[u]=f[u])}return n});function en(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function y(n){return function(r,t,e){var i=Object(r);if(!o(r)){var f=m(t);r=A(r),t=function(s){return f(i[s],s,i)}}var a=n(r,t,e);return a>-1?i[f?r[a]:a]:void 0}}var D=Math.max;function J(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var i=t==null?0:U(t);return i<0&&(i=D(e+i,0)),N(n,m(r),i)}var sn=y(J);function Q(n,r){var t=-1,e=o(n)?Array(n.length):[];return P(n,function(i,f,a){e[++t]=r(i,f,a)}),e}function fn(n,r){var t=T(n)?_:Q;return t(n,m(r))}function V(n,r){return n<r}function k(n,r,t){for(var e=-1,i=n.length;++e<i;){var f=n[e],a=r(f);if(a!=null&&(s===void 0?a===a&&!I(a):t(a,s)))var s=a,d=f}return d}function dn(n){return n&&n.length?k(n,$,V):void 0}function j(n,r,t,e){if(!g(n))return n;r=b(r,n);for(var i=-1,f=r.length,a=f-1,s=n;s!=null&&++i<f;){var d=p(r[i]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(i!=a){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:S(r[i+1])?[]:{})}c(s,d,u),s=s[d]}return n}function un(n,r,t){for(var e=-1,i=r.length,f={};++e<i;){var a=r[e],s=w(n,a);t(s,a)&&j(f,b(a,n),s)}return f}export{V as a,k as b,Q as c,un as d,an as e,tn as f,dn as g,sn as h,U as i,en as l,fn as m,K as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bN as S,bO as Rn,aZ as T,bP as w,aY as sn,bQ as xn,bR as Mn,bn as mn,bS as un,bT as x,aW as U,bU as Cn,bV as on,bW as Fn,bX as E,bD as gn,bY as R,aU as ln,bZ as Dn,b_ as D,b$ as Gn,c0 as Un,c1 as _,b0 as Bn,c2 as Nn,aX as Kn,c3 as X,c4 as jn,c5 as Hn,a$ as Yn,a_ as cn,bB as Zn,c6 as m}from"./index-nvEXTqYJ.js";var qn="[object Symbol]";function B(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var Q=w?w.prototype:void 0,W=Q?Q.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(B(n))return W?W.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Qn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Wn(n){return n!==n}function Jn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Jn(n,r,e):Qn(n,Wn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||B(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:N(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||B(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var J=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(J&&n&&n[J])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Cn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,j)}function yr(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Pr="[object Date]",Ir="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Br="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Pr:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:case jr:case Hr:return Fn(n,e);case Ir:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Qr="[object Set]";function Wr(n){return S(n)&&E(n)==Qr}var rn=R&&R.isSet,Jr=rn?gn(rn):Wr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Un(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Jr(n)?n.forEach(function(d){a.add(C(d,r,e,d,n,i))}):Xr(n)&&n.forEach(function(d,p){a.set(p,C(d,r,e,p,n,i))});var A=b?u?yr:G:u?U:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Bn(a,p,C(d,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function P(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}P.prototype.add=P.prototype.push=Se;P.prototype.has=Ee;function Pe(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Ie=1,ve=2;function Pn(n,r,e,t,f,i){var a=e&Ie,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new P:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Pe(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Be="[object String]",Ne="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Be:return n==r+"";case Fe:var s=Le;case Ue:var u=tℜif(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,f,i){var a=e&Ye,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:qe.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var q=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(q===void 0?p===O||f(p,O,e,t,i):q)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var I=n.constructor,v=r.constructor;I!=v&&"constructor"in n&&"constructor"in r&&!(typeof I=="function"&&I instanceof I&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Qe=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",We=Object.prototype,an=We.hasOwnProperty;function Je(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||jn(n)?Pn(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Qe)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new _),f(y,d,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,f,i)):!1}function Y(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:Je(n,r,e,t,Y,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(b,u,ze|Ve,t,l):o))return!1}}return!0}function In(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&Yn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return N(n)&&In(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return N(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Z=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Z;return e(n,bt(r))}function dt(n,r){var e=[];return Z(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Pt(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Z)}var yt=1/0,Tt=m&&1/H(new m([,-0]))[1]==yt?function(n){return new m(n)}:Xn,ht=200;function It(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return H(b);a=!1,f=En,u=new P}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Pe as C,Xn as D,P as S,$t as a,C as b,It as c,Ot as d,B as e,_t as f,Ln as g,tt as h,Et as i,Qn as j,$ as k,Z as l,bn as m,An as n,yn as o,bt as p,lt as q,Pt as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(o){throw new Error('Could not dynamically require "'+o+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}export{r as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bG as ye,bH as $e,bI as Me,bJ as pe,bK as de,bL as $t,bM as Ae,aJ as Gt}from"./index-nvEXTqYJ.js";import{b as Oe,t as Kt,c as Ne,a as ze}from"./linear-J3gXBN6C.js";import{i as Ie}from"./init-Gi6I4Gst.js";function Wr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function Hr(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Ze(t){return t}var Tt=1,At=2,_t=3,dt=4,te=1e-6;function Pe(t){return"translate("+t+",0)"}function Ve(t){return"translate(0,"+t+")"}function qe(t){return e=>+t(e)}function Re(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function _e(){return!this.__axis}function Te(t,e){var n=[],r=null,i=null,a=6,o=6,c=3,M=typeof window<"u"&&window.devicePixelRatio>1?0:.5,f=t===Tt||t===dt?-1:1,l=t===dt||t===At?"x":"y",D=t===Tt||t===_t?Pe:Ve;function y(m){var I=r??(e.ticks?e.ticks.apply(e,n):e.domain()),V=i??(e.tickFormat?e.tickFormat.apply(e,n):Ze),g=Math.max(a,0)+c,d=e.range(),U=+d[0]+M,T=+d[d.length-1]+M,x=(e.bandwidth?Re:qe)(e.copy(),M),b=m.selection?m.selection():m,h=b.selectAll(".domain").data([null]),C=b.selectAll(".tick").data(I,e).order(),F=C.exit(),O=C.enter().append("g").attr("class","tick"),z=C.select("line"),N=C.select("text");h=h.merge(h.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(O),z=z.merge(O.append("line").attr("stroke","currentColor").attr(l+"2",f*a)),N=N.merge(O.append("text").attr("fill","currentColor").attr(l,f*g).attr("dy",t===Tt?"0em":t===_t?"0.71em":"0.32em")),m!==b&&(h=h.transition(m),C=C.transition(m),z=z.transition(m),N=N.transition(m),F=F.transition(m).attr("opacity",te).attr("transform",function(k){return isFinite(k=x(k))?D(k+M):this.getAttribute("transform")}),O.attr("opacity",te).attr("transform",function(k){var W=this.parentNode.__axis;return D((W&&isFinite(W=W(k))?W:x(k))+M)})),F.remove(),h.attr("d",t===dt||t===At?o?"M"+f*o+","+U+"H"+M+"V"+T+"H"+f*o:"M"+M+","+U+"V"+T:o?"M"+U+","+f*o+"V"+M+"H"+T+"V"+f*o:"M"+U+","+M+"H"+T),C.attr("opacity",1).attr("transform",function(k){return D(x(k)+M)}),z.attr(l+"2",f*a),N.attr(l,f*g).text(V),b.filter(_e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===At?"start":t===dt?"end":"middle"),b.each(function(){this.__axis=x})}return y.scale=function(m){return arguments.length?(e=m,y):e},y.ticks=function(){return n=Array.from(arguments),y},y.tickArguments=function(m){return arguments.length?(n=m==null?[]:Array.from(m),y):n.slice()},y.tickValues=function(m){return arguments.length?(r=m==null?null:Array.from(m),y):r&&r.slice()},y.tickFormat=function(m){return arguments.length?(i=m,y):i},y.tickSize=function(m){return arguments.length?(a=o=+m,y):a},y.tickSizeInner=function(m){return arguments.length?(a=+m,y):a},y.tickSizeOuter=function(m){return arguments.length?(o=+m,y):o},y.tickPadding=function(m){return arguments.length?(c=+m,y):c},y.offset=function(m){return arguments.length?(M=+m,y):M},y}function Lr(t){return Te(Tt,t)}function $r(t){return Te(_t,t)}const Qe=Math.PI/180,Ge=180/Math.PI,Dt=18,ve=.96422,Ce=1,we=.82521,De=4/29,ft=6/29,Ue=3*ft*ft,Xe=ft*ft*ft;function Ye(t){if(t instanceof Q)return new Q(t.l,t.a,t.b,t.opacity);if(t instanceof E)return xe(t);t instanceof ye||(t=$e(t));var e=It(t.r),n=It(t.g),r=It(t.b),i=Ot((.2225045*e+.7168786*n+.0606169*r)/Ce),a,o;return e===n&&n===r?a=o=i:(a=Ot((.4360747*e+.3850649*n+.1430804*r)/ve),o=Ot((.0139322*e+.0971045*n+.7141733*r)/we)),new Q(116*i-16,500*(a-i),200*(i-o),t.opacity)}function Ee(t,e,n,r){return arguments.length===1?Ye(t):new Q(t,e,n,r??1)}function Q(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Me(Q,Ee,pe(de,{brighter(t){return new Q(this.l+Dt*(t??1),this.a,this.b,this.opacity)},darker(t){return new Q(this.l-Dt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=ve*Nt(e),t=Ce*Nt(t),n=we*Nt(n),new ye(zt(3.1338561*e-1.6168667*t-.4906146*n),zt(-.9787684*e+1.9161415*t+.033454*n),zt(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function Ot(t){return t>Xe?Math.pow(t,1/3):t/Ue+De}function Nt(t){return t>ft?t*t*t:Ue*(t-De)}function zt(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function It(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function je(t){if(t instanceof E)return new E(t.h,t.c,t.l,t.opacity);if(t instanceof Q||(t=Ye(t)),t.a===0&&t.b===0)return new E(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Ge;return new E(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Qt(t,e,n,r){return arguments.length===1?je(t):new E(t,e,n,r??1)}function E(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function xe(t){if(isNaN(t.h))return new Q(t.l,0,0,t.opacity);var e=t.h*Qe;return new Q(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Me(E,Qt,pe(de,{brighter(t){return new E(this.h,this.c,this.l+Dt*(t??1),this.opacity)},darker(t){return new E(this.h,this.c,this.l-Dt*(t??1),this.opacity)},rgb(){return xe(this).rgb()}}));function Je(t){return function(e,n){var r=t((e=Qt(e)).h,(n=Qt(n)).h),i=$t(e.c,n.c),a=$t(e.l,n.l),o=$t(e.opacity,n.opacity);return function(c){return e.h=r(c),e.c=i(c),e.l=a(c),e.opacity=o(c),e+""}}}const Ar=Je(Ae);function Be(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),t[n]=e.floor(i),t[r]=e.ceil(a),t}const Zt=new Date,Pt=new Date;function S(t,e,n,r){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const o=i(a),c=i.ceil(a);return a-o<c-a?o:c},i.offset=(a,o)=>(e(a=new Date(+a),o==null?1:Math.floor(o)),a),i.range=(a,o,c)=>{const M=[];if(a=i.ceil(a),c=c==null?1:Math.floor(c),!(a<o)||!(c>0))return M;let f;do M.push(f=new Date(+a)),e(a,c),t(a);while(f<a&&a<o);return M},i.filter=a=>S(o=>{if(o>=o)for(;t(o),!a(o);)o.setTime(o-1)},(o,c)=>{if(o>=o)if(c<0)for(;++c<=0;)for(;e(o,-1),!a(o););else for(;--c>=0;)for(;e(o,1),!a(o););}),n&&(i.count=(a,o)=>(Zt.setTime(+a),Pt.setTime(+o),t(Zt),t(Pt),Math.floor(n(Zt,Pt))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?o=>r(o)%a===0:o=>i.count(0,o)%a===0):i)),i}const Ut=S(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ut.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?S(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Ut);Ut.range;const j=1e3,P=j*60,J=P*60,B=J*24,Xt=B*7,ee=B*30,Vt=B*365,ct=S(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*j)},(t,e)=>(e-t)/j,t=>t.getUTCSeconds());ct.range;const Et=S(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*j)},(t,e)=>{t.setTime(+t+e*P)},(t,e)=>(e-t)/P,t=>t.getMinutes());Et.range;const Ke=S(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*P)},(t,e)=>(e-t)/P,t=>t.getUTCMinutes());Ke.range;const jt=S(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*j-t.getMinutes()*P)},(t,e)=>{t.setTime(+t+e*J)},(t,e)=>(e-t)/J,t=>t.getHours());jt.range;const tn=S(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*J)},(t,e)=>(e-t)/J,t=>t.getUTCHours());tn.range;const pt=S(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*P)/B,t=>t.getDate()-1);pt.range;const Jt=S(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/B,t=>t.getUTCDate()-1);Jt.range;const en=S(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/B,t=>Math.floor(t/B));en.range;function nt(t){return S(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*P)/Xt)}const kt=nt(0),Yt=nt(1),nn=nt(2),rn=nt(3),lt=nt(4),un=nt(5),an=nt(6);kt.range;Yt.range;nn.range;rn.range;lt.range;un.range;an.range;function rt(t){return S(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/Xt)}const ke=rt(0),xt=rt(1),on=rt(2),sn=rt(3),ht=rt(4),cn=rt(5),fn=rt(6);ke.range;xt.range;on.range;sn.range;ht.range;cn.range;fn.range;const Bt=S(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Bt.range;const ln=S(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());ln.range;const K=S(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());K.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:S(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});K.range;const et=S(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());et.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:S(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});et.range;function hn(t,e,n,r,i,a){const o=[[ct,1,j],[ct,5,5*j],[ct,15,15*j],[ct,30,30*j],[a,1,P],[a,5,5*P],[a,15,15*P],[a,30,30*P],[i,1,J],[i,3,3*J],[i,6,6*J],[i,12,12*J],[r,1,B],[r,2,2*B],[n,1,Xt],[e,1,ee],[e,3,3*ee],[t,1,Vt]];function c(f,l,D){const y=l<f;y&&([f,l]=[l,f]);const m=D&&typeof D.range=="function"?D:M(f,l,D),I=m?m.range(f,+l+1):[];return y?I.reverse():I}function M(f,l,D){const y=Math.abs(l-f)/D,m=Oe(([,,g])=>g).right(o,y);if(m===o.length)return t.every(Kt(f/Vt,l/Vt,D));if(m===0)return Ut.every(Math.max(Kt(f,l,D),1));const[I,V]=o[y/o[m-1][2]<o[m][2]/y?m-1:m];return I.every(V)}return[c,M]}const[mn,gn]=hn(K,Bt,kt,pt,jt,Et);function qt(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Rt(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function gt(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function yn(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,c=t.months,M=t.shortMonths,f=yt(i),l=Mt(i),D=yt(a),y=Mt(a),m=yt(o),I=Mt(o),V=yt(c),g=Mt(c),d=yt(M),U=Mt(M),T={a:ut,A:tt,b:X,B:at,c:null,d:ie,e:ie,f:zn,g:Xn,G:jn,H:An,I:On,j:Nn,L:be,m:In,M:Zn,p:Z,q:mt,Q:fe,s:le,S:Pn,u:Vn,U:qn,V:Rn,w:_n,W:Qn,x:null,X:null,y:Gn,Y:En,Z:Jn,"%":ce},x={a:ot,A:bt,b:St,B:Ft,c:null,d:se,e:se,f:er,g:lr,G:mr,H:Bn,I:Kn,j:tr,L:Fe,m:nr,M:rr,p:Wt,q:Ht,Q:fe,s:le,S:ur,u:ar,U:or,V:ir,w:sr,W:cr,x:null,X:null,y:fr,Y:hr,Z:gr,"%":ce},b={a:z,A:N,b:k,B:W,c:R,d:ae,e:ae,f:Wn,g:ue,G:re,H:oe,I:oe,j:kn,L:Fn,m:xn,M:bn,p:O,q:Yn,Q:Ln,s:$n,S:Sn,u:vn,U:Cn,V:wn,w:Tn,W:Dn,x:_,X:G,y:ue,Y:re,Z:Un,"%":Hn};T.x=h(n,T),T.X=h(r,T),T.c=h(e,T),x.x=h(n,x),x.X=h(r,x),x.c=h(e,x);function h(s,p){return function(v){var u=[],H=-1,Y=0,L=s.length,A,q,it;for(v instanceof Date||(v=new Date(+v));++H<L;)s.charCodeAt(H)===37&&(u.push(s.slice(Y,H)),(q=ne[A=s.charAt(++H)])!=null?A=s.charAt(++H):q=A==="e"?" ":"0",(it=p[A])&&(A=it(v,q)),u.push(A),Y=H+1);return u.push(s.slice(Y,H)),u.join("")}}function C(s,p){return function(v){var u=gt(1900,void 0,1),H=F(u,s,v+="",0),Y,L;if(H!=v.length)return null;if("Q"in u)return new Date(u.Q);if("s"in u)return new Date(u.s*1e3+("L"in u?u.L:0));if(p&&!("Z"in u)&&(u.Z=0),"p"in u&&(u.H=u.H%12+u.p*12),u.m===void 0&&(u.m="q"in u?u.q:0),"V"in u){if(u.V<1||u.V>53)return null;"w"in u||(u.w=1),"Z"in u?(Y=Rt(gt(u.y,0,1)),L=Y.getUTCDay(),Y=L>4||L===0?xt.ceil(Y):xt(Y),Y=Jt.offset(Y,(u.V-1)*7),u.y=Y.getUTCFullYear(),u.m=Y.getUTCMonth(),u.d=Y.getUTCDate()+(u.w+6)%7):(Y=qt(gt(u.y,0,1)),L=Y.getDay(),Y=L>4||L===0?Yt.ceil(Y):Yt(Y),Y=pt.offset(Y,(u.V-1)*7),u.y=Y.getFullYear(),u.m=Y.getMonth(),u.d=Y.getDate()+(u.w+6)%7)}else("W"in u||"U"in u)&&("w"in u||(u.w="u"in u?u.u%7:"W"in u?1:0),L="Z"in u?Rt(gt(u.y,0,1)).getUTCDay():qt(gt(u.y,0,1)).getDay(),u.m=0,u.d="W"in u?(u.w+6)%7+u.W*7-(L+5)%7:u.w+u.U*7-(L+6)%7);return"Z"in u?(u.H+=u.Z/100|0,u.M+=u.Z%100,Rt(u)):qt(u)}}function F(s,p,v,u){for(var H=0,Y=p.length,L=v.length,A,q;H<Y;){if(u>=L)return-1;if(A=p.charCodeAt(H++),A===37){if(A=p.charAt(H++),q=b[A in ne?p.charAt(H++):A],!q||(u=q(s,v,u))<0)return-1}else if(A!=v.charCodeAt(u++))return-1}return u}function O(s,p,v){var u=f.exec(p.slice(v));return u?(s.p=l.get(u[0].toLowerCase()),v+u[0].length):-1}function z(s,p,v){var u=m.exec(p.slice(v));return u?(s.w=I.get(u[0].toLowerCase()),v+u[0].length):-1}function N(s,p,v){var u=D.exec(p.slice(v));return u?(s.w=y.get(u[0].toLowerCase()),v+u[0].length):-1}function k(s,p,v){var u=d.exec(p.slice(v));return u?(s.m=U.get(u[0].toLowerCase()),v+u[0].length):-1}function W(s,p,v){var u=V.exec(p.slice(v));return u?(s.m=g.get(u[0].toLowerCase()),v+u[0].length):-1}function R(s,p,v){return F(s,e,p,v)}function _(s,p,v){return F(s,n,p,v)}function G(s,p,v){return F(s,r,p,v)}function ut(s){return o[s.getDay()]}function tt(s){return a[s.getDay()]}function X(s){return M[s.getMonth()]}function at(s){return c[s.getMonth()]}function Z(s){return i[+(s.getHours()>=12)]}function mt(s){return 1+~~(s.getMonth()/3)}function ot(s){return o[s.getUTCDay()]}function bt(s){return a[s.getUTCDay()]}function St(s){return M[s.getUTCMonth()]}function Ft(s){return c[s.getUTCMonth()]}function Wt(s){return i[+(s.getUTCHours()>=12)]}function Ht(s){return 1+~~(s.getUTCMonth()/3)}return{format:function(s){var p=h(s+="",T);return p.toString=function(){return s},p},parse:function(s){var p=C(s+="",!1);return p.toString=function(){return s},p},utcFormat:function(s){var p=h(s+="",x);return p.toString=function(){return s},p},utcParse:function(s){var p=C(s+="",!0);return p.toString=function(){return s},p}}}var ne={"-":"",_:" ",0:"0"},$=/^\s*\d+/,Mn=/^%/,pn=/[\\^$*+?|[\]().{}]/g;function w(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function dn(t){return t.replace(pn,"\\$&")}function yt(t){return new RegExp("^(?:"+t.map(dn).join("|")+")","i")}function Mt(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function Tn(t,e,n){var r=$.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function vn(t,e,n){var r=$.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cn(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function wn(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Dn(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function re(t,e,n){var r=$.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ue(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Un(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Yn(t,e,n){var r=$.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function xn(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function ae(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function kn(t,e,n){var r=$.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function oe(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function bn(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Sn(t,e,n){var r=$.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Fn(t,e,n){var r=$.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Wn(t,e,n){var r=$.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Hn(t,e,n){var r=Mn.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Ln(t,e,n){var r=$.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function $n(t,e,n){var r=$.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ie(t,e){return w(t.getDate(),e,2)}function An(t,e){return w(t.getHours(),e,2)}function On(t,e){return w(t.getHours()%12||12,e,2)}function Nn(t,e){return w(1+pt.count(K(t),t),e,3)}function be(t,e){return w(t.getMilliseconds(),e,3)}function zn(t,e){return be(t,e)+"000"}function In(t,e){return w(t.getMonth()+1,e,2)}function Zn(t,e){return w(t.getMinutes(),e,2)}function Pn(t,e){return w(t.getSeconds(),e,2)}function Vn(t){var e=t.getDay();return e===0?7:e}function qn(t,e){return w(kt.count(K(t)-1,t),e,2)}function Se(t){var e=t.getDay();return e>=4||e===0?lt(t):lt.ceil(t)}function Rn(t,e){return t=Se(t),w(lt.count(K(t),t)+(K(t).getDay()===4),e,2)}function _n(t){return t.getDay()}function Qn(t,e){return w(Yt.count(K(t)-1,t),e,2)}function Gn(t,e){return w(t.getFullYear()%100,e,2)}function Xn(t,e){return t=Se(t),w(t.getFullYear()%100,e,2)}function En(t,e){return w(t.getFullYear()%1e4,e,4)}function jn(t,e){var n=t.getDay();return t=n>=4||n===0?lt(t):lt.ceil(t),w(t.getFullYear()%1e4,e,4)}function Jn(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+w(e/60|0,"0",2)+w(e%60,"0",2)}function se(t,e){return w(t.getUTCDate(),e,2)}function Bn(t,e){return w(t.getUTCHours(),e,2)}function Kn(t,e){return w(t.getUTCHours()%12||12,e,2)}function tr(t,e){return w(1+Jt.count(et(t),t),e,3)}function Fe(t,e){return w(t.getUTCMilliseconds(),e,3)}function er(t,e){return Fe(t,e)+"000"}function nr(t,e){return w(t.getUTCMonth()+1,e,2)}function rr(t,e){return w(t.getUTCMinutes(),e,2)}function ur(t,e){return w(t.getUTCSeconds(),e,2)}function ar(t){var e=t.getUTCDay();return e===0?7:e}function or(t,e){return w(ke.count(et(t)-1,t),e,2)}function We(t){var e=t.getUTCDay();return e>=4||e===0?ht(t):ht.ceil(t)}function ir(t,e){return t=We(t),w(ht.count(et(t),t)+(et(t).getUTCDay()===4),e,2)}function sr(t){return t.getUTCDay()}function cr(t,e){return w(xt.count(et(t)-1,t),e,2)}function fr(t,e){return w(t.getUTCFullYear()%100,e,2)}function lr(t,e){return t=We(t),w(t.getUTCFullYear()%100,e,2)}function hr(t,e){return w(t.getUTCFullYear()%1e4,e,4)}function mr(t,e){var n=t.getUTCDay();return t=n>=4||n===0?ht(t):ht.ceil(t),w(t.getUTCFullYear()%1e4,e,4)}function gr(){return"+0000"}function ce(){return"%"}function fe(t){return+t}function le(t){return Math.floor(+t/1e3)}var st,He;yr({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function yr(t){return st=yn(t),He=st.format,st.parse,st.utcFormat,st.utcParse,st}function Mr(t){return new Date(t)}function pr(t){return t instanceof Date?+t:+new Date(+t)}function Le(t,e,n,r,i,a,o,c,M,f){var l=Ne(),D=l.invert,y=l.domain,m=f(".%L"),I=f(":%S"),V=f("%I:%M"),g=f("%I %p"),d=f("%a %d"),U=f("%b %d"),T=f("%B"),x=f("%Y");function b(h){return(M(h)<h?m:c(h)<h?I:o(h)<h?V:a(h)<h?g:r(h)<h?i(h)<h?d:U:n(h)<h?T:x)(h)}return l.invert=function(h){return new Date(D(h))},l.domain=function(h){return arguments.length?y(Array.from(h,pr)):y().map(Mr)},l.ticks=function(h){var C=y();return t(C[0],C[C.length-1],h??10)},l.tickFormat=function(h,C){return C==null?b:f(C)},l.nice=function(h){var C=y();return(!h||typeof h.range!="function")&&(h=e(C[0],C[C.length-1],h??10)),h?y(Be(C,h)):l},l.copy=function(){return ze(l,Le(t,e,n,r,i,a,o,c,M,f))},l}function Or(){return Ie.apply(Le(mn,gn,K,Bt,kt,pt,jt,Et,ct,He).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var vt={exports:{}},dr=vt.exports,he;function Tr(){return he||(he=1,(function(t,e){(function(n,r){t.exports=r()})(dr,(function(){var n="day";return function(r,i,a){var o=function(f){return f.add(4-f.isoWeekday(),n)},c=i.prototype;c.isoWeekYear=function(){return o(this).year()},c.isoWeek=function(f){if(!this.$utils().u(f))return this.add(7*(f-this.isoWeek()),n);var l,D,y,m,I=o(this),V=(l=this.isoWeekYear(),D=this.$u,y=(D?a.utc:a)().year(l).startOf("year"),m=4-y.isoWeekday(),y.isoWeekday()>4&&(m+=7),y.add(m,n));return I.diff(V,"week")+1},c.isoWeekday=function(f){return this.$utils().u(f)?this.day()||7:this.day(this.day()%7?f:f-7)};var M=c.startOf;c.startOf=function(f,l){var D=this.$utils(),y=!!D.u(l)||l;return D.p(f)==="isoweek"?y?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):M.bind(this)(f,l)}}}))})(vt)),vt.exports}var vr=Tr();const Nr=Gt(vr);var Ct={exports:{}},Cr=Ct.exports,me;function wr(){return me||(me=1,(function(t,e){(function(n,r){t.exports=r()})(Cr,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,o=/\d\d?/,c=/\d*[^-_:/,()\s\d]+/,M={},f=function(g){return(g=+g)+(g>68?1900:2e3)},l=function(g){return function(d){this[g]=+d}},D=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=(function(d){if(!d||d==="Z")return 0;var U=d.match(/([+-]|\d\d)/g),T=60*U[1]+(+U[2]||0);return T===0?0:U[0]==="+"?-T:T})(g)}],y=function(g){var d=M[g];return d&&(d.indexOf?d:d.s.concat(d.f))},m=function(g,d){var U,T=M.meridiem;if(T){for(var x=1;x<=24;x+=1)if(g.indexOf(T(x,0,d))>-1){U=x>12;break}}else U=g===(d?"pm":"PM");return U},I={A:[c,function(g){this.afternoon=m(g,!1)}],a:[c,function(g){this.afternoon=m(g,!0)}],Q:[i,function(g){this.month=3*(g-1)+1}],S:[i,function(g){this.milliseconds=100*+g}],SS:[a,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[o,l("seconds")],ss:[o,l("seconds")],m:[o,l("minutes")],mm:[o,l("minutes")],H:[o,l("hours")],h:[o,l("hours")],HH:[o,l("hours")],hh:[o,l("hours")],D:[o,l("day")],DD:[a,l("day")],Do:[c,function(g){var d=M.ordinal,U=g.match(/\d+/);if(this.day=U[0],d)for(var T=1;T<=31;T+=1)d(T).replace(/\[|\]/g,"")===g&&(this.day=T)}],w:[o,l("week")],ww:[a,l("week")],M:[o,l("month")],MM:[a,l("month")],MMM:[c,function(g){var d=y("months"),U=(y("monthsShort")||d.map((function(T){return T.slice(0,3)}))).indexOf(g)+1;if(U<1)throw new Error;this.month=U%12||U}],MMMM:[c,function(g){var d=y("months").indexOf(g)+1;if(d<1)throw new Error;this.month=d%12||d}],Y:[/[+-]?\d+/,l("year")],YY:[a,function(g){this.year=f(g)}],YYYY:[/\d{4}/,l("year")],Z:D,ZZ:D};function V(g){var d,U;d=g,U=M&&M.formats;for(var T=(g=d.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(z,N,k){var W=k&&k.toUpperCase();return N||U[k]||n[k]||U[W].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(R,_,G){return _||G.slice(1)}))}))).match(r),x=T.length,b=0;b<x;b+=1){var h=T[b],C=I[h],F=C&&C[0],O=C&&C[1];T[b]=O?{regex:F,parser:O}:h.replace(/^\[|\]$/g,"")}return function(z){for(var N={},k=0,W=0;k<x;k+=1){var R=T[k];if(typeof R=="string")W+=R.length;else{var _=R.regex,G=R.parser,ut=z.slice(W),tt=_.exec(ut)[0];G.call(N,tt),z=z.replace(tt,"")}}return(function(X){var at=X.afternoon;if(at!==void 0){var Z=X.hours;at?Z<12&&(X.hours+=12):Z===12&&(X.hours=0),delete X.afternoon}})(N),N}}return function(g,d,U){U.p.customParseFormat=!0,g&&g.parseTwoDigitYear&&(f=g.parseTwoDigitYear);var T=d.prototype,x=T.parse;T.parse=function(b){var h=b.date,C=b.utc,F=b.args;this.$u=C;var O=F[1];if(typeof O=="string"){var z=F[2]===!0,N=F[3]===!0,k=z||N,W=F[2];N&&(W=F[2]),M=this.$locale(),!z&&W&&(M=U.Ls[W]),this.$d=(function(ut,tt,X,at){try{if(["x","X"].indexOf(tt)>-1)return new Date((tt==="X"?1e3:1)*ut);var Z=V(tt)(ut),mt=Z.year,ot=Z.month,bt=Z.day,St=Z.hours,Ft=Z.minutes,Wt=Z.seconds,Ht=Z.milliseconds,s=Z.zone,p=Z.week,v=new Date,u=bt||(mt||ot?1:v.getDate()),H=mt||v.getFullYear(),Y=0;mt&&!ot||(Y=ot>0?ot-1:v.getMonth());var L,A=St||0,q=Ft||0,it=Wt||0,Lt=Ht||0;return s?new Date(Date.UTC(H,Y,u,A,q,it,Lt+60*s.offset*1e3)):X?new Date(Date.UTC(H,Y,u,A,q,it,Lt)):(L=new Date(H,Y,u,A,q,it,Lt),p&&(L=at(L).week(p).toDate()),L)}catch{return new Date("")}})(h,O,C,U),this.init(),W&&W!==!0&&(this.$L=this.locale(W).$L),k&&h!=this.format(O)&&(this.$d=new Date("")),M={}}else if(O instanceof Array)for(var R=O.length,_=1;_<=R;_+=1){F[1]=O[_-1];var G=U.apply(this,F);if(G.isValid()){this.$d=G.$d,this.$L=G.$L,this.init();break}_===R&&(this.$d=new Date(""))}else x.call(this,b)}}}))})(Ct)),Ct.exports}var Dr=wr();const zr=Gt(Dr);var wt={exports:{}},Ur=wt.exports,ge;function Yr(){return ge||(ge=1,(function(t,e){(function(n,r){t.exports=r()})(Ur,(function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(o){var c=this,M=this.$locale();if(!this.isValid())return a.bind(this)(o);var f=this.$utils(),l=(o||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(D){switch(D){case"Q":return Math.ceil((c.$M+1)/3);case"Do":return M.ordinal(c.$D);case"gggg":return c.weekYear();case"GGGG":return c.isoWeekYear();case"wo":return M.ordinal(c.week(),"W");case"w":case"ww":return f.s(c.week(),D==="w"?1:2,"0");case"W":case"WW":return f.s(c.isoWeek(),D==="W"?1:2,"0");case"k":case"kk":return f.s(String(c.$H===0?24:c.$H),D==="k"?1:2,"0");case"X":return Math.floor(c.$d.getTime()/1e3);case"x":return c.$d.getTime();case"z":return"["+c.offsetName()+"]";case"zzz":return"["+c.offsetName("long")+"]";default:return D}}));return a.bind(this)(l)}}}))})(wt)),wt.exports}var xr=Yr();const Ir=Gt(xr);export{Wr as a,$r as b,He as c,Bt as d,kt as e,an as f,un as g,lt as h,Ar as i,rn as j,nn as k,Yt as l,Hr as m,pt as n,jt as o,Et as p,Ut as q,Lr as r,ct as s,Or as t,Nr as u,zr as v,Ir as w};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import"./index-nvEXTqYJ.js";var u={paste:"لصق",pasteAsPlaintext:"اللصق كنص عادي",pasteCharts:"لصق الرسوم البيانية",selectAll:"تحديد الكل",multiSelect:"إضافة عنصر للتحديد",moveCanvas:"نقل لوح الرسم",cut:"قص",copy:"نسخ",copyAsPng:"نسخ إلى الحافظة بصيغة PNG",copyAsSvg:"نسخ إلى الحافظة بصيغة SVG",copyText:"نسخ إلى الحافظة كنص",copySource:"",convertToCode:"",bringForward:"جلب للأمام",sendToBack:"أرسل للخلف",bringToFront:"أحضر للأمام",sendBackward:"أرسل للخلف",delete:"حذف",copyStyles:"نسخ الأنماط",pasteStyles:"لصق الأنماط",stroke:"الخط",background:"الخلفية",fill:"التعبئة",strokeWidth:"سُمك الخط",strokeStyle:"نمط الخط",strokeStyle_solid:"متصل",strokeStyle_dashed:"متقطع",strokeStyle_dotted:"منقط",sloppiness:"الإمالة",opacity:"الشفافية",textAlign:"محاذاة النص",edges:"الحواف",sharp:"حادة",round:"دائرية",arrowheads:"رؤوس الأسهم",arrowhead_none:"لا شيء",arrowhead_arrow:"سهم",arrowhead_bar:"شريط",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"مثلث",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"حجم الخط",fontFamily:"نوع الخط",addWatermark:'إضافة "مصنوعة بواسطة Excalidraw"',handDrawn:"رسم باليد",normal:"عادي",code:"رمز",small:"صغير",medium:"متوسط",large:"كبير",veryLarge:"كبير جدا",solid:"كامل",hachure:"خطوط",zigzag:"متعرج",crossHatch:"خطوط متقطعة",thin:"نحيف",bold:"داكن",left:"الـيسار",center:"وسط",right:"يمين",extraBold:"عريض",architect:"معماري",artist:"رسام",cartoonist:"كرتوني",fileTitle:"إسم الملف",colorPicker:"منتقي اللون",canvasColors:"تستخدم على القماش",canvasBackground:"خلفية اللوحة",drawingCanvas:"لوحة الرسم",layers:"الطبقات",actions:"الإجراءات",language:"اللغة",liveCollaboration:"التعاون المباشر...",duplicateSelection:"تكرار",untitled:"غير معنون",name:"الاسم",yourName:"اسمك",madeWithExcalidraw:"مصنوعة بواسطة Excalidraw",group:"تحديد مجموعة",ungroup:"إلغاء تحديد مجموعة",collaborators:"المتعاونون",showGrid:"إظهار الشبكة",addToLibrary:"أضف إلى المكتبة",removeFromLibrary:"حذف من المكتبة",libraryLoadingMessage:"جارٍ تحميل المكتبة…",libraries:"تصفح المكتبات",loadingScene:"جاري تحميل المشهد…",align:"محاذاة",alignTop:"محاذاة إلى اﻷعلى",alignBottom:"محاذاة إلى اﻷسفل",alignLeft:"محاذاة إلى اليسار",alignRight:"محاذاة إلى اليمين",centerVertically:"توسيط عمودي",centerHorizontally:"توسيط أفقي",distributeHorizontally:"التوزيع الأفقي",distributeVertically:"التوزيع عمودياً",flipHorizontal:"قلب عامودي",flipVertical:"قلب أفقي",viewMode:"نمط العرض",share:"مشاركة",showStroke:"إظهار منتقي لون الخط",showBackground:"إظهار منتقي لون الخلفية",toggleTheme:"غير النمط",personalLib:"المكتبة الشخصية",excalidrawLib:"مكتبتنا",decreaseFontSize:"تصغير حجم الخط",increaseFontSize:"تكبير حجم الخط",unbindText:"فك ربط النص",bindText:"ربط النص بالحاوية",createContainerFromText:"نص مغلف في حاوية",link:{edit:"تعديل الرابط",editEmbed:"تحرير الرابط وإدراجه",create:"إنشاء رابط",createEmbed:"إنشاء رابط و إدراجه",label:"رابط",labelEmbed:"رابط و إدراج",empty:"لم يتم تعيين رابط"},lineEditor:{edit:"تحرير السطر",exit:"الخروج من المُحرر"},elementLock:{lock:"قفل",unlock:"فتح",lockAll:"قفل الكل",unlockAll:"فتح الكل"},statusPublished:"نُشر",sidebarLock:"إبقاء الشريط الجانبي مفتوح",selectAllElementsInFrame:"تحديد جميع العناصر في الإطار",removeAllElementsFromFrame:"إزالة جميع العناصر من الإطار",eyeDropper:"اختيار اللون من القماش",textToDiagram:"",prompt:""},A={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},e={clearReset:"إعادة تعيين اللوحة",exportJSON:"صدر الملف",exportImage:"تصدير الصورة...",export:"حفظ إلى...",copyToClipboard:"نسخ إلى الحافظة",save:"احفظ للملف الحالي",saveAs:"حفظ كـ",load:"فتح",getShareableLink:"احصل على رابط المشاركة",close:"غلق",selectLanguage:"اختر اللغة",scrollBackToContent:"الرجوع إلى المحتوى",zoomIn:"تكبير",zoomOut:"تصغير",resetZoom:"إعادة تعيين الشاشة",menu:"القائمة",done:"تم",edit:"تعديل",undo:"تراجع",redo:"إعادة تنفيذ",resetLibrary:"إعادة ضبط المكتبة",createNewRoom:"إنشاء غرفة جديدة",fullScreen:"شاشة كاملة",darkMode:"الوضع المظلم",lightMode:"الوضع المضيء",zenMode:"وضع التأمل",objectsSnapMode:"التقط إلى العناصر",exitZenMode:"إلغاء الوضع الليلى",cancel:"إلغاء",clear:"مسح",remove:"إزالة",embed:"تبديل الإدراج",publishLibrary:"انشر",submit:"أرسل",confirm:"تأكيد",embeddableInteractionButton:"اضغط للتفاعل"},a={clearReset:"هذا سيُزيل كامل اللوحة. هل أنت متأكد؟",couldNotCreateShareableLink:"تعذر إنشاء رابطة المشاركة.",couldNotCreateShareableLinkTooBig:"تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا",couldNotLoadInvalidFile:"تعذر التحميل، الملف غير صالح",importBackendFailed:"فشل الاستيراد من الخادوم.",cannotExportEmptyCanvas:"لا يمكن تصدير لوحة فارغة.",couldNotCopyToClipboard:"تعذر النسخ إلى الحافظة.",decryptFailed:"تعذر فك تشفير البيانات.",uploadedSecurly:"تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.",loadSceneOverridePrompt:"تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟",collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
|
|
2
|
+
|
|
3
|
+
(إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`,errorAddingToLibrary:"تعذر إضافة العنصر للمكتبة",errorRemovingFromLibrary:"تعذر إزالة العنصر من المكتبة",confirmAddLibrary:"هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟",imageDoesNotContainScene:"يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟",cannotRestoreFromImage:"تعذر استعادة المشهد من ملف الصورة",invalidSceneUrl:"تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.",resetLibrary:"هذا سوف يمسح مكتبتك. هل أنت متأكد؟",removeItemsFromsLibrary:"حذف {{count}} عنصر (عناصر) من المكتبة؟",invalidEncryptionKey:"مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.",collabOfflineWarning:`لا يوجد اتصال بالانترنت.
|
|
4
|
+
لن يتم حفظ التغييرات التي قمت بها!`},r={unsupportedFileType:"نوع الملف غير مدعوم.",imageInsertError:"تعذر إدراج الصورة. حاول مرة أخرى لاحقاً...",fileTooBig:"الملف كبير جداً. الحد الأقصى المسموح به للحجم هو {{maxSize}}.",svgImageInsertError:"تعذر إدراج صورة SVG. يبدو أن ترميز SVG غير صحيح.",failedToFetchImage:"",invalidSVGString:"SVG غير صالح.",cannotResolveCollabServer:"تعذر الاتصال بخادم التعاون. الرجاء إعادة تحميل الصفحة والمحاولة مرة أخرى.",importLibraryError:"تعذر تحميل المكتبة",collabSaveFailed:"تعذر الحفظ في قاعدة البيانات. إذا استمرت المشاكل، يفضل أن تحفظ ملفك محليا كي لا تفقد عملك.",collabSaveFailed_sizeExceeded:"تعذر الحفظ في قاعدة البيانات، يبدو أن القماش كبير للغاية، يفضّل حفظ الملف محليا كي لا تفقد عملك.",imageToolNotSupported:"",brave_measure_text_error:{line1:"يبدو أنك تستخدم متصفح Brave مع إعداد <bold>حظر صارم لتتبع البصمة</bold>.",line2:"قد يؤدي هذا إلى كسر <bold>عناصر النص</bold> في الرسومات الخاصة بك.",line3:"من المستحسن إلغاء تفعيل هذا الإعداد. يمكنك اتباع <link>هذه الخطوات</link> لفعل ذلك.",line4:"إذا لم يصلح تعطيل هذا الإعداد طريقة عرض النصوص، الرجاء كتابة <issueLink>بلاغ</issueLink> على حسابنا في GitHub، أو راسلنا على <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"لا يمكن إضافة العناصر القابلة للتضمين في المكتبة.",iframe:"",image:"سوف يتم دعم إضافة صور إلى المكتبة قريباً!"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},o={selection:"تحديد",image:"إدراج صورة",rectangle:"مستطيل",diamond:"مضلع",ellipse:"دائرة",arrow:"سهم",line:"خط",freedraw:"رسم",text:"نص",library:"مكتبة",lock:"الحفاظ على أداة التحديد نشطة بعد الرسم",penMode:"وضع القلم - امنع اللمس",link:"إضافة/تحديث الرابط للشكل المحدد",eraser:"ممحاة",frame:"أداة الإطار",magicframe:"",embeddable:"تضمين ويب",laser:"مؤشر ليزر",hand:"يد (أداة الإزاحة)",extraTools:"المزيد من أﻷدوات",mermaidToExcalidraw:"",magicSettings:""},t={canvasActions:"إجراءات اللوحة",selectedShapeActions:"إجراءات الشكل المحدد",shapes:"الأشكال"},i={canvasPanning:"لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد",linearElement:"انقر لبدء نقاط متعددة، اسحب لخط واحد",freeDraw:"انقر واسحب، افرج عند الانتهاء",text:"نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار",embeddable:"اضغط مع السحب لإنشاء موقع ويب مضمّن",text_selected:"انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص",text_editing:"اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل",linearElementMulti:"انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء",lockAngle:"يمكنك تقييد الزاوية بالضغط على SHIFT",resize:`يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،
|
|
5
|
+
اضغط على ALT لتغيير الحجم من المركز`,resizeImage:`يمكنك تغيير الحجم بحرية بالضغط بأستمرار على SHIFT،
|
|
6
|
+
اضغط بأستمرار على ALT أيضا لتغيير الحجم من المركز`,rotate:"يمكنك تقييد الزوايا من خلال الضغط على SHIFT أثناء الدوران",lineEditor_info:"اضغط على مفتاح (Ctrl أو Cmd) و انقر بشكل مزدوج، أو اضغط على مفتاحي (Ctrl أو Cmd) و (Enter) لتعديل النقاط",lineEditor_pointSelected:"اضغط على حذف لإزالة النقطة (النِّقَاط)، Ctrl/Cmd+D للتكرار، أو اسحب للانتقال",lineEditor_nothingSelected:`اختر نقطة لتعديلها (اضغط على SHIFT لتحديد عدة نِقَاط),
|
|
7
|
+
أو اضغط على ALT و انقر بالفأرة لإضافة نِقَاط جديدة`,placeImage:"انقر لوضع الصورة، أو انقر واسحب لتعيين حجمها يدوياً",publishLibrary:"نشر مكتبتك",bindTextToElement:"اضغط على إدخال لإضافة نص",deepBoxSelect:"اضغط على Ctrl\\Cmd للاختيار العميق، ولمنع السحب",eraserRevert:"اضغط على Alt لاستعادة العناصر المعلَّمة للحذف",firefox_clipboard_write:'يمكن على الأرجح تمكين هذه الميزة عن طريق تعيين علم "dom.events.asyncClipboard.clipboardItem" إلى "true". لتغيير أعلام المتصفح في Firefox، قم بزيارة صفحة "about:config".',disableSnapping:"اضغط على Ctrl أو Cmd لتعطيل الالتقاط"},l={cannotShowPreview:"تعذر عرض المعاينة",canvasTooBig:"قد تكون اللوحة كبيرة جداً.",canvasTooBigTip:"نصيحة: حاول تحريك العناصر البعيدة بشكل أقرب قليلاً."},F={headingMain:"حدث خطأ. حاول <button>تحديث الصفحة</button>.",clearCanvasMessage:"إذا لم تعمل إعادة التحميل، حاول مرة أخرى ",clearCanvasCaveat:" هذا سيؤدي إلى فقدان العمل ",trackedToSentry:"تم تتبع الخطأ في المعرف {{eventId}} على نظامنا.",openIssueMessage:"حرصنا على عدم إضافة معلومات المشهد في بلاغ الخطأ. في حال كون مشهدك لا يحمل أي معلومات خاصة نرجو المتابعة على <button>نظام تتبع الأخطاء</button>. نرجو إضافة المعلومات أدناه بنسخها ولصقها في محتوى البلاغ على GitHub.",sceneContent:"محتوى المشهد:"},n={desc_intro:"يمكنك دعوة الآخرين لمشاركتك نفس الجلسة التي تعمل عليها.",desc_privacy:"لا تقلق، الجلسة تستخدم التشفير من النهاية إلى النهاية، لذلك فإن أي شيء ترسمه سيبقى خاصاً. لن يتمكن حتى الخادوم الخاص بنا من رؤية ما توصلت إليه.",button_startSession:"بدء الجلسة",button_stopSession:"إيقاف الجلسة",desc_inProgressIntro:"تجري الآن المشاركة الحية.",desc_shareLink:"شارك هذا الرابط مع أي شخص تريده أن يشاركك الجلسة:",desc_exitSession:"إيقاف الجلسة سيؤدي إلى قطع الاتصال الخاص بك من الغرفة، ولكن ستتمكن من مواصلة العمل مع المشهد، محليا. لاحظ أن هذا لن يؤثر على الأشخاص الآخرين، و سيظلون قادرين على التعاون في إصدارهم.",shareTitle:"الانضمام إلى جلسة تعاون حية على Excalidraw"},s={title:"خطأ"},D={disk_title:"حفظ الملف للجهاز",disk_details:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً.",disk_button:"إحفظ لملف",link_title:"رابط قابل للمشاركة",link_details:"صدر الملف للمشاهدة فقط.",link_button:"التصدير كرابط",excalidrawplus_description:"حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك.",excalidrawplus_button:"تصدير",excalidrawplus_exportError:"تعذر التصدير إلى +Excalidraw في الوقت الحالي..."},d={blog:"اقرأ مدونتنا",click:"انقر",deepSelect:"تحديد عميق",deepBoxSelect:"تحديد عميق داخل المربع، ومنع السحب",curvedArrow:"سهم مائل",curvedLine:"خط مائل",documentation:"دليل الاستخدام",doubleClick:"انقر مرتين",drag:"اسحب",editor:"المحرر",editLineArrowPoints:"تحرير سطر/نقاط سهم",editText:"تعديل النص / إضافة تسمية",github:"عثرت على مشكلة؟ إرسال",howto:"اتبع التعليمات",or:"أو",preventBinding:"منع ارتبط السهم",tools:"الأدوات",shortcuts:"اختصارات لوحة المفاتيح",textFinish:"إنهاء التعديل (محرر النص)",textNewLine:"أضف سطر جديد (محرر نص)",title:"المساعدة",view:"عرض",zoomToFit:"تكبير للملائمة",zoomToSelection:"تكبير للعنصر المحدد",toggleElementLock:"إغلاق/فتح المحدد",movePageUpDown:"نقل الصفحة أعلى/أسفل",movePageLeftRight:"نقل الصفحة يسار/يمين"},c={title:"مسح اللوحة"},C={title:"نشر المكتبة",itemName:"إسم العنصر",authorName:"إسم المؤلف",githubUsername:"اسم المستخدم في جيت هب",twitterUsername:"اسم المستخدم في تويتر",libraryName:"اسم المكتبة",libraryDesc:"وصف المكتبة",website:"الموقع",placeholder:{authorName:"اسمك أو اسم المستخدم",libraryName:"اسم مكتبتك",libraryDesc:"وصف مكتبتك لمساعدة الناس على فهم استخدامها",githubHandle:"معالج GitHub (اختياري)، حتى تتمكن من تحرير المكتبة عند إرسالها للمراجعة",twitterHandle:"اسم مستخدم تويتر (اختياري)، حتى نعرف من الذي سيتم الإشارة إليه عند الترويج عبر تويتر",website:"رابط إلى موقعك الشخصي أو في مكان آخر (اختياري)"},errors:{required:"مطلوب",website:"أدخل عنوان URL صالح"},noteDescription:"تقديم مكتبتك لتضمينها في مستودع المكتبة العامة <link></link> لأشخاص آخرين لاستخدامها في رسومهم.",noteGuidelines:"تحتاج المكتبة إلى الموافقة أولا. يرجى قراءة <link>المعايير</link> قبل تقديمها. سوف تحتاج إلى حساب GitHub للتواصل وإجراء التغييرات عند الطلب، ولكن ليس مطلوبا بشكل صارم.",noteLicense:"تقديمك يعني موافقتك على نشر المكتبة المقدمة تحت <link>MIT ترخيص</link>، ما يعني أن لأي أحد الحق في استخدامها دون قيود.",noteItems:"يجب أن يكون لكل عنصر مكتبة اسمه الخاص حتى يكون قابلاً للتصفية. سيتم تضمين عناصر المكتبة التالية:",atleastOneLibItem:"يرجى تحديد عنصر مكتبة واحد على الأقل للبدء",republishWarning:"ملاحظة: بعض العناصر المحددة معينة على أنه نشرها أو تقديمها من قبل. يجب عليك فقط إعادة إرسال العناصر عند تحديث مكتبة موجودة أو إرسالها."},E={title:"تم إرسال المكتبة",content:"شكرا لك {{authorName}}. لقد تم إرسال مكتبتك للمراجعة. يمكنك تتبع الحالة"},m={resetLibrary:"إعادة ضبط المكتبة",removeItemsFromLib:"إزالة العناصر المحددة من المكتبة"},b={header:"تصدير الصورة",label:{withBackground:"الخلفية",onlySelected:"المحدد فقط",darkMode:"الوضع الداكن",embedScene:"تضمين المشهد",scale:"الحجم",padding:"الهوامش"},tooltip:{embedScene:`سيتم حفظ بيانات المشهد في ملف PNG/SVG المصدّر بحيث يمكن استعادة المشهد منه.
|
|
8
|
+
سيزيد حجم الملف المصدر.`},title:{exportToPng:"تصدير بصيغة PNG",exportToSvg:"تصدير بصيغة SVG",copyPngToClipboard:"نسخ الـ PNG إلى الحافظة"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"نسخ إلى الحافظة"}},p={tooltip:"رسوماتك مشفرة من النهاية إلى النهاية حتى أن خوادم Excalidraw لن تراها أبدا.",link:"مشاركة المدونة في التشفير من النهاية إلى النهاية في Excalidraw"},g={angle:"الزاوية",element:"عنصر",elements:"العناصر",height:"الارتفاع",scene:"المشهد",selected:"المحدد",storage:"التخزين",title:"إحصائيات للمهووسين",total:"المجموع",version:"الإصدار",versionCopy:"انقر للنسخ",versionNotAvailable:"الإصدار غير متوفر",width:"العرض"},h={addedToLibrary:"تمت الاضافة الى المكتبة!",copyStyles:"نسخت الانماط.",copyToClipboard:"نسخ إلى الحافظة.",copyToClipboardAsPng:`تم نسخ {{exportSelection}} إلى الحافظة بصيغة PNG
|
|
9
|
+
({{exportColorScheme}})`,fileSaved:"تم حفظ الملف.",fileSavedToFilename:"حفظ باسم {filename}",canvas:"لوحة الرسم",selection:"العنصر المحدد",pasteAsSingleElement:`استخدم {{shortcut}} للصق كعنصر واحد،
|
|
10
|
+
أو لصق في محرر نص موجود`,unableToEmbed:"تضمين هذا الرابط غير مسموح حاليًا. افتح بلاغاً على GitHub لطلب عنوان Url القائمة البيضاء",unrecognizedLinkFormat:"الرابط الذي ضمنته لا يتطابق مع التنسيق المتوقع. الرجاء محاولة لصق النص 'المضمن' المُزوَد من موقع المصدر"},S={transparent:"شفاف",black:"أسود",white:"أبيض",red:"أحمر",pink:"وردي",grape:"عنبي",violet:"بنفسجي",gray:"رمادي",blue:"أزرق",cyan:"سماوي",teal:"أزرق مخضر",green:"أخضر",yellow:"أصفر",orange:"برتقالي",bronze:"برونزي"},y={app:{center_heading:"جميع بياناتك محفوظة محليا في المتصفح الخاص بك.",center_heading_plus:"هل تريد الذهاب إلى Excalidraw+ بدلاً من ذلك؟",menuHint:"التصدير والتفضيلات واللغات ..."},defaults:{menuHint:"التصدير والتفضيلات وغيرها...",center_heading:"الرسم البياني التصويري. بشكل مبسط.",toolbarHint:"اختر أداة و ابدأ الرسم!",helpHint:"الاختصارات و المساعدة"}},v={mostUsedCustomColors:"الألوان المخصصة الأكثر استخداما",colors:"الألوان",shades:"الدرجات",hexCode:"رمز Hex",noShades:"لا تتوفر درجات لهذا اللون"},x={action:{exportToImage:{title:"تصدير كصورة",button:"تصدير كصورة",description:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً."},saveToDisk:{title:"حفظ الملف للجهاز",button:"حفظ الملف للجهاز",description:"تصدير بيانات المشهد إلى ملف يمكنك الاستيراد منه لاحقاً."},excalidrawPlus:{title:"Excalidraw+",button:"تصدير إلى Excalidraw+",description:"حفظ المشهد إلى مساحة العمل +Excalidraw الخاصة بك."}},modal:{loadFromFile:{title:"تحميل من ملف",button:"تحميل من ملف",description:"سيتم التحميل من الملف <bold>استبدال المحتوى الموجود</bold>.<br></br>يمكنك النسخ الاحتياطي لرسمك أولاً باستخدام أحد الخيارات أدناه."},shareableLink:{title:"تحميل من رابط",button:"استبدال محتواي",description:"سيتسبب تحميل رسمة خارجية <bold>باستبدال محتواك الموجود حالياً</bold>.<br></br>بإمكانك إجراء النسخ الاحتياطي لرسمتك الحالية باستخدام أحد الخيارات أدناه."}}},w={title:"",button:"",description:"",syntax:"",preview:""},B={labels:u,library:A,buttons:e,alerts:a,errors:r,toolBar:o,headings:t,hints:i,canvasError:l,errorSplash:F,roomDialog:n,errorDialog:s,exportDialog:D,helpDialog:d,clearCanvasDialog:c,publishDialog:C,publishSuccessDialog:E,confirmDialog:m,imageExportDialog:b,encrypted:p,stats:g,toast:h,colors:S,welcomeScreen:y,colorPicker:v,overwriteConfirm:x,mermaid:w};export{a as alerts,e as buttons,l as canvasError,c as clearCanvasDialog,v as colorPicker,S as colors,m as confirmDialog,B as default,p as encrypted,s as errorDialog,F as errorSplash,r as errors,D as exportDialog,t as headings,d as helpDialog,i as hints,b as imageExportDialog,u as labels,A as library,w as mermaid,x as overwriteConfirm,C as publishDialog,E as publishSuccessDialog,n as roomDialog,g as stats,h as toast,o as toolBar,y as welcomeScreen};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{N as ln,O as an,P as Z,Q as O,R as V,S as un,T as y,V as tn,W as z,X as _,Y as rn,Z as o,$ as on,a0 as sn,a1 as fn}from"./index-nvEXTqYJ.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,D,S,v,R,W,a){var E=D-l,i=S-h,n=W-v,m=a-R,u=m*E-n*i;if(!(u*u<y))return u=(n*(h-R)-m*(l-v))/u,[l+u*E,h+u*i]}function J(l,h,D,S,v,R,W){var a=l-D,E=h-S,i=(W?R:-R)/z(a*a+E*E),n=i*E,m=-i*a,u=l+n,s=h+m,f=D+n,c=S+m,X=(u+f)/2,t=(s+c)/2,p=f-u,g=c-s,A=p*p+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*z(on(0,T*T*A-P*P)),N=(P*g-p*I)/A,Q=(-P*p-g*I)/A,w=(P*g+p*I)/A,d=(-P*p+g*I)/A,x=N-X,e=Q-t,r=w-X,Y=d-t;return x*x+e*e>r*r+Y*Y&&(N=w,Q=d),{cx:N,cy:Q,x01:-n,y01:-m,x11:N*(v/T-1),y11:Q*(v/T-1)}}function hn(){var l=cn,h=yn,D=V(0),S=null,v=gn,R=mn,W=pn,a=null,E=ln(i);function i(){var n,m,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,X=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(m=s,s=u,u=m),!(s>y))a.moveTo(0,0);else if(X>tn-y)a.moveTo(s*Z(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Z(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var p=f,g=c,A=f,T=c,P=X,I=X,N=W.apply(this,arguments)/2,Q=N>y&&(S?+S.apply(this,arguments):z(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),d=w,x=w,e,r;if(Q>y){var Y=sn(Q/u*O(N)),B=sn(Q/s*O(N));(P-=Y*2)>y?(Y*=t?1:-1,A+=Y,T-=Y):(P=0,A=T=(f+c)/2),(I-=B*2)>y?(B*=t?1:-1,p+=B,g-=B):(I=0,p=g=(f+c)/2)}var $=s*Z(p),j=s*O(p),C=u*Z(T),F=u*O(T);if(w>y){var G=s*Z(g),H=s*O(g),K=u*Z(A),L=u*O(A),q;if(X<an)if(q=dn($,j,K,L,G,H,C,F)){var M=$-q[0],U=j-q[1],k=G-q[0],b=H-q[1],nn=1/O(fn((M*k+U*b)/(z(M*M+U*U)*z(k*k+b*b)))/2),en=z(q[0]*q[0]+q[1]*q[1]);d=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}I>y?x>y?(e=J(K,L,$,j,s,x,t),r=J(G,H,C,F,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo($,j),a.arc(0,0,s,p,g,!t)):a.moveTo($,j),!(u>y)||!(P>y)?a.lineTo(C,F):d>y?(e=J(C,F,G,H,u,-d,t),r=J($,j,K,L,u,-d,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?a.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,d,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,d,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Z(m)*n,O(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:V(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:V(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:V(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:V(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:V(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:V(+n),i):R},i.padAngle=function(n){return arguments.length?(W=typeof n=="function"?n:V(+n),i):W},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as a};
|