dreamcontext 0.9.1 → 0.9.2

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.
Files changed (135) hide show
  1. package/README.md +29 -12
  2. package/agents/curator-auditor.md +6 -1
  3. package/agents/curator-worker.md +1 -1
  4. package/agents/sleep-state.md +2 -0
  5. package/agents/sleep-tasks.md +11 -0
  6. package/dist/agents/curator-auditor.md +6 -1
  7. package/dist/agents/curator-worker.md +1 -1
  8. package/dist/agents/sleep-state.md +2 -0
  9. package/dist/agents/sleep-tasks.md +11 -0
  10. package/dist/dashboard/assets/{BrainCanvas3D-BvuUW-Ij.js → BrainCanvas3D-Czb2UCx5.js} +1 -1
  11. package/dist/dashboard/assets/{_baseUniq-BNAWiBFl.js → _baseUniq-C7bhYu5d.js} +1 -1
  12. package/dist/dashboard/assets/{ar-SA-G6X2FPQ2-rNEb6-jN.js → ar-SA-G6X2FPQ2-DTj6PSJF.js} +1 -1
  13. package/dist/dashboard/assets/{arc-DDLjNpXk.js → arc-CtAwRj-v.js} +1 -1
  14. package/dist/dashboard/assets/{architectureDiagram-Q4EWVU46-P208qO4N.js → architectureDiagram-Q4EWVU46-Be8ao9_h.js} +1 -1
  15. package/dist/dashboard/assets/{az-AZ-76LH7QW2-Dwql62JX.js → az-AZ-76LH7QW2-C7yBzi3o.js} +1 -1
  16. package/dist/dashboard/assets/{bg-BG-XCXSNQG7-BgteTNp8.js → bg-BG-XCXSNQG7-D1hJb5wI.js} +1 -1
  17. package/dist/dashboard/assets/{blockDiagram-DXYQGD6D-BDSceoPt.js → blockDiagram-DXYQGD6D-Bn9SXOUb.js} +1 -1
  18. package/dist/dashboard/assets/{bn-BD-2XOGV67Q-BYJ6_efF.js → bn-BD-2XOGV67Q-wh2xv6Ti.js} +1 -1
  19. package/dist/dashboard/assets/{c4Diagram-AHTNJAMY-CRbiwdrM.js → c4Diagram-AHTNJAMY-C_MLGRXa.js} +1 -1
  20. package/dist/dashboard/assets/{ca-ES-6MX7JW3Y-CtFrXfas.js → ca-ES-6MX7JW3Y-DBkrY3p1.js} +1 -1
  21. package/dist/dashboard/assets/channel-Cm_3yJBQ.js +1 -0
  22. package/dist/dashboard/assets/{chunk-4BX2VUAB-kqN0Cg_r.js → chunk-4BX2VUAB-EMhGJvza.js} +1 -1
  23. package/dist/dashboard/assets/{chunk-4TB4RGXK-CpwYPUdR.js → chunk-4TB4RGXK-_7FEisTX.js} +1 -1
  24. package/dist/dashboard/assets/{chunk-55IACEB6-CQ_4M3g4.js → chunk-55IACEB6-Cz4CusRM.js} +1 -1
  25. package/dist/dashboard/assets/{chunk-EDXVE4YY--HdVil0f.js → chunk-EDXVE4YY-C5yb7Q9H.js} +1 -1
  26. package/dist/dashboard/assets/{chunk-FMBD7UC4-CrbfOH-q.js → chunk-FMBD7UC4-PlFeuiZ_.js} +1 -1
  27. package/dist/dashboard/assets/{chunk-OYMX7WX6-BrcCZnqx.js → chunk-OYMX7WX6-Bv_6NT0F.js} +1 -1
  28. package/dist/dashboard/assets/{chunk-QZHKN3VN-Cby58gGN.js → chunk-QZHKN3VN-BrBdsXuW.js} +1 -1
  29. package/dist/dashboard/assets/{chunk-YZCP3GAM-tvOjDART.js → chunk-YZCP3GAM-DGLXUzMF.js} +1 -1
  30. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-CN3Z7CiL.js +1 -0
  31. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-CN3Z7CiL.js +1 -0
  32. package/dist/dashboard/assets/clone-Cq5lwLPz.js +1 -0
  33. package/dist/dashboard/assets/{cose-bilkent-S5V4N54A-CuwbWQzD.js → cose-bilkent-S5V4N54A-BCnFo_-v.js} +1 -1
  34. package/dist/dashboard/assets/{cs-CZ-2BRQDIVT-DfVAwqqU.js → cs-CZ-2BRQDIVT-B7f7FtE4.js} +1 -1
  35. package/dist/dashboard/assets/{da-DK-5WZEPLOC-D1QJqNxG.js → da-DK-5WZEPLOC-DGy-rvZb.js} +1 -1
  36. package/dist/dashboard/assets/{dagre-KV5264BT-Bbf-wMho.js → dagre-KV5264BT-C-3lRx-i.js} +1 -1
  37. package/dist/dashboard/assets/{de-DE-XR44H4JA-CbCdH8Mp.js → de-DE-XR44H4JA-CaJWHpe0.js} +1 -1
  38. package/dist/dashboard/assets/{diagram-5BDNPKRD-CvMJJUvv.js → diagram-5BDNPKRD-C4YVbDXp.js} +1 -1
  39. package/dist/dashboard/assets/{diagram-G4DWMVQ6-BBz7ebE8.js → diagram-G4DWMVQ6-BuW9zfOU.js} +1 -1
  40. package/dist/dashboard/assets/{diagram-MMDJMWI5-U7IcL5ZQ.js → diagram-MMDJMWI5-BkMYjNGf.js} +1 -1
  41. package/dist/dashboard/assets/{diagram-TYMM5635-BfTLwlSm.js → diagram-TYMM5635-DrzHjWok.js} +1 -1
  42. package/dist/dashboard/assets/{el-GR-BZB4AONW-DvGrscY6.js → el-GR-BZB4AONW-BiJmW-b5.js} +1 -1
  43. package/dist/dashboard/assets/{erDiagram-SMLLAGMA-C1ncTn9B.js → erDiagram-SMLLAGMA-G0UEz6JN.js} +1 -1
  44. package/dist/dashboard/assets/{es-ES-U4NZUMDT-BlawPkmw.js → es-ES-U4NZUMDT-CwBcKV2z.js} +1 -1
  45. package/dist/dashboard/assets/{eu-ES-A7QVB2H4-p5lXDFKY.js → eu-ES-A7QVB2H4-wG_Vz3Mp.js} +1 -1
  46. package/dist/dashboard/assets/{fa-IR-HGAKTJCU-DbY6Wzu9.js → fa-IR-HGAKTJCU-5ydvmmyn.js} +1 -1
  47. package/dist/dashboard/assets/{fi-FI-Z5N7JZ37-HyRJneut.js → fi-FI-Z5N7JZ37-Wo_BEMPx.js} +1 -1
  48. package/dist/dashboard/assets/{flowDiagram-DWJPFMVM-tySa4G4z.js → flowDiagram-DWJPFMVM-UjoFr5FL.js} +1 -1
  49. package/dist/dashboard/assets/{fr-FR-RHASNOE6-C0ElnhzM.js → fr-FR-RHASNOE6-oa5BKaB_.js} +1 -1
  50. package/dist/dashboard/assets/{ganttDiagram-T4ZO3ILL-BQsJPxAU.js → ganttDiagram-T4ZO3ILL-Btdbfhcj.js} +1 -1
  51. package/dist/dashboard/assets/{gitGraphDiagram-UUTBAWPF-B2jHjMzI.js → gitGraphDiagram-UUTBAWPF-CEOTwDOS.js} +1 -1
  52. package/dist/dashboard/assets/{gl-ES-HMX3MZ6V-D5qSPU7d.js → gl-ES-HMX3MZ6V-CauOTr6H.js} +1 -1
  53. package/dist/dashboard/assets/{graph-deVQIt7H.js → graph-Dm-hvy_w.js} +1 -1
  54. package/dist/dashboard/assets/{he-IL-6SHJWFNN-CNsRxzJL.js → he-IL-6SHJWFNN-COrYIlQr.js} +1 -1
  55. package/dist/dashboard/assets/{hi-IN-IWLTKZ5I-CCLXIBWK.js → hi-IN-IWLTKZ5I-J1Y95ZoC.js} +1 -1
  56. package/dist/dashboard/assets/{hu-HU-A5ZG7DT2-Dq17BfYB.js → hu-HU-A5ZG7DT2-ViGh9Ezw.js} +1 -1
  57. package/dist/dashboard/assets/{id-ID-SAP4L64H-CRL19WJa.js → id-ID-SAP4L64H-DXl8yZED.js} +1 -1
  58. package/dist/dashboard/assets/{index-BO_pjfQA.js → index-Bib6Q7p5.js} +1 -1
  59. package/dist/dashboard/assets/index-BvNbWm56.js +484 -0
  60. package/dist/dashboard/assets/index-rpfoKwNa.css +1 -0
  61. package/dist/dashboard/assets/{infoDiagram-42DDH7IO-DKXhFQx1.js → infoDiagram-42DDH7IO-uLVxhokj.js} +1 -1
  62. package/dist/dashboard/assets/{ishikawaDiagram-UXIWVN3A-ixuXBV9q.js → ishikawaDiagram-UXIWVN3A-B0NEYz4G.js} +1 -1
  63. package/dist/dashboard/assets/{it-IT-JPQ66NNP-B-3gnXYZ.js → it-IT-JPQ66NNP-D6Y8YA58.js} +1 -1
  64. package/dist/dashboard/assets/{ja-JP-DBVTYXUO-GCqLTdC-.js → ja-JP-DBVTYXUO-khAPtZRR.js} +1 -1
  65. package/dist/dashboard/assets/{journeyDiagram-VCZTEJTY-Cda6rfE1.js → journeyDiagram-VCZTEJTY-5qv0pqIB.js} +1 -1
  66. package/dist/dashboard/assets/{kaa-6HZHGXH3-DUr4YiJc.js → kaa-6HZHGXH3-Cwcw-Gjy.js} +1 -1
  67. package/dist/dashboard/assets/{kab-KAB-ZGHBKWFO-DGcoDq7_.js → kab-KAB-ZGHBKWFO-K6vT6Crh.js} +1 -1
  68. package/dist/dashboard/assets/{kanban-definition-6JOO6SKY-8II0TptL.js → kanban-definition-6JOO6SKY-BRnbjFyn.js} +1 -1
  69. package/dist/dashboard/assets/{kk-KZ-P5N5QNE5-OnQ3fZQr.js → kk-KZ-P5N5QNE5-CMu1AFuh.js} +1 -1
  70. package/dist/dashboard/assets/{km-KH-HSX4SM5Z-BgLH2RAX.js → km-KH-HSX4SM5Z-L_PHDtZJ.js} +1 -1
  71. package/dist/dashboard/assets/{ko-KR-MTYHY66A-BFRlVzp3.js → ko-KR-MTYHY66A-bbZlnVhP.js} +1 -1
  72. package/dist/dashboard/assets/{ku-TR-6OUDTVRD-KXxCpHg7.js → ku-TR-6OUDTVRD-INvmaG95.js} +1 -1
  73. package/dist/dashboard/assets/{layout-Bk1_SQxF.js → layout-BVeohT_Z.js} +1 -1
  74. package/dist/dashboard/assets/{linear-NBVeSfQr.js → linear-CK10qcFf.js} +1 -1
  75. package/dist/dashboard/assets/{lt-LT-XHIRWOB4-zYih94tH.js → lt-LT-XHIRWOB4-D7BRQxtO.js} +1 -1
  76. package/dist/dashboard/assets/{lv-LV-5QDEKY6T-BfR2lGJU.js → lv-LV-5QDEKY6T-Ck1JIxzf.js} +1 -1
  77. package/dist/dashboard/assets/{min-Czsp1-lf.js → min-BEPU0Hcm.js} +1 -1
  78. package/dist/dashboard/assets/{mindmap-definition-QFDTVHPH-B7iHNGK3.js → mindmap-definition-QFDTVHPH-CVF8OPn3.js} +1 -1
  79. package/dist/dashboard/assets/{mr-IN-CRQNXWMA-CbecgcF-.js → mr-IN-CRQNXWMA-Xa1Wim8s.js} +1 -1
  80. package/dist/dashboard/assets/{my-MM-5M5IBNSE-CsdHXw4v.js → my-MM-5M5IBNSE-BjkcPsy7.js} +1 -1
  81. package/dist/dashboard/assets/{nb-NO-T6EIAALU-r8FpCRvQ.js → nb-NO-T6EIAALU-BEEKgrVR.js} +1 -1
  82. package/dist/dashboard/assets/{nl-NL-IS3SIHDZ-Dp3Z4P6_.js → nl-NL-IS3SIHDZ-D9OUhxw4.js} +1 -1
  83. package/dist/dashboard/assets/{nn-NO-6E72VCQL-CQcuUlUa.js → nn-NO-6E72VCQL-DVR3J-3K.js} +1 -1
  84. package/dist/dashboard/assets/{oc-FR-POXYY2M6-Dz9rwf28.js → oc-FR-POXYY2M6-DC9Nung3.js} +1 -1
  85. package/dist/dashboard/assets/{pa-IN-N4M65BXN-AuAonL3w.js → pa-IN-N4M65BXN-OAnX4pD0.js} +1 -1
  86. package/dist/dashboard/assets/{percentages-BXMCSKIN-D9EnbREi.js → percentages-BXMCSKIN-oaYJtiEf.js} +7 -7
  87. package/dist/dashboard/assets/{pica---loOZLP.js → pica-C6ShZVuu.js} +1 -1
  88. package/dist/dashboard/assets/{pieDiagram-DEJITSTG-CiDTXifX.js → pieDiagram-DEJITSTG-DiVJdP1C.js} +1 -1
  89. package/dist/dashboard/assets/{pl-PL-T2D74RX3-4k9qJgDf.js → pl-PL-T2D74RX3-J_DzzF6i.js} +1 -1
  90. package/dist/dashboard/assets/{pt-BR-5N22H2LF-DvKuT6kK.js → pt-BR-5N22H2LF-CyKqBQxo.js} +1 -1
  91. package/dist/dashboard/assets/{pt-PT-UZXXM6DQ-ijbr_1VI.js → pt-PT-UZXXM6DQ-Bgz_pc0Y.js} +1 -1
  92. package/dist/dashboard/assets/{quadrantDiagram-34T5L4WZ-Bu9Comci.js → quadrantDiagram-34T5L4WZ-DnxB-MO_.js} +1 -1
  93. package/dist/dashboard/assets/{requirementDiagram-MS252O5E-D62TW6xA.js → requirementDiagram-MS252O5E-BGbxrkf8.js} +1 -1
  94. package/dist/dashboard/assets/{ro-RO-JPDTUUEW-C0llzWmG.js → ro-RO-JPDTUUEW-DieLjGOA.js} +1 -1
  95. package/dist/dashboard/assets/{ru-RU-B4JR7IUQ-BeSwVB2r.js → ru-RU-B4JR7IUQ-_l3ulIXF.js} +1 -1
  96. package/dist/dashboard/assets/{sankeyDiagram-XADWPNL6-TlSEi12K.js → sankeyDiagram-XADWPNL6-C6Tb_y-j.js} +1 -1
  97. package/dist/dashboard/assets/{sequenceDiagram-FGHM5R23-ScKG2Xsm.js → sequenceDiagram-FGHM5R23-wi9pOwW3.js} +1 -1
  98. package/dist/dashboard/assets/{si-LK-N5RQ5JYF-DWeue3dw.js → si-LK-N5RQ5JYF-BKKA5LJo.js} +1 -1
  99. package/dist/dashboard/assets/{sk-SK-C5VTKIMK-C2sh3w4f.js → sk-SK-C5VTKIMK-CD8v__My.js} +1 -1
  100. package/dist/dashboard/assets/{sl-SI-NN7IZMDC-CeXk9ucf.js → sl-SI-NN7IZMDC-BKlPPNwD.js} +1 -1
  101. package/dist/dashboard/assets/{stateDiagram-FHFEXIEX-BB1JoyXM.js → stateDiagram-FHFEXIEX-CdkAZeqA.js} +1 -1
  102. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-fASGsrsv.js +1 -0
  103. package/dist/dashboard/assets/{subset-shared.chunk-CWvpWWsn.js → subset-shared.chunk-CGeJ-F5W.js} +1 -1
  104. package/dist/dashboard/assets/{subset-worker.chunk-D7Ec71V-.js → subset-worker.chunk-BlVR16kU.js} +1 -1
  105. package/dist/dashboard/assets/{sv-SE-XGPEYMSR-8YPrynz7.js → sv-SE-XGPEYMSR-C2gDWm3p.js} +1 -1
  106. package/dist/dashboard/assets/{ta-IN-2NMHFXQM-CmMKeEZv.js → ta-IN-2NMHFXQM-u7A0geQC.js} +1 -1
  107. package/dist/dashboard/assets/{th-TH-HPSO5L25-BIxym374.js → th-TH-HPSO5L25-fovs7iJ8.js} +1 -1
  108. package/dist/dashboard/assets/{timeline-definition-GMOUNBTQ-Cx1z6jhx.js → timeline-definition-GMOUNBTQ-GtnU7ybD.js} +1 -1
  109. package/dist/dashboard/assets/{tr-TR-DEFEU3FU-BZUk--nT.js → tr-TR-DEFEU3FU-C6fJP9sP.js} +1 -1
  110. package/dist/dashboard/assets/{uk-UA-QMV73CPH-DKP6R9nZ.js → uk-UA-QMV73CPH-D_wHjU_A.js} +1 -1
  111. package/dist/dashboard/assets/{vennDiagram-DHZGUBPP-CHrTxlSz.js → vennDiagram-DHZGUBPP-BDFvLaix.js} +1 -1
  112. package/dist/dashboard/assets/{vi-VN-M7AON7JQ-D1tkx3Op.js → vi-VN-M7AON7JQ-DifjZgdC.js} +1 -1
  113. package/dist/dashboard/assets/{wardley-RL74JXVD-DuzpwUu5.js → wardley-RL74JXVD-DI8xEOY7.js} +1 -1
  114. package/dist/dashboard/assets/{wardleyDiagram-NUSXRM2D-x03tOVd0.js → wardleyDiagram-NUSXRM2D-B3GFPGwx.js} +1 -1
  115. package/dist/dashboard/assets/{xychartDiagram-5P7HB3ND-CufD9zuW.js → xychartDiagram-5P7HB3ND-CfszNsQx.js} +1 -1
  116. package/dist/dashboard/assets/{zh-CN-LNUGB5OW-CpicUYEV.js → zh-CN-LNUGB5OW-DbrqBAD6.js} +1 -1
  117. package/dist/dashboard/assets/{zh-HK-E62DVLB3-DyNkpg-N.js → zh-HK-E62DVLB3-1U0sxcfM.js} +1 -1
  118. package/dist/dashboard/assets/{zh-TW-RAJ6MFWO-Cg30MEjI.js → zh-TW-RAJ6MFWO-B-B3RQ_b.js} +1 -1
  119. package/dist/dashboard/index.html +2 -2
  120. package/dist/index.js +1941 -1022
  121. package/dist/skill-packs/goal-skill/SKILL.md +5 -0
  122. package/package.json +1 -1
  123. package/skill/SKILL.md +7 -2
  124. package/skill/references/cli-reference.md +6 -4
  125. package/skill/references/integrations.md +10 -6
  126. package/skill/references/sleep.md +1 -1
  127. package/skill/references/tasks-and-features.md +60 -4
  128. package/skill-packs/goal-skill/SKILL.md +5 -0
  129. package/dist/dashboard/assets/channel-CJWWthUO.js +0 -1
  130. package/dist/dashboard/assets/classDiagram-6PBFFD2Q-D8yKg5c-.js +0 -1
  131. package/dist/dashboard/assets/classDiagram-v2-HSJHXN6E-D8yKg5c-.js +0 -1
  132. package/dist/dashboard/assets/clone-DkTWs9rv.js +0 -1
  133. package/dist/dashboard/assets/index-CQkBs_Vm.js +0 -484
  134. package/dist/dashboard/assets/index-aCkhI_aO.css +0 -1
  135. package/dist/dashboard/assets/stateDiagram-v2-QKLJ7IA2-BqR3Ofhf.js +0 -1
package/README.md CHANGED
@@ -333,12 +333,12 @@ It also ships a built-in **“What is this?”** explainer page — a full landi
333
333
  <tr>
334
334
  <td width="50%">
335
335
 
336
- **Kanban board** with drag-and-drop, multi-select filters (status, priority, urgency, tags, version) with type-ahead search, sorting, and grouping by any field. **Eisenhower matrix** view for priority-urgency quadrant planning. Create tasks, update status, add changelog entries from a Notion-style detail panel.
336
+ **Kanban board** with drag-and-drop, multi-select filters (status, priority, urgency, tags, version, and assignee on a cloud backend) with type-ahead search, sorting, and grouping by any field. A **sprint-aware version filter** distinguishes the current sprint, planning sprints, and released sprints, with set-current / mark-complete actions inline. The same tasks also render along the time axis: a **Timeline (Gantt)** of start→due ranges, a **Calendar**, an **Activity heatmap** of completion cadence, and an **Eisenhower matrix** for priority-urgency quadrant planning. Create tasks, update status, edit start/due dates and custom fields, and add changelog entries from a Notion-style detail panel.
337
337
 
338
338
  </td>
339
339
  <td width="50%">
340
340
 
341
- **Core editor** with split-pane markdown editing and live preview. Knowledge manager with search and pin/unpin. Feature PRD viewer. SQL ER diagram preview. **Version manager** for planning and releasing versions.
341
+ **Core editor** with split-pane markdown editing and live preview. Knowledge manager with search and pin/unpin. Feature PRD viewer. SQL ER diagram preview. **Version manager** for planning and releasing versions. **Settings** for cloud-task config — enter the ClickUp/GitHub token (stored gitignored, masked, never echoed), preview-then-provision custom fields, and edit the project's task-format override and custom-field schema.
342
342
 
343
343
  </td>
344
344
  </tr>
@@ -521,12 +521,19 @@ dreamcontext tasks list --all # List all tasks
521
521
  dreamcontext tasks list --status in_progress # Filter by status
522
522
  dreamcontext tasks create <name> # Create a task
523
523
  dreamcontext tasks create <name> --priority high --status in_progress --tags "api,auth" --urgency high --version v0.2.0
524
+ dreamcontext tasks create <name> --start 2026-06-25 --due 2026-07-01 # planned date range
525
+ dreamcontext tasks start <name> 2026-06-25 # set/clear the planned start (range start)
526
+ dreamcontext tasks due <name> 2026-07-01 # set/clear the due/end (range end)
527
+ dreamcontext tasks field <name> team platform # set/clear a user-declared custom field
524
528
  dreamcontext tasks log <name> <content> # Log progress (newest first)
525
529
  dreamcontext tasks insert <name> <section> <content> # Insert into a named section
526
530
  dreamcontext tasks complete <name> # Mark completed
527
531
  ```
528
532
 
529
- All flags (`--description`, `--priority`, `--status`, `--tags`, `--why`, `--urgency`, `--version`) are optional. Defaults to medium priority/urgency and todo status, so the command works non-interactively for agent use.
533
+ All flags (`--description`, `--priority`, `--status`, `--tags`, `--why`, `--urgency`, `--version`, `--start`, `--due`, `--field key=value`) are optional. Defaults to medium priority/urgency and todo status, so the command works non-interactively for agent use.
534
+
535
+ - **Date ranges.** A task has an optional planned `start` and a `due`/end — set or clear either end independently (`tasks start`/`tasks due` accept a `clear` sentinel). Start must be on or before due; an inverted range is rejected. Setting any date removes the `backlog` tag, and the first move to `in_progress` auto-stamps `start_date` with today if it is still unset (a planned start is never overwritten). Both dates render in the dashboard Timeline (Gantt) and Calendar views, and sync to ClickUp (native start/due fields) and GitHub (a `<!-- dc:dates -->` issue-body block).
536
+ - **User-declared custom fields.** Drop an optional `_dream_context/overrides/task.md` to declare your own task fields (`text` / `number` / `select` / `date`) and override the scaffolded task template. Set values with `--field key=value` on create or `tasks field <name> <key> [value|clear]`; values are validated against the schema and sync to both backends — `select` as a ClickUp drop-down / GitHub `key:value` label, the rest as a ClickUp custom field / GitHub `<!-- dc:fields -->` body block. `tasks provision` creates any missing remote fields and reuses ones that already exist by name. Absent the override file, tasks behave exactly as the defaults (zero regression). Full schema → [skill reference](skill/references/tasks-and-features.md).
530
537
 
531
538
  #### Remote Task Backends — ClickUp or GitHub Issues
532
539
 
@@ -568,20 +575,30 @@ dreamcontext tasks sync-hooks install # best-effort post-commit/pr
568
575
  - Offline edits queue in `state/.tasks-queue.json` and replay idempotently.
569
576
  - Tokens resolve env (`CLICKUP_TOKEN`, or a per-person `tokenEnv`) → secrets
570
577
  file; `config show` only ever prints a masked token.
571
- - **Assignees need no manual mapping**: each sync caches the list's members;
578
+ - **Assignees resolve to real members**: each sync caches the list's members;
572
579
  `dreamcontext tasks members` shows them with their slugs. Tag a task
573
- `person:<slug>` (or set the `assignee` field) and the push assigns the
574
- ClickUp member; a remote assignment pulls back as both the field and the
575
- tag. `config clickup-member` stays available as an explicit override.
580
+ `person:<slug>` (or pass `--person <name>`) and on a cloud backend the name is
581
+ resolved against the live roster an exact or fuzzy match (display name /
582
+ first name, diacritic-folded) canonicalizes to the member's slug, an
583
+ **ambiguous** name aborts so you can be more specific, and an unmatched name is
584
+ recorded but **warns** it won't sync until that person is a member. Assignments
585
+ are never silently dropped or reassigned to the token owner. The full
586
+ `assignees[]` set round-trips bidirectionally; `config clickup-member` stays
587
+ available as an explicit override.
576
588
  - **Tags edit anywhere**: `dreamcontext tasks tag <name> <tags…> [--remove]`
577
589
  edits tags on existing tasks; changed tags push through ClickUp's per-tag
578
590
  endpoints (its PUT carries none), and assignee handovers/removals push as
579
591
  add/rem deltas.
580
- - **Due dates**: `tasks create --due 2026-07-01` / `tasks due <name> <date|clear>`
581
- synced natively in both directions.
582
- - **Custom-field bridge**: create list fields named Urgency / Summary / Reach /
583
- Impact / Confidence / Effort / Score / Feature / Version and sync writes and
584
- reads them automatically.
592
+ - **Date ranges**: `tasks create --start … --due …` / `tasks start <name> <date|clear>`
593
+ / `tasks due <name> <date|clear>` planned start + due/end, validated start≤due,
594
+ synced natively to ClickUp's start/due fields and to a `<!-- dc:dates -->` block
595
+ in the GitHub issue body.
596
+ - **Custom-field bridge**: the recommended RICE/meta fields (Urgency / Summary /
597
+ Reach / Impact / Confidence / Effort / Score / Feature / Version) plus any
598
+ fields you declare in `overrides/task.md` are provisioned and round-tripped
599
+ automatically — `select` fields as a ClickUp drop-down / GitHub label, others as
600
+ a native ClickUp field / GitHub body block. `tasks provision` reuses existing
601
+ remote fields by name instead of duplicating them.
585
602
  - **Docs**: illustrated user guide → [docs/clickup.md](docs/clickup.md);
586
603
  technical reference → [docs/remote-task-setup.md](docs/remote-task-setup.md).
587
604
 
@@ -85,7 +85,12 @@ from the live `features` command, not assumed.
85
85
 
86
86
  **`tasks`** (backlog) — detect tasks that are **demonstrably finished** (cross-check the
87
87
  changelog / releases / code) → STATUS-BUMP; merge duplicate tasks; RETIRE stale ones; attach
88
- orphan tasks to the right planning version.
88
+ orphan tasks to the right planning version (the current sprint is `dreamcontext core releases active`).
89
+ If `_dream_context/overrides/task.md` exists it declares the project's custom task shape — audit
90
+ task files against it: flag tasks whose declared **`required`** custom fields are UNSET (a worker
91
+ must set them via `tasks field`, and a status-bump to `completed`/`in_review` will hard-fail until
92
+ they are), and flag tasks with an inconsistent `start_date`/`due_date` range (start &gt; due, or any
93
+ date present on a `backlog`-tagged task — the two are mutually exclusive).
89
94
 
90
95
  **`versions`** — reconcile release/version statuses so they are tidy and internally consistent.
91
96
 
@@ -54,7 +54,7 @@ Each row in your batch is `source → ACTION → target`. Execute it with the ri
54
54
  | **RE-TYPE** | Topic in the wrong type: create it in the correct type (`features create` from a knowledge file, or `knowledge create` from a feature), fold the content across, then RETIRE the original. Leave a one-line redirect note + `[[link]]` so nothing dangles. |
55
55
  | **RETIRE** | Never silent-delete. Either `knowledge merge` into the canonical file, or `knowledge move <slug> archive` to keep it findable. Repoint inbound links either way. |
56
56
  | **RETAG** | Edit the file's frontmatter `tags` to the canonical `taxonomy vocab` values from the batch (faceted `topic:` / `domain:`). `dreamcontext taxonomy add <tag>` only if the plan introduces a genuinely new canonical tag. |
57
- | **STATUS-BUMP** | `dreamcontext tasks status <slug> <status> "<evidence>"` or `dreamcontext features set <name> status <status>`. Status must reflect demonstrable reality (cite the changelog/release/code evidence from the plan). |
57
+ | **STATUS-BUMP** | `dreamcontext tasks status <slug> <status> "<evidence>"` or `dreamcontext features set <name> status <status>`. Status must reflect demonstrable reality (cite the changelog/release/code evidence from the plan). A task move to `completed`/`in_review` **hard-fails (exit 1)** if the task has an unset `required` custom field (`overrides/task.md`) — set it with `dreamcontext tasks field <slug> <key> <value>` first, and confirm the CLI exit was 0 before reporting the bump done. |
58
58
  | **COMPRESS** | Summarize the bloated file in place under the live line ceiling; extract the overflow detail into a new `knowledge/<context>/<slug>.md` and leave a summary + `[[link]]`. |
59
59
 
60
60
  ## Hard limits
@@ -122,6 +122,8 @@ If no active planning version exists, create one before adding entries (otherwis
122
122
  dreamcontext core releases add --ver vX.Y.Z --status planning --summary "<theme>" --yes
123
123
  ```
124
124
 
125
+ The active planning version (the "current sprint") is persisted in `state/.active-version.json`, re-validated against `RELEASES.json` on every read so a released or missing pointer auto-clears. New tasks without an explicit `--version` auto-attach to it. Set or switch it with `dreamcontext core releases active <version>`, clear with `--clear`, print with no argument. **After creating a new planning version, set it active** so `sleep-tasks`' auto-attach lands the cycle's new work on the right version.
126
+
125
127
  ### Pass B — Core identity reconciliation
126
128
 
127
129
  You apply **two different gates** depending on whether the target file describes user intent or code reality.
@@ -113,6 +113,8 @@ jq -r '.people // [] | join(", ")' _dream_context/state/.config.json 2>/dev/null
113
113
 
114
114
  When the person is already tagged on the task, no action is needed — the tag is additive. Do not remove a previously-set `person:` tag for a person who was quiet this cycle; they remain attributed for prior work.
115
115
 
116
+ On a **remote backend** (ClickUp/GitHub), an unmapped `person:<slug>` is NOT silently dropped — the push path records a `SyncReport.warnings[]` entry surfaced loudly in `tasks sync` / `sleep done`. If you tag a person whose slug may not match the live member roster, note it in your report so that warning isn't lost.
117
+
116
118
  **Single-person projects (`.config.json` `people` has 0 or 1 entry): this step is a NO-OP.** Never inject a `person:` tag on a solo project. The output must stay byte-identical to today.
117
119
 
118
120
  ### 3. Log progress AND reconcile the body — both required
@@ -125,6 +127,12 @@ dreamcontext tasks log <slug> "<one-line summary of what was done or decided>"
125
127
 
126
128
  **(b) Reconcile the task body to current truth.** This is load-bearing.
127
129
 
130
+ > **Project override — check first.** If `_dream_context/overrides/task.md` exists, this project has a CUSTOM task shape. READ it before reconciling: follow ITS section names and `## Agent Instructions`, not the defaults below, and keep each declared `custom_fields` value current via `dreamcontext tasks field <slug> <key> <value>` (these sync to ClickUp/GitHub). The SubagentStart briefing flags when an override is active. Absent the file, use the default shape below.
131
+ >
132
+ > Two custom-field rules that bite in the **autonomous** sleep context:
133
+ > 1. **`required: true` fields hard-fail.** `dreamcontext tasks create` and any transition to `completed`/`in_review` exit non-zero when a required field is unset. If you must close a task whose required field is genuinely unknowable autonomously, set it via `tasks field` first; only as a last resort pass `--allow-missing-required`, and flag the gap in your report.
134
+ > 2. **`ask: true` fields are human judgment — never fabricate them.** There is no user in a sleep cycle, so leave an unset `ask` field unset and name it in your report so the user fills it next session. Inventing a value to satisfy a `required` gate corrupts the data.
135
+
128
136
  The task body (Why, User Stories, Acceptance Criteria, Constraints & Decisions, Technical Details, Notes) is *current state*. The Changelog is *history*. If the user pivoted mid-session — "we're skipping phase 1", "dropping the offline requirement", "switching the auth approach" — the body must reflect the new plan, not the old one with a buried changelog note.
129
137
 
130
138
  | Change observed | Action |
@@ -135,9 +143,12 @@ The task body (Why, User Stories, Acceptance Criteria, Constraints & Decisions,
135
143
  | New decision | `dreamcontext tasks insert <slug> constraints "<decision>"` |
136
144
  | New edge case / open question | `dreamcontext tasks insert <slug> notes "<note>"` |
137
145
  | New requirement added | `dreamcontext tasks insert <slug> acceptance_criteria "<criterion>"` |
146
+ | A planned schedule surfaced (start/end dates discussed) | Set them: `dreamcontext tasks start <slug> <YYYY-MM-DD>` and `dreamcontext tasks due <slug> <YYYY-MM-DD>` (start ≤ due enforced). Clear a wrong date with `tasks start <slug> clear` / `tasks due <slug> clear`. |
138
147
 
139
148
  A fresh session opening this task file should see the *current plan*.
140
149
 
150
+ **Dates.** Tasks carry a `start_date`/`due_date` range in frontmatter (both `YYYY-MM-DD|null`). The first transition to `in_progress` auto-stamps `start_date` with today if it was unset — this is correct; **do NOT strip an auto-stamped `start_date`** as "unexpected". A task tagged `backlog` must have no dates, and a dated task must not be `backlog` (mutual exclusion) — don't set a date on a backlog item without removing the tag.
151
+
141
152
  **Tip — recall before reconciling.** If you're unsure whether a decision observed this session was already captured elsewhere (memory entry, sibling task, knowledge file), run `dreamcontext memory recall "<topic>"` to surface the top hits across the corpus before you edit. Cheaper than grep, deterministic, and helps you avoid duplicating a decision that already lives in `2.memory.md` (which `sleep-state` owns).
142
153
 
143
154
  ### 4. Status — review only when genuinely needed
@@ -85,7 +85,12 @@ from the live `features` command, not assumed.
85
85
 
86
86
  **`tasks`** (backlog) — detect tasks that are **demonstrably finished** (cross-check the
87
87
  changelog / releases / code) → STATUS-BUMP; merge duplicate tasks; RETIRE stale ones; attach
88
- orphan tasks to the right planning version.
88
+ orphan tasks to the right planning version (the current sprint is `dreamcontext core releases active`).
89
+ If `_dream_context/overrides/task.md` exists it declares the project's custom task shape — audit
90
+ task files against it: flag tasks whose declared **`required`** custom fields are UNSET (a worker
91
+ must set them via `tasks field`, and a status-bump to `completed`/`in_review` will hard-fail until
92
+ they are), and flag tasks with an inconsistent `start_date`/`due_date` range (start &gt; due, or any
93
+ date present on a `backlog`-tagged task — the two are mutually exclusive).
89
94
 
90
95
  **`versions`** — reconcile release/version statuses so they are tidy and internally consistent.
91
96
 
@@ -54,7 +54,7 @@ Each row in your batch is `source → ACTION → target`. Execute it with the ri
54
54
  | **RE-TYPE** | Topic in the wrong type: create it in the correct type (`features create` from a knowledge file, or `knowledge create` from a feature), fold the content across, then RETIRE the original. Leave a one-line redirect note + `[[link]]` so nothing dangles. |
55
55
  | **RETIRE** | Never silent-delete. Either `knowledge merge` into the canonical file, or `knowledge move <slug> archive` to keep it findable. Repoint inbound links either way. |
56
56
  | **RETAG** | Edit the file's frontmatter `tags` to the canonical `taxonomy vocab` values from the batch (faceted `topic:` / `domain:`). `dreamcontext taxonomy add <tag>` only if the plan introduces a genuinely new canonical tag. |
57
- | **STATUS-BUMP** | `dreamcontext tasks status <slug> <status> "<evidence>"` or `dreamcontext features set <name> status <status>`. Status must reflect demonstrable reality (cite the changelog/release/code evidence from the plan). |
57
+ | **STATUS-BUMP** | `dreamcontext tasks status <slug> <status> "<evidence>"` or `dreamcontext features set <name> status <status>`. Status must reflect demonstrable reality (cite the changelog/release/code evidence from the plan). A task move to `completed`/`in_review` **hard-fails (exit 1)** if the task has an unset `required` custom field (`overrides/task.md`) — set it with `dreamcontext tasks field <slug> <key> <value>` first, and confirm the CLI exit was 0 before reporting the bump done. |
58
58
  | **COMPRESS** | Summarize the bloated file in place under the live line ceiling; extract the overflow detail into a new `knowledge/<context>/<slug>.md` and leave a summary + `[[link]]`. |
59
59
 
60
60
  ## Hard limits
@@ -122,6 +122,8 @@ If no active planning version exists, create one before adding entries (otherwis
122
122
  dreamcontext core releases add --ver vX.Y.Z --status planning --summary "<theme>" --yes
123
123
  ```
124
124
 
125
+ The active planning version (the "current sprint") is persisted in `state/.active-version.json`, re-validated against `RELEASES.json` on every read so a released or missing pointer auto-clears. New tasks without an explicit `--version` auto-attach to it. Set or switch it with `dreamcontext core releases active <version>`, clear with `--clear`, print with no argument. **After creating a new planning version, set it active** so `sleep-tasks`' auto-attach lands the cycle's new work on the right version.
126
+
125
127
  ### Pass B — Core identity reconciliation
126
128
 
127
129
  You apply **two different gates** depending on whether the target file describes user intent or code reality.
@@ -113,6 +113,8 @@ jq -r '.people // [] | join(", ")' _dream_context/state/.config.json 2>/dev/null
113
113
 
114
114
  When the person is already tagged on the task, no action is needed — the tag is additive. Do not remove a previously-set `person:` tag for a person who was quiet this cycle; they remain attributed for prior work.
115
115
 
116
+ On a **remote backend** (ClickUp/GitHub), an unmapped `person:<slug>` is NOT silently dropped — the push path records a `SyncReport.warnings[]` entry surfaced loudly in `tasks sync` / `sleep done`. If you tag a person whose slug may not match the live member roster, note it in your report so that warning isn't lost.
117
+
116
118
  **Single-person projects (`.config.json` `people` has 0 or 1 entry): this step is a NO-OP.** Never inject a `person:` tag on a solo project. The output must stay byte-identical to today.
117
119
 
118
120
  ### 3. Log progress AND reconcile the body — both required
@@ -125,6 +127,12 @@ dreamcontext tasks log <slug> "<one-line summary of what was done or decided>"
125
127
 
126
128
  **(b) Reconcile the task body to current truth.** This is load-bearing.
127
129
 
130
+ > **Project override — check first.** If `_dream_context/overrides/task.md` exists, this project has a CUSTOM task shape. READ it before reconciling: follow ITS section names and `## Agent Instructions`, not the defaults below, and keep each declared `custom_fields` value current via `dreamcontext tasks field <slug> <key> <value>` (these sync to ClickUp/GitHub). The SubagentStart briefing flags when an override is active. Absent the file, use the default shape below.
131
+ >
132
+ > Two custom-field rules that bite in the **autonomous** sleep context:
133
+ > 1. **`required: true` fields hard-fail.** `dreamcontext tasks create` and any transition to `completed`/`in_review` exit non-zero when a required field is unset. If you must close a task whose required field is genuinely unknowable autonomously, set it via `tasks field` first; only as a last resort pass `--allow-missing-required`, and flag the gap in your report.
134
+ > 2. **`ask: true` fields are human judgment — never fabricate them.** There is no user in a sleep cycle, so leave an unset `ask` field unset and name it in your report so the user fills it next session. Inventing a value to satisfy a `required` gate corrupts the data.
135
+
128
136
  The task body (Why, User Stories, Acceptance Criteria, Constraints & Decisions, Technical Details, Notes) is *current state*. The Changelog is *history*. If the user pivoted mid-session — "we're skipping phase 1", "dropping the offline requirement", "switching the auth approach" — the body must reflect the new plan, not the old one with a buried changelog note.
129
137
 
130
138
  | Change observed | Action |
@@ -135,9 +143,12 @@ The task body (Why, User Stories, Acceptance Criteria, Constraints & Decisions,
135
143
  | New decision | `dreamcontext tasks insert <slug> constraints "<decision>"` |
136
144
  | New edge case / open question | `dreamcontext tasks insert <slug> notes "<note>"` |
137
145
  | New requirement added | `dreamcontext tasks insert <slug> acceptance_criteria "<criterion>"` |
146
+ | A planned schedule surfaced (start/end dates discussed) | Set them: `dreamcontext tasks start <slug> <YYYY-MM-DD>` and `dreamcontext tasks due <slug> <YYYY-MM-DD>` (start ≤ due enforced). Clear a wrong date with `tasks start <slug> clear` / `tasks due <slug> clear`. |
138
147
 
139
148
  A fresh session opening this task file should see the *current plan*.
140
149
 
150
+ **Dates.** Tasks carry a `start_date`/`due_date` range in frontmatter (both `YYYY-MM-DD|null`). The first transition to `in_progress` auto-stamps `start_date` with today if it was unset — this is correct; **do NOT strip an auto-stamped `start_date`** as "unexpected". A task tagged `backlog` must have no dates, and a dated task must not be `backlog` (mutual exclusion) — don't set a date on a backlog item without removing the tag.
151
+
141
152
  **Tip — recall before reconciling.** If you're unsure whether a decision observed this session was already captured elsewhere (memory entry, sibling task, knowledge file), run `dreamcontext memory recall "<topic>"` to surface the top hits across the corpus before you edit. Cheaper than grep, deterministic, and helps you avoid duplicating a decision that already lives in `2.memory.md` (which `sleep-state` owns).
142
153
 
143
154
  ### 4. Status — review only when genuinely needed
@@ -1,4 +1,4 @@
1
- import{bt as jc,bu as I0,aH as pS,bv as xt,bw as Ip,bx as mS,by as gS,bz as _S,bA as xS,bB as yS,bq as vS,br as bS,bC as B0,aC as SS,bD as TS,bE as MS,bF as ES,bG as xg,bH as yg,bI as AS,bJ as k,bK as $s,bL as wS,bM as RS,bN as CS,bO as NS}from"./index-CQkBs_Vm.js";import{_ as Bi}from"./extends-CF3RwP-h.js";function PS(r){var e=jc(.1),t,n,i;typeof r!="function"&&(r=jc(r==null?0:+r));function s(a){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vz+=(i[l]-u.z)*n[l]*a}function o(){if(t){var a,l=t.length;for(n=new Array(l),i=new Array(l),a=0;a<l;++a)n[a]=isNaN(i[a]=+r(t[a],a,t))?0:+e(t[a],a,t)}}return s.initialize=function(a){t=a,o()},s.strength=function(a){return arguments.length?(e=typeof a=="function"?a:jc(+a),o(),s):e},s.z=function(a){return arguments.length?(r=typeof a=="function"?a:jc(+a),o(),s):r},s}/**
1
+ import{bt as jc,bu as I0,aH as pS,bv as xt,bw as Ip,bx as mS,by as gS,bz as _S,bA as xS,bB as yS,bq as vS,br as bS,bC as B0,aC as SS,bD as TS,bE as MS,bF as ES,bG as xg,bH as yg,bI as AS,bJ as k,bK as $s,bL as wS,bM as RS,bN as CS,bO as NS}from"./index-BvNbWm56.js";import{_ as Bi}from"./extends-CF3RwP-h.js";function PS(r){var e=jc(.1),t,n,i;typeof r!="function"&&(r=jc(r==null?0:+r));function s(a){for(var l=0,c=t.length,u;l<c;++l)u=t[l],u.vz+=(i[l]-u.z)*n[l]*a}function o(){if(t){var a,l=t.length;for(n=new Array(l),i=new Array(l),a=0;a<l;++a)n[a]=isNaN(i[a]=+r(t[a],a,t))?0:+e(t[a],a,t)}}return s.initialize=function(a){t=a,o()},s.strength=function(a){return arguments.length?(e=typeof a=="function"?a:jc(+a),o(),s):e},s.z=function(a){return arguments.length?(r=typeof a=="function"?a:jc(+a),o(),s):r},s}/**
2
2
  * @license
3
3
  * Copyright 2010-2026 Three.js Authors
4
4
  * SPDX-License-Identifier: MIT
@@ -1 +1 @@
1
- import{aK as A,aL as S,a_ as P,aJ as W,bY as ln,bZ as gn,b_ as dn,b$ as z,c0 as hn,bT as pn,c1 as G,b1 as N,b6 as m,b9 as R,c2 as An,b0 as U,b4 as _n,c3 as wn,bW as on,aM as V,bU as On,c4 as I}from"./index-CQkBs_Vm.js";function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var K=P?P.prototype:void 0,B=K?K.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(S(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Pn(){}function cn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function En(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function yn(n){return n!==n}function Tn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?Tn(n,r,e):En(n,yn,e)}function bn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function x(n){return W(n)?ln(n):gn(n)}var In=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ln=/^\w*$/;function M(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||S(n)?!0:Ln.test(n)||!In.test(n)||r!=null&&n in Object(r)}var Sn=500;function xn(n){var r=dn(n,function(i){return e.size===Sn&&e.clear(),i}),e=r.cache;return r}var Mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$n=/\\(\\)?/g,Cn=xn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Mn,function(e,i,f,t){r.push(f?t.replace($n,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:M(n,r)?[n]:Cn(Dn(n))}function b(n){if(typeof n=="string"||S(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[b(r[e++])];return e&&e==i?n:void 0}function Fn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Gn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Kr(n,r,e,i,f){var t=-1,u=n.length;for(e||(e=Gn),f||(f=[]);++t<u;){var s=n[t];e(s)?rn(f,s):i||(f[f.length]=s)}return f}function Nn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var u=n[e];r(u,e,n)&&(t[f++]=u)}return t}function mn(){return[]}var Un=Object.prototype,Kn=Un.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Bn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Kn.call(n,r)}))}:mn;function Hn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return Hn(n,x,Bn)}var Zn="__lodash_hash_undefined__";function qn(n){return this.__data__.set(n,Zn),this}function Yn(n){return this.__data__.has(n)}function c(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new hn;++r<e;)this.add(n[r])}c.prototype.add=c.prototype.push=qn;c.prototype.has=Yn;function Jn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Xn=1,Qn=2;function fn(n,r,e,i,f,t){var u=e&Xn,s=n.length,a=r.length;if(s!=a&&!(u&&a>s))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,w=e&Qn?new c:void 0;for(t.set(n,r),t.set(r,n);++l<s;){var p=n[l],_=r[l];if(i)var o=u?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(o!==void 0){if(o)continue;d=!1;break}if(w){if(!Jn(r,function(O,v){if(!tn(w,v)&&(p===O||f(p,O,e,i,t)))return w.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Wn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var zn=1,Vn=2,kn="[object Boolean]",jn="[object Date]",nr="[object Error]",rr="[object Map]",er="[object Number]",ir="[object RegExp]",tr="[object Set]",fr="[object String]",ur="[object Symbol]",sr="[object ArrayBuffer]",ar="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function lr(n,r,e,i,f,t,u){switch(e){case ar:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case sr:return!(n.byteLength!=r.byteLength||!t(new G(n),new G(r)));case kn:case jn:case er:return pn(+n,+r);case nr:return n.name==r.name&&n.message==r.message;case ir:case fr:return n==r+"";case rr:var s=Wn;case tr:var a=i&zn;if(s||(s=$),n.size!=r.size&&!a)return!1;var h=u.get(n);if(h)return h==r;i|=Vn,u.set(n,r);var g=fn(s(n),s(r),i,f,t,u);return u.delete(n),g;case ur:if(L)return L.call(n)==L.call(r)}return!1}var gr=1,dr=Object.prototype,hr=dr.hasOwnProperty;function pr(n,r,e,i,f,t){var u=e&gr,s=q(n),a=s.length,h=q(r),g=h.length;if(a!=g&&!u)return!1;for(var l=a;l--;){var d=s[l];if(!(u?d in r:hr.call(r,d)))return!1}var w=t.get(n),p=t.get(r);if(w&&p)return w==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var o=u;++l<a;){d=s[l];var O=n[d],v=r[d];if(i)var F=u?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}o||(o=d=="constructor")}if(_&&!o){var E=n.constructor,y=r.constructor;E!=y&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof y=="function"&&y instanceof y)&&(_=!1)}return t.delete(n),t.delete(r),_}var Ar=1,J="[object Arguments]",X="[object Array]",T="[object Object]",_r=Object.prototype,Q=_r.hasOwnProperty;function wr(n,r,e,i,f,t){var u=A(n),s=A(r),a=u?X:N(n),h=s?X:N(r);a=a==J?T:a,h=h==J?T:h;var g=a==T,l=h==T,d=a==h;if(d&&m(n)){if(!m(r))return!1;u=!0,g=!1}if(d&&!g)return t||(t=new R),u||An(n)?fn(n,r,e,i,f,t):lr(n,r,a,e,i,f,t);if(!(e&Ar)){var w=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(w||p){var _=w?n.value():n,o=p?r.value():r;return t||(t=new R),f(_,o,e,i,t)}}return d?(t||(t=new R),pr(n,r,e,i,f,t)):!1}function C(n,r,e,i,f){return n===r?!0:n==null||r==null||!U(n)&&!U(r)?n!==n&&r!==r:wr(n,r,e,i,C,f)}var or=1,Or=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var u=e[f];if(u[2]?u[1]!==n[u[0]]:!(u[0]in n))return!1}for(;++f<t;){u=e[f];var s=u[0],a=n[s],h=u[1];if(u[2]){if(a===void 0&&!(s in n))return!1}else{var g=new R,l;if(!(l===void 0?C(h,a,or|Or,i,g):l))return!1}}return!0}function un(n){return n===n&&!_n(n)}function Pr(n){for(var r=x(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,un(f)]}return r}function sn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function cr(n){var r=Pr(n);return r.length==1&&r[0][2]?sn(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function Er(n,r){return n!=null&&r in Object(n)}function yr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var u=b(r[i]);if(!(t=n!=null&&e(n,u)))break;n=n[u]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&on(u,f)&&(A(n)||z(n)))}function Tr(n,r){return n!=null&&yr(n,r,Er)}var Rr=1,br=2;function Ir(n,r){return M(n)&&un(r)?sn(b(n),r):function(e){var i=Fn(e,n);return i===void 0&&i===r?Tr(e,n):C(r,i,Rr|br)}}function Lr(n){return function(r){return r==null?void 0:r[n]}}function Sr(n){return function(r){return nn(r,n)}}function xr(n){return M(n)?Lr(b(n)):Sr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Ir(n[0],n[1]):cr(n):xr(n)}function Mr(n,r){return n&&On(n,r,x)}function $r(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,u=Object(e);++t<f&&i(u[t],t,u)!==!1;);return e}}var D=$r(Mr);function Cr(n){return typeof n=="function"?n:V}function Br(n,r){var e=A(n)?cn:D;return e(n,Cr(r))}function Dr(n,r){var e=[];return D(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Hr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Fr(n,r,e,i,f){return f(n,function(t,u,s){e=i?(i=!1,t):r(e,t,u,s)}),e}function Zr(n,r,e){var i=A(n)?Nn:Fr,f=arguments.length<3;return i(n,an(r),e,f,D)}var Gr=1/0,Nr=I&&1/$(new I([,-0]))[1]==Gr?function(n){return new I(n)}:Pn,mr=200;function qr(n,r,e){var i=-1,f=bn,t=n.length,u=!0,s=[],a=s;if(t>=mr){var h=r?null:Nr(n);if(h)return $(h);u=!1,f=tn,a=new c}else a=r?[]:s;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,u&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),s.push(g)}else f(a,l,e)||(a!==s&&a.push(l),s.push(g))}return s}export{D as a,Kr as b,an as c,vn as d,rn as e,Hn as f,Bn as g,cn as h,q as i,qr as j,x as k,Hr as l,Br as m,En as n,Cr as o,Mr as p,yr as q,Zr as r,mn as s,j as t,b as u,nn as v,Tr as w,Dn as x};
1
+ import{aK as A,aL as S,a_ as P,aJ as W,bY as ln,bZ as gn,b_ as dn,b$ as z,c0 as hn,bT as pn,c1 as G,b1 as N,b6 as m,b9 as R,c2 as An,b0 as U,b4 as _n,c3 as wn,bW as on,aM as V,bU as On,c4 as I}from"./index-BvNbWm56.js";function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var K=P?P.prototype:void 0,B=K?K.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(S(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Pn(){}function cn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function En(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function yn(n){return n!==n}function Tn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?Tn(n,r,e):En(n,yn,e)}function bn(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function x(n){return W(n)?ln(n):gn(n)}var In=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ln=/^\w*$/;function M(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||S(n)?!0:Ln.test(n)||!In.test(n)||r!=null&&n in Object(r)}var Sn=500;function xn(n){var r=dn(n,function(i){return e.size===Sn&&e.clear(),i}),e=r.cache;return r}var Mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$n=/\\(\\)?/g,Cn=xn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Mn,function(e,i,f,t){r.push(f?t.replace($n,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:M(n,r)?[n]:Cn(Dn(n))}function b(n){if(typeof n=="string"||S(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[b(r[e++])];return e&&e==i?n:void 0}function Fn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Gn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Kr(n,r,e,i,f){var t=-1,u=n.length;for(e||(e=Gn),f||(f=[]);++t<u;){var s=n[t];e(s)?rn(f,s):i||(f[f.length]=s)}return f}function Nn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var u=n[e];r(u,e,n)&&(t[f++]=u)}return t}function mn(){return[]}var Un=Object.prototype,Kn=Un.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Bn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Kn.call(n,r)}))}:mn;function Hn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return Hn(n,x,Bn)}var Zn="__lodash_hash_undefined__";function qn(n){return this.__data__.set(n,Zn),this}function Yn(n){return this.__data__.has(n)}function c(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new hn;++r<e;)this.add(n[r])}c.prototype.add=c.prototype.push=qn;c.prototype.has=Yn;function Jn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Xn=1,Qn=2;function fn(n,r,e,i,f,t){var u=e&Xn,s=n.length,a=r.length;if(s!=a&&!(u&&a>s))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,w=e&Qn?new c:void 0;for(t.set(n,r),t.set(r,n);++l<s;){var p=n[l],_=r[l];if(i)var o=u?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(o!==void 0){if(o)continue;d=!1;break}if(w){if(!Jn(r,function(O,v){if(!tn(w,v)&&(p===O||f(p,O,e,i,t)))return w.push(v)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Wn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function $(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var zn=1,Vn=2,kn="[object Boolean]",jn="[object Date]",nr="[object Error]",rr="[object Map]",er="[object Number]",ir="[object RegExp]",tr="[object Set]",fr="[object String]",ur="[object Symbol]",sr="[object ArrayBuffer]",ar="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function lr(n,r,e,i,f,t,u){switch(e){case ar:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case sr:return!(n.byteLength!=r.byteLength||!t(new G(n),new G(r)));case kn:case jn:case er:return pn(+n,+r);case nr:return n.name==r.name&&n.message==r.message;case ir:case fr:return n==r+"";case rr:var s=Wn;case tr:var a=i&zn;if(s||(s=$),n.size!=r.size&&!a)return!1;var h=u.get(n);if(h)return h==r;i|=Vn,u.set(n,r);var g=fn(s(n),s(r),i,f,t,u);return u.delete(n),g;case ur:if(L)return L.call(n)==L.call(r)}return!1}var gr=1,dr=Object.prototype,hr=dr.hasOwnProperty;function pr(n,r,e,i,f,t){var u=e&gr,s=q(n),a=s.length,h=q(r),g=h.length;if(a!=g&&!u)return!1;for(var l=a;l--;){var d=s[l];if(!(u?d in r:hr.call(r,d)))return!1}var w=t.get(n),p=t.get(r);if(w&&p)return w==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var o=u;++l<a;){d=s[l];var O=n[d],v=r[d];if(i)var F=u?i(v,O,d,r,n,t):i(O,v,d,n,r,t);if(!(F===void 0?O===v||f(O,v,e,i,t):F)){_=!1;break}o||(o=d=="constructor")}if(_&&!o){var E=n.constructor,y=r.constructor;E!=y&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof y=="function"&&y instanceof y)&&(_=!1)}return t.delete(n),t.delete(r),_}var Ar=1,J="[object Arguments]",X="[object Array]",T="[object Object]",_r=Object.prototype,Q=_r.hasOwnProperty;function wr(n,r,e,i,f,t){var u=A(n),s=A(r),a=u?X:N(n),h=s?X:N(r);a=a==J?T:a,h=h==J?T:h;var g=a==T,l=h==T,d=a==h;if(d&&m(n)){if(!m(r))return!1;u=!0,g=!1}if(d&&!g)return t||(t=new R),u||An(n)?fn(n,r,e,i,f,t):lr(n,r,a,e,i,f,t);if(!(e&Ar)){var w=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(w||p){var _=w?n.value():n,o=p?r.value():r;return t||(t=new R),f(_,o,e,i,t)}}return d?(t||(t=new R),pr(n,r,e,i,f,t)):!1}function C(n,r,e,i,f){return n===r?!0:n==null||r==null||!U(n)&&!U(r)?n!==n&&r!==r:wr(n,r,e,i,C,f)}var or=1,Or=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var u=e[f];if(u[2]?u[1]!==n[u[0]]:!(u[0]in n))return!1}for(;++f<t;){u=e[f];var s=u[0],a=n[s],h=u[1];if(u[2]){if(a===void 0&&!(s in n))return!1}else{var g=new R,l;if(!(l===void 0?C(h,a,or|Or,i,g):l))return!1}}return!0}function un(n){return n===n&&!_n(n)}function Pr(n){for(var r=x(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,un(f)]}return r}function sn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function cr(n){var r=Pr(n);return r.length==1&&r[0][2]?sn(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function Er(n,r){return n!=null&&r in Object(n)}function yr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var u=b(r[i]);if(!(t=n!=null&&e(n,u)))break;n=n[u]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&on(u,f)&&(A(n)||z(n)))}function Tr(n,r){return n!=null&&yr(n,r,Er)}var Rr=1,br=2;function Ir(n,r){return M(n)&&un(r)?sn(b(n),r):function(e){var i=Fn(e,n);return i===void 0&&i===r?Tr(e,n):C(r,i,Rr|br)}}function Lr(n){return function(r){return r==null?void 0:r[n]}}function Sr(n){return function(r){return nn(r,n)}}function xr(n){return M(n)?Lr(b(n)):Sr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Ir(n[0],n[1]):cr(n):xr(n)}function Mr(n,r){return n&&On(n,r,x)}function $r(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,u=Object(e);++t<f&&i(u[t],t,u)!==!1;);return e}}var D=$r(Mr);function Cr(n){return typeof n=="function"?n:V}function Br(n,r){var e=A(n)?cn:D;return e(n,Cr(r))}function Dr(n,r){var e=[];return D(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Hr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Fr(n,r,e,i,f){return f(n,function(t,u,s){e=i?(i=!1,t):r(e,t,u,s)}),e}function Zr(n,r,e){var i=A(n)?Nn:Fr,f=arguments.length<3;return i(n,an(r),e,f,D)}var Gr=1/0,Nr=I&&1/$(new I([,-0]))[1]==Gr?function(n){return new I(n)}:Pn,mr=200;function qr(n,r,e){var i=-1,f=bn,t=n.length,u=!0,s=[],a=s;if(t>=mr){var h=r?null:Nr(n);if(h)return $(h);u=!1,f=tn,a=new c}else a=r?[]:s;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,u&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),s.push(g)}else f(a,l,e)||(a!==s&&a.push(l),s.push(g))}return s}export{D as a,Kr as b,an as c,vn as d,rn as e,Hn as f,Bn as g,cn as h,q as i,qr as j,x as k,Hr as l,Br as m,En as n,Cr as o,Mr as p,yr as q,Zr as r,mn as s,j as t,b as u,nn as v,Tr as w,Dn as x};
@@ -1,4 +1,4 @@
1
- import"./percentages-BXMCSKIN-D9EnbREi.js";import"./index-CQkBs_Vm.js";import"./extends-CF3RwP-h.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:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
1
+ import"./percentages-BXMCSKIN-oaYJtiEf.js";import"./index-BvNbWm56.js";import"./extends-CF3RwP-h.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
2
 
3
3
  (إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`,errorAddingToLibrary:"تعذر إضافة العنصر للمكتبة",errorRemovingFromLibrary:"تعذر إزالة العنصر من المكتبة",confirmAddLibrary:"هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟",imageDoesNotContainScene:"يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟",cannotRestoreFromImage:"تعذر استعادة المشهد من ملف الصورة",invalidSceneUrl:"تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.",resetLibrary:"هذا سوف يمسح مكتبتك. هل أنت متأكد؟",removeItemsFromsLibrary:"حذف {{count}} عنصر (عناصر) من المكتبة؟",invalidEncryptionKey:"مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.",collabOfflineWarning:`لا يوجد اتصال بالانترنت.
4
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 أثناء تغيير الحجم،
@@ -1 +1 @@
1
- import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-CQkBs_Vm.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,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,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,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,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,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,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
1
+ import{a0 as ln,a1 as an,a2 as y,a3 as tn,a4 as H,a5 as q,a6 as _,a7 as un,a8 as rn,a9 as L,aa as o,ab as B,ac as sn,ad as on,ae as fn}from"./index-BvNbWm56.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(fn(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,F=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<rn)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(on((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,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,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,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,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,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,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};