@excalidraw/excalidraw 0.17.1-1d71f84 → 0.17.1-22b3927

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 (447) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js → blockDiagram-91b80b7a-H47FTXHA.js} +5 -5
  3. package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js → c4Diagram-b2a90758-NNJK6GKC.js} +3 -3
  4. package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js → chunk-4KQVEBHW.js} +3 -3
  5. package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js → chunk-53YI56GV.js} +4 -4
  6. package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js → chunk-A2WCJI4I.js} +3 -3
  7. package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js → chunk-EFLPX7NE.js} +6 -6
  8. package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js → chunk-JYIQCNWV.js} +2 -2
  9. package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js → chunk-LVIQQW6F.js} +2 -2
  10. package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js → chunk-PXLO3FOU.js} +2 -2
  11. package/dist/browser/dev/excalidraw-assets-dev/{chunk-AK7SWNLN.js → chunk-Q6A4M3MN.js} +9 -5
  12. package/dist/browser/dev/excalidraw-assets-dev/chunk-Q6A4M3MN.js.map +7 -0
  13. package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js → chunk-TO2AW5PW.js} +2 -2
  14. package/dist/browser/dev/excalidraw-assets-dev/{chunk-RWZVJAQU.js → chunk-VC7RRIDZ.js} +4657 -2673
  15. package/dist/browser/dev/excalidraw-assets-dev/chunk-VC7RRIDZ.js.map +7 -0
  16. package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js → chunk-VURILHLY.js} +2 -2
  17. package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js → chunk-ZAYGSUHF.js} +2 -2
  18. package/dist/browser/dev/excalidraw-assets-dev/{chunk-Z3PH3V2B.js → chunk-ZQR5ML6Y.js} +26 -26
  19. package/dist/browser/dev/excalidraw-assets-dev/chunk-ZQR5ML6Y.js.map +7 -0
  20. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js → classDiagram-30eddba6-CUYIJICN.js} +5 -5
  21. package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js → classDiagram-v2-f2df5561-K6WW6K73.js} +8 -8
  22. package/dist/browser/dev/excalidraw-assets-dev/{dist-Z46EOVOL.js → dist-6QVAH5JA.js} +37 -15
  23. package/dist/browser/dev/excalidraw-assets-dev/dist-6QVAH5JA.js.map +7 -0
  24. package/dist/browser/dev/excalidraw-assets-dev/{en-5TCZHGGJ.js → en-Y27YPU72.js} +2 -2
  25. package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js → erDiagram-47591fe2-XGAD7EEP.js} +4 -4
  26. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js → flowDiagram-5540d9b9-B6EOVNNO.js} +9 -9
  27. package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js → flowDiagram-v2-3b53844e-NUG24FJH.js} +9 -9
  28. package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js → flowchart-elk-definition-5fe447d6-25Y7PCBL.js} +5 -5
  29. package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js → ganttDiagram-9a3bba1f-GNL6ZDTC.js} +2 -2
  30. package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js → gitGraphDiagram-96e6b4ee-HNW52NVO.js} +2 -2
  31. package/dist/browser/dev/excalidraw-assets-dev/{image-EDKQZH7Z.js → image-J7S3ALXP.js} +2 -2
  32. package/dist/browser/dev/excalidraw-assets-dev/{image-OFRRV5MB.css → image-O66MQ7WQ.css} +1 -1
  33. package/dist/browser/dev/excalidraw-assets-dev/image-O66MQ7WQ.css.map +7 -0
  34. package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js → infoDiagram-bcd20f53-FWEUVFLT.js} +2 -2
  35. package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js → journeyDiagram-4fe6b3dc-RZIUI7UG.js} +3 -3
  36. package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js → mindmap-definition-f354de21-GBVN45GU.js} +3 -3
  37. package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js → pieDiagram-79897490-ECENNII6.js} +2 -2
  38. package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js → quadrantDiagram-62f64e94-ZMEOFVNL.js} +2 -2
  39. package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js → requirementDiagram-05bf5f74-FHZSFHCR.js} +4 -4
  40. package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js → sankeyDiagram-97764748-VDKIKTA6.js} +2 -2
  41. package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js → sequenceDiagram-acc0e65c-6JUSPVKX.js} +3 -3
  42. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js → stateDiagram-0ff1cf1a-L3AKWENF.js} +5 -5
  43. package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js → stateDiagram-v2-9a9d610d-NU3GGMCH.js} +8 -8
  44. package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js → timeline-definition-fea2a41d-JGP7XCHW.js} +2 -2
  45. package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js → xychartDiagram-ab372869-HLFHHF2I.js} +3 -3
  46. package/dist/browser/dev/index.css +72 -28
  47. package/dist/browser/dev/index.css.map +3 -3
  48. package/dist/browser/dev/index.js +2387 -1934
  49. package/dist/browser/dev/index.js.map +4 -4
  50. package/dist/browser/prod/excalidraw-assets/{blockDiagram-91b80b7a-ONPS22AM.js → blockDiagram-91b80b7a-FVCRVGN5.js} +1 -1
  51. package/dist/browser/prod/excalidraw-assets/{c4Diagram-b2a90758-XMIQY7ZT.js → c4Diagram-b2a90758-56CXO7GA.js} +1 -1
  52. package/dist/browser/prod/excalidraw-assets/{chunk-GCHQBOKV.js → chunk-635MQ3CK.js} +1 -1
  53. package/dist/browser/prod/excalidraw-assets/{chunk-P5M3G2RP.js → chunk-AIKXYJX3.js} +1 -1
  54. package/dist/browser/prod/excalidraw-assets/{chunk-E2YLWFZX.js → chunk-CR7VMNWC.js} +1 -1
  55. package/dist/browser/prod/excalidraw-assets/chunk-CWO763YJ.js +55 -0
  56. package/dist/browser/prod/excalidraw-assets/{chunk-WEYK4A2L.js → chunk-FFF2CSVG.js} +1 -1
  57. package/dist/browser/prod/excalidraw-assets/{chunk-R3HAIP6R.js → chunk-G4WDCSPE.js} +1 -1
  58. package/dist/browser/prod/excalidraw-assets/{chunk-HFOXJM22.js → chunk-HKZSHFLX.js} +1 -1
  59. package/dist/browser/prod/excalidraw-assets/{chunk-XIMFFJTE.js → chunk-IKCDYWMW.js} +1 -1
  60. package/dist/browser/prod/excalidraw-assets/{chunk-CTYINSWT.js → chunk-IZMZ6RPD.js} +2 -2
  61. package/dist/browser/prod/excalidraw-assets/{chunk-AHLLBBVJ.js → chunk-L5DS24G6.js} +1 -1
  62. package/dist/browser/prod/excalidraw-assets/{chunk-CQJF3C6G.js → chunk-MUNOKHUD.js} +1 -1
  63. package/dist/browser/prod/excalidraw-assets/{chunk-NI6SYCUG.js → chunk-QOQYOOQ4.js} +1 -1
  64. package/dist/browser/prod/excalidraw-assets/{chunk-I2PZFXTK.js → chunk-ZTIWFPBM.js} +21 -21
  65. package/dist/browser/prod/excalidraw-assets/{classDiagram-30eddba6-IEJXXCVX.js → classDiagram-30eddba6-BCUTAUMD.js} +1 -1
  66. package/dist/browser/prod/excalidraw-assets/{classDiagram-v2-f2df5561-7LZDSWOS.js → classDiagram-v2-f2df5561-6SOXSGQ2.js} +1 -1
  67. package/dist/browser/prod/excalidraw-assets/dist-567JAXHK.js +7 -0
  68. package/dist/browser/prod/excalidraw-assets/{en-LROPV2RN.js → en-GSUSWMSH.js} +1 -1
  69. package/dist/browser/prod/excalidraw-assets/{erDiagram-47591fe2-E5V666CF.js → erDiagram-47591fe2-RE6HB7RM.js} +1 -1
  70. package/dist/browser/prod/excalidraw-assets/{flowDiagram-5540d9b9-GMBRCYVF.js → flowDiagram-5540d9b9-ZNJZBERW.js} +1 -1
  71. package/dist/browser/prod/excalidraw-assets/{flowDiagram-v2-3b53844e-Z4HUWP6B.js → flowDiagram-v2-3b53844e-LY44JLQJ.js} +1 -1
  72. package/dist/browser/prod/excalidraw-assets/{flowchart-elk-definition-5fe447d6-5ZCYTX5N.js → flowchart-elk-definition-5fe447d6-TMTJ6Z7O.js} +1 -1
  73. package/dist/browser/prod/excalidraw-assets/{ganttDiagram-9a3bba1f-WM32OMT5.js → ganttDiagram-9a3bba1f-5O6EA6LX.js} +1 -1
  74. package/dist/browser/prod/excalidraw-assets/{gitGraphDiagram-96e6b4ee-CAKZ2U6E.js → gitGraphDiagram-96e6b4ee-UHYNM5DI.js} +1 -1
  75. package/dist/browser/prod/excalidraw-assets/image-SZBFRCU2.js +1 -0
  76. package/dist/browser/prod/excalidraw-assets/{infoDiagram-bcd20f53-MUIKXGC4.js → infoDiagram-bcd20f53-BP77NQEH.js} +1 -1
  77. package/dist/browser/prod/excalidraw-assets/{journeyDiagram-4fe6b3dc-NYRV4HK2.js → journeyDiagram-4fe6b3dc-XMGKCMES.js} +1 -1
  78. package/dist/browser/prod/excalidraw-assets/{mindmap-definition-f354de21-MY55DRSM.js → mindmap-definition-f354de21-ZQRRBRWF.js} +1 -1
  79. package/dist/browser/prod/excalidraw-assets/{pieDiagram-79897490-47L6J6L2.js → pieDiagram-79897490-IGXEC2KX.js} +1 -1
  80. package/dist/browser/prod/excalidraw-assets/{quadrantDiagram-62f64e94-DF5C2GDT.js → quadrantDiagram-62f64e94-WTHHDYJL.js} +1 -1
  81. package/dist/browser/prod/excalidraw-assets/{requirementDiagram-05bf5f74-C4IMUBDN.js → requirementDiagram-05bf5f74-MV4OFRVW.js} +1 -1
  82. package/dist/browser/prod/excalidraw-assets/{sankeyDiagram-97764748-YHW7EUST.js → sankeyDiagram-97764748-ZGYUHEJT.js} +1 -1
  83. package/dist/browser/prod/excalidraw-assets/{sequenceDiagram-acc0e65c-H3XEHT32.js → sequenceDiagram-acc0e65c-IBSENK6W.js} +1 -1
  84. package/dist/browser/prod/excalidraw-assets/{stateDiagram-0ff1cf1a-Z5WB6Q3P.js → stateDiagram-0ff1cf1a-DB73XNZH.js} +1 -1
  85. package/dist/browser/prod/excalidraw-assets/{stateDiagram-v2-9a9d610d-T7OZETQC.js → stateDiagram-v2-9a9d610d-2OOBUPNR.js} +1 -1
  86. package/dist/browser/prod/excalidraw-assets/{timeline-definition-fea2a41d-VVC22BWF.js → timeline-definition-fea2a41d-P3NQQVDU.js} +1 -1
  87. package/dist/browser/prod/excalidraw-assets/{xychartDiagram-ab372869-JAXODQF7.js → xychartDiagram-ab372869-HI3XLK3Y.js} +1 -1
  88. package/dist/browser/prod/index.css +1 -1
  89. package/dist/browser/prod/index.js +24 -24
  90. package/dist/dev/{en-II4GK66F.json → en-OIPCBIOA.json} +8 -4
  91. package/dist/dev/index.css +72 -28
  92. package/dist/dev/index.css.map +3 -3
  93. package/dist/dev/index.js +5866 -3499
  94. package/dist/dev/index.js.map +4 -4
  95. package/dist/excalidraw/actions/actionAddToLibrary.d.ts +4 -4
  96. package/dist/excalidraw/actions/actionAddToLibrary.js +4 -3
  97. package/dist/excalidraw/actions/actionAlign.d.ts +22 -22
  98. package/dist/excalidraw/actions/actionAlign.js +7 -6
  99. package/dist/excalidraw/actions/actionBoundText.d.ts +10 -10
  100. package/dist/excalidraw/actions/actionBoundText.js +11 -5
  101. package/dist/excalidraw/actions/actionCanvas.d.ts +52 -52
  102. package/dist/excalidraw/actions/actionCanvas.js +19 -14
  103. package/dist/excalidraw/actions/actionClipboard.d.ts +24 -24
  104. package/dist/excalidraw/actions/actionClipboard.js +14 -13
  105. package/dist/excalidraw/actions/actionDeleteSelected.d.ts +10 -10
  106. package/dist/excalidraw/actions/actionDeleteSelected.js +6 -3
  107. package/dist/excalidraw/actions/actionDistribute.d.ts +10 -10
  108. package/dist/excalidraw/actions/actionDistribute.js +3 -2
  109. package/dist/excalidraw/actions/actionDuplicateSelection.d.ts +7 -8
  110. package/dist/excalidraw/actions/actionDuplicateSelection.js +7 -3
  111. package/dist/excalidraw/actions/actionElementLock.d.ts +9 -9
  112. package/dist/excalidraw/actions/actionElementLock.js +3 -2
  113. package/dist/excalidraw/actions/actionExport.d.ts +33 -33
  114. package/dist/excalidraw/actions/actionExport.js +15 -11
  115. package/dist/excalidraw/actions/actionFinalize.d.ts +9 -9
  116. package/dist/excalidraw/actions/actionFinalize.js +9 -5
  117. package/dist/excalidraw/actions/actionFlip.d.ts +10 -10
  118. package/dist/excalidraw/actions/actionFlip.js +12 -12
  119. package/dist/excalidraw/actions/actionFrame.d.ts +171 -18
  120. package/dist/excalidraw/actions/actionFrame.js +7 -6
  121. package/dist/excalidraw/actions/actionGroup.d.ts +16 -16
  122. package/dist/excalidraw/actions/actionGroup.js +9 -11
  123. package/dist/excalidraw/actions/actionHistory.d.ts +4 -3
  124. package/dist/excalidraw/actions/actionHistory.js +27 -28
  125. package/dist/excalidraw/actions/actionLinearEditor.d.ts +6 -4
  126. package/dist/excalidraw/actions/actionLinearEditor.js +21 -5
  127. package/dist/excalidraw/actions/actionLink.d.ts +5 -5
  128. package/dist/excalidraw/actions/actionLink.js +2 -1
  129. package/dist/excalidraw/actions/actionMenu.d.ts +8 -8
  130. package/dist/excalidraw/actions/actionMenu.js +4 -3
  131. package/dist/excalidraw/actions/actionNavigate.d.ts +4 -4
  132. package/dist/excalidraw/actions/actionNavigate.js +3 -2
  133. package/dist/excalidraw/actions/actionProperties.d.ts +34 -34
  134. package/dist/excalidraw/actions/actionProperties.js +19 -14
  135. package/dist/excalidraw/actions/actionSelectAll.d.ts +5 -5
  136. package/dist/excalidraw/actions/actionSelectAll.js +2 -1
  137. package/dist/excalidraw/actions/actionStyles.d.ts +11 -11
  138. package/dist/excalidraw/actions/actionStyles.js +4 -3
  139. package/dist/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  140. package/dist/excalidraw/actions/actionTextAutoResize.js +38 -0
  141. package/dist/excalidraw/actions/actionToggleGridMode.d.ts +7 -5
  142. package/dist/excalidraw/actions/actionToggleGridMode.js +6 -2
  143. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  144. package/dist/excalidraw/actions/actionToggleObjectsSnapMode.js +2 -1
  145. package/dist/excalidraw/actions/actionToggleStats.d.ts +4 -4
  146. package/dist/excalidraw/actions/actionToggleStats.js +2 -1
  147. package/dist/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  148. package/dist/excalidraw/actions/actionToggleViewMode.js +2 -1
  149. package/dist/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  150. package/dist/excalidraw/actions/actionToggleZenMode.js +2 -1
  151. package/dist/excalidraw/actions/actionZindex.d.ts +23 -19
  152. package/dist/excalidraw/actions/actionZindex.js +9 -4
  153. package/dist/excalidraw/actions/manager.d.ts +5 -5
  154. package/dist/excalidraw/actions/register.d.ts +1 -1
  155. package/dist/excalidraw/actions/shortcuts.d.ts +2 -2
  156. package/dist/excalidraw/actions/shortcuts.js +1 -1
  157. package/dist/excalidraw/actions/types.d.ts +8 -8
  158. package/dist/excalidraw/align.d.ts +1 -1
  159. package/dist/excalidraw/analytics.js +1 -1
  160. package/dist/excalidraw/animated-trail.d.ts +2 -2
  161. package/dist/excalidraw/appState.d.ts +5 -5
  162. package/dist/excalidraw/change.d.ts +191 -0
  163. package/dist/excalidraw/change.js +901 -0
  164. package/dist/excalidraw/charts.d.ts +1 -1
  165. package/dist/excalidraw/clients.d.ts +2 -2
  166. package/dist/excalidraw/clients.js +1 -1
  167. package/dist/excalidraw/clipboard.d.ts +3 -3
  168. package/dist/excalidraw/colors.d.ts +1 -1
  169. package/dist/excalidraw/components/Actions.d.ts +3 -3
  170. package/dist/excalidraw/components/Actions.js +9 -6
  171. package/dist/excalidraw/components/App.d.ts +28 -14
  172. package/dist/excalidraw/components/App.js +491 -204
  173. package/dist/excalidraw/components/ButtonIconSelect.js +1 -1
  174. package/dist/excalidraw/components/CheckboxItem.js +1 -1
  175. package/dist/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  176. package/dist/excalidraw/components/ColorPicker/ColorInput.js +1 -1
  177. package/dist/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  178. package/dist/excalidraw/components/ColorPicker/ColorPicker.js +1 -1
  179. package/dist/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  180. package/dist/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  181. package/dist/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  182. package/dist/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  183. package/dist/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  184. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  185. package/dist/excalidraw/components/ColorPicker/colorPickerUtils.js +1 -1
  186. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  187. package/dist/excalidraw/components/ColorPicker/keyboardNavHandlers.js +1 -1
  188. package/dist/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  189. package/dist/excalidraw/components/CommandPalette/CommandPalette.js +30 -15
  190. package/dist/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  191. package/dist/excalidraw/components/CommandPalette/types.d.ts +3 -3
  192. package/dist/excalidraw/components/ConfirmDialog.d.ts +1 -1
  193. package/dist/excalidraw/components/ContextMenu.d.ts +2 -2
  194. package/dist/excalidraw/components/ContextMenu.js +2 -2
  195. package/dist/excalidraw/components/DarkModeToggle.d.ts +1 -1
  196. package/dist/excalidraw/components/DarkModeToggle.js +3 -1
  197. package/dist/excalidraw/components/DefaultSidebar.d.ts +2 -2
  198. package/dist/excalidraw/components/Dialog.js +1 -1
  199. package/dist/excalidraw/components/DialogActionButton.d.ts +1 -1
  200. package/dist/excalidraw/components/EyeDropper.d.ts +2 -2
  201. package/dist/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  202. package/dist/excalidraw/components/FollowMode/FollowMode.js +1 -1
  203. package/dist/excalidraw/components/HelpDialog.js +8 -6
  204. package/dist/excalidraw/components/HintViewer.d.ts +1 -1
  205. package/dist/excalidraw/components/IconPicker.js +2 -2
  206. package/dist/excalidraw/components/ImageExportDialog.d.ts +1 -1
  207. package/dist/excalidraw/components/InitializeApp.d.ts +2 -2
  208. package/dist/excalidraw/components/JSONExportDialog.d.ts +3 -3
  209. package/dist/excalidraw/components/LayerUI.d.ts +4 -4
  210. package/dist/excalidraw/components/LayerUI.js +2 -2
  211. package/dist/excalidraw/components/LibraryMenu.d.ts +2 -2
  212. package/dist/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  213. package/dist/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  214. package/dist/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  215. package/dist/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  216. package/dist/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  217. package/dist/excalidraw/components/LibraryUnit.d.ts +2 -2
  218. package/dist/excalidraw/components/LoadingMessage.d.ts +1 -1
  219. package/dist/excalidraw/components/MagicSettings.js +2 -2
  220. package/dist/excalidraw/components/MobileMenu.d.ts +3 -3
  221. package/dist/excalidraw/components/MobileMenu.js +1 -1
  222. package/dist/excalidraw/components/Modal.d.ts +1 -1
  223. package/dist/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  224. package/dist/excalidraw/components/PasteChartDialog.d.ts +1 -1
  225. package/dist/excalidraw/components/PasteChartDialog.js +1 -1
  226. package/dist/excalidraw/components/PublishLibrary.d.ts +1 -1
  227. package/dist/excalidraw/components/RadioGroup.d.ts +2 -1
  228. package/dist/excalidraw/components/RadioGroup.js +1 -1
  229. package/dist/excalidraw/components/SVGLayer.d.ts +1 -1
  230. package/dist/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  231. package/dist/excalidraw/components/Sidebar/Sidebar.js +1 -1
  232. package/dist/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  233. package/dist/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  234. package/dist/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  235. package/dist/excalidraw/components/Sidebar/common.d.ts +1 -1
  236. package/dist/excalidraw/components/Stack.d.ts +2 -2
  237. package/dist/excalidraw/components/Stats.d.ts +2 -2
  238. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +1 -1
  239. package/dist/excalidraw/components/TTDDialog/MermaidToExcalidraw.js +6 -2
  240. package/dist/excalidraw/components/TTDDialog/TTDDialog.js +2 -2
  241. package/dist/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  242. package/dist/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  243. package/dist/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  244. package/dist/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  245. package/dist/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  246. package/dist/excalidraw/components/TTDDialog/common.d.ts +4 -4
  247. package/dist/excalidraw/components/TextField.d.ts +1 -1
  248. package/dist/excalidraw/components/Toast.d.ts +1 -1
  249. package/dist/excalidraw/components/ToolButton.d.ts +4 -2
  250. package/dist/excalidraw/components/ToolButton.js +1 -1
  251. package/dist/excalidraw/components/Trans.d.ts +1 -1
  252. package/dist/excalidraw/components/UserList.d.ts +1 -1
  253. package/dist/excalidraw/components/canvases/InteractiveCanvas.d.ts +5 -3
  254. package/dist/excalidraw/components/canvases/InteractiveCanvas.js +5 -2
  255. package/dist/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  256. package/dist/excalidraw/components/canvases/StaticCanvas.js +2 -2
  257. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItem.js +2 -2
  258. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +18 -0
  259. package/dist/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.js +9 -0
  260. package/dist/excalidraw/components/footer/Footer.d.ts +2 -2
  261. package/dist/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  262. package/dist/excalidraw/components/hyperlink/Hyperlink.js +3 -3
  263. package/dist/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  264. package/dist/excalidraw/components/hyperlink/helpers.js +2 -3
  265. package/dist/excalidraw/components/icons.d.ts +6 -1
  266. package/dist/excalidraw/components/icons.js +23 -5
  267. package/dist/excalidraw/components/main-menu/DefaultItems.d.ts +12 -2
  268. package/dist/excalidraw/components/main-menu/DefaultItems.js +38 -7
  269. package/dist/excalidraw/constants.d.ts +6 -5
  270. package/dist/excalidraw/constants.js +11 -3
  271. package/dist/excalidraw/context/ui-appState.d.ts +1 -1
  272. package/dist/excalidraw/cursor.d.ts +1 -1
  273. package/dist/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  274. package/dist/excalidraw/data/blob.d.ts +5 -5
  275. package/dist/excalidraw/data/filesystem.d.ts +2 -1
  276. package/dist/excalidraw/data/index.d.ts +4 -4
  277. package/dist/excalidraw/data/json.d.ts +3 -3
  278. package/dist/excalidraw/data/library.d.ts +3 -3
  279. package/dist/excalidraw/data/magic.d.ts +3 -3
  280. package/dist/excalidraw/data/magic.js +2 -1
  281. package/dist/excalidraw/data/reconcile.d.ts +6 -0
  282. package/dist/excalidraw/data/reconcile.js +49 -0
  283. package/dist/excalidraw/data/resave.d.ts +2 -2
  284. package/dist/excalidraw/data/restore.d.ts +5 -5
  285. package/dist/excalidraw/data/restore.js +9 -7
  286. package/dist/excalidraw/data/transform.d.ts +4 -4
  287. package/dist/excalidraw/data/transform.js +12 -3
  288. package/dist/excalidraw/data/types.d.ts +3 -3
  289. package/dist/excalidraw/data/url.d.ts +1 -0
  290. package/dist/excalidraw/data/url.js +4 -1
  291. package/dist/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  292. package/dist/excalidraw/element/binding.d.ts +50 -9
  293. package/dist/excalidraw/element/binding.js +712 -155
  294. package/dist/excalidraw/element/bounds.d.ts +3 -4
  295. package/dist/excalidraw/element/bounds.js +0 -3
  296. package/dist/excalidraw/element/collision.d.ts +14 -19
  297. package/dist/excalidraw/element/collision.js +36 -713
  298. package/dist/excalidraw/element/containerCache.d.ts +1 -1
  299. package/dist/excalidraw/element/dragElements.d.ts +4 -4
  300. package/dist/excalidraw/element/dragElements.js +27 -3
  301. package/dist/excalidraw/element/embeddable.d.ts +9 -6
  302. package/dist/excalidraw/element/embeddable.js +98 -62
  303. package/dist/excalidraw/element/image.d.ts +2 -2
  304. package/dist/excalidraw/element/index.d.ts +2 -3
  305. package/dist/excalidraw/element/index.js +1 -2
  306. package/dist/excalidraw/element/linearElementEditor.d.ts +12 -12
  307. package/dist/excalidraw/element/linearElementEditor.js +7 -5
  308. package/dist/excalidraw/element/mutateElement.d.ts +4 -5
  309. package/dist/excalidraw/element/mutateElement.js +5 -3
  310. package/dist/excalidraw/element/newElement.d.ts +6 -9
  311. package/dist/excalidraw/element/newElement.js +18 -15
  312. package/dist/excalidraw/element/resizeElements.d.ts +4 -4
  313. package/dist/excalidraw/element/resizeElements.js +172 -96
  314. package/dist/excalidraw/element/resizeTest.d.ts +7 -7
  315. package/dist/excalidraw/element/resizeTest.js +53 -8
  316. package/dist/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  317. package/dist/excalidraw/element/sizeHelpers.d.ts +2 -2
  318. package/dist/excalidraw/element/sizeHelpers.js +3 -0
  319. package/dist/excalidraw/element/sortElements.d.ts +1 -1
  320. package/dist/excalidraw/element/textElement.d.ts +6 -6
  321. package/dist/excalidraw/element/textElement.js +16 -37
  322. package/dist/excalidraw/element/textWysiwyg.d.ts +12 -6
  323. package/dist/excalidraw/element/textWysiwyg.js +38 -17
  324. package/dist/excalidraw/element/transformHandles.d.ts +24 -6
  325. package/dist/excalidraw/element/transformHandles.js +22 -11
  326. package/dist/excalidraw/element/typeChecks.d.ts +4 -4
  327. package/dist/excalidraw/element/types.d.ts +33 -10
  328. package/dist/excalidraw/emitter.d.ts +1 -1
  329. package/dist/excalidraw/errors.d.ts +3 -0
  330. package/dist/excalidraw/errors.js +3 -0
  331. package/dist/excalidraw/fractionalIndex.d.ts +40 -0
  332. package/dist/excalidraw/fractionalIndex.js +239 -0
  333. package/dist/excalidraw/frame.d.ts +4 -4
  334. package/dist/excalidraw/gatransforms.d.ts +1 -1
  335. package/dist/excalidraw/gesture.d.ts +1 -1
  336. package/dist/excalidraw/groups.d.ts +5 -3
  337. package/dist/excalidraw/groups.js +17 -0
  338. package/dist/excalidraw/history.d.ts +35 -47
  339. package/dist/excalidraw/history.js +100 -167
  340. package/dist/excalidraw/hooks/useCreatePortalContainer.js +2 -1
  341. package/dist/excalidraw/hooks/useEmitter.d.ts +2 -0
  342. package/dist/excalidraw/hooks/useEmitter.js +13 -0
  343. package/dist/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  344. package/dist/excalidraw/i18n.d.ts +1 -1
  345. package/dist/excalidraw/index.d.ts +3 -1
  346. package/dist/excalidraw/index.js +2 -0
  347. package/dist/excalidraw/jotai.d.ts +1 -1
  348. package/dist/excalidraw/laser-trails.d.ts +3 -2
  349. package/dist/excalidraw/locales/en.json +8 -4
  350. package/dist/excalidraw/math.d.ts +2 -2
  351. package/dist/excalidraw/mermaid.d.ts +2 -0
  352. package/dist/excalidraw/mermaid.js +28 -0
  353. package/dist/excalidraw/points.d.ts +1 -1
  354. package/dist/excalidraw/queue.d.ts +1 -1
  355. package/dist/excalidraw/renderer/helpers.d.ts +2 -2
  356. package/dist/excalidraw/renderer/helpers.js +2 -2
  357. package/dist/excalidraw/renderer/interactiveScene.d.ts +2 -2
  358. package/dist/excalidraw/renderer/interactiveScene.js +38 -11
  359. package/dist/excalidraw/renderer/renderElement.d.ts +4 -4
  360. package/dist/excalidraw/renderer/renderElement.js +7 -7
  361. package/dist/excalidraw/renderer/renderSnaps.d.ts +1 -1
  362. package/dist/excalidraw/renderer/renderSnaps.js +2 -1
  363. package/dist/excalidraw/renderer/staticScene.d.ts +1 -1
  364. package/dist/excalidraw/renderer/staticScene.js +14 -3
  365. package/dist/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  366. package/dist/excalidraw/renderer/staticSvgScene.js +10 -0
  367. package/dist/excalidraw/scene/Fonts.d.ts +2 -4
  368. package/dist/excalidraw/scene/Fonts.js +6 -12
  369. package/dist/excalidraw/scene/Renderer.d.ts +4 -4
  370. package/dist/excalidraw/scene/Renderer.js +2 -3
  371. package/dist/excalidraw/scene/Scene.d.ts +19 -12
  372. package/dist/excalidraw/scene/Scene.js +44 -23
  373. package/dist/excalidraw/scene/Shape.d.ts +1 -1
  374. package/dist/excalidraw/scene/ShapeCache.d.ts +4 -4
  375. package/dist/excalidraw/scene/comparisons.d.ts +2 -2
  376. package/dist/excalidraw/scene/export.d.ts +2 -2
  377. package/dist/excalidraw/scene/export.js +6 -5
  378. package/dist/excalidraw/scene/scroll.d.ts +2 -2
  379. package/dist/excalidraw/scene/scrollbars.d.ts +3 -3
  380. package/dist/excalidraw/scene/selection.d.ts +2 -2
  381. package/dist/excalidraw/scene/types.d.ts +7 -5
  382. package/dist/excalidraw/scene/zoom.d.ts +1 -1
  383. package/dist/excalidraw/snapping.d.ts +4 -4
  384. package/dist/excalidraw/snapping.js +2 -1
  385. package/dist/excalidraw/store.d.ts +129 -0
  386. package/dist/excalidraw/store.js +296 -0
  387. package/dist/excalidraw/types.d.ts +34 -19
  388. package/dist/excalidraw/utils.d.ts +11 -4
  389. package/dist/excalidraw/utils.js +8 -0
  390. package/dist/excalidraw/zindex.d.ts +4 -4
  391. package/dist/excalidraw/zindex.js +9 -13
  392. package/dist/prod/{en-II4GK66F.json → en-OIPCBIOA.json} +8 -4
  393. package/dist/prod/index.css +1 -1
  394. package/dist/prod/index.js +44 -44
  395. package/dist/utils/bbox.d.ts +2 -2
  396. package/dist/utils/collision.d.ts +4 -0
  397. package/dist/utils/collision.js +48 -0
  398. package/dist/utils/export.d.ts +2 -2
  399. package/dist/utils/geometry/geometry.d.ts +71 -0
  400. package/dist/utils/geometry/geometry.js +674 -0
  401. package/dist/utils/geometry/shape.d.ts +56 -0
  402. package/dist/utils/geometry/shape.js +168 -0
  403. package/dist/utils/withinBounds.d.ts +1 -1
  404. package/history.ts +163 -218
  405. package/package.json +3 -2
  406. package/dist/browser/dev/excalidraw-assets-dev/chunk-AK7SWNLN.js.map +0 -7
  407. package/dist/browser/dev/excalidraw-assets-dev/chunk-RWZVJAQU.js.map +0 -7
  408. package/dist/browser/dev/excalidraw-assets-dev/chunk-Z3PH3V2B.js.map +0 -7
  409. package/dist/browser/dev/excalidraw-assets-dev/dist-Z46EOVOL.js.map +0 -7
  410. package/dist/browser/dev/excalidraw-assets-dev/image-OFRRV5MB.css.map +0 -7
  411. package/dist/browser/prod/excalidraw-assets/chunk-LL4GORAM.js +0 -55
  412. package/dist/browser/prod/excalidraw-assets/dist-PIPZXALV.js +0 -6
  413. package/dist/browser/prod/excalidraw-assets/image-EFCJDJH3.js +0 -1
  414. /package/dist/browser/dev/excalidraw-assets-dev/{blockDiagram-91b80b7a-ACFH36JV.js.map → blockDiagram-91b80b7a-H47FTXHA.js.map} +0 -0
  415. /package/dist/browser/dev/excalidraw-assets-dev/{c4Diagram-b2a90758-QZ27YR47.js.map → c4Diagram-b2a90758-NNJK6GKC.js.map} +0 -0
  416. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-HO2HMSK7.js.map → chunk-4KQVEBHW.js.map} +0 -0
  417. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-USGV265L.js.map → chunk-53YI56GV.js.map} +0 -0
  418. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-EDFX3S7X.js.map → chunk-A2WCJI4I.js.map} +0 -0
  419. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-IX4V72YG.js.map → chunk-EFLPX7NE.js.map} +0 -0
  420. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-MXVETLVM.js.map → chunk-JYIQCNWV.js.map} +0 -0
  421. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-YZIOORVX.js.map → chunk-LVIQQW6F.js.map} +0 -0
  422. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-6U7GQNJT.js.map → chunk-PXLO3FOU.js.map} +0 -0
  423. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-7DACDEY3.js.map → chunk-TO2AW5PW.js.map} +0 -0
  424. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-NJ77ZFNJ.js.map → chunk-VURILHLY.js.map} +0 -0
  425. /package/dist/browser/dev/excalidraw-assets-dev/{chunk-2T2GU7NF.js.map → chunk-ZAYGSUHF.js.map} +0 -0
  426. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-30eddba6-QSLMH4JW.js.map → classDiagram-30eddba6-CUYIJICN.js.map} +0 -0
  427. /package/dist/browser/dev/excalidraw-assets-dev/{classDiagram-v2-f2df5561-DY4DYQ5P.js.map → classDiagram-v2-f2df5561-K6WW6K73.js.map} +0 -0
  428. /package/dist/browser/dev/excalidraw-assets-dev/{en-5TCZHGGJ.js.map → en-Y27YPU72.js.map} +0 -0
  429. /package/dist/browser/dev/excalidraw-assets-dev/{erDiagram-47591fe2-SOOJRTCB.js.map → erDiagram-47591fe2-XGAD7EEP.js.map} +0 -0
  430. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-5540d9b9-AHGL4KPK.js.map → flowDiagram-5540d9b9-B6EOVNNO.js.map} +0 -0
  431. /package/dist/browser/dev/excalidraw-assets-dev/{flowDiagram-v2-3b53844e-56LDZZWY.js.map → flowDiagram-v2-3b53844e-NUG24FJH.js.map} +0 -0
  432. /package/dist/browser/dev/excalidraw-assets-dev/{flowchart-elk-definition-5fe447d6-27LUKRI6.js.map → flowchart-elk-definition-5fe447d6-25Y7PCBL.js.map} +0 -0
  433. /package/dist/browser/dev/excalidraw-assets-dev/{ganttDiagram-9a3bba1f-EHGYGNG6.js.map → ganttDiagram-9a3bba1f-GNL6ZDTC.js.map} +0 -0
  434. /package/dist/browser/dev/excalidraw-assets-dev/{gitGraphDiagram-96e6b4ee-AJQNBDW5.js.map → gitGraphDiagram-96e6b4ee-HNW52NVO.js.map} +0 -0
  435. /package/dist/browser/dev/excalidraw-assets-dev/{image-EDKQZH7Z.js.map → image-J7S3ALXP.js.map} +0 -0
  436. /package/dist/browser/dev/excalidraw-assets-dev/{infoDiagram-bcd20f53-SWLLQVES.js.map → infoDiagram-bcd20f53-FWEUVFLT.js.map} +0 -0
  437. /package/dist/browser/dev/excalidraw-assets-dev/{journeyDiagram-4fe6b3dc-7UAVCWOZ.js.map → journeyDiagram-4fe6b3dc-RZIUI7UG.js.map} +0 -0
  438. /package/dist/browser/dev/excalidraw-assets-dev/{mindmap-definition-f354de21-SROW5KGM.js.map → mindmap-definition-f354de21-GBVN45GU.js.map} +0 -0
  439. /package/dist/browser/dev/excalidraw-assets-dev/{pieDiagram-79897490-QKCI6NCB.js.map → pieDiagram-79897490-ECENNII6.js.map} +0 -0
  440. /package/dist/browser/dev/excalidraw-assets-dev/{quadrantDiagram-62f64e94-LNYJZFC5.js.map → quadrantDiagram-62f64e94-ZMEOFVNL.js.map} +0 -0
  441. /package/dist/browser/dev/excalidraw-assets-dev/{requirementDiagram-05bf5f74-ZZD7ZHFA.js.map → requirementDiagram-05bf5f74-FHZSFHCR.js.map} +0 -0
  442. /package/dist/browser/dev/excalidraw-assets-dev/{sankeyDiagram-97764748-L75ZZ4UM.js.map → sankeyDiagram-97764748-VDKIKTA6.js.map} +0 -0
  443. /package/dist/browser/dev/excalidraw-assets-dev/{sequenceDiagram-acc0e65c-6PCU7TDK.js.map → sequenceDiagram-acc0e65c-6JUSPVKX.js.map} +0 -0
  444. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-0ff1cf1a-WM76WOPR.js.map → stateDiagram-0ff1cf1a-L3AKWENF.js.map} +0 -0
  445. /package/dist/browser/dev/excalidraw-assets-dev/{stateDiagram-v2-9a9d610d-N4HZW3O2.js.map → stateDiagram-v2-9a9d610d-NU3GGMCH.js.map} +0 -0
  446. /package/dist/browser/dev/excalidraw-assets-dev/{timeline-definition-fea2a41d-ZHGCAXGP.js.map → timeline-definition-fea2a41d-JGP7XCHW.js.map} +0 -0
  447. /package/dist/browser/dev/excalidraw-assets-dev/{xychartDiagram-ab372869-2DLOVRAZ.js.map → xychartDiagram-ab372869-HLFHHF2I.js.map} +0 -0
@@ -0,0 +1,55 @@
1
+ import{a as g,b as v}from"./chunk-M2JW2GFW.js";import{d as ie,f as Mr}from"./chunk-SXMPUQ6M.js";var pa=ie(fa=>{g();var Hl;(function(e){typeof DO_NOT_EXPORT_CRC>"u"?typeof fa=="object"?e(fa):typeof define=="function"&&define.amd?define(function(){var t={};return e(t),t}):e(Hl={}):e(Hl={})})(function(e){e.version="0.3.0";function t(){for(var c=0,l=new Array(256),d=0;d!=256;++d)c=d,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,c=c&1?-306674912^c>>>1:c>>>1,l[d]=c;return typeof Int32Array<"u"?new Int32Array(l):l}var n=t(),r=typeof Buffer<"u";function o(c){if(c.length>32768&&r)return a(new Buffer(c));for(var l=-1,d=c.length-1,u=0;u<d;)l=n[(l^c.charCodeAt(u++))&255]^l>>>8,l=n[(l^c.charCodeAt(u++))&255]^l>>>8;return u===d&&(l=l>>>8^n[(l^c.charCodeAt(u))&255]),l^-1}function i(c){if(c.length>1e4)return a(c);for(var l=-1,d=0,u=c.length-3;d<u;)l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255];for(;d<u+3;)l=l>>>8^n[(l^c[d++])&255];return l^-1}function a(c){for(var l=-1,d=0,u=c.length-7;d<u;)l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255],l=l>>>8^n[(l^c[d++])&255];for(;d<u+7;)l=l>>>8^n[(l^c[d++])&255];return l^-1}function s(c){for(var l=-1,d=0,u=c.length,f,p;d<u;)f=c.charCodeAt(d++),f<128?l=l>>>8^n[(l^f)&255]:f<2048?(l=l>>>8^n[(l^(192|f>>6&31))&255],l=l>>>8^n[(l^(128|f&63))&255]):f>=55296&&f<57344?(f=(f&1023)+64,p=c.charCodeAt(d++)&1023,l=l>>>8^n[(l^(240|f>>8&7))&255],l=l>>>8^n[(l^(128|f>>2&63))&255],l=l>>>8^n[(l^(128|p>>6&15|f&3))&255],l=l>>>8^n[(l^(128|p&63))&255]):(l=l>>>8^n[(l^(224|f>>12&15))&255],l=l>>>8^n[(l^(128|f>>6&63))&255],l=l>>>8^n[(l^(128|f&63))&255]);return l^-1}e.table=n,e.bstr=o,e.buf=i,e.str=s})});var Vl=ie((J0,Ul)=>{g();var Wm=pa();Ul.exports=Km;var ht=new Uint8Array(4),Xm=new Int32Array(ht.buffer),Zm=new Uint32Array(ht.buffer);function Km(e){if(e[0]!==137)throw new Error("Invalid .png file header");if(e[1]!==80)throw new Error("Invalid .png file header");if(e[2]!==78)throw new Error("Invalid .png file header");if(e[3]!==71)throw new Error("Invalid .png file header");if(e[4]!==13)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[5]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(e[6]!==26)throw new Error("Invalid .png file header");if(e[7]!==10)throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");for(var t=!1,n=[],r=8;r<e.length;){ht[3]=e[r++],ht[2]=e[r++],ht[1]=e[r++],ht[0]=e[r++];var o=Zm[0]+4,i=new Uint8Array(o);i[0]=e[r++],i[1]=e[r++],i[2]=e[r++],i[3]=e[r++];var a=String.fromCharCode(i[0])+String.fromCharCode(i[1])+String.fromCharCode(i[2])+String.fromCharCode(i[3]);if(!n.length&&a!=="IHDR")throw new Error("IHDR header missing");if(a==="IEND"){t=!0,n.push({name:a,data:new Uint8Array(0)});break}for(var s=4;s<o;s++)i[s]=e[r++];ht[3]=e[r++],ht[2]=e[r++],ht[1]=e[r++],ht[0]=e[r++];var c=Xm[0],l=Wm.buf(i);if(l!==c)throw new Error("CRC values for "+a+" header do not match, PNG file is likely corrupted");var d=new Uint8Array(i.buffer.slice(4));n.push({name:a,data:d})}if(!t)throw new Error(".png file ended prematurely: no IEND header was found");return n}});var Yl=ie((ey,$l)=>{g();$l.exports=jm;function jm(e,t){if(e=String(e),t=String(t),!/^[\x00-\xFF]+$/.test(e)||!/^[\x00-\xFF]+$/.test(t))throw new Error("Only Latin-1 characters are permitted in PNG tEXt chunks. You might want to consider base64 encoding and/or zEXt compression");if(e.length>=80)throw new Error('Keyword "'+e+'" is longer than the 79-character limit imposed by the PNG specification');for(var n=e.length+t.length+1,r=new Uint8Array(n),o=0,i,a=0;a<e.length;a++){if(!(i=e.charCodeAt(a)))throw new Error("0x00 character is not permitted in tEXt keywords");r[o++]=i}r[o++]=0;for(var s=0;s<t.length;s++){if(!(i=t.charCodeAt(s)))throw new Error("0x00 character is not permitted in tEXt content");r[o++]=i}return{name:"tEXt",data:r}}});var Xl=ie((ny,Wl)=>{g();Wl.exports=qm;function qm(e){e.data&&e.name&&(e=e.data);for(var t=!0,n="",r="",o=0;o<e.length;o++){var i=e[o];if(t)i?r+=String.fromCharCode(i):t=!1;else if(i)n+=String.fromCharCode(i);else throw new Error("Invalid NULL character found. 0x00 character is not permitted in tEXt content")}return{keyword:r,text:n}}});var Zl=ie(ma=>{g();ma.encode=Yl();ma.decode=Xl()});var jl=ie((ay,Kl)=>{g();Kl.exports=function(e,t,n){var r=[],o=e.length;if(o===0)return r;var i=t<0?Math.max(0,t+o):t||0;for(n!==void 0&&(o=n<0?n+o:n);o-- >i;)r[o-i]=e[o];return r}});var Jl=ie((ly,ql)=>{g();var Jm=jl(),Qm=pa();ql.exports=nh;var Et=new Uint8Array(4),eh=new Int32Array(Et.buffer),th=new Uint32Array(Et.buffer);function nh(e){var t=8,n=t,r;for(r=0;r<e.length;r++)t+=e[r].data.length,t+=12;var o=new Uint8Array(t);for(o[0]=137,o[1]=80,o[2]=78,o[3]=71,o[4]=13,o[5]=10,o[6]=26,o[7]=10,r=0;r<e.length;r++){var i=e[r],a=i.name,s=i.data,c=s.length,l=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)];th[0]=c,o[n++]=Et[3],o[n++]=Et[2],o[n++]=Et[1],o[n++]=Et[0],o[n++]=l[0],o[n++]=l[1],o[n++]=l[2],o[n++]=l[3];for(var d=0;d<c;)o[n++]=s[d++];var u=l.concat(Jm(s)),f=Qm.buf(u);eh[0]=f,o[n++]=Et[3],o[n++]=Et[2],o[n++]=Et[1],o[n++]=Et[0]}return o}});var Ft=ie(Te=>{"use strict";g();var rh=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function oh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}Te.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var r in n)oh(n,r)&&(e[r]=n[r])}}return e};Te.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var ih={arraySet:function(e,t,n,r,o){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),o);return}for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){var t,n,r,o,i,a;for(r=0,t=0,n=e.length;t<n;t++)r+=e[t].length;for(a=new Uint8Array(r),o=0,t=0,n=e.length;t<n;t++)i=e[t],a.set(i,o),o+=i.length;return a}},ah={arraySet:function(e,t,n,r,o){for(var i=0;i<r;i++)e[o+i]=t[n+i]},flattenChunks:function(e){return[].concat.apply([],e)}};Te.setTyped=function(e){e?(Te.Buf8=Uint8Array,Te.Buf16=Uint16Array,Te.Buf32=Int32Array,Te.assign(Te,ih)):(Te.Buf8=Array,Te.Buf16=Array,Te.Buf32=Array,Te.assign(Te,ah))};Te.setTyped(rh)});var bc=ie(qn=>{"use strict";g();var sh=Ft(),lh=4,Ql=0,ec=1,ch=2;function jn(e){for(var t=e.length;--t>=0;)e[t]=0}var dh=0,ac=1,uh=2,fh=3,ph=258,ba=29,Rr=256,Cr=Rr+1+ba,Kn=30,va=19,sc=2*Cr+1,_n=15,ha=16,mh=7,Ta=256,lc=16,cc=17,dc=18,wa=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ko=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],hh=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],uc=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Eh=512,Nt=new Array((Cr+2)*2);jn(Nt);var Dr=new Array(Kn*2);jn(Dr);var Lr=new Array(Eh);jn(Lr);var kr=new Array(ph-fh+1);jn(kr);var Aa=new Array(ba);jn(Aa);var Oo=new Array(Kn);jn(Oo);function Ea(e,t,n,r,o){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=o,this.has_stree=e&&e.length}var fc,pc,mc;function ga(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function hc(e){return e<256?Lr[e]:Lr[256+(e>>>7)]}function Or(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Ie(e,t,n){e.bi_valid>ha-n?(e.bi_buf|=t<<e.bi_valid&65535,Or(e,e.bi_buf),e.bi_buf=t>>ha-e.bi_valid,e.bi_valid+=n-ha):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function gt(e,t,n){Ie(e,n[t*2],n[t*2+1])}function Ec(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function gh(e){e.bi_valid===16?(Or(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function xh(e,t){var n=t.dyn_tree,r=t.max_code,o=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,d,u,f,p,m,h=0;for(f=0;f<=_n;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<sc;l++)d=e.heap[l],f=n[n[d*2+1]*2+1]+1,f>c&&(f=c,h++),n[d*2+1]=f,!(d>r)&&(e.bl_count[f]++,p=0,d>=s&&(p=a[d-s]),m=n[d*2],e.opt_len+=m*(f+p),i&&(e.static_len+=m*(o[d*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(d=e.bl_count[f];d!==0;)u=e.heap[--l],!(u>r)&&(n[u*2+1]!==f&&(e.opt_len+=(f-n[u*2+1])*n[u*2],n[u*2+1]=f),d--)}}function gc(e,t,n){var r=new Array(_n+1),o=0,i,a;for(i=1;i<=_n;i++)r[i]=o=o+n[i-1]<<1;for(a=0;a<=t;a++){var s=e[a*2+1];s!==0&&(e[a*2]=Ec(r[s]++,s))}}function wh(){var e,t,n,r,o,i=new Array(_n+1);for(n=0,r=0;r<ba-1;r++)for(Aa[r]=n,e=0;e<1<<wa[r];e++)kr[n++]=r;for(kr[n-1]=r,o=0,r=0;r<16;r++)for(Oo[r]=o,e=0;e<1<<ko[r];e++)Lr[o++]=r;for(o>>=7;r<Kn;r++)for(Oo[r]=o<<7,e=0;e<1<<ko[r]-7;e++)Lr[256+o++]=r;for(t=0;t<=_n;t++)i[t]=0;for(e=0;e<=143;)Nt[e*2+1]=8,e++,i[8]++;for(;e<=255;)Nt[e*2+1]=9,e++,i[9]++;for(;e<=279;)Nt[e*2+1]=7,e++,i[7]++;for(;e<=287;)Nt[e*2+1]=8,e++,i[8]++;for(gc(Nt,Cr+1,i),e=0;e<Kn;e++)Dr[e*2+1]=5,Dr[e*2]=Ec(e,5);fc=new Ea(Nt,wa,Rr+1,Cr,_n),pc=new Ea(Dr,ko,0,Kn,_n),mc=new Ea(new Array(0),hh,0,va,mh)}function xc(e){var t;for(t=0;t<Cr;t++)e.dyn_ltree[t*2]=0;for(t=0;t<Kn;t++)e.dyn_dtree[t*2]=0;for(t=0;t<va;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Ta*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function wc(e){e.bi_valid>8?Or(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function yh(e,t,n,r){wc(e),r&&(Or(e,n),Or(e,~n)),sh.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function tc(e,t,n,r){var o=t*2,i=n*2;return e[o]<e[i]||e[o]===e[i]&&r[t]<=r[n]}function xa(e,t,n){for(var r=e.heap[n],o=n<<1;o<=e.heap_len&&(o<e.heap_len&&tc(t,e.heap[o+1],e.heap[o],e.depth)&&o++,!tc(t,r,e.heap[o],e.depth));)e.heap[n]=e.heap[o],n=o,o<<=1;e.heap[n]=r}function nc(e,t,n){var r,o,i=0,a,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+i*2]<<8|e.pending_buf[e.d_buf+i*2+1],o=e.pending_buf[e.l_buf+i],i++,r===0?gt(e,o,t):(a=kr[o],gt(e,a+Rr+1,t),s=wa[a],s!==0&&(o-=Aa[a],Ie(e,o,s)),r--,a=hc(r),gt(e,a,n),s=ko[a],s!==0&&(r-=Oo[a],Ie(e,r,s)));while(i<e.last_lit);gt(e,Ta,t)}function ya(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,i=t.stat_desc.elems,a,s,c=-1,l;for(e.heap_len=0,e.heap_max=sc,a=0;a<i;a++)n[a*2]!==0?(e.heap[++e.heap_len]=c=a,e.depth[a]=0):n[a*2+1]=0;for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,o&&(e.static_len-=r[l*2+1]);for(t.max_code=c,a=e.heap_len>>1;a>=1;a--)xa(e,n,a);l=i;do a=e.heap[1],e.heap[1]=e.heap[e.heap_len--],xa(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=a,e.heap[--e.heap_max]=s,n[l*2]=n[a*2]+n[s*2],e.depth[l]=(e.depth[a]>=e.depth[s]?e.depth[a]:e.depth[s])+1,n[a*2+1]=n[s*2+1]=l,e.heap[1]=l++,xa(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],xh(e,t),gc(n,c,e.bl_count)}function rc(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,c=7,l=4;for(a===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)i=a,a=t[(r+1)*2+1],!(++s<c&&i===a)&&(s<l?e.bl_tree[i*2]+=s:i!==0?(i!==o&&e.bl_tree[i*2]++,e.bl_tree[lc*2]++):s<=10?e.bl_tree[cc*2]++:e.bl_tree[dc*2]++,s=0,o=i,a===0?(c=138,l=3):i===a?(c=6,l=3):(c=7,l=4))}function oc(e,t,n){var r,o=-1,i,a=t[0*2+1],s=0,c=7,l=4;for(a===0&&(c=138,l=3),r=0;r<=n;r++)if(i=a,a=t[(r+1)*2+1],!(++s<c&&i===a)){if(s<l)do gt(e,i,e.bl_tree);while(--s!==0);else i!==0?(i!==o&&(gt(e,i,e.bl_tree),s--),gt(e,lc,e.bl_tree),Ie(e,s-3,2)):s<=10?(gt(e,cc,e.bl_tree),Ie(e,s-3,3)):(gt(e,dc,e.bl_tree),Ie(e,s-11,7));s=0,o=i,a===0?(c=138,l=3):i===a?(c=6,l=3):(c=7,l=4)}}function bh(e){var t;for(rc(e,e.dyn_ltree,e.l_desc.max_code),rc(e,e.dyn_dtree,e.d_desc.max_code),ya(e,e.bl_desc),t=va-1;t>=3&&e.bl_tree[uc[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function vh(e,t,n,r){var o;for(Ie(e,t-257,5),Ie(e,n-1,5),Ie(e,r-4,4),o=0;o<r;o++)Ie(e,e.bl_tree[uc[o]*2+1],3);oc(e,e.dyn_ltree,t-1),oc(e,e.dyn_dtree,n-1)}function Th(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return Ql;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return ec;for(n=32;n<Rr;n++)if(e.dyn_ltree[n*2]!==0)return ec;return Ql}var ic=!1;function Ah(e){ic||(wh(),ic=!0),e.l_desc=new ga(e.dyn_ltree,fc),e.d_desc=new ga(e.dyn_dtree,pc),e.bl_desc=new ga(e.bl_tree,mc),e.bi_buf=0,e.bi_valid=0,xc(e)}function yc(e,t,n,r){Ie(e,(dh<<1)+(r?1:0),3),yh(e,t,n,!0)}function Sh(e){Ie(e,ac<<1,3),gt(e,Ta,Nt),gh(e)}function _h(e,t,n,r){var o,i,a=0;e.level>0?(e.strm.data_type===ch&&(e.strm.data_type=Th(e)),ya(e,e.l_desc),ya(e,e.d_desc),a=bh(e),o=e.opt_len+3+7>>>3,i=e.static_len+3+7>>>3,i<=o&&(o=i)):o=i=n+5,n+4<=o&&t!==-1?yc(e,t,n,r):e.strategy===lh||i===o?(Ie(e,(ac<<1)+(r?1:0),3),nc(e,Nt,Dr)):(Ie(e,(uh<<1)+(r?1:0),3),vh(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),nc(e,e.dyn_ltree,e.dyn_dtree)),xc(e),r&&wc(e)}function Ih(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(kr[n]+Rr+1)*2]++,e.dyn_dtree[hc(t)*2]++),e.last_lit===e.lit_bufsize-1}qn._tr_init=Ah;qn._tr_stored_block=yc;qn._tr_flush_block=_h;qn._tr_tally=Ih;qn._tr_align=Sh});var Sa=ie((my,vc)=>{"use strict";g();function Ph(e,t,n,r){for(var o=e&65535|0,i=e>>>16&65535|0,a=0;n!==0;){a=n>2e3?2e3:n,n-=a;do o=o+t[r++]|0,i=i+o|0;while(--a);o%=65521,i%=65521}return o|i<<16|0}vc.exports=Ph});var _a=ie((Ey,Tc)=>{"use strict";g();function Mh(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var Dh=Mh();function Ch(e,t,n,r){var o=Dh,i=r+n;e^=-1;for(var a=r;a<i;a++)e=e>>>8^o[(e^t[a])&255];return e^-1}Tc.exports=Ch});var Ro=ie((xy,Ac)=>{"use strict";g();Ac.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var kc=ie(yt=>{"use strict";g();var Ae=Ft(),Ve=bc(),Pc=Sa(),on=_a(),Lh=Ro(),Dn=0,kh=1,Oh=3,dn=4,Sc=5,wt=0,_c=1,$e=-2,Rh=-3,Ia=-5,Fh=-1,Nh=1,Fo=2,Bh=3,Gh=4,zh=0,Hh=2,zo=8,Uh=9,Vh=15,$h=8,Yh=29,Wh=256,Ma=Wh+1+Yh,Xh=30,Zh=19,Kh=2*Ma+1,jh=15,W=3,ln=258,je=ln+W+1,qh=32,Ho=42,Da=69,No=73,Bo=91,Go=103,In=113,Nr=666,he=1,Br=2,Pn=3,er=4,Jh=3;function cn(e,t){return e.msg=Lh[t],t}function Ic(e){return(e<<1)-(e>4?9:0)}function sn(e){for(var t=e.length;--t>=0;)e[t]=0}function an(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(Ae.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function ye(e,t){Ve._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,an(e.strm)}function Z(e,t){e.pending_buf[e.pending++]=t}function Fr(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function Qh(e,t,n,r){var o=e.avail_in;return o>r&&(o=r),o===0?0:(e.avail_in-=o,Ae.arraySet(t,e.input,e.next_in,o,n),e.state.wrap===1?e.adler=Pc(e.adler,t,o,n):e.state.wrap===2&&(e.adler=on(e.adler,t,o,n)),e.next_in+=o,e.total_in+=o,o)}function Mc(e,t){var n=e.max_chain_length,r=e.strstart,o,i,a=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-je?e.strstart-(e.w_size-je):0,l=e.window,d=e.w_mask,u=e.prev,f=e.strstart+ln,p=l[r+a-1],m=l[r+a];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(o=t,!(l[o+a]!==m||l[o+a-1]!==p||l[o]!==l[r]||l[++o]!==l[r+1])){r+=2,o++;do;while(l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&l[++r]===l[++o]&&r<f);if(i=ln-(f-r),r=f-ln,i>a){if(e.match_start=t,a=i,i>=s)break;p=l[r+a-1],m=l[r+a]}}while((t=u[t&d])>c&&--n!==0);return a<=e.lookahead?a:e.lookahead}function Mn(e){var t=e.w_size,n,r,o,i,a;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-je)){Ae.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,r=e.hash_size,n=r;do o=e.head[--n],e.head[n]=o>=t?o-t:0;while(--r);r=t,n=r;do o=e.prev[--n],e.prev[n]=o>=t?o-t:0;while(--r);i+=t}if(e.strm.avail_in===0)break;if(r=Qh(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=r,e.lookahead+e.insert>=W)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+W-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<W)););}while(e.lookahead<je&&e.strm.avail_in!==0)}function eE(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Mn(e),e.lookahead===0&&t===Dn)return he;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,ye(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-je&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):(e.strstart>e.block_start&&(ye(e,!1),e.strm.avail_out===0),he)}function Pa(e,t){for(var n,r;;){if(e.lookahead<je){if(Mn(e),e.lookahead<je&&t===Dn)return he;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-je&&(e.match_length=Mc(e,n)),e.match_length>=W)if(r=Ve._tr_tally(e,e.strstart-e.match_start,e.match_length-W),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=W){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=e.strstart<W-1?e.strstart:W-1,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function Jn(e,t){for(var n,r,o;;){if(e.lookahead<je){if(Mn(e),e.lookahead<je&&t===Dn)return he;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=W-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-je&&(e.match_length=Mc(e,n),e.match_length<=5&&(e.strategy===Nh||e.match_length===W&&e.strstart-e.match_start>4096)&&(e.match_length=W-1)),e.prev_length>=W&&e.match_length<=e.prev_length){o=e.strstart+e.lookahead-W,r=Ve._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-W),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=o&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+W-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=W-1,e.strstart++,r&&(ye(e,!1),e.strm.avail_out===0))return he}else if(e.match_available){if(r=Ve._tr_tally(e,0,e.window[e.strstart-1]),r&&ye(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return he}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Ve._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<W-1?e.strstart:W-1,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function tE(e,t){for(var n,r,o,i,a=e.window;;){if(e.lookahead<=ln){if(Mn(e),e.lookahead<=ln&&t===Dn)return he;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=W&&e.strstart>0&&(o=e.strstart-1,r=a[o],r===a[++o]&&r===a[++o]&&r===a[++o])){i=e.strstart+ln;do;while(r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&r===a[++o]&&o<i);e.match_length=ln-(i-o),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=W?(n=Ve._tr_tally(e,1,e.match_length-W),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function nE(e,t){for(var n;;){if(e.lookahead===0&&(Mn(e),e.lookahead===0)){if(t===Dn)return he;break}if(e.match_length=0,n=Ve._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ye(e,!1),e.strm.avail_out===0))return he}return e.insert=0,t===dn?(ye(e,!0),e.strm.avail_out===0?Pn:er):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?he:Br}function xt(e,t,n,r,o){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=o}var Qn;Qn=[new xt(0,0,0,0,eE),new xt(4,4,8,4,Pa),new xt(4,5,16,8,Pa),new xt(4,6,32,32,Pa),new xt(4,4,16,16,Jn),new xt(8,16,32,32,Jn),new xt(8,16,128,128,Jn),new xt(8,32,128,256,Jn),new xt(32,128,258,1024,Jn),new xt(32,258,258,4096,Jn)];function rE(e){e.window_size=2*e.w_size,sn(e.head),e.max_lazy_match=Qn[e.level].max_lazy,e.good_match=Qn[e.level].good_length,e.nice_match=Qn[e.level].nice_length,e.max_chain_length=Qn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=W-1,e.match_available=0,e.ins_h=0}function oE(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=zo,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Ae.Buf16(Kh*2),this.dyn_dtree=new Ae.Buf16((2*Xh+1)*2),this.bl_tree=new Ae.Buf16((2*Zh+1)*2),sn(this.dyn_ltree),sn(this.dyn_dtree),sn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Ae.Buf16(jh+1),this.heap=new Ae.Buf16(2*Ma+1),sn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Ae.Buf16(2*Ma+1),sn(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Dc(e){var t;return!e||!e.state?cn(e,$e):(e.total_in=e.total_out=0,e.data_type=Hh,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Ho:In,e.adler=t.wrap===2?0:1,t.last_flush=Dn,Ve._tr_init(t),wt)}function Cc(e){var t=Dc(e);return t===wt&&rE(e.state),t}function iE(e,t){return!e||!e.state||e.state.wrap!==2?$e:(e.state.gzhead=t,wt)}function Lc(e,t,n,r,o,i){if(!e)return $e;var a=1;if(t===Fh&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),o<1||o>Uh||n!==zo||r<8||r>15||t<0||t>9||i<0||i>Gh)return cn(e,$e);r===8&&(r=9);var s=new oE;return e.state=s,s.strm=e,s.wrap=a,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=o+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+W-1)/W),s.window=new Ae.Buf8(s.w_size*2),s.head=new Ae.Buf16(s.hash_size),s.prev=new Ae.Buf16(s.w_size),s.lit_bufsize=1<<o+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Ae.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=t,s.strategy=i,s.method=n,Cc(e)}function aE(e,t){return Lc(e,t,zo,Vh,$h,zh)}function sE(e,t){var n,r,o,i;if(!e||!e.state||t>Sc||t<0)return e?cn(e,$e):$e;if(r=e.state,!e.output||!e.input&&e.avail_in!==0||r.status===Nr&&t!==dn)return cn(e,e.avail_out===0?Ia:$e);if(r.strm=e,n=r.last_flush,r.last_flush=t,r.status===Ho)if(r.wrap===2)e.adler=0,Z(r,31),Z(r,139),Z(r,8),r.gzhead?(Z(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Z(r,r.gzhead.time&255),Z(r,r.gzhead.time>>8&255),Z(r,r.gzhead.time>>16&255),Z(r,r.gzhead.time>>24&255),Z(r,r.level===9?2:r.strategy>=Fo||r.level<2?4:0),Z(r,r.gzhead.os&255),r.gzhead.extra&&r.gzhead.extra.length&&(Z(r,r.gzhead.extra.length&255),Z(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(e.adler=on(e.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=Da):(Z(r,0),Z(r,0),Z(r,0),Z(r,0),Z(r,0),Z(r,r.level===9?2:r.strategy>=Fo||r.level<2?4:0),Z(r,Jh),r.status=In);else{var a=zo+(r.w_bits-8<<4)<<8,s=-1;r.strategy>=Fo||r.level<2?s=0:r.level<6?s=1:r.level===6?s=2:s=3,a|=s<<6,r.strstart!==0&&(a|=qh),a+=31-a%31,r.status=In,Fr(r,a),r.strstart!==0&&(Fr(r,e.adler>>>16),Fr(r,e.adler&65535)),e.adler=1}if(r.status===Da)if(r.gzhead.extra){for(o=r.pending;r.gzindex<(r.gzhead.extra.length&65535)&&!(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size));)Z(r,r.gzhead.extra[r.gzindex]&255),r.gzindex++;r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),r.gzindex===r.gzhead.extra.length&&(r.gzindex=0,r.status=No)}else r.status=No;if(r.status===No)if(r.gzhead.name){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.name.length?i=r.gzhead.name.charCodeAt(r.gzindex++)&255:i=0,Z(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.gzindex=0,r.status=Bo)}else r.status=Bo;if(r.status===Bo)if(r.gzhead.comment){o=r.pending;do{if(r.pending===r.pending_buf_size&&(r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),an(e),o=r.pending,r.pending===r.pending_buf_size)){i=1;break}r.gzindex<r.gzhead.comment.length?i=r.gzhead.comment.charCodeAt(r.gzindex++)&255:i=0,Z(r,i)}while(i!==0);r.gzhead.hcrc&&r.pending>o&&(e.adler=on(e.adler,r.pending_buf,r.pending-o,o)),i===0&&(r.status=Go)}else r.status=Go;if(r.status===Go&&(r.gzhead.hcrc?(r.pending+2>r.pending_buf_size&&an(e),r.pending+2<=r.pending_buf_size&&(Z(r,e.adler&255),Z(r,e.adler>>8&255),e.adler=0,r.status=In)):r.status=In),r.pending!==0){if(an(e),e.avail_out===0)return r.last_flush=-1,wt}else if(e.avail_in===0&&Ic(t)<=Ic(n)&&t!==dn)return cn(e,Ia);if(r.status===Nr&&e.avail_in!==0)return cn(e,Ia);if(e.avail_in!==0||r.lookahead!==0||t!==Dn&&r.status!==Nr){var c=r.strategy===Fo?nE(r,t):r.strategy===Bh?tE(r,t):Qn[r.level].func(r,t);if((c===Pn||c===er)&&(r.status=Nr),c===he||c===Pn)return e.avail_out===0&&(r.last_flush=-1),wt;if(c===Br&&(t===kh?Ve._tr_align(r):t!==Sc&&(Ve._tr_stored_block(r,0,0,!1),t===Oh&&(sn(r.head),r.lookahead===0&&(r.strstart=0,r.block_start=0,r.insert=0))),an(e),e.avail_out===0))return r.last_flush=-1,wt}return t!==dn?wt:r.wrap<=0?_c:(r.wrap===2?(Z(r,e.adler&255),Z(r,e.adler>>8&255),Z(r,e.adler>>16&255),Z(r,e.adler>>24&255),Z(r,e.total_in&255),Z(r,e.total_in>>8&255),Z(r,e.total_in>>16&255),Z(r,e.total_in>>24&255)):(Fr(r,e.adler>>>16),Fr(r,e.adler&65535)),an(e),r.wrap>0&&(r.wrap=-r.wrap),r.pending!==0?wt:_c)}function lE(e){var t;return!e||!e.state?$e:(t=e.state.status,t!==Ho&&t!==Da&&t!==No&&t!==Bo&&t!==Go&&t!==In&&t!==Nr?cn(e,$e):(e.state=null,t===In?cn(e,Rh):wt))}function cE(e,t){var n=t.length,r,o,i,a,s,c,l,d;if(!e||!e.state||(r=e.state,a=r.wrap,a===2||a===1&&r.status!==Ho||r.lookahead))return $e;for(a===1&&(e.adler=Pc(e.adler,t,n,0)),r.wrap=0,n>=r.w_size&&(a===0&&(sn(r.head),r.strstart=0,r.block_start=0,r.insert=0),d=new Ae.Buf8(r.w_size),Ae.arraySet(d,t,n-r.w_size,r.w_size,0),t=d,n=r.w_size),s=e.avail_in,c=e.next_in,l=e.input,e.avail_in=n,e.next_in=0,e.input=t,Mn(r);r.lookahead>=W;){o=r.strstart,i=r.lookahead-(W-1);do r.ins_h=(r.ins_h<<r.hash_shift^r.window[o+W-1])&r.hash_mask,r.prev[o&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=o,o++;while(--i);r.strstart=o,r.lookahead=W-1,Mn(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=W-1,r.match_available=0,e.next_in=c,e.input=l,e.avail_in=s,r.wrap=a,wt}yt.deflateInit=aE;yt.deflateInit2=Lc;yt.deflateReset=Cc;yt.deflateResetKeep=Dc;yt.deflateSetHeader=iE;yt.deflate=sE;yt.deflateEnd=lE;yt.deflateSetDictionary=cE;yt.deflateInfo="pako deflate (from Nodeca project)"});var Ca=ie(tr=>{"use strict";g();var Uo=Ft(),Oc=!0,Rc=!0;try{String.fromCharCode.apply(null,[0])}catch{Oc=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Rc=!1}var Gr=new Uo.Buf8(256);for(Bt=0;Bt<256;Bt++)Gr[Bt]=Bt>=252?6:Bt>=248?5:Bt>=240?4:Bt>=224?3:Bt>=192?2:1;var Bt;Gr[254]=Gr[254]=1;tr.string2buf=function(e){var t,n,r,o,i,a=e.length,s=0;for(o=0;o<a;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uo.Buf8(s),i=0,o=0;i<s;o++)n=e.charCodeAt(o),(n&64512)===55296&&o+1<a&&(r=e.charCodeAt(o+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),o++)),n<128?t[i++]=n:n<2048?(t[i++]=192|n>>>6,t[i++]=128|n&63):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|n&63):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|n&63);return t};function Fc(e,t){if(t<65534&&(e.subarray&&Rc||!e.subarray&&Oc))return String.fromCharCode.apply(null,Uo.shrinkBuf(e,t));for(var n="",r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}tr.buf2binstring=function(e){return Fc(e,e.length)};tr.binstring2buf=function(e){for(var t=new Uo.Buf8(e.length),n=0,r=t.length;n<r;n++)t[n]=e.charCodeAt(n);return t};tr.buf2string=function(e,t){var n,r,o,i,a=t||e.length,s=new Array(a*2);for(r=0,n=0;n<a;){if(o=e[n++],o<128){s[r++]=o;continue}if(i=Gr[o],i>4){s[r++]=65533,n+=i-1;continue}for(o&=i===2?31:i===3?15:7;i>1&&n<a;)o=o<<6|e[n++]&63,i--;if(i>1){s[r++]=65533;continue}o<65536?s[r++]=o:(o-=65536,s[r++]=55296|o>>10&1023,s[r++]=56320|o&1023)}return Fc(s,r)};tr.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Gr[e[n]]>t?n:t}});var La=ie((Ay,Nc)=>{"use strict";g();function dE(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}Nc.exports=dE});var Hc=ie(Ur=>{"use strict";g();var zr=kc(),Hr=Ft(),Oa=Ca(),Ra=Ro(),uE=La(),zc=Object.prototype.toString,fE=0,ka=4,nr=0,Bc=1,Gc=2,pE=-1,mE=0,hE=8;function Cn(e){if(!(this instanceof Cn))return new Cn(e);this.options=Hr.assign({level:pE,method:hE,chunkSize:16384,windowBits:15,memLevel:8,strategy:mE,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new uE,this.strm.avail_out=0;var n=zr.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==nr)throw new Error(Ra[n]);if(t.header&&zr.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(typeof t.dictionary=="string"?r=Oa.string2buf(t.dictionary):zc.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,n=zr.deflateSetDictionary(this.strm,r),n!==nr)throw new Error(Ra[n]);this._dict_set=!0}}Cn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o,i;if(this.ended)return!1;i=t===~~t?t:t===!0?ka:fE,typeof e=="string"?n.input=Oa.string2buf(e):zc.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Hr.Buf8(r),n.next_out=0,n.avail_out=r),o=zr.deflate(n,i),o!==Bc&&o!==nr)return this.onEnd(o),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(i===ka||i===Gc))&&(this.options.to==="string"?this.onData(Oa.buf2binstring(Hr.shrinkBuf(n.output,n.next_out))):this.onData(Hr.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&o!==Bc);return i===ka?(o=zr.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===nr):(i===Gc&&(this.onEnd(nr),n.avail_out=0),!0)};Cn.prototype.onData=function(e){this.chunks.push(e)};Cn.prototype.onEnd=function(e){e===nr&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Hr.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Fa(e,t){var n=new Cn(t);if(n.push(e,!0),n.err)throw n.msg||Ra[n.err];return n.result}function EE(e,t){return t=t||{},t.raw=!0,Fa(e,t)}function gE(e,t){return t=t||{},t.gzip=!0,Fa(e,t)}Ur.Deflate=Cn;Ur.deflate=Fa;Ur.deflateRaw=EE;Ur.gzip=gE});var Vc=ie((Py,Uc)=>{"use strict";g();var Vo=30,xE=12;Uc.exports=function(t,n){var r,o,i,a,s,c,l,d,u,f,p,m,h,E,x,w,y,T,b,D,S,A,I,P,_;r=t.state,o=t.next_in,P=t.input,i=o+(t.avail_in-5),a=t.next_out,_=t.output,s=a-(n-t.avail_out),c=a+(t.avail_out-257),l=r.dmax,d=r.wsize,u=r.whave,f=r.wnext,p=r.window,m=r.hold,h=r.bits,E=r.lencode,x=r.distcode,w=(1<<r.lenbits)-1,y=(1<<r.distbits)-1;e:do{h<15&&(m+=P[o++]<<h,h+=8,m+=P[o++]<<h,h+=8),T=E[m&w];t:for(;;){if(b=T>>>24,m>>>=b,h-=b,b=T>>>16&255,b===0)_[a++]=T&65535;else if(b&16){D=T&65535,b&=15,b&&(h<b&&(m+=P[o++]<<h,h+=8),D+=m&(1<<b)-1,m>>>=b,h-=b),h<15&&(m+=P[o++]<<h,h+=8,m+=P[o++]<<h,h+=8),T=x[m&y];n:for(;;){if(b=T>>>24,m>>>=b,h-=b,b=T>>>16&255,b&16){if(S=T&65535,b&=15,h<b&&(m+=P[o++]<<h,h+=8,h<b&&(m+=P[o++]<<h,h+=8)),S+=m&(1<<b)-1,S>l){t.msg="invalid distance too far back",r.mode=Vo;break e}if(m>>>=b,h-=b,b=a-s,S>b){if(b=S-b,b>u&&r.sane){t.msg="invalid distance too far back",r.mode=Vo;break e}if(A=0,I=p,f===0){if(A+=d-b,b<D){D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}}else if(f<b){if(A+=d+f-b,b-=f,b<D){D-=b;do _[a++]=p[A++];while(--b);if(A=0,f<D){b=f,D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}}}else if(A+=f-b,b<D){D-=b;do _[a++]=p[A++];while(--b);A=a-S,I=_}for(;D>2;)_[a++]=I[A++],_[a++]=I[A++],_[a++]=I[A++],D-=3;D&&(_[a++]=I[A++],D>1&&(_[a++]=I[A++]))}else{A=a-S;do _[a++]=_[A++],_[a++]=_[A++],_[a++]=_[A++],D-=3;while(D>2);D&&(_[a++]=_[A++],D>1&&(_[a++]=_[A++]))}}else if(b&64){t.msg="invalid distance code",r.mode=Vo;break e}else{T=x[(T&65535)+(m&(1<<b)-1)];continue n}break}}else if(b&64)if(b&32){r.mode=xE;break e}else{t.msg="invalid literal/length code",r.mode=Vo;break e}else{T=E[(T&65535)+(m&(1<<b)-1)];continue t}break}}while(o<i&&a<c);D=h>>3,o-=D,h-=D<<3,m&=(1<<h)-1,t.next_in=o,t.next_out=a,t.avail_in=o<i?5+(i-o):5-(o-i),t.avail_out=a<c?257+(c-a):257-(a-c),r.hold=m,r.bits=h}});var jc=ie((Dy,Kc)=>{"use strict";g();var $c=Ft(),rr=15,Yc=852,Wc=592,Xc=0,Na=1,Zc=2,wE=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],yE=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],bE=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],vE=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];Kc.exports=function(t,n,r,o,i,a,s,c){var l=c.bits,d=0,u=0,f=0,p=0,m=0,h=0,E=0,x=0,w=0,y=0,T,b,D,S,A,I=null,P=0,_,M=new $c.Buf16(rr+1),k=new $c.Buf16(rr+1),Y=null,O=0,F,L,C;for(d=0;d<=rr;d++)M[d]=0;for(u=0;u<o;u++)M[n[r+u]]++;for(m=l,p=rr;p>=1&&M[p]===0;p--);if(m>p&&(m=p),p===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,c.bits=1,0;for(f=1;f<p&&M[f]===0;f++);for(m<f&&(m=f),x=1,d=1;d<=rr;d++)if(x<<=1,x-=M[d],x<0)return-1;if(x>0&&(t===Xc||p!==1))return-1;for(k[1]=0,d=1;d<rr;d++)k[d+1]=k[d]+M[d];for(u=0;u<o;u++)n[r+u]!==0&&(s[k[n[r+u]]++]=u);if(t===Xc?(I=Y=s,_=19):t===Na?(I=wE,P-=257,Y=yE,O-=257,_=256):(I=bE,Y=vE,_=-1),y=0,u=0,d=f,A=a,h=m,E=0,D=-1,w=1<<m,S=w-1,t===Na&&w>Yc||t===Zc&&w>Wc)return 1;for(;;){F=d-E,s[u]<_?(L=0,C=s[u]):s[u]>_?(L=Y[O+s[u]],C=I[P+s[u]]):(L=96,C=0),T=1<<d-E,b=1<<h,f=b;do b-=T,i[A+(y>>E)+b]=F<<24|L<<16|C|0;while(b!==0);for(T=1<<d-1;y&T;)T>>=1;if(T!==0?(y&=T-1,y+=T):y=0,u++,--M[d]===0){if(d===p)break;d=n[r+s[u]]}if(d>m&&(y&S)!==D){for(E===0&&(E=m),A+=f,h=d-E,x=1<<h;h+E<p&&(x-=M[h+E],!(x<=0));)h++,x<<=1;if(w+=1<<h,t===Na&&w>Yc||t===Zc&&w>Wc)return 1;D=y&S,i[D]=m<<24|h<<16|A-a|0}}return y!==0&&(i[A+y]=d-E<<24|64<<16|0),c.bits=m,0}});var Cd=ie(qe=>{"use strict";g();var Oe=Ft(),Va=Sa(),bt=_a(),TE=Vc(),Vr=jc(),AE=0,vd=1,Td=2,qc=4,SE=5,$o=6,Ln=0,_E=1,IE=2,Ye=-2,Ad=-3,$a=-4,PE=-5,Jc=8,Sd=1,Qc=2,ed=3,td=4,nd=5,rd=6,od=7,id=8,ad=9,sd=10,Xo=11,Gt=12,Ba=13,ld=14,Ga=15,cd=16,dd=17,ud=18,fd=19,Yo=20,Wo=21,pd=22,md=23,hd=24,Ed=25,gd=26,za=27,xd=28,wd=29,ae=30,Ya=31,ME=32,DE=852,CE=592,LE=15,kE=LE;function yd(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function OE(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Oe.Buf16(320),this.work=new Oe.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function _d(e){var t;return!e||!e.state?Ye:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=Sd,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Oe.Buf32(DE),t.distcode=t.distdyn=new Oe.Buf32(CE),t.sane=1,t.back=-1,Ln)}function Id(e){var t;return!e||!e.state?Ye:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,_d(e))}function Pd(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ye:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Id(e))}function Md(e,t){var n,r;return e?(r=new OE,e.state=r,r.window=null,n=Pd(e,t),n!==Ln&&(e.state=null),n):Ye}function RE(e){return Md(e,kE)}var bd=!0,Ha,Ua;function FE(e){if(bd){var t;for(Ha=new Oe.Buf32(512),Ua=new Oe.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Vr(vd,e.lens,0,288,Ha,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Vr(Td,e.lens,0,32,Ua,0,e.work,{bits:5}),bd=!1}e.lencode=Ha,e.lenbits=9,e.distcode=Ua,e.distbits=5}function Dd(e,t,n,r){var o,i=e.state;return i.window===null&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Oe.Buf8(i.wsize)),r>=i.wsize?(Oe.arraySet(i.window,t,n-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(o=i.wsize-i.wnext,o>r&&(o=r),Oe.arraySet(i.window,t,n-r,o,i.wnext),r-=o,r?(Oe.arraySet(i.window,t,n-r,r,0),i.wnext=r,i.whave=i.wsize):(i.wnext+=o,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=o))),0}function NE(e,t){var n,r,o,i,a,s,c,l,d,u,f,p,m,h,E=0,x,w,y,T,b,D,S,A,I=new Oe.Buf8(4),P,_,M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ye;n=e.state,n.mode===Gt&&(n.mode=Ba),a=e.next_out,o=e.output,c=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,l=n.hold,d=n.bits,u=s,f=c,A=Ln;e:for(;;)switch(n.mode){case Sd:if(n.wrap===0){n.mode=Ba;break}for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.wrap&2&&l===35615){n.check=0,I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0),l=0,d=0,n.mode=Qc;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=ae;break}if((l&15)!==Jc){e.msg="unknown compression method",n.mode=ae;break}if(l>>>=4,d-=4,S=(l&15)+8,n.wbits===0)n.wbits=S;else if(S>n.wbits){e.msg="invalid window size",n.mode=ae;break}n.dmax=1<<S,e.adler=n.check=1,n.mode=l&512?sd:Gt,l=0,d=0;break;case Qc:for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.flags=l,(n.flags&255)!==Jc){e.msg="unknown compression method",n.mode=ae;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=ae;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0)),l=0,d=0,n.mode=ed;case ed:for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.head&&(n.head.time=l),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,I[2]=l>>>16&255,I[3]=l>>>24&255,n.check=bt(n.check,I,4,0)),l=0,d=0,n.mode=td;case td:for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0)),l=0,d=0,n.mode=nd;case nd:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&(I[0]=l&255,I[1]=l>>>8&255,n.check=bt(n.check,I,2,0)),l=0,d=0}else n.head&&(n.head.extra=null);n.mode=rd;case rd:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(S=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Oe.arraySet(n.head.extra,r,i,p,S)),n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,n.length-=p),n.length))break e;n.length=0,n.mode=od;case od:if(n.flags&2048){if(s===0)break e;p=0;do S=r[i+p++],n.head&&S&&n.length<65536&&(n.head.name+=String.fromCharCode(S));while(S&&p<s);if(n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,S)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=id;case id:if(n.flags&4096){if(s===0)break e;p=0;do S=r[i+p++],n.head&&S&&n.length<65536&&(n.head.comment+=String.fromCharCode(S));while(S&&p<s);if(n.flags&512&&(n.check=bt(n.check,r,p,i)),s-=p,i+=p,S)break e}else n.head&&(n.head.comment=null);n.mode=ad;case ad:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l!==(n.check&65535)){e.msg="header crc mismatch",n.mode=ae;break}l=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Gt;break;case sd:for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}e.adler=n.check=yd(l),l=0,d=0,n.mode=Xo;case Xo:if(n.havedict===0)return e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,IE;e.adler=n.check=1,n.mode=Gt;case Gt:if(t===SE||t===$o)break e;case Ba:if(n.last){l>>>=d&7,d-=d&7,n.mode=za;break}for(;d<3;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}switch(n.last=l&1,l>>>=1,d-=1,l&3){case 0:n.mode=ld;break;case 1:if(FE(n),n.mode=Yo,t===$o){l>>>=2,d-=2;break e}break;case 2:n.mode=dd;break;case 3:e.msg="invalid block type",n.mode=ae}l>>>=2,d-=2;break;case ld:for(l>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if((l&65535)!==(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=ae;break}if(n.length=l&65535,l=0,d=0,n.mode=Ga,t===$o)break e;case Ga:n.mode=cd;case cd:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break e;Oe.arraySet(o,r,i,p,a),s-=p,i+=p,c-=p,a+=p,n.length-=p;break}n.mode=Gt;break;case dd:for(;d<14;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(n.nlen=(l&31)+257,l>>>=5,d-=5,n.ndist=(l&31)+1,l>>>=5,d-=5,n.ncode=(l&15)+4,l>>>=4,d-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=ae;break}n.have=0,n.mode=ud;case ud:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.lens[M[n.have++]]=l&7,l>>>=3,d-=3}for(;n.have<19;)n.lens[M[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,P={bits:n.lenbits},A=Vr(AE,n.lens,0,19,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid code lengths set",n.mode=ae;break}n.have=0,n.mode=fd;case fd:for(;n.have<n.nlen+n.ndist;){for(;E=n.lencode[l&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(y<16)l>>>=x,d-=x,n.lens[n.have++]=y;else{if(y===16){for(_=x+2;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l>>>=x,d-=x,n.have===0){e.msg="invalid bit length repeat",n.mode=ae;break}S=n.lens[n.have-1],p=3+(l&3),l>>>=2,d-=2}else if(y===17){for(_=x+3;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=x,d-=x,S=0,p=3+(l&7),l>>>=3,d-=3}else{for(_=x+7;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=x,d-=x,S=0,p=11+(l&127),l>>>=7,d-=7}if(n.have+p>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=ae;break}for(;p--;)n.lens[n.have++]=S}}if(n.mode===ae)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=ae;break}if(n.lenbits=9,P={bits:n.lenbits},A=Vr(vd,n.lens,0,n.nlen,n.lencode,0,n.work,P),n.lenbits=P.bits,A){e.msg="invalid literal/lengths set",n.mode=ae;break}if(n.distbits=6,n.distcode=n.distdyn,P={bits:n.distbits},A=Vr(Td,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,P),n.distbits=P.bits,A){e.msg="invalid distances set",n.mode=ae;break}if(n.mode=Yo,t===$o)break e;case Yo:n.mode=Wo;case Wo:if(s>=6&&c>=258){e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,TE(e,f),a=e.next_out,o=e.output,c=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,l=n.hold,d=n.bits,n.mode===Gt&&(n.back=-1);break}for(n.back=0;E=n.lencode[l&(1<<n.lenbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(w&&!(w&240)){for(T=x,b=w,D=y;E=n.lencode[D+((l&(1<<T+b)-1)>>T)],x=E>>>24,w=E>>>16&255,y=E&65535,!(T+x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=T,d-=T,n.back+=T}if(l>>>=x,d-=x,n.back+=x,n.length=y,w===0){n.mode=gd;break}if(w&32){n.back=-1,n.mode=Gt;break}if(w&64){e.msg="invalid literal/length code",n.mode=ae;break}n.extra=w&15,n.mode=pd;case pd:if(n.extra){for(_=n.extra;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=md;case md:for(;E=n.distcode[l&(1<<n.distbits)-1],x=E>>>24,w=E>>>16&255,y=E&65535,!(x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(!(w&240)){for(T=x,b=w,D=y;E=n.distcode[D+((l&(1<<T+b)-1)>>T)],x=E>>>24,w=E>>>16&255,y=E&65535,!(T+x<=d);){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}l>>>=T,d-=T,n.back+=T}if(l>>>=x,d-=x,n.back+=x,w&64){e.msg="invalid distance code",n.mode=ae;break}n.offset=y,n.extra=w&15,n.mode=hd;case hd:if(n.extra){for(_=n.extra;d<_;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=ae;break}n.mode=Ed;case Ed:if(c===0)break e;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=ae;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=o,m=a-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do o[a++]=h[m++];while(--p);n.length===0&&(n.mode=Wo);break;case gd:if(c===0)break e;o[a++]=n.length,c--,n.mode=Wo;break;case za:if(n.wrap){for(;d<32;){if(s===0)break e;s--,l|=r[i++]<<d,d+=8}if(f-=c,e.total_out+=f,n.total+=f,f&&(e.adler=n.check=n.flags?bt(n.check,o,f,a-f):Va(n.check,o,f,a-f)),f=c,(n.flags?l:yd(l))!==n.check){e.msg="incorrect data check",n.mode=ae;break}l=0,d=0}n.mode=xd;case xd:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,l+=r[i++]<<d,d+=8}if(l!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=ae;break}l=0,d=0}n.mode=wd;case wd:A=_E;break e;case ae:A=Ad;break e;case Ya:return $a;case ME:default:return Ye}return e.next_out=a,e.avail_out=c,e.next_in=i,e.avail_in=s,n.hold=l,n.bits=d,(n.wsize||f!==e.avail_out&&n.mode<ae&&(n.mode<za||t!==qc))&&Dd(e,e.output,e.next_out,f-e.avail_out)?(n.mode=Ya,$a):(u-=e.avail_in,f-=e.avail_out,e.total_in+=u,e.total_out+=f,n.total+=f,n.wrap&&f&&(e.adler=n.check=n.flags?bt(n.check,o,f,e.next_out-f):Va(n.check,o,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Gt?128:0)+(n.mode===Yo||n.mode===Ga?256:0),(u===0&&f===0||t===qc)&&A===Ln&&(A=PE),A)}function BE(e){if(!e||!e.state)return Ye;var t=e.state;return t.window&&(t.window=null),e.state=null,Ln}function GE(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?Ye:(n.head=t,t.done=!1,Ln)}function zE(e,t){var n=t.length,r,o,i;return!e||!e.state||(r=e.state,r.wrap!==0&&r.mode!==Xo)?Ye:r.mode===Xo&&(o=1,o=Va(o,t,n,0),o!==r.check)?Ad:(i=Dd(e,t,n,n),i?(r.mode=Ya,$a):(r.havedict=1,Ln))}qe.inflateReset=Id;qe.inflateReset2=Pd;qe.inflateResetKeep=_d;qe.inflateInit=RE;qe.inflateInit2=Md;qe.inflate=NE;qe.inflateEnd=BE;qe.inflateGetHeader=GE;qe.inflateSetDictionary=zE;qe.inflateInfo="pako inflate (from Nodeca project)"});var Wa=ie((Oy,Ld)=>{"use strict";g();Ld.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var Od=ie((Fy,kd)=>{"use strict";g();function HE(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}kd.exports=HE});var Fd=ie(Yr=>{"use strict";g();var or=Cd(),$r=Ft(),Zo=Ca(),pe=Wa(),Xa=Ro(),UE=La(),VE=Od(),Rd=Object.prototype.toString;function kn(e){if(!(this instanceof kn))return new kn(e);this.options=$r.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new UE,this.strm.avail_out=0;var n=or.inflateInit2(this.strm,t.windowBits);if(n!==pe.Z_OK)throw new Error(Xa[n]);if(this.header=new VE,or.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Zo.string2buf(t.dictionary):Rd.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=or.inflateSetDictionary(this.strm,t.dictionary),n!==pe.Z_OK)))throw new Error(Xa[n])}kn.prototype.push=function(e,t){var n=this.strm,r=this.options.chunkSize,o=this.options.dictionary,i,a,s,c,l,d=!1;if(this.ended)return!1;a=t===~~t?t:t===!0?pe.Z_FINISH:pe.Z_NO_FLUSH,typeof e=="string"?n.input=Zo.binstring2buf(e):Rd.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new $r.Buf8(r),n.next_out=0,n.avail_out=r),i=or.inflate(n,pe.Z_NO_FLUSH),i===pe.Z_NEED_DICT&&o&&(i=or.inflateSetDictionary(this.strm,o)),i===pe.Z_BUF_ERROR&&d===!0&&(i=pe.Z_OK,d=!1),i!==pe.Z_STREAM_END&&i!==pe.Z_OK)return this.onEnd(i),this.ended=!0,!1;n.next_out&&(n.avail_out===0||i===pe.Z_STREAM_END||n.avail_in===0&&(a===pe.Z_FINISH||a===pe.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=Zo.utf8border(n.output,n.next_out),c=n.next_out-s,l=Zo.buf2string(n.output,s),n.next_out=c,n.avail_out=r-c,c&&$r.arraySet(n.output,n.output,s,c,0),this.onData(l)):this.onData($r.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(d=!0)}while((n.avail_in>0||n.avail_out===0)&&i!==pe.Z_STREAM_END);return i===pe.Z_STREAM_END&&(a=pe.Z_FINISH),a===pe.Z_FINISH?(i=or.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===pe.Z_OK):(a===pe.Z_SYNC_FLUSH&&(this.onEnd(pe.Z_OK),n.avail_out=0),!0)};kn.prototype.onData=function(e){this.chunks.push(e)};kn.prototype.onEnd=function(e){e===pe.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=$r.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Za(e,t){var n=new kn(t);if(n.push(e,!0),n.err)throw n.msg||Xa[n.err];return n.result}function $E(e,t){return t=t||{},t.raw=!0,Za(e,t)}Yr.Inflate=kn;Yr.inflate=Za;Yr.inflateRaw=$E;Yr.ungzip=Za});var Gd=ie((zy,Bd)=>{"use strict";g();var YE=Ft().assign,WE=Hc(),XE=Fd(),ZE=Wa(),Nd={};YE(Nd,WE,XE,ZE);Bd.exports=Nd});var np=ie(Hi=>{"use strict";g();Object.defineProperty(Hi,"__esModule",{value:!0});Hi.sanitizeUrl=void 0;var tw=/^([^\w]*)(javascript|data|vbscript)/im,nw=/&#(\w+)(^\w|;)?/g,rw=/&(newline|tab);/gi,ow=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,iw=/^.+(:|&colon;)/gim,aw=[".","/"];function sw(e){return aw.indexOf(e[0])>-1}function lw(e){return e.replace(nw,function(t,n){return String.fromCharCode(n)})}function cw(e){var t=lw(e||"").replace(rw,"").replace(ow,"").trim();if(!t)return"about:blank";if(sw(t))return t;var n=t.match(iw);if(!n)return t;var r=n[0];return tw.test(r)?"about:blank":t}Hi.sanitizeUrl=cw});g();var Nl=Mr(Vl(),1),Bl=Mr(Zl(),1),$m=Mr(Jl(),1);g();var ua=Mr(Gd(),1);g();g();var Ka={};g();var On={white:"#ffffff",black:"#000000",gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]};var qE=(e,t)=>t.reduce((n,r)=>(r in e&&(n[r]=e[r]),n),{}),Yy=5,Wy=5,zd=4,Ko=4,jo=1,Je=[0,2,4,6,8];var Qe=(e,t)=>t.map(n=>On[e][n]),H={transparent:"transparent",black:"#1e1e1e",white:"#ffffff",gray:Qe("gray",Je),red:Qe("red",Je),pink:Qe("pink",Je),grape:Qe("grape",Je),violet:Qe("violet",Je),blue:Qe("blue",Je),cyan:Qe("cyan",Je),teal:Qe("teal",Je),green:Qe("green",Je),yellow:Qe("yellow",Je),orange:Qe("orange",Je),bronze:["#f8f1ee","#eaddd7","#d2bab0","#a18072","#846358"]},Hd=qE(H,["cyan","blue","violet","grape","pink","green","teal","yellow","orange","red"]),Xy=[H.black,H.red[Ko],H.green[Ko],H.blue[Ko],H.yellow[Ko]],Zy=[H.transparent,H.red[jo],H.green[jo],H.blue[jo],H.yellow[jo]],Ky=[H.white,"#f8f9fa","#f5faff","#fffce8","#fdf8f6"],jy={transparent:H.transparent,white:H.white,gray:H.gray,black:H.black,bronze:H.bronze,...Hd},qy={transparent:H.transparent,white:H.white,gray:H.gray,black:H.black,bronze:H.bronze,...Hd},Ud=e=>[H.cyan[e],H.blue[e],H.violet[e],H.grape[e],H.pink[e],H.green[e],H.teal[e],H.yellow[e],H.orange[e],H.red[e]],Jy=(e,t,n)=>`#${((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1)}`;var qo=/Mac|iPod|iPhone|iPad/.test(navigator.platform),rb=/^Win/.test(navigator.platform),Vd=/\b(android)\b/i.test(navigator.userAgent),ob="netscape"in window&&navigator.userAgent.indexOf("rv:")>1&&navigator.userAgent.indexOf("Gecko")>1,JE=navigator.userAgent.indexOf("Chrome")!==-1,ib=!JE&&navigator.userAgent.indexOf("Safari")!==-1,$d=/iPad|iPhone/.test(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document,ab=()=>navigator.brave?.isBrave?.name==="isBrave",sb=typeof window<"u"&&"ResizeObserver"in window,lb="Excalidraw",Yd=36,Wd=10,Xd=8,cb=5,db=1,ub=30,vt=Math.PI/12,fb="red",Jo={TEXT:"text",CROSSHAIR:"crosshair",GRABBING:"grabbing",GRAB:"grab",POINTER:"pointer",MOVE:"move",AUTO:""},pb={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1,ERASER:5},mb={enabled:"all",disabled:"none",inheritFromUI:"var(--ui-pointerEvents)"};var hb={UNSTARTED:-1,ENDED:0,PLAYING:1,PAUSED:2,BUFFERING:3,CUED:5},et={TEST:"test",DEVELOPMENT:"development"},Eb={SHAPE_ACTIONS_MENU:"App-menu__left"},Ee={Virgil:1,Helvetica:2,Cascadia:3,Assistant:4},Re={LIGHT:"light",DARK:"dark"},xe={strokeColor:"#bbb",strokeWidth:2,strokeStyle:"solid",fillStyle:"solid",roughness:0,roundness:null,backgroundColor:"transparent",radius:8,nameOffsetY:3,nameColorLightTheme:"#999999",nameColorDarkTheme:"#7a7a7a",nameFontSize:14,nameLineHeight:1.25},ja="Segoe UI Emoji",Qo=1,Tt=20,tt=Ee.Virgil,ir="left",ei="top";var Wr=2,ti=2*Wr,QE=1e-5,gb=2*ti-QE,xb="#ffffff",wb="#1e1e1e",yb="#a2f1a6";var bb=20,qa={svg:"image/svg+xml",png:"image/png",jpg:"image/jpeg",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",ico:"image/x-icon",avif:"image/avif",jfif:"image/jfif"},Zd=["text/plain","text/html"],B={json:"application/json",excalidraw:"application/vnd.excalidraw+json",excalidrawlib:"application/vnd.excalidrawlib+json","excalidraw.svg":"image/svg+xml","excalidraw.png":"image/png",binary:"application/octet-stream",...qa},vb={png:"png",svg:"svg",clipboard:"clipboard"},Pe={excalidraw:"excalidraw",excalidrawClipboard:"excalidraw/clipboard",excalidrawLibrary:"excalidrawlib",excalidrawClipboardWithAPI:"excalidraw-api/clipboard"},Ja=window.EXCALIDRAW_EXPORT_SOURCE||window.location.origin,Tb=500,Ab=300,Sb=500;var _b=100,Ib=.1,Kd=.1,Pb=30,Mb=300;var ni=Ka.themeFilter,Db={addLibrary:"addLibrary"},Cb={addLibrary:"addLibrary"},Lb={canvasActions:{changeViewBackgroundColor:!0,clearCanvas:!0,export:{saveFileToDisk:!0},loadScene:!0,saveToActiveFile:!0,toggleTheme:null,saveAsImage:!0},tools:{image:!0}},kb=730,Ob=1e3,Rb=500,Fb=1229,Nb=parseInt(Ka.rightSidebarWidth),ar=2,jd=[1,2,3],Qa=10,Bb=1440,Gb=2*1024*1024,Q="http://www.w3.org/2000/svg";var es={excalidraw:2,excalidrawLibrary:2},me=5,qd=.7,Jd=11,zt={TOP:"top",MIDDLE:"middle",BOTTOM:"bottom"},ts={LEFT:"left",CENTER:"center",RIGHT:"right"},Qd=20,ri=.25,eu=32,Fe={LEGACY:1,PROPORTIONAL_RADIUS:2,ADAPTIVE_RADIUS:3},ns={architect:0,artist:1,cartoonist:2},zb={thin:1,bold:2,extraBold:4},ne={strokeColor:H.black,backgroundColor:H.transparent,fillStyle:"solid",strokeWidth:2,strokeStyle:"solid",roughness:ns.artist,opacity:100,locked:!1},eg="library",tu={name:"default",defaultTab:eg},Hb=new Set(["iframe","embeddable","image"]),Ub={selection:"selection",rectangle:"rectangle",diamond:"diamond",ellipse:"ellipse",arrow:"arrow",line:"line",freedraw:"freedraw",text:"text",image:"image",eraser:"eraser",hand:"hand",frame:"frame",magicframe:"magicframe",embeddable:"embeddable",laser:"laser"},Vb={OAI_API_KEY:"excalidraw-oai-api-key",MERMAID_TO_EXCALIDRAW:"mermaid-to-excalidraw",PUBLISH_LIBRARY:"publish-library-data"},nu="Untitled";g();g();g();var oi=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,n)=>(n&=63,n<36?t+=n.toString(36):n<62?t+=(n-26).toString(36).toUpperCase():n>62?t+="-":t+="_",t),"");g();var tg=jd.includes(devicePixelRatio)?devicePixelRatio:1,nt=()=>({showWelcomeScreen:!1,theme:Re.LIGHT,collaborators:new Map,currentChartType:"bar",currentItemBackgroundColor:ne.backgroundColor,currentItemEndArrowhead:"arrow",currentItemFillStyle:ne.fillStyle,currentItemFontFamily:tt,currentItemFontSize:Tt,currentItemOpacity:ne.opacity,currentItemRoughness:ne.roughness,currentItemStartArrowhead:null,currentItemStrokeColor:ne.strokeColor,currentItemRoundness:"round",currentItemStrokeStyle:ne.strokeStyle,currentItemStrokeWidth:ne.strokeWidth,currentItemTextAlign:ir,cursorButton:"up",activeEmbeddable:null,draggingElement:null,editingElement:null,editingGroupId:null,editingLinearElement:null,activeTool:{type:"selection",customType:null,locked:ne.locked,lastActiveTool:null},penMode:!1,penDetected:!1,errorMessage:null,exportBackground:!0,exportScale:tg,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:null,isBindingEnabled:!0,defaultSidebarDockedPreference:!1,isLoading:!1,isResizing:!1,isRotating:!1,lastPointerDownWith:"mouse",multiElement:null,name:null,contextMenu:null,openMenu:null,openPopup:null,openSidebar:null,openDialog:null,pasteDialog:{shown:!1,data:null},previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},selectedGroupIds:{},selectedElementsAreBeingDragged:!1,selectionElement:null,shouldCacheIgnoreZoom:!1,showStats:!1,startBoundElement:null,suggestedBindings:[],frameRendering:{enabled:!0,clip:!0,name:!0,outline:!0},frameToHighlight:null,editingFrame:null,elementsToHighlight:null,toast:null,viewBackgroundColor:H.white,zenModeEnabled:!1,zoom:{value:1},viewModeEnabled:!1,pendingImageElementId:null,showHyperlinkPopup:!1,selectedLinearElement:null,snapLines:[],originSnapOffset:{x:0,y:0},objectsSnapModeEnabled:!1,userToFollow:null,followedBy:new Set}),ng=(e=>e)({showWelcomeScreen:{browser:!0,export:!1,server:!1},theme:{browser:!0,export:!1,server:!1},collaborators:{browser:!1,export:!1,server:!1},currentChartType:{browser:!0,export:!1,server:!1},currentItemBackgroundColor:{browser:!0,export:!1,server:!1},currentItemEndArrowhead:{browser:!0,export:!1,server:!1},currentItemFillStyle:{browser:!0,export:!1,server:!1},currentItemFontFamily:{browser:!0,export:!1,server:!1},currentItemFontSize:{browser:!0,export:!1,server:!1},currentItemRoundness:{browser:!0,export:!1,server:!1},currentItemOpacity:{browser:!0,export:!1,server:!1},currentItemRoughness:{browser:!0,export:!1,server:!1},currentItemStartArrowhead:{browser:!0,export:!1,server:!1},currentItemStrokeColor:{browser:!0,export:!1,server:!1},currentItemStrokeStyle:{browser:!0,export:!1,server:!1},currentItemStrokeWidth:{browser:!0,export:!1,server:!1},currentItemTextAlign:{browser:!0,export:!1,server:!1},cursorButton:{browser:!0,export:!1,server:!1},activeEmbeddable:{browser:!1,export:!1,server:!1},draggingElement:{browser:!1,export:!1,server:!1},editingElement:{browser:!1,export:!1,server:!1},editingGroupId:{browser:!0,export:!1,server:!1},editingLinearElement:{browser:!1,export:!1,server:!1},activeTool:{browser:!0,export:!1,server:!1},penMode:{browser:!0,export:!1,server:!1},penDetected:{browser:!0,export:!1,server:!1},errorMessage:{browser:!1,export:!1,server:!1},exportBackground:{browser:!0,export:!1,server:!1},exportEmbedScene:{browser:!0,export:!1,server:!1},exportScale:{browser:!0,export:!1,server:!1},exportWithDarkMode:{browser:!0,export:!1,server:!1},fileHandle:{browser:!1,export:!1,server:!1},gridSize:{browser:!0,export:!0,server:!0},height:{browser:!1,export:!1,server:!1},isBindingEnabled:{browser:!1,export:!1,server:!1},defaultSidebarDockedPreference:{browser:!0,export:!1,server:!1},isLoading:{browser:!1,export:!1,server:!1},isResizing:{browser:!1,export:!1,server:!1},isRotating:{browser:!1,export:!1,server:!1},lastPointerDownWith:{browser:!0,export:!1,server:!1},multiElement:{browser:!1,export:!1,server:!1},name:{browser:!0,export:!1,server:!1},offsetLeft:{browser:!1,export:!1,server:!1},offsetTop:{browser:!1,export:!1,server:!1},contextMenu:{browser:!1,export:!1,server:!1},openMenu:{browser:!0,export:!1,server:!1},openPopup:{browser:!1,export:!1,server:!1},openSidebar:{browser:!0,export:!1,server:!1},openDialog:{browser:!1,export:!1,server:!1},pasteDialog:{browser:!1,export:!1,server:!1},previousSelectedElementIds:{browser:!0,export:!1,server:!1},resizingElement:{browser:!1,export:!1,server:!1},scrolledOutside:{browser:!0,export:!1,server:!1},scrollX:{browser:!0,export:!1,server:!1},scrollY:{browser:!0,export:!1,server:!1},selectedElementIds:{browser:!0,export:!1,server:!1},selectedGroupIds:{browser:!0,export:!1,server:!1},selectedElementsAreBeingDragged:{browser:!1,export:!1,server:!1},selectionElement:{browser:!1,export:!1,server:!1},shouldCacheIgnoreZoom:{browser:!0,export:!1,server:!1},showStats:{browser:!0,export:!1,server:!1},startBoundElement:{browser:!1,export:!1,server:!1},suggestedBindings:{browser:!1,export:!1,server:!1},frameRendering:{browser:!1,export:!1,server:!1},frameToHighlight:{browser:!1,export:!1,server:!1},editingFrame:{browser:!1,export:!1,server:!1},elementsToHighlight:{browser:!1,export:!1,server:!1},toast:{browser:!1,export:!1,server:!1},viewBackgroundColor:{browser:!0,export:!0,server:!0},width:{browser:!1,export:!1,server:!1},zenModeEnabled:{browser:!0,export:!1,server:!1},zoom:{browser:!0,export:!1,server:!1},viewModeEnabled:{browser:!1,export:!1,server:!1},pendingImageElementId:{browser:!1,export:!1,server:!1},showHyperlinkPopup:{browser:!1,export:!1,server:!1},selectedLinearElement:{browser:!0,export:!1,server:!1},snapLines:{browser:!1,export:!1,server:!1},originSnapOffset:{browser:!1,export:!1,server:!1},objectsSnapModeEnabled:{browser:!0,export:!1,server:!1},userToFollow:{browser:!1,export:!1,server:!1},followedBy:{browser:!1,export:!1,server:!1}}),ru=(e,t)=>{let n={};for(let r of Object.keys(e))if(ng[r]?.[t]){let i=e[r];n[r]=i}return n};var ii=e=>ru(e,"export"),ou=e=>ru(e,"server"),iu=({activeTool:e})=>e.type==="eraser",au=({activeTool:e})=>e.type==="hand";g();g();g();g();g();g();var su=null;var i1=()=>{if(su)return su;let e=new Date,t=e.getFullYear(),n=`${e.getMonth()+1}`.padStart(2,"0"),r=`${e.getDate()}`.padStart(2,"0"),o=`${e.getHours()}`.padStart(2,"0"),i=`${e.getMinutes()}`.padStart(2,"0");return`${t}-${n}-${r}-${o}${i}`},a1=e=>e.charAt(0).toUpperCase()+e.slice(1),s1=e=>e instanceof HTMLElement&&e.className.includes("ToolIcon"),rg=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement,l1=e=>rg(e)||e instanceof Element&&!!e.closest("label, button"),c1=e=>e instanceof HTMLElement&&e.dataset.type==="wysiwyg"||e instanceof HTMLBRElement||e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&(e.type==="text"||e.type==="number"||e.type==="password"),rs=({fontFamily:e})=>{for(let[t,n]of Object.entries(Ee))if(n===e)return`${t}, ${ja}`;return ja},se=({fontSize:e,fontFamily:t})=>`${e}px ${rs({fontFamily:t})}`,du=(e,t)=>{let n=0,r=null,o=(...i)=>{r=i,clearTimeout(n),n=window.setTimeout(()=>{r=null,e(...i)},t)};return o.flush=()=>{if(clearTimeout(n),r){let i=r;r=null,e(...i)}},o.cancel=()=>{r=null,clearTimeout(n)},o},uu=(e,t)=>{let n=null,r=null,o=null,i=s=>{n=window.requestAnimationFrame(()=>{n=null,e(...s),r=null,o&&(r=o,o=null,i(r))})},a=(...s)=>{if(v.MODE==="test"){e(...s);return}r=s,n===null?i(r):t?.trailing&&(o=s)};return a.flush=()=>{n!==null&&(cancelAnimationFrame(n),n=null),r&&(e(...o||r),r=o=null)},a.cancel=()=>{r=o=null,n!==null&&(cancelAnimationFrame(n),n=null)},a},fu=e=>1-Math.pow(1-e,4),lu=(e,t,n)=>(t-e)*fu(n)+e,d1=({fromValues:e,toValues:t,onStep:n,duration:r=250,interpolateValue:o,onStart:i,onEnd:a,onCancel:s})=>{let c=!1,l=0,d;function u(f){if(c)return;d===void 0&&(d=f,i?.());let p=Math.min(f-d,r),m=fu(p/r),h={};if(Object.keys(e).forEach(E=>{let x=E,w=(t[x]-e[x])*m+e[x];h[x]=w}),n(h),p<r){let E=p/r,x={};Object.keys(e).forEach(w=>{let y=w,T=e[y],b=t[y],D;D=o?o(T,b,E,y):lu(T,b,E),D==null&&(D=lu(T,b,E)),x[y]=D}),n(x),l=window.requestAnimationFrame(u)}else n(t),a?.()}return l=window.requestAnimationFrame(u),()=>{s?.(),c=!0,window.cancelAnimationFrame(l)}},u1=(e,t)=>{if(!e.length||t<1)return[];let n=0,r=0,o=Array(Math.ceil(e.length/t));for(;n<e.length;)o[r++]=e.slice(n,n+=t);return o};var We=(e,t)=>Math.abs(e-t),Xr=(e,t)=>t.type==="custom"?{...e.activeTool,type:"custom",customType:t.customType,locked:t.locked??e.activeTool.locked}:{...e.activeTool,lastActiveTool:t.lastActiveToolBeforeEraser===void 0?e.activeTool.lastActiveTool:t.lastActiveToolBeforeEraser,type:t.type,customType:null,locked:t.locked??e.activeTool.locked};var f1=e=>(e=e.replace(/\bAlt\b/i,"Alt").replace(/\bShift\b/i,"Shift").replace(/\b(Enter|Return)\b/i,"Enter"),qo?e.replace(/\bCtrlOrCmd\b/gi,"Cmd").replace(/\bAlt\b/i,"Option"):e.replace(/\bCtrlOrCmd\b/gi,"Ctrl")),Zr=({clientX:e,clientY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e-r)/n.value-i,c=(t-o)/n.value-a;return{x:s,y:c}},os=({sceneX:e,sceneY:t},{zoom:n,offsetLeft:r,offsetTop:o,scrollX:i,scrollY:a})=>{let s=(e+i)*n.value+r,c=(t+a)*n.value+o;return{x:s,y:c}},p1=e=>getComputedStyle(document.documentElement).getPropertyValue(`--${e}`),og="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF",ig="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",ag=new RegExp(`^[^${og}]*[${ig}]`),si=e=>ag.test(e),sr=e=>{let[t,n]=e;return{x:t,y:n}},m1=e=>{if(e?.name==="AbortError"){console.warn(e);return}throw e},h1=(e,t,n=0)=>{n<0&&(n=e.length+n),n=Math.min(e.length,Math.max(n,0));let r=n-1;for(;++r<e.length;)if(t(e[r],r,e))return r;return-1},E1=(e,t,n=e.length-1)=>{n<0&&(n=e.length+n),n=Math.min(e.length-1,Math.max(n,0));let r=n+1;for(;--r>-1;)if(t(e[r],r,e))return r;return-1},un=e=>{let t=e.length===5&&e.substr(4,1)==="0",n=e.length===9&&e.substr(7,2)==="00";return t||n||e===H.transparent},g1=()=>{let e,t,n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n};var x1=e=>{let t=e.parentElement;for(;t;){if(t===document.body)return document;let{overflowY:n}=window.getComputedStyle(t);if(t.scrollHeight>t.clientHeight&&(n==="auto"||n==="scroll"||n==="overlay"))return t;t=t.parentElement}return document},w1=e=>{let t=e.parentElement;for(;t;){if(t.tabIndex>-1){t.focus();return}t=t.parentElement}},y1=e=>{e.preventDefault(),e.returnValue=""},pu=e=>Array.from(e).map(t=>`0${t.toString(16)}`.slice(-2)).join(""),Ht=()=>Ut()?1:Date.now(),X=e=>e instanceof Map?e:e.reduce((t,n)=>(t.set(typeof n=="string"?n:n.id,n),t),new Map),b1=e=>e.reduce((t,n,r)=>(t.set(n.id,[n,r]),t),new Map),At=(e,t)=>e.reduce((n,r)=>(n[t?t(r):String(r)]=r,n),{}),Ut=()=>v.MODE==="test",v1=()=>v.MODE==="development",T1=(e,t)=>new CustomEvent(e,{detail:{nativeEvent:t},cancelable:!0}),A1=(e,t)=>{let n=!1;for(let r in t){let o=t[r];if(typeof o<"u"){if(e[r]===o&&(typeof o!="object"||o===null))continue;n=!0}}return n?{...e,...t}:e};var S1=()=>{try{return window.self===window.top?"top":"iframe"}catch{return"iframe"}};var li=e=>!!e&&typeof e=="object"&&"then"in e&&"catch"in e&&"finally"in e,_1=e=>{let t=e?.querySelectorAll("button, a, input, select, textarea, div[tabindex], label[tabindex]");return t?Array.from(t).filter(n=>n.tabIndex>-1&&!n.disabled):[]},cu=(e,t)=>Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t,Vt=(e,t,n,r=!1)=>{let o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return r&&console.warn("%cisShallowEqual: objects don't have same properties ->","color: #8B4000",e,t),!1;if(n&&Array.isArray(n)){for(let a of n)if(!(e[a]===t[a]||cu(e[a],t[a])))return r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),!1;return!0}return o.every(a=>{let s=n?.[a],c=s?s(e[a],t[a]):e[a]===t[a]||cu(e[a],t[a]);return!c&&r&&console.warn(`%cisShallowEqual: ${a} not equal ->`,"color: #8B4000",e[a],t[a]),c})},I1=(e,t,{checkForDefaultPrevented:n=!0}={})=>function(o){if(e?.(o),!n||!o?.defaultPrevented)return t?.(o)},Rn=(e,t,n)=>{if(!t)return e;if(n)return console.error(t),e;throw new Error(t)},P1=e=>{let t,n,r=function(o){let i=Object.entries(o);if(t){let s=!0;for(let[c,l]of i)if(t.get(c)!==l){s=!1;break}if(s)return n}let a=e(o);return t=new Map(i),n=a,a};return r.clear=()=>{t=void 0,n=void 0},r},mu=(e,t)=>e instanceof Set||e instanceof Map?e.has(t):"includes"in e?e.includes(t):e.hasOwnProperty(t),M1=e=>JSON.parse(JSON.stringify(e)),D1=e=>typeof e=="number"&&Number.isFinite(e),C1=(e,t)=>Vt(e,t)?e:t;function L1(e,t,n,r){return e?(e?.addEventListener?.(t,n,r),()=>{e?.removeEventListener?.(t,n,r)}):()=>{}}var ai=(e,t)=>(e+t)/2;function k1(e,t=!0){let n=e.length;if(n<4)return"";let r=e[0],o=e[1],i=e[2],a=`M${r[0].toFixed(2)},${r[1].toFixed(2)} Q${o[0].toFixed(2)},${o[1].toFixed(2)} ${ai(o[0],i[0]).toFixed(2)},${ai(o[1],i[1]).toFixed(2)} T`;for(let s=2,c=n-1;s<c;s++)r=e[s],o=e[s+1],a+=`${ai(r[0],o[0]).toFixed(2)},${ai(r[1],o[1]).toFixed(2)} `;return t&&(a+="Z"),a}var hu=e=>e.replace(/\r?\n|\r/g,`
2
+ `),$t=e=>e,O1=async(e,...t)=>new Promise(n=>{n(e(...t))});var St=e=>!!e&&e.type==="image"&&!!e.fileId,ci=e=>!!e&&e.type==="image",di=e=>!!e&&e.type==="embeddable",Kr=e=>!!e&&e.type==="iframe",rt=e=>!!e&&(e.type==="iframe"||e.type==="embeddable"),$=e=>e!=null&&e.type==="text",jr=e=>e!=null&&e.type==="frame",Eu=e=>e!=null&&e.type==="magicframe",ee=e=>e!=null&&(e.type==="frame"||e.type==="magicframe"),ge=e=>e!=null&&sg(e.type),sg=e=>e==="freedraw",J=e=>e!=null&&is(e.type),j=e=>e!=null&&e.type==="arrow",is=e=>e==="arrow"||e==="line",qr=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&lg(e.type),lg=e=>e==="arrow",Fn=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||e.type==="image"||e.type==="iframe"||e.type==="embeddable"||e.type==="frame"||e.type==="magicframe"||e.type==="text"&&!e.containerId),cg=(e,t=!0)=>e!=null&&(!e.locked||t===!0)&&(e.type==="rectangle"||e.type==="diamond"||e.type==="ellipse"||j(e)),as=e=>{let t=e?.type;if(!t)return!1;switch(t){case"text":case"diamond":case"rectangle":case"iframe":case"embeddable":case"ellipse":case"arrow":case"freedraw":case"line":case"frame":case"magicframe":case"image":case"selection":return!0;default:return Rn(t,null),!1}},lr=e=>cg(e)&&!!e.boundElements?.some(({type:t})=>t==="text"),be=e=>e!==null&&"containerId"in e&&e.containerId!==null&&$(e),ui=e=>e==="rectangle"||e==="embeddable"||e==="iframe"||e==="image",gu=e=>e==="line"||e==="arrow"||e==="diamond",G1=(e,t)=>!!((e===Fe.ADAPTIVE_RADIUS||e===Fe.LEGACY)&&ui(t.type)||e===Fe.PROPORTIONAL_RADIUS&&gu(t.type)),z1=e=>gu(e.type)?{type:Fe.PROPORTIONAL_RADIUS}:ui(e.type)?{type:Fe.ADAPTIVE_RADIUS}:null;g();g();g();g();g();g();g();g();g();g();g();g();function ss(e,t,n){if(e&&e.length){let[r,o]=t,i=Math.PI/180*n,a=Math.cos(i),s=Math.sin(i);for(let c of e){let[l,d]=c;c[0]=(l-r)*a-(d-o)*s+r,c[1]=(l-r)*s+(d-o)*a+o}}}function dg(e,t,n){let r=[];e.forEach(o=>r.push(...o)),ss(r,t,n)}function ug(e,t){return e[0]===t[0]&&e[1]===t[1]}function xu(e,t,n,r=1){let o=n,i=Math.max(t,.1),a=e[0]&&e[0][0]&&typeof e[0][0]=="number"?[e]:e,s=[0,0];if(o)for(let l of a)ss(l,s,o);let c=fg(a,i,r);if(o){for(let l of a)ss(l,s,-o);dg(c,s,-o)}return c}function fg(e,t,n){let r=[];for(let l of e){let d=[...l];ug(d[0],d[d.length-1])||d.push([d[0][0],d[0][1]]),d.length>2&&r.push(d)}let o=[];t=Math.max(t,.1);let i=[];for(let l of r)for(let d=0;d<l.length-1;d++){let u=l[d],f=l[d+1];if(u[1]!==f[1]){let p=Math.min(u[1],f[1]);i.push({ymin:p,ymax:Math.max(u[1],f[1]),x:p===u[1]?u[0]:f[0],islope:(f[0]-u[0])/(f[1]-u[1])})}}if(i.sort((l,d)=>l.ymin<d.ymin?-1:l.ymin>d.ymin?1:l.x<d.x?-1:l.x>d.x?1:l.ymax===d.ymax?0:(l.ymax-d.ymax)/Math.abs(l.ymax-d.ymax)),!i.length)return o;let a=[],s=i[0].ymin,c=0;for(;a.length||i.length;){if(i.length){let l=-1;for(let u=0;u<i.length&&!(i[u].ymin>s);u++)l=u;i.splice(0,l+1).forEach(u=>{a.push({s,edge:u})})}if(a=a.filter(l=>!(l.edge.ymax<=s)),a.sort((l,d)=>l.edge.x===d.edge.x?0:(l.edge.x-d.edge.x)/Math.abs(l.edge.x-d.edge.x)),(n!==1||c%t===0)&&a.length>1)for(let l=0;l<a.length;l=l+2){let d=l+1;if(d>=a.length)break;let u=a[l].edge,f=a[d].edge;o.push([[Math.round(u.x),s],[Math.round(f.x),s]])}s+=n,a.forEach(l=>{l.edge.x=l.edge.x+n*l.edge.islope}),c++}return o}function _t(e,t){var n;let r=t.hachureAngle+90,o=t.hachureGap;o<0&&(o=t.strokeWidth*4),o=Math.max(o,.1);let i=1;return t.roughness>=1&&(((n=t.randomizer)===null||n===void 0?void 0:n.next())||Math.random())>.7&&(i=o),xu(e,o,r,i||1)}var fn=class{constructor(t){this.helper=t}fillPolygons(t,n){return this._fillPolygons(t,n)}_fillPolygons(t,n){let r=_t(t,n);return{type:"fillSketch",ops:this.renderLines(r,n)}}renderLines(t,n){let r=[];for(let o of t)r.push(...this.helper.doubleLineOps(o[0][0],o[0][1],o[1][0],o[1][1],n));return r}};g();g();function pn(e){let t=e[0],n=e[1];return Math.sqrt(Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2))}var fi=class extends fn{fillPolygons(t,n){let r=n.hachureGap;r<0&&(r=n.strokeWidth*4),r=Math.max(r,.1);let o=Object.assign({},n,{hachureGap:r}),i=_t(t,o),a=Math.PI/180*n.hachureAngle,s=[],c=r*.5*Math.cos(a),l=r*.5*Math.sin(a);for(let[u,f]of i)pn([u,f])&&s.push([[u[0]-c,u[1]+l],[...f]],[[u[0]+c,u[1]-l],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,n)}}};g();var pi=class extends fn{fillPolygons(t,n){let r=this._fillPolygons(t,n),o=Object.assign({},n,{hachureAngle:n.hachureAngle+90}),i=this._fillPolygons(t,o);return r.ops=r.ops.concat(i.ops),r}};g();var mi=class{constructor(t){this.helper=t}fillPolygons(t,n){n=Object.assign({},n,{hachureAngle:0});let r=_t(t,n);return this.dotsOnLines(r,n)}dotsOnLines(t,n){let r=[],o=n.hachureGap;o<0&&(o=n.strokeWidth*4),o=Math.max(o,.1);let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=o/4;for(let s of t){let c=pn(s),l=c/o,d=Math.ceil(l)-1,u=c-d*o,f=(s[0][0]+s[1][0])/2-o/4,p=Math.min(s[0][1],s[1][1]);for(let m=0;m<d;m++){let h=p+u+m*o,E=f-a+Math.random()*2*a,x=h-a+Math.random()*2*a,w=this.helper.ellipse(E,x,i,i,n);r.push(...w.ops)}}return{type:"fillSketch",ops:r}}};g();var hi=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=_t(t,n);return{type:"fillSketch",ops:this.dashedLine(r,n)}}dashedLine(t,n){let r=n.dashOffset<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashOffset,o=n.dashGap<0?n.hachureGap<0?n.strokeWidth*4:n.hachureGap:n.dashGap,i=[];return t.forEach(a=>{let s=pn(a),c=Math.floor(s/(r+o)),l=(s+o-c*(r+o))/2,d=a[0],u=a[1];d[0]>u[0]&&(d=a[1],u=a[0]);let f=Math.atan((u[1]-d[1])/(u[0]-d[0]));for(let p=0;p<c;p++){let m=p*(r+o),h=m+r,E=[d[0]+m*Math.cos(f)+l*Math.cos(f),d[1]+m*Math.sin(f)+l*Math.sin(f)],x=[d[0]+h*Math.cos(f)+l*Math.cos(f),d[1]+h*Math.sin(f)+l*Math.sin(f)];i.push(...this.helper.doubleLineOps(E[0],E[1],x[0],x[1],n))}}),i}};g();var Ei=class{constructor(t){this.helper=t}fillPolygons(t,n){let r=n.hachureGap<0?n.strokeWidth*4:n.hachureGap,o=n.zigzagOffset<0?r:n.zigzagOffset;n=Object.assign({},n,{hachureGap:r+o});let i=_t(t,n);return{type:"fillSketch",ops:this.zigzagLines(i,o,n)}}zigzagLines(t,n,r){let o=[];return t.forEach(i=>{let a=pn(i),s=Math.round(a/(2*n)),c=i[0],l=i[1];c[0]>l[0]&&(c=i[1],l=i[0]);let d=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let u=0;u<s;u++){let f=u*2*n,p=(u+1)*2*n,m=Math.sqrt(2*Math.pow(n,2)),h=[c[0]+f*Math.cos(d),c[1]+f*Math.sin(d)],E=[c[0]+p*Math.cos(d),c[1]+p*Math.sin(d)],x=[h[0]+m*Math.cos(d+Math.PI/4),h[1]+m*Math.sin(d+Math.PI/4)];o.push(...this.helper.doubleLineOps(h[0],h[1],x[0],x[1],r),...this.helper.doubleLineOps(x[0],x[1],E[0],E[1],r))}}),o}};var Me={};function wu(e,t){let n=e.fillStyle||"hachure";if(!Me[n])switch(n){case"zigzag":Me[n]||(Me[n]=new fi(t));break;case"cross-hatch":Me[n]||(Me[n]=new pi(t));break;case"dots":Me[n]||(Me[n]=new mi(t));break;case"dashed":Me[n]||(Me[n]=new hi(t));break;case"zigzag-line":Me[n]||(Me[n]=new Ei(t));break;case"hachure":default:n="hachure",Me[n]||(Me[n]=new fn(t));break}return Me[n]}g();function yu(){return Math.floor(Math.random()*2**31)}var cr=class{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};g();g();var gi={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function pg(e){let t=new Array;for(;e!=="";)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else if(e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))t[t.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length);else return[];return t[t.length]={type:2,text:""},t}function ls(e,t){return e.type===t}function dr(e){let t=[],n=pg(e),r="BOD",o=0,i=n[o];for(;!ls(i,2);){let a=0,s=[];if(r==="BOD")if(i.text==="M"||i.text==="m")o++,a=gi[i.text],r=i.text;else return dr("M0,0"+e);else ls(i,1)?a=gi[r]:(o++,a=gi[i.text],r=i.text);if(o+a<n.length){for(let c=o;c<o+a;c++){let l=n[c];if(ls(l,1))s[s.length]=+l.text;else throw new Error("Param not a number: "+r+","+l.text)}if(typeof gi[r]=="number"){let c={key:r,data:s};t.push(c),o+=a,i=n[o],r==="M"&&(r="L"),r==="m"&&(r="l")}else throw new Error("Bad segment: "+r)}else throw new Error("Path data ended short")}return t}g();function Jr(e){let t=0,n=0,r=0,o=0,i=[];for(let{key:a,data:s}of e)switch(a){case"M":i.push({key:"M",data:[...s]}),[t,n]=s,[r,o]=s;break;case"m":t+=s[0],n+=s[1],i.push({key:"M",data:[t,n]}),r=t,o=n;break;case"L":i.push({key:"L",data:[...s]}),[t,n]=s;break;case"l":t+=s[0],n+=s[1],i.push({key:"L",data:[t,n]});break;case"C":i.push({key:"C",data:[...s]}),t=s[4],n=s[5];break;case"c":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"C",data:c}),t=c[4],n=c[5];break}case"Q":i.push({key:"Q",data:[...s]}),t=s[2],n=s[3];break;case"q":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"Q",data:c}),t=c[2],n=c[3];break}case"A":i.push({key:"A",data:[...s]}),t=s[5],n=s[6];break;case"a":t+=s[5],n+=s[6],i.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],t,n]});break;case"H":i.push({key:"H",data:[...s]}),t=s[0];break;case"h":t+=s[0],i.push({key:"H",data:[t]});break;case"V":i.push({key:"V",data:[...s]}),n=s[0];break;case"v":n+=s[0],i.push({key:"V",data:[n]});break;case"S":i.push({key:"S",data:[...s]}),t=s[2],n=s[3];break;case"s":{let c=s.map((l,d)=>d%2?l+n:l+t);i.push({key:"S",data:c}),t=c[2],n=c[3];break}case"T":i.push({key:"T",data:[...s]}),t=s[0],n=s[1];break;case"t":t+=s[0],n+=s[1],i.push({key:"T",data:[t,n]});break;case"Z":case"z":i.push({key:"Z",data:[]}),t=r,n=o;break}return i}g();function eo(e){let t=[],n="",r=0,o=0,i=0,a=0,s=0,c=0;for(let{key:l,data:d}of e){switch(l){case"M":t.push({key:"M",data:[...d]}),[r,o]=d,[i,a]=d;break;case"C":t.push({key:"C",data:[...d]}),r=d[4],o=d[5],s=d[2],c=d[3];break;case"L":t.push({key:"L",data:[...d]}),[r,o]=d;break;case"H":r=d[0],t.push({key:"L",data:[r,o]});break;case"V":o=d[0],t.push({key:"L",data:[r,o]});break;case"S":{let u=0,f=0;n==="C"||n==="S"?(u=r+(r-s),f=o+(o-c)):(u=r,f=o),t.push({key:"C",data:[u,f,...d]}),s=d[0],c=d[1],r=d[2],o=d[3];break}case"T":{let[u,f]=d,p=0,m=0;n==="Q"||n==="T"?(p=r+(r-s),m=o+(o-c)):(p=r,m=o);let h=r+2*(p-r)/3,E=o+2*(m-o)/3,x=u+2*(p-u)/3,w=f+2*(m-f)/3;t.push({key:"C",data:[h,E,x,w,u,f]}),s=p,c=m,r=u,o=f;break}case"Q":{let[u,f,p,m]=d,h=r+2*(u-r)/3,E=o+2*(f-o)/3,x=p+2*(u-p)/3,w=m+2*(f-m)/3;t.push({key:"C",data:[h,E,x,w,p,m]}),s=u,c=f,r=p,o=m;break}case"A":{let u=Math.abs(d[0]),f=Math.abs(d[1]),p=d[2],m=d[3],h=d[4],E=d[5],x=d[6];u===0||f===0?(t.push({key:"C",data:[r,o,E,x,E,x]}),r=E,o=x):(r!==E||o!==x)&&(bu(r,o,E,x,u,f,p,m,h).forEach(function(y){t.push({key:"C",data:y})}),r=E,o=x);break}case"Z":t.push({key:"Z",data:[]}),r=i,o=a;break}n=l}return t}function mg(e){return Math.PI*e/180}function Qr(e,t,n){let r=e*Math.cos(n)-t*Math.sin(n),o=e*Math.sin(n)+t*Math.cos(n);return[r,o]}function bu(e,t,n,r,o,i,a,s,c,l){let d=mg(a),u=[],f=0,p=0,m=0,h=0;if(l)[f,p,m,h]=l;else{[e,t]=Qr(e,t,-d),[n,r]=Qr(n,r,-d);let M=(e-n)/2,k=(t-r)/2,Y=M*M/(o*o)+k*k/(i*i);Y>1&&(Y=Math.sqrt(Y),o=Y*o,i=Y*i);let O=s===c?-1:1,F=o*o,L=i*i,C=F*L-F*k*k-L*M*M,z=F*k*k+L*M*M,U=O*Math.sqrt(Math.abs(C/z));m=U*o*k/i+(e+n)/2,h=U*-i*M/o+(t+r)/2,f=Math.asin(parseFloat(((t-h)/i).toFixed(9))),p=Math.asin(parseFloat(((r-h)/i).toFixed(9))),e<m&&(f=Math.PI-f),n<m&&(p=Math.PI-p),f<0&&(f=Math.PI*2+f),p<0&&(p=Math.PI*2+p),c&&f>p&&(f=f-Math.PI*2),!c&&p>f&&(p=p-Math.PI*2)}let E=p-f;if(Math.abs(E)>Math.PI*120/180){let M=p,k=n,Y=r;c&&p>f?p=f+Math.PI*120/180*1:p=f+Math.PI*120/180*-1,n=m+o*Math.cos(p),r=h+i*Math.sin(p),u=bu(n,r,k,Y,o,i,a,0,c,[p,M,m,h])}E=p-f;let x=Math.cos(f),w=Math.sin(f),y=Math.cos(p),T=Math.sin(p),b=Math.tan(E/4),D=4/3*o*b,S=4/3*i*b,A=[e,t],I=[e+D*w,t-S*x],P=[n+D*T,r-S*y],_=[n,r];if(I[0]=2*A[0]-I[0],I[1]=2*A[1]-I[1],l)return[I,P,_].concat(u);{u=[I,P,_].concat(u);let M=[];for(let k=0;k<u.length;k+=3){let Y=Qr(u[k][0],u[k][1],d),O=Qr(u[k+1][0],u[k+1][1],d),F=Qr(u[k+2][0],u[k+2][1],d);M.push([Y[0],Y[1],O[0],O[1],F[0],F[1]])}return M}}var hg={randOffset:xg,randOffsetWithRange:wg,ellipse:gg,doubleLineOps:yg};function cs(e,t,n,r,o){return{type:"path",ops:Yt(e,t,n,r,o)}}function to(e,t,n){let r=(e||[]).length;if(r>2){let o=[];for(let i=0;i<r-1;i++)o.push(...Yt(e[i][0],e[i][1],e[i+1][0],e[i+1][1],n));return t&&o.push(...Yt(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:"path",ops:o}}else if(r===2)return cs(e[0][0],e[0][1],e[1][0],e[1][1],n);return{type:"path",ops:[]}}function Eg(e,t){return to(e,!0,t)}function _u(e,t,n,r,o){let i=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];return Eg(i,o)}function ds(e,t){let n=Tu(e,1*(1+t.roughness*.2),t);if(!t.disableMultiStroke){let r=Tu(e,1.5*(1+t.roughness*.22),bg(t));n=n.concat(r)}return{type:"path",ops:n}}function gg(e,t,n,r,o){let i=us(n,r,o);return yi(e,t,o,i).opset}function us(e,t,n){let r=Math.sqrt(Math.PI*2*Math.sqrt((Math.pow(e/2,2)+Math.pow(t/2,2))/2)),o=Math.ceil(Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r)),i=Math.PI*2/o,a=Math.abs(e/2),s=Math.abs(t/2),c=1-n.curveFitting;return a+=N(a*c,n),s+=N(s*c,n),{increment:i,rx:a,ry:s}}function yi(e,t,n,r){let[o,i]=Au(r.increment,e,t,r.rx,r.ry,1,r.increment*xi(.1,xi(.4,1,n),n),n),a=wi(o,null,n);if(!n.disableMultiStroke&&n.roughness!==0){let[s]=Au(r.increment,e,t,r.rx,r.ry,1.5,0,n),c=wi(s,null,n);a=a.concat(c)}return{estimatedPoints:i,opset:{type:"path",ops:a}}}function fs(e,t,n,r,o,i,a,s,c){let l=e,d=t,u=Math.abs(n/2),f=Math.abs(r/2);u+=N(u*.01,c),f+=N(f*.01,c);let p=o,m=i;for(;p<0;)p+=Math.PI*2,m+=Math.PI*2;m-p>Math.PI*2&&(p=0,m=Math.PI*2);let h=Math.PI*2/c.curveStepCount,E=Math.min(h/2,(m-p)/2),x=Su(E,l,d,u,f,p,m,1,c);if(!c.disableMultiStroke){let w=Su(E,l,d,u,f,p,m,1.5,c);x.push(...w)}return a&&(s?x.push(...Yt(l,d,l+u*Math.cos(p),d+f*Math.sin(p),c),...Yt(l,d,l+u*Math.cos(m),d+f*Math.sin(m),c)):x.push({op:"lineTo",data:[l,d]},{op:"lineTo",data:[l+u*Math.cos(p),d+f*Math.sin(p)]})),{type:"path",ops:x}}function ps(e,t){let n=eo(Jr(dr(e))),r=[],o=[0,0],i=[0,0];for(let{key:a,data:s}of n)switch(a){case"M":{i=[s[0],s[1]],o=[s[0],s[1]];break}case"L":r.push(...Yt(i[0],i[1],s[0],s[1],t)),i=[s[0],s[1]];break;case"C":{let[c,l,d,u,f,p]=s;r.push(...vg(c,l,d,u,f,p,i,t)),i=[f,p];break}case"Z":r.push(...Yt(i[0],i[1],o[0],o[1],t)),i=[o[0],o[1]];break}return{type:"path",ops:r}}function bi(e,t){let n=[];for(let r of e)if(r.length){let o=t.maxRandomnessOffset||0,i=r.length;if(i>2){n.push({op:"move",data:[r[0][0]+N(o,t),r[0][1]+N(o,t)]});for(let a=1;a<i;a++)n.push({op:"lineTo",data:[r[a][0]+N(o,t),r[a][1]+N(o,t)]})}}return{type:"fillPath",ops:n}}function Nn(e,t){return wu(t,hg).fillPolygons(e,t)}function Iu(e,t,n,r,o,i,a){let s=e,c=t,l=Math.abs(n/2),d=Math.abs(r/2);l+=N(l*.01,a),d+=N(d*.01,a);let u=o,f=i;for(;u<0;)u+=Math.PI*2,f+=Math.PI*2;f-u>Math.PI*2&&(u=0,f=Math.PI*2);let p=(f-u)/a.curveStepCount,m=[];for(let h=u;h<=f;h=h+p)m.push([s+l*Math.cos(h),c+d*Math.sin(h)]);return m.push([s+l*Math.cos(f),c+d*Math.sin(f)]),m.push([s,c]),Nn([m],a)}function xg(e,t){return N(e,t)}function wg(e,t,n){return xi(e,t,n)}function yg(e,t,n,r,o){return Yt(e,t,n,r,o,!0)}function bg(e){let t=Object.assign({},e);return t.randomizer=void 0,e.seed&&(t.seed=e.seed+1),t}function Pu(e){return e.randomizer||(e.randomizer=new cr(e.seed||0)),e.randomizer.next()}function xi(e,t,n,r=1){return n.roughness*r*(Pu(n)*(t-e)+e)}function N(e,t,n=1){return xi(-e,e,t,n)}function Yt(e,t,n,r,o,i=!1){let a=i?o.disableMultiStrokeFill:o.disableMultiStroke,s=vu(e,t,n,r,o,!0,!1);if(a)return s;let c=vu(e,t,n,r,o,!0,!0);return s.concat(c)}function vu(e,t,n,r,o,i,a){let s=Math.pow(e-n,2)+Math.pow(t-r,2),c=Math.sqrt(s),l=1;c<200?l=1:c>500?l=.4:l=-.0016668*c+1.233334;let d=o.maxRandomnessOffset||0;d*d*100>s&&(d=c/10);let u=d/2,f=.2+Pu(o)*.2,p=o.bowing*o.maxRandomnessOffset*(r-t)/200,m=o.bowing*o.maxRandomnessOffset*(e-n)/200;p=N(p,o,l),m=N(m,o,l);let h=[],E=()=>N(u,o,l),x=()=>N(d,o,l),w=o.preserveVertices;return i&&(a?h.push({op:"move",data:[e+(w?0:E()),t+(w?0:E())]}):h.push({op:"move",data:[e+(w?0:N(d,o,l)),t+(w?0:N(d,o,l))]})),a?h.push({op:"bcurveTo",data:[p+e+(n-e)*f+E(),m+t+(r-t)*f+E(),p+e+2*(n-e)*f+E(),m+t+2*(r-t)*f+E(),n+(w?0:E()),r+(w?0:E())]}):h.push({op:"bcurveTo",data:[p+e+(n-e)*f+x(),m+t+(r-t)*f+x(),p+e+2*(n-e)*f+x(),m+t+2*(r-t)*f+x(),n+(w?0:x()),r+(w?0:x())]}),h}function Tu(e,t,n){let r=[];r.push([e[0][0]+N(t,n),e[0][1]+N(t,n)]),r.push([e[0][0]+N(t,n),e[0][1]+N(t,n)]);for(let o=1;o<e.length;o++)r.push([e[o][0]+N(t,n),e[o][1]+N(t,n)]),o===e.length-1&&r.push([e[o][0]+N(t,n),e[o][1]+N(t,n)]);return wi(r,null,n)}function wi(e,t,n){let r=e.length,o=[];if(r>3){let i=[],a=1-n.curveTightness;o.push({op:"move",data:[e[1][0],e[1][1]]});for(let s=1;s+2<r;s++){let c=e[s];i[0]=[c[0],c[1]],i[1]=[c[0]+(a*e[s+1][0]-a*e[s-1][0])/6,c[1]+(a*e[s+1][1]-a*e[s-1][1])/6],i[2]=[e[s+1][0]+(a*e[s][0]-a*e[s+2][0])/6,e[s+1][1]+(a*e[s][1]-a*e[s+2][1])/6],i[3]=[e[s+1][0],e[s+1][1]],o.push({op:"bcurveTo",data:[i[1][0],i[1][1],i[2][0],i[2][1],i[3][0],i[3][1]]})}if(t&&t.length===2){let s=n.maxRandomnessOffset;o.push({op:"lineTo",data:[t[0]+N(s,n),t[1]+N(s,n)]})}}else r===3?(o.push({op:"move",data:[e[1][0],e[1][1]]}),o.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):r===2&&o.push(...Yt(e[0][0],e[0][1],e[1][0],e[1][1],n));return o}function Au(e,t,n,r,o,i,a,s){let c=s.roughness===0,l=[],d=[];if(c){e=e/4,d.push([t+r*Math.cos(-e),n+o*Math.sin(-e)]);for(let u=0;u<=Math.PI*2;u=u+e){let f=[t+r*Math.cos(u),n+o*Math.sin(u)];l.push(f),d.push(f)}d.push([t+r*Math.cos(0),n+o*Math.sin(0)]),d.push([t+r*Math.cos(e),n+o*Math.sin(e)])}else{let u=N(.5,s)-Math.PI/2;d.push([N(i,s)+t+.9*r*Math.cos(u-e),N(i,s)+n+.9*o*Math.sin(u-e)]);let f=Math.PI*2+u-.01;for(let p=u;p<f;p=p+e){let m=[N(i,s)+t+r*Math.cos(p),N(i,s)+n+o*Math.sin(p)];l.push(m),d.push(m)}d.push([N(i,s)+t+r*Math.cos(u+Math.PI*2+a*.5),N(i,s)+n+o*Math.sin(u+Math.PI*2+a*.5)]),d.push([N(i,s)+t+.98*r*Math.cos(u+a),N(i,s)+n+.98*o*Math.sin(u+a)]),d.push([N(i,s)+t+.9*r*Math.cos(u+a*.5),N(i,s)+n+.9*o*Math.sin(u+a*.5)])}return[d,l]}function Su(e,t,n,r,o,i,a,s,c){let l=i+N(.1,c),d=[];d.push([N(s,c)+t+.9*r*Math.cos(l-e),N(s,c)+n+.9*o*Math.sin(l-e)]);for(let u=l;u<=a;u=u+e)d.push([N(s,c)+t+r*Math.cos(u),N(s,c)+n+o*Math.sin(u)]);return d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),d.push([t+r*Math.cos(a),n+o*Math.sin(a)]),wi(d,null,c)}function vg(e,t,n,r,o,i,a,s){let c=[],l=[s.maxRandomnessOffset||1,(s.maxRandomnessOffset||1)+.3],d=[0,0],u=s.disableMultiStroke?1:2,f=s.preserveVertices;for(let p=0;p<u;p++)p===0?c.push({op:"move",data:[a[0],a[1]]}):c.push({op:"move",data:[a[0]+(f?0:N(l[0],s)),a[1]+(f?0:N(l[0],s))]}),d=f?[o,i]:[o+N(l[p],s),i+N(l[p],s)],c.push({op:"bcurveTo",data:[e+N(l[p],s),t+N(l[p],s),n+N(l[p],s),r+N(l[p],s),d[0],d[1]]});return c}g();function no(e){return[...e]}function Mu(e,t=0){let n=e.length;if(n<3)throw new Error("A curve must have at least three points.");let r=[];if(n===3)r.push(no(e[0]),no(e[1]),no(e[2]),no(e[2]));else{let o=[];o.push(e[0],e[0]);for(let s=1;s<e.length;s++)o.push(e[s]),s===e.length-1&&o.push(e[s]);let i=[],a=1-t;r.push(no(o[0]));for(let s=1;s+2<o.length;s++){let c=o[s];i[0]=[c[0],c[1]],i[1]=[c[0]+(a*o[s+1][0]-a*o[s-1][0])/6,c[1]+(a*o[s+1][1]-a*o[s-1][1])/6],i[2]=[o[s+1][0]+(a*o[s][0]-a*o[s+2][0])/6,o[s+1][1]+(a*o[s][1]-a*o[s+2][1])/6],i[3]=[o[s+1][0],o[s+1][1]],r.push(i[1],i[2],i[3])}}return r}g();function Tg(e,t){return Math.sqrt(vi(e,t))}function vi(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function Ag(e,t,n){let r=vi(t,n);if(r===0)return vi(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),vi(e,Bn(t,n,o))}function Bn(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Sg(e,t){let n=e[t+0],r=e[t+1],o=e[t+2],i=e[t+3],a=3*r[0]-2*n[0]-i[0];a*=a;let s=3*r[1]-2*n[1]-i[1];s*=s;let c=3*o[0]-2*i[0]-n[0];c*=c;let l=3*o[1]-2*i[1]-n[1];return l*=l,a<c&&(a=c),s<l&&(s=l),a+s}function ms(e,t,n,r){let o=r||[];if(Sg(e,t)<n){let i=e[t+0];o.length?Tg(o[o.length-1],i)>1&&o.push(i):o.push(i),o.push(e[t+3])}else{let a=e[t+0],s=e[t+1],c=e[t+2],l=e[t+3],d=Bn(a,s,.5),u=Bn(s,c,.5),f=Bn(c,l,.5),p=Bn(d,u,.5),m=Bn(u,f,.5),h=Bn(p,m,.5);ms([a,d,p,h],0,n,o),ms([h,m,f,l],0,n,o)}return o}function Du(e,t){return Ti(e,0,e.length,t)}function Ti(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],c=0,l=1;for(let d=t+1;d<n-1;++d){let u=Ag(e[d],a,s);u>c&&(c=u,l=d)}return Math.sqrt(c)>r?(Ti(e,t,l+1,r,i),Ti(e,l,n,r,i)):(i.length||i.push(a),i.push(s)),i}function ur(e,t=.15,n){let r=[],o=(e.length-1)/3;for(let i=0;i<o;i++){let a=i*3;ms(e,a,t,r)}return n&&n>0?Ti(r,0,r.length,n):r}g();function Cu(e,t,n){let r=dr(e),o=eo(Jr(r)),i=[],a=[],s=[0,0],c=[],l=()=>{c.length>=4&&a.push(...ur(c,t)),c=[]},d=()=>{l(),a.length&&(i.push(a),a=[])};for(let{key:f,data:p}of o)switch(f){case"M":d(),s=[p[0],p[1]],a.push(s);break;case"L":l(),a.push([p[0],p[1]]);break;case"C":if(!c.length){let m=a.length?a[a.length-1]:s;c.push([m[0],m[1]])}c.push([p[0],p[1]]),c.push([p[2],p[3]]),c.push([p[4],p[5]]);break;case"Z":l(),a.push([s[0],s[1]]);break}if(d(),!n)return i;let u=[];for(let f of i){let p=Du(f,n);p.length&&u.push(p)}return u}var Ne="none",ot=class{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return yu()}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,n,r){return{shape:t,sets:n||[],options:r||this.defaultOptions}}line(t,n,r,o,i){let a=this._o(i);return this._d("line",[cs(t,n,r,o,a)],a)}rectangle(t,n,r,o,i){let a=this._o(i),s=[],c=_u(t,n,r,o,a);if(a.fill){let l=[[t,n],[t+r,n],[t+r,n+o],[t,n+o]];a.fillStyle==="solid"?s.push(bi([l],a)):s.push(Nn([l],a))}return a.stroke!==Ne&&s.push(c),this._d("rectangle",s,a)}ellipse(t,n,r,o,i){let a=this._o(i),s=[],c=us(r,o,a),l=yi(t,n,a,c);if(a.fill)if(a.fillStyle==="solid"){let d=yi(t,n,a,c).opset;d.type="fillPath",s.push(d)}else s.push(Nn([l.estimatedPoints],a));return a.stroke!==Ne&&s.push(l.opset),this._d("ellipse",s,a)}circle(t,n,r,o){let i=this.ellipse(t,n,r,r,o);return i.shape="circle",i}linearPath(t,n){let r=this._o(n);return this._d("linearPath",[to(t,!1,r)],r)}arc(t,n,r,o,i,a,s=!1,c){let l=this._o(c),d=[],u=fs(t,n,r,o,i,a,s,!0,l);if(s&&l.fill)if(l.fillStyle==="solid"){let f=Object.assign({},l);f.disableMultiStroke=!0;let p=fs(t,n,r,o,i,a,!0,!1,f);p.type="fillPath",d.push(p)}else d.push(Iu(t,n,r,o,i,a,l));return l.stroke!==Ne&&d.push(u),this._d("arc",d,l)}curve(t,n){let r=this._o(n),o=[],i=ds(t,r);if(r.fill&&r.fill!==Ne&&t.length>=3)if(r.fillStyle==="solid"){let a=ds(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(a.ops)})}else{let a=Mu(t),s=ur(a,10,(1+r.roughness)/2);o.push(Nn([s],r))}return r.stroke!==Ne&&o.push(i),this._d("curve",o,r)}polygon(t,n){let r=this._o(n),o=[],i=to(t,!0,r);return r.fill&&(r.fillStyle==="solid"?o.push(bi([t],r)):o.push(Nn([t],r))),r.stroke!==Ne&&o.push(i),this._d("polygon",o,r)}path(t,n){let r=this._o(n),o=[];if(!t)return this._d("path",o,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let i=r.fill&&r.fill!=="transparent"&&r.fill!==Ne,a=r.stroke!==Ne,s=!!(r.simplification&&r.simplification<1),c=s?4-4*(r.simplification||1):(1+r.roughness)/2,l=Cu(t,1,c),d=ps(t,r);if(i)if(r.fillStyle==="solid")if(l.length===1){let u=ps(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));o.push({type:"fillPath",ops:this._mergedShape(u.ops)})}else o.push(bi(l,r));else o.push(Nn(l,r));return a&&(s?l.forEach(u=>{o.push(to(u,!1,r))}):o.push(d)),this._d("path",o,r)}opsToPath(t,n){let r="";for(let o of t.ops){let i=typeof n=="number"&&n>=0?o.data.map(a=>+a.toFixed(n)):o.data;switch(o.op){case"move":r+=`M${i[0]} ${i[1]} `;break;case"bcurveTo":r+=`C${i[0]} ${i[1]}, ${i[2]} ${i[3]}, ${i[4]} ${i[5]} `;break;case"lineTo":r+=`L${i[0]} ${i[1]} `;break}}return r.trim()}toPaths(t){let n=t.sets||[],r=t.options||this.defaultOptions,o=[];for(let i of n){let a=null;switch(i.type){case"path":a={d:this.opsToPath(i),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:Ne};break;case"fillPath":a={d:this.opsToPath(i),stroke:Ne,strokeWidth:0,fill:r.fill||Ne};break;case"fillSketch":a=this.fillSketch(i,r);break}a&&o.push(a)}return o}fillSketch(t,n){let r=n.fillWeight;return r<0&&(r=n.strokeWidth/2),{d:this.opsToPath(t),stroke:n.fill||Ne,strokeWidth:r,fill:Ne}}_mergedShape(t){return t.filter((n,r)=>r===0?!0:n.op!=="move")}};var Ai=class{constructor(t,n){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new ot(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(let a of n)switch(a.type){case"path":o.save(),o.strokeStyle=r.stroke==="none"?"transparent":r.stroke,o.lineWidth=r.strokeWidth,r.strokeLineDash&&o.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(o.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(o,a,i),o.restore();break;case"fillPath":{o.save(),o.fillStyle=r.fill||"";let s=t.shape==="curve"||t.shape==="polygon"||t.shape==="path"?"evenodd":"nonzero";this._drawToContext(o,a,i,s),o.restore();break}case"fillSketch":this.fillSketch(o,a,r);break}}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=o,this._drawToContext(t,n,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,n,r,o="nonzero"){t.beginPath();for(let i of n.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":t.moveTo(a[0],a[1]);break;case"bcurveTo":t.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"lineTo":t.lineTo(a[0],a[1]);break}}n.type==="fillPath"?t.fill(o):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a),a}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a),a}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a),a}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i),i}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r),r}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r),r}arc(t,n,r,o,i,a,s=!1,c){let l=this.gen.arc(t,n,r,o,i,a,s,c);return this.draw(l),l}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r),r}path(t,n){let r=this.gen.path(t,n);return this.draw(r),r}};g();g();var ro="http://www.w3.org/2000/svg";var Si=class{constructor(t,n){this.svg=t,this.gen=new ot(n)}draw(t){let n=t.sets||[],r=t.options||this.getDefaultOptions(),o=this.svg.ownerDocument||window.document,i=o.createElementNS(ro,"g"),a=t.options.fixedDecimalPlaceDigits;for(let s of n){let c=null;switch(s.type){case"path":{c=o.createElementNS(ro,"path"),c.setAttribute("d",this.opsToPath(s,a)),c.setAttribute("stroke",r.stroke),c.setAttribute("stroke-width",r.strokeWidth+""),c.setAttribute("fill","none"),r.strokeLineDash&&c.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&c.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break}case"fillPath":{c=o.createElementNS(ro,"path"),c.setAttribute("d",this.opsToPath(s,a)),c.setAttribute("stroke","none"),c.setAttribute("stroke-width","0"),c.setAttribute("fill",r.fill||""),(t.shape==="curve"||t.shape==="polygon")&&c.setAttribute("fill-rule","evenodd");break}case"fillSketch":{c=this.fillSketch(o,s,r);break}}c&&i.appendChild(c)}return i}fillSketch(t,n,r){let o=r.fillWeight;o<0&&(o=r.strokeWidth/2);let i=t.createElementNS(ro,"path");return i.setAttribute("d",this.opsToPath(n,r.fixedDecimalPlaceDigits)),i.setAttribute("stroke",r.fill||""),i.setAttribute("stroke-width",o+""),i.setAttribute("fill","none"),r.fillLineDash&&i.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,n){return this.gen.opsToPath(t,n)}line(t,n,r,o,i){let a=this.gen.line(t,n,r,o,i);return this.draw(a)}rectangle(t,n,r,o,i){let a=this.gen.rectangle(t,n,r,o,i);return this.draw(a)}ellipse(t,n,r,o,i){let a=this.gen.ellipse(t,n,r,o,i);return this.draw(a)}circle(t,n,r,o){let i=this.gen.circle(t,n,r,o);return this.draw(i)}linearPath(t,n){let r=this.gen.linearPath(t,n);return this.draw(r)}polygon(t,n){let r=this.gen.polygon(t,n);return this.draw(r)}arc(t,n,r,o,i,a,s=!1,c){let l=this.gen.arc(t,n,r,o,i,a,s,c);return this.draw(l)}curve(t,n){let r=this.gen.curve(t,n);return this.draw(r)}path(t,n){let r=this.gen.path(t,n);return this.draw(r)}};var It={canvas(e,t){return new Ai(e,t)},svg(e,t){return new Si(e,t)},generator(e){return new ot(e)},newSeed(){return ot.newSeed()}};g();g();g();function Lu(e,t,n,r=o=>o){return e*r(.5-t*(.5-n))}function _g(e){return[-e[0],-e[1]]}function at(e,t){return[e[0]+t[0],e[1]+t[1]]}function Xe(e,t){return[e[0]-t[0],e[1]-t[1]]}function it(e,t){return[e[0]*t,e[1]*t]}function Ig(e,t){return[e[0]/t,e[1]/t]}function oo(e){return[e[1],-e[0]]}function ku(e,t){return e[0]*t[0]+e[1]*t[1]}function Pg(e,t){return e[0]===t[0]&&e[1]===t[1]}function Mg(e){return Math.hypot(e[0],e[1])}function Dg(e){return e[0]*e[0]+e[1]*e[1]}function Ou(e,t){return Dg(Xe(e,t))}function Nu(e){return Ig(e,Mg(e))}function Cg(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function io(e,t,n){let r=Math.sin(n),o=Math.cos(n),i=e[0]-t[0],a=e[1]-t[1],s=i*o-a*r,c=i*r+a*o;return[s+t[0],c+t[1]]}function hs(e,t,n){return at(e,it(Xe(t,e),n))}function Ru(e,t,n){return at(e,it(t,n))}var{min:fr,PI:Lg}=Math,Fu=.275,ao=Lg+1e-4;function kg(e,t={}){let{size:n=16,smoothing:r=.5,thinning:o=.5,simulatePressure:i=!0,easing:a=L=>L,start:s={},end:c={},last:l=!1}=t,{cap:d=!0,easing:u=L=>L*(2-L)}=s,{cap:f=!0,easing:p=L=>--L*L*L+1}=c;if(e.length===0||n<=0)return[];let m=e[e.length-1].runningLength,h=s.taper===!1?0:s.taper===!0?Math.max(n,m):s.taper,E=c.taper===!1?0:c.taper===!0?Math.max(n,m):c.taper,x=Math.pow(n*r,2),w=[],y=[],T=e.slice(0,10).reduce((L,C)=>{let z=C.pressure;if(i){let U=fr(1,C.distance/n),le=fr(1,1-U);z=fr(1,L+(le-L)*(U*Fu))}return(L+z)/2},e[0].pressure),b=Lu(n,o,e[e.length-1].pressure,a),D,S=e[0].vector,A=e[0].point,I=A,P=A,_=I,M=!1;for(let L=0;L<e.length;L++){let{pressure:C}=e[L],{point:z,vector:U,distance:le,runningLength:fe}=e[L];if(L<e.length-1&&m-fe<3)continue;if(o){if(i){let we=fr(1,le/n),ke=fr(1,1-we);C=fr(1,T+(ke-T)*(we*Fu))}b=Lu(n,o,C,a)}else b=n/2;D===void 0&&(D=b);let oe=fe<h?u(fe/h):1,pt=m-fe<E?p((m-fe)/E):1;b=Math.max(.01,b*Math.min(oe,pt));let Rt=(L<e.length-1?e[L+1]:e[L]).vector,Ke=L<e.length-1?ku(U,Rt):1,Le=ku(U,S)<0&&!M,mt=Ke!==null&&Ke<0;if(Le||mt){let we=it(oo(S),b);for(let ke=1/13,Ue=0;Ue<=1;Ue+=ke)P=io(Xe(z,we),z,ao*Ue),w.push(P),_=io(at(z,we),z,ao*-Ue),y.push(_);A=P,I=_,mt&&(M=!0);continue}if(M=!1,L===e.length-1){let we=it(oo(U),b);w.push(Xe(z,we)),y.push(at(z,we));continue}let nn=it(oo(hs(Rt,U,Ke)),b);P=Xe(z,nn),(L<=1||Ou(A,P)>x)&&(w.push(P),A=P),_=at(z,nn),(L<=1||Ou(I,_)>x)&&(y.push(_),I=_),T=C,S=U}let k=e[0].point.slice(0,2),Y=e.length>1?e[e.length-1].point.slice(0,2):at(e[0].point,[1,1]),O=[],F=[];if(e.length===1){if(!(h||E)||l){let L=Ru(k,Nu(oo(Xe(k,Y))),-(D||b)),C=[];for(let z=1/13,U=z;U<=1;U+=z)C.push(io(L,k,ao*2*U));return C}}else{if(!(h||E&&e.length===1))if(d)for(let C=1/13,z=C;z<=1;z+=C){let U=io(y[0],k,ao*z);O.push(U)}else{let C=Xe(w[0],y[0]),z=it(C,.5),U=it(C,.51);O.push(Xe(k,z),Xe(k,U),at(k,U),at(k,z))}let L=oo(_g(e[e.length-1].vector));if(E||h&&e.length===1)F.push(Y);else if(f){let C=Ru(Y,L,b);for(let z=1/29,U=z;U<1;U+=z)F.push(io(C,Y,ao*3*U))}else F.push(at(Y,it(L,b)),at(Y,it(L,b*.99)),Xe(Y,it(L,b*.99)),Xe(Y,it(L,b)))}return w.concat(F,y.reverse(),O)}function Og(e,t={}){var n;let{streamline:r=.5,size:o=16,last:i=!1}=t;if(e.length===0)return[];let a=.15+(1-r)*.85,s=Array.isArray(e[0])?e:e.map(({x:p,y:m,pressure:h=.5})=>[p,m,h]);if(s.length===2){let p=s[1];s=s.slice(0,-1);for(let m=1;m<5;m++)s.push(hs(s[0],p,m/4))}s.length===1&&(s=[...s,[...at(s[0],[1,1]),...s[0].slice(2)]]);let c=[{point:[s[0][0],s[0][1]],pressure:s[0][2]>=0?s[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],l=!1,d=0,u=c[0],f=s.length-1;for(let p=1;p<s.length;p++){let m=i&&p===f?s[p].slice(0,2):hs(u.point,s[p],a);if(Pg(u.point,m))continue;let h=Cg(m,u.point);if(d+=h,p<f&&!l){if(d<o)continue;l=!0}u={point:m,pressure:s[p][2]>=0?s[p][2]:.5,vector:Nu(Xe(u.point,m)),distance:h,runningLength:d},c.push(u)}return c[0].vector=((n=c[1])==null?void 0:n.vector)||[0,0],c}function Bu(e,t={}){return kg(Og(e,t),t)}g();g();g();g();var ve=(e,t)=>[0,0,0,0,t,e,1,0];var Gu=(e,t)=>[0,0,0,0,t,e,0,0];var Gn=(e=0,t=0)=>{let n=[0,0,0,0,0,0,0,0];if(t<0||t>7)throw new Error(`Expected \`index\` between 0 and 7, got \`${t}\``);return e!==0&&(n[t]=e),n};var pr=e=>[e[0],e[1],e[2],e[3],-e[4],-e[5],-e[6],-e[7]];var zu=(e,t)=>ys(t)?[e[0]+t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]+t[0],e[1]+t[1],e[2]+t[2],e[3]+t[3],e[4]+t[4],e[5]+t[5],e[6]+t[6],e[7]+t[7]],Es=(e,t)=>ys(t)?[e[0]-t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]-t[0],e[1]-t[1],e[2]-t[2],e[3]-t[3],e[4]-t[4],e[5]-t[5],e[6]-t[6],e[7]-t[7]],mn=(e,t)=>ys(t)?[e[0]*t,e[1]*t,e[2]*t,e[3]*t,e[4]*t,e[5]*t,e[6]*t,e[7]*t]:[Rg(e,t),t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[7]*e[3]+t[0]*e[4]+t[6]*e[5]-t[5]*e[6]+t[3]*e[7],t[5]*e[0]-t[3]*e[1]+t[7]*e[2]+t[1]*e[3]-t[6]*e[4]+t[0]*e[5]+t[4]*e[6]+t[2]*e[7],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]+t[0]*e[7]],Rg=(e,t)=>t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],gs=(e,t)=>[t[0]*e[0],t[1]*e[0]+t[0]*e[1],t[2]*e[0]+t[0]*e[2],t[3]*e[0]+t[0]*e[3],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[0]*e[4],t[5]*e[0]-t[3]*e[1]+t[1]*e[3]+t[0]*e[5],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]],_i=(e,t)=>[xs(e,t),e[1]*t[7]+e[4]*t[5]-e[5]*t[4]+e[7]*t[1],e[2]*t[7]-e[4]*t[6]+e[6]*t[4]+e[7]*t[2],e[3]*t[7]+e[5]*t[6]-e[6]*t[5]+e[7]*t[3],e[4]*t[7]+e[7]*t[4],e[5]*t[7]+e[7]*t[5],e[6]*t[7]+e[7]*t[6],e[7]*t[7]],xs=(e,t)=>e[0]*t[7]+e[1]*t[6]+e[2]*t[5]+e[3]*t[4]+e[4]*t[3]+e[5]*t[2]+e[6]*t[1]+e[7]*t[0],Hu=(e,t)=>[t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6],t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[7]*e[3]+t[0]*e[4]+t[3]*e[7],t[5]*e[0]+t[7]*e[2]+t[0]*e[5]+t[2]*e[7],t[6]*e[0]+t[0]*e[6],t[7]*e[0]+t[0]*e[7]],ws=e=>Math.sqrt(Math.abs(e[0]*e[0]-e[2]*e[2]-e[3]*e[3]+e[6]*e[6])),Uu=e=>Math.sqrt(Math.abs(e[7]*e[7]-e[5]*e[5]-e[4]*e[4]+e[1]*e[1])),zn=e=>{let t=ws(e);if(t===0||t===1)return e;let n=e[6]<0?-1:1;return mn(e,n/t)},Vu=e=>{let t=Uu(e);return t===0||t===1?e:mn(e,1/t)},ys=e=>typeof e=="number",TT=Gn(1,1),AT=Gn(1,2),ST=Gn(1,3),_T=Gn(1,4),IT=Gn(1,5),PT=Gn(1,6),MT=Gn(1,7);g();g();var Ii=(e,t,n)=>zn([0,n,e,t,0,0,0,0]),mr=(e,t)=>zn(_i(t,e)),$u=(e,t)=>Hu(e,t),Yu=(e,t)=>$u(mr(e,t),t);var Wu=e=>Math.sign(e[1]);var Hn=([e,t])=>[0,0,0,0,t,e,1,0],Un=e=>[e[5],e[4]],Zu=e=>[0,0,0,0,Math.abs(e[4]),Math.abs(e[5]),1,0],Ku=(e,t)=>zn(gs(e,t));var bs=(e,t)=>ws(_i(e,t)),hn=(e,t)=>xs(e,t);g();var vs=e=>[0,0,0,0,e[4],e[5],0,0],ju=(e,t)=>Vu([0,0,0,0,t[4]-e[4],t[5]-e[5],0,0]);g();var Ts=(e,t)=>zu(mn(e,Math.sin(t/2)),Math.cos(t/2)),Ju=e=>[1,0,0,0,-(.5*e[5]),.5*e[4],0,0],Qu=(e,t)=>{let n=.5*t;return[1,0,0,0,n*e[4],n*e[5],0,0]};var ef=(e,t)=>mn(t,e),st=(e,t)=>zn(mn(mn(e,t),pr(e)));g();g();var hr=1e-4;var Bg=e=>{let t=e[0],n=e[e.length-1];return t[0]===n[0]&&t[1]===n[1]},Er=e=>Bg(e)?e:[...e,e[0]],Pt=e=>e*180/Math.PI,Gg=e=>e/180*Math.PI;var tf=(e,t)=>[e[0]*Math.cos(t)-e[1]*Math.sin(t),e[0]*Math.sin(t)+e[1]*Math.cos(t)],zg=e=>e[0]===0&&e[1]===0,de=(e,t,n)=>{let r=Gg(t);return!n||zg(n)?tf(e,r):tf(e.map((o,i)=>o-n[i]),r).map((o,i)=>o+n[i])};var Hg=e=>[-e[0],-e[1]],As=(e,t)=>[e[0]+t[0],e[1]+t[1]],Ug=(e,t)=>Be(...e,...t);var nf=(e,t,n)=>{let r=As(e,Hg(t));return de(r,-Pt(n))};var Vg=(e,t)=>{let[n,r]=e,[[o,i],[a,s]]=t,c=n-o,l=r-i,d=a-o,u=s-i,f=c*d+l*u,p=d*d+u*u,m=-1;p!==0&&(m=f/p);let h,E;m<0?(h=o,E=i):m>1?(h=a,E=s):(h=o+m*d,E=i+m*u);let x=n-h,w=r-E;return Math.sqrt(x*x+w*w)},Vn=(e,t,n=hr)=>{let r=Vg(e,t);return r===0?!0:r<n},Ss=(e,t,n=hr)=>t.some(r=>Vn(e,r,n));var $g=e=>{let[t,n,r,o]=e;return(i,a)=>Math.pow(1-i,3)*o[a]+3*i*Math.pow(1-i,2)*r[a]+3*Math.pow(i,2)*(1-i)*n[a]+t[a]*Math.pow(i,3)},Yg=(e,t=10)=>{let n=$g(e),r=[n(0,0),n(0,1)],o=[],i=0,a=1/t;for(let s=0;s<t;s++)if(i+=a,i<=1){let c=[n(i,0),n(i,1)];o.push([r,c]),r=c}return o},_s=(e,t,n=hr)=>Ss(e,Yg(t),n),rf=(e,t,n=hr)=>t.some(r=>_s(e,r,n)),Is=(e,t)=>{let n=e[0],r=e[1],o=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){let s=t[i][0],c=t[i][1],l=t[a][0],d=t[a][1];(c>r&&d<=r||c<=r&&d>r)&&n<(l-s)*(r-c)/(d-c)+s&&(o=!o)}return o},of=(e,t,n=hr)=>{let r=!1,o=Er(t);for(let i=0,a=o.length-1;i<a;i++)if(Vn(e,[o[i],o[i+1]],n)){r=!0;break}return r};var Wg=(e,t)=>{let{angle:n,halfWidth:r,halfHeight:o,center:i}=t,a=r,s=o,[c,l]=nf(e,i,n),d=Math.abs(c),u=Math.abs(l),f=.707,p=.707;for(let E=0;E<3;E++){let x=a*f,w=s*p,y=(a*a-s*s)*f**3/a,T=(s*s-a*a)*p**3/s,b=x-y,D=w-T,S=d-y,A=u-T,I=Math.hypot(D,b),P=Math.hypot(A,S);f=Math.min(1,Math.max(0,(S*I/P+y)/a)),p=Math.min(1,Math.max(0,(A*I/P+T)/s));let _=Math.hypot(p,f);f/=_,p/=_}let[m,h]=[a*f*Math.sign(c),s*p*Math.sign(l)];return Ug([c,l],[m,h])},af=(e,t,n=hr)=>Wg(e,t)<=n,sf=(e,t)=>{let{center:n,angle:r,halfWidth:o,halfHeight:i}=t,[a,s]=nf(e,n,r);return a/o*(a/o)+s/i*(s/i)<=1};var lo=(e,t,n=0)=>{switch(t.type){case"polygon":return of(e,t.data,n);case"ellipse":return af(e,t.data,n);case"line":return Vn(e,t.data,n);case"polyline":return Ss(e,t.data,n);case"curve":return _s(e,t.data,n);case"polycurve":return rf(e,t.data,n);default:throw Error(`shape ${t} is not implemented`)}},Pi=(e,t)=>{switch(t.type){case"polygon":return Is(e,t.data);case"line":return!1;case"curve":return!1;case"ellipse":return sf(e,t.data);case"polyline":{let n=Er(t.data.flat());return Is(e,n)}case"polycurve":return!1;default:throw Error(`shape ${t} is not implemented`)}};g();g();var Xg=(e,t)=>{let[n,r,o,i]=t,{x:a,y:s}=os({sceneX:n,sceneY:r},e),{x:c,y:l}=os({sceneX:o,sceneY:i},e);return c-a>e.width||l-s>e.height},Zg=({scenePoint:e,viewportDimensions:t,zoom:n})=>({scrollX:t.width/2/n.value-e.x,scrollY:t.height/2/n.value-e.y}),Ms=(e,t)=>{if(e=lf(e),!e.length)return{scrollX:0,scrollY:0};let[n,r,o,i]=De(e);Xg(t,[n,r,o,i])&&([n,r,o,i]=Ps(e,Zr({clientX:t.scrollX,clientY:t.scrollY},t)));let a=(n+o)/2,s=(r+i)/2;return Zg({scenePoint:{x:a,y:s},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})};g();var Kg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="line"||e==="freedraw",KT=e=>e!=="image"&&e!=="frame"&&e!=="magicframe",jg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="freedraw"||e==="arrow"||e==="line",qg=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="ellipse"||e==="diamond"||e==="arrow"||e==="line",Ds=e=>e==="rectangle"||e==="iframe"||e==="embeddable"||e==="arrow"||e==="line"||e==="diamond"||e==="image",Jg=e=>e==="arrow",Cs=(e,t)=>{let n=null;for(let r=e.length-1;r>=0;--r){let o=e[r];if(!o.isDeleted&&t(o)){n=o;break}}return n};g();var Qg=e=>Math.max(Kd,Math.min(e,30)),QT=({viewportX:e,viewportY:t,nextZoom:n},r)=>{let o=e-r.offsetLeft,i=t-r.offsetTop,a=r.zoom.value,s=r.scrollX+(o-o/a),c=r.scrollY+(i-i/a),l=-(o-o/n),d=-(i-i/n);return{scrollX:s+l,scrollY:c+d,zoom:{value:n}}};g();var dA={EQUAL:"Equal",MINUS:"Minus",NUM_ADD:"NumpadAdd",NUM_SUBTRACT:"NumpadSubtract",NUM_ZERO:"Numpad0",BRACKET_RIGHT:"BracketRight",BRACKET_LEFT:"BracketLeft",ONE:"Digit1",TWO:"Digit2",THREE:"Digit3",NINE:"Digit9",QUOTE:"Quote",ZERO:"Digit0",SLASH:"Slash",C:"KeyC",D:"KeyD",H:"KeyH",V:"KeyV",Z:"KeyZ",R:"KeyR",S:"KeyS"},Ge={ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",BACKSPACE:"Backspace",ALT:"Alt",CTRL_OR_CMD:qo?"metaKey":"ctrlKey",DELETE:"Delete",ENTER:"Enter",ESCAPE:"Escape",QUESTION_MARK:"?",SPACE:" ",TAB:"Tab",CHEVRON_LEFT:"<",CHEVRON_RIGHT:">",PERIOD:".",COMMA:",",SUBTRACT:"-",SLASH:"/",A:"a",C:"c",D:"d",E:"e",F:"f",G:"g",H:"h",I:"i",L:"l",O:"o",P:"p",Q:"q",R:"r",S:"s",T:"t",V:"v",X:"x",Y:"y",Z:"z",K:"k",W:"w",0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9"},uA=e=>e===Ge.ARROW_LEFT||e===Ge.ARROW_RIGHT||e===Ge.ARROW_DOWN||e===Ge.ARROW_UP,fA=e=>e.altKey,pA=e=>e.shiftKey,Ls=e=>e.shiftKey;var _A=e=>!e[Ge.CTRL_OR_CMD],ks=e=>e.isBindingEnabled,rx=(e,t)=>{let n=[];return t.forEach(r=>{let o=e.getNonDeletedElement(r);o!=null&&n.push(o)}),n},Os=(e,t,n,r)=>{let o=new Set,i=new Set;cf(e,t,n,"start",o,i,r),cf(e,n,t,"end",o,i,r);let a=Array.from(i).filter(s=>!o.has(s));rx(xn.getScene(e),a).forEach(s=>{R(s,{boundElements:s.boundElements?.filter(c=>c.type!=="arrow"||c.id!==e.id)})})},cf=(e,t,n,r,o,i,a)=>{if(t!=="keep"){if(t===null){let s=lx(e,r);s!=null&&i.add(s);return}mf(e)?(n==null||(n==="keep"?!pf(e,t,r):r==="start"||n.id!==t.id))&&(Di(e,t,r,a),o.add(t.id)):(Di(e,t,r,a),o.add(t.id))}},ox=(e,t,n)=>{let r=n.scene.getNonDeletedElementsMap(),o=hf(e,t,r),i=t==="start"?e.startBinding?.elementId:e.endBinding?.elementId;if(i){let a=r.get(i);if(Ef(a,o,n))return a}return null},ff=(e,t)=>["start","end"].map(n=>ox(e,n,t)),ix=(e,t,n,r)=>{let i=e.points.length-1,a=n.findIndex(d=>d===0)>-1,s=n.findIndex(d=>d===i)>-1,c=a?t?gr(e,"start",r):null:gr(e,"start",r),l=s?t?gr(e,"end",r):null:gr(e,"end",r);return[c,l]},ax=(e,t,n)=>{let[r,o]=ff(e,t),i=r&&n?gr(e,"start",t):null,a=o&&n?gr(e,"end",t):null;return[i,a]},IA=(e,t,n,r)=>{e.forEach(o=>{let[i,a]=r?.length?ix(o,n,r??[],t):ax(o,t,n);Os(o,i,a,t.scene.getNonDeletedElementsMap())})},PA=(e,t)=>e.length>50?[]:e.filter(J).flatMap(n=>ff(n,t)).filter(n=>n!==null).filter(n=>e.filter(r=>r.id===n?.id).length===0),MA=(e,t,n,r)=>{t.startBoundElement!=null&&Di(e,t.startBoundElement,"start",r.scene.getNonDeletedElementsMap());let o=uo(n,r);o!=null&&!pf(e,o,"end")&&Di(e,o,"end",r.scene.getNonDeletedElementsMap())},Di=(e,t,n,r)=>{R(e,{[n==="start"?"startBinding":"endBinding"]:{elementId:t.id,...cx(e,t,n,r)}}),X(t.boundElements||[]).has(e.id)||R(t,{boundElements:(t.boundElements||[]).concat({id:e.id,type:"arrow"})})},pf=(e,t,n)=>{let r=e[n==="start"?"endBinding":"startBinding"];return sx(e,r?.elementId,t)},sx=(e,t,n)=>t===n.id&&mf(e),mf=e=>e.points.length<3,lx=(e,t)=>{let n=t==="start"?"startBinding":"endBinding",r=e[n];return r==null?null:(R(e,{[n]:null}),r.elementId)},uo=(e,t)=>Cs(t.scene.getNonDeletedElements(),r=>Fn(r,!1)&&Ef(r,e,t)),cx=(e,t,n,r)=>{let o=n==="start"?-1:1,i=o===-1?0:e.points.length-1,a=i-o,s=K.getPointAtIndexGlobalCoordinates(e,i,r),c=K.getPointAtIndexGlobalCoordinates(e,a,r);return{focus:xx(t,c,s,r),gap:Math.max(1,px(t,s,r))}},Mt=(e,t,n)=>{let{newSize:r,simultaneouslyUpdated:o}=n??{},i=ux(o);Fn(e)&&Ci(t,e,a=>{if(!J(a)||a.isDeleted||!dx(a,e))return;let s={startBinding:df(e,a.startBinding,r),endBinding:df(e,a.endBinding,r)};if(i.has(a.id)){R(a,s);return}Li(t,a,(l,d)=>{l&&Fn(l)&&(d==="startBinding"||d==="endBinding")&&fx(a,d,s[d],l,t)});let c=q(a,t);c&&!c.isDeleted&&$n(a,t,!1)})},dx=(e,t)=>e.startBinding?.elementId===t.id||e.endBinding?.elementId===t.id,ux=e=>new Set((e||[]).map(t=>t.id)),fx=(e,t,n,r,o)=>{if(n==null||n.elementId!==r.id&&e.points.length>2)return;let i=t==="startBinding"?-1:1,a=i===-1?0:e.points.length-1,s=a-i,c=K.getPointAtIndexGlobalCoordinates(e,s,o),l=wx(r,n.focus,c,o),d;if(n.gap===0)d=l;else{let u=yx(r,c,l,n.gap,o);u.length===0?d=l:d=u[0]}K.movePoints(e,[{index:a,point:K.pointFromAbsoluteCoords(e,d,o)}],{[t]:n})},df=(e,t,n)=>{if(t==null||n==null)return t;let{gap:r,focus:o,elementId:i}=t,{width:a,height:s}=n,{width:c,height:l}=e,d=Math.max(1,Math.min(gf(e,a,s),r*(a<s?a/c:s/l)));return{elementId:i,gap:d,focus:o}},gr=(e,t,n)=>uo(hf(e,t,n.scene.getNonDeletedElementsMap()),n),hf=(e,t,n)=>{let r=t==="start"?0:-1;return sr(K.getPointAtIndexGlobalCoordinates(e,r,n))},DA=(e,t,n,r)=>{let o=new Set,i=new Set,a=r==="duplicatesServeAsOld";t.forEach(s=>{let{boundElements:c}=s;if(c!=null&&c.length>0&&(c.forEach(l=>{a&&!n.has(l.id)&&o.add(l.id)}),i.add(n.get(s.id))),qr(s)){if(s.startBinding!=null){let{elementId:l}=s.startBinding;a&&!n.has(l)&&i.add(l)}if(s.endBinding!=null){let{elementId:l}=s.endBinding;a&&!n.has(l)&&i.add(l)}(s.startBinding!=null||s.endBinding!=null)&&o.add(n.get(s.id))}}),e.filter(({id:s})=>o.has(s)).forEach(s=>{let{startBinding:c,endBinding:l}=s;R(s,{startBinding:uf(c,n),endBinding:uf(l,n)})}),e.filter(({id:s})=>i.has(s)).forEach(s=>{let{boundElements:c}=s;c!=null&&c.length>0&&R(s,{boundElements:c.map(l=>n.has(l.id)?{id:n.get(l.id),type:l.type}:l)})})},uf=(e,t)=>{if(e==null)return null;let{elementId:n,focus:r,gap:o}=e;return{focus:r,gap:o,elementId:t.get(n)??n}},CA=(e,t)=>{let n=X(e);for(let r of t)En.unbindAffected(n,r,R),gn.unbindAffected(n,r,R)},co=(e,t,n=[])=>{if(!e)return null;let r=e.filter(o=>!t.has(o.id));return r.push(...n.map(o=>({id:o.id,type:o.type}))),r},Ef=(e,{x:t,y:n},r)=>{let o=gf(e,e.width,e.height),i=r.getElementShape(e);return lo([t,n],i,o)},gf=(e,t,n)=>{let o=(e.type==="diamond"?1/Math.sqrt(2):1)*Math.min(t,n);return Math.max(16,Math.min(.25*o,32))},px=(e,t,n)=>{switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return mx(e,t,n);case"diamond":return hx(e,t,n);case"ellipse":return Ex(e,t,n)}},mx=(e,t,n)=>{let[,r,o,i]=Rs(e,t,n);return Math.max(hn(r,Ii(0,1,-i)),hn(r,Ii(1,0,-o)))},hx=(e,t,n)=>{let[,r,o,i]=Rs(e,t,n),a=Ii(i,o,-i*o);return hn(r,a)},Ex=(e,t,n)=>{let[r,o]=gx(e,t,n);return-Wu(o)*hn(r,o)},gx=(e,t,n)=>{let[,r,o,i]=Rs(e,t,n),[a,s]=Un(r),c=.707,l=.707,d=o,u=i;[0,1,2,3].forEach(m=>{let h=d*c,E=u*l,x=(d*d-u*u)*c**3/d,w=(u*u-d*d)*l**3/u,y=h-x,T=E-w,b=a-x,D=s-w,S=Math.hypot(T,y),A=Math.hypot(D,b);c=Math.min(1,Math.max(0,(b*S/A+x)/d)),l=Math.min(1,Math.max(0,(D*S/A+w)/u));let I=Math.hypot(l,c);c/=I,l/=I});let f=ve(d*c,u*l),p=Yu(r,f);return[r,p]},Rs=(e,t,n)=>{let r=Hn(t),[o,i,a,s]=G(e,n),c=Ns(o,i,a,s),l=Ts(c,e.angle),d=st(l,r),u=Es(d,vs(c)),f=Zu(u),p=Gu(e.x,e.y),m=Es(d,p),h=(a-o)/2,E=(s-i)/2;return[m,f,h,E]},Fs=(e,t)=>{let[n,r,o,i]=G(e,t),a=Ns(n,r,o,i),s=Ts(a,e.angle),c=pr(Ju(vs(a)));return ef(s,c)},Ns=(e,t,n,r)=>ve((e+n)/2,(t+r)/2),xx=(e,t,n,r)=>{let o=Fs(e,r),i=st(o,Hn(t)),a=st(o,Hn(n)),s=mr(i,a),c=e.height/e.width,l=e.width/2,d=e.height/2,u=s[2],f=s[3],p=s[1],m=Math.abs(f),h=Math.abs(u),E;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":E=p/(l*(h+c*m));break;case"diamond":E=m<h?p/(h*l):p/(m*d);break;case"ellipse":E=p/(l*Math.sqrt(u**2+c**2*f**2));break}return E||0},wx=(e,t,n,r)=>{if(t===0){let[c,l,d,u]=G(e,r),f=Ns(c,l,d,u);return Un(f)}let o=Fs(e,r),i=st(o,Hn(n)),a=pr(o),s;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":s=Ix(e,t,i);break;case"ellipse":s=_x(e,t,i);break}return Un(st(a,s))},yx=(e,t,n,r=0,o)=>{let i=Fs(e,o),a=st(i,Hn(t)),s=st(i,Hn(n)),c=mr(a,s),l=pr(i);return bx(e,c,a,r).map(u=>Un(st(l,u)))},bx=(e,t,n,r=0)=>{let o;switch(e.type){case"rectangle":case"image":case"text":case"diamond":case"iframe":case"embeddable":case"frame":case"magicframe":let a=xf(e);o=a.flatMap((s,c)=>{let l=[s,a[(c+1)%4]];return vx(t,Tx(l,r))}).concat(a.flatMap(s=>Sx(s,r,t)));break;case"ellipse":o=Ax(e,r,t);break}if(o.length<2)return[];let i=o.sort((a,s)=>bs(a,n)-bs(s,n));return[i[0],i[i.length-1]]},xf=(e,t=1)=>{let n=t*e.width/2,r=t*e.height/2;switch(e.type){case"rectangle":case"image":case"text":case"iframe":case"embeddable":case"frame":case"magicframe":return[ve(n,r),ve(n,-r),ve(-n,-r),ve(-n,r)];case"diamond":return[ve(0,r),ve(n,0),ve(0,-r),ve(-n,0)]}},vx=(e,t)=>{let[n,r]=t,o=hn(n,e),i=hn(r,e);return o*i>=0?[]:[Ku(e,mr(n,r))]},Tx=(e,t)=>{let[n,r]=e,o=Qu(ju(n,r),t);return[st(o,n),st(o,r)]},Ax=(e,t,n)=>{let r=e.width/2+t,o=e.height/2+t,i=n[2],a=n[3],s=n[1],c=r*r*i*i+o*o*a*a,l=c-s*s;if(c===0||l<=0)return[];let d=Math.sqrt(l),u=-r*r*i*s,f=-o*o*a*s;return[ve((u+r*o*a*d)/c,(f-r*o*i*d)/c),ve((u-r*o*a*d)/c,(f+r*o*i*d)/c)]},Sx=(e,t,n)=>{if(t===0)return hn(n,e)===0?[e]:[];let r=n[2],o=n[3],i=n[1],[a,s]=Un(e),c=t,l=r*r+o*o,d=c*c*l-(r*a+o*s+i)**2;if(l===0||d<=0)return[];let u=Math.sqrt(d),f=a*o*o-s*r*o-r*i,p=s*r*r-a*r*o-o*i;return[ve((f+o*u)/l,(p-r*u)/l),ve((f-o*u)/l,(p+r*u)/l)]},_x=(e,t,n)=>{let r=Math.abs(t),o=e.width*r/2,i=e.height*r/2,a=Math.sign(t),[s,c]=Un(n),l=c===0?1e-4:c,d=s**2*i**2+l**2*o**2,u=(-s*i**2+a*l*Math.sqrt(Math.max(0,d-o**2*i**2)))/d,f=(-u*s-1)/l;f===0&&(f=(Object.is(f,-0)?-1:1)*.01);let p=-(o**2*u)/(f**2*i**2+u**2*o**2);return ve(p,(-u*p-1)/f)},Ix=(e,t,n)=>{let r=Math.abs(t),o=Math.sign(t),i=xf(e,r),a=0,s=null;return i.forEach(c=>{let l=o*mr(n,c)[1];l>a&&(a=l,s=c)}),s},wf=new Set(["boundElements","frameId","containerId","startBinding","endBinding"]),Ci=(e,t,n)=>{Fn(t)&&(t.boundElements?.slice()??[]).forEach(({id:o})=>{n(e.get(o),"boundElements",o)})},Li=(e,t,n)=>{if(t.frameId){let r=t.frameId;n(e.get(r),"frameId",r)}if(be(t)){let r=t.containerId;n(e.get(r),"containerId",r)}if(j(t)){if(t.startBinding){let r=t.startBinding.elementId;n(e.get(r),"startBinding",r)}if(t.endBinding){let r=t.endBinding.elementId;n(e.get(r),"endBinding",r)}}},En=class{static unbindAffected(t,n,r){n&&Li(t,n,o=>{!o||o.isDeleted||Ci(t,o,(i,a,s)=>{s===n.id&&r(o,{boundElements:co(o.boundElements,new Set([s]))})})})}static rebindAffected=(t,n,r)=>{!n||n.isDeleted||Li(t,n,(o,i)=>{if(!o||o.isDeleted){r(n,{[i]:null});return}i!=="frameId"&&(o.boundElements?.find(a=>a.id===n.id)||(j(n)&&r(o,{boundElements:co(o.boundElements,new Set,new Array(n))}),$(n)&&(o.boundElements?.find(a=>a.type==="text")?r(n,{[i]:null}):r(o,{boundElements:co(o.boundElements,new Set,new Array(n))}))))})}},gn=class{static unbindAffected(t,n,r){n&&Ci(t,n,o=>{!o||o.isDeleted||Li(t,o,(i,a,s)=>{s===n.id&&r(o,{[a]:null})})})}static rebindAffected=(t,n,r)=>{!n||n.isDeleted||Ci(t,n,(o,i,a)=>{if(!o||o.isDeleted){r(n,{boundElements:co(n.boundElements,new Set([a]))});return}$(o)&&((n.boundElements?.slice()??[]).reverse().find(c=>c.type==="text")?.id===o.id?o.containerId!==n.id&&r(o,{containerId:n.id}):(o.containerId!==null&&r(o,{containerId:null}),r(n,{boundElements:co(n.boundElements,new Set([o.id]))})))})}};g();var ue=class e{static rg=new ot;static cache=new WeakMap;static get=t=>e.cache.get(t);static set=(t,n)=>e.cache.set(t,n);static delete=t=>e.cache.delete(t);static destroy=()=>{e.cache=new WeakMap};static generateElementShape=(t,n)=>{let r=n?.isExporting?void 0:e.get(t);if(r!==void 0)return r;ki.delete(t);let o=yf(t,e.rg,n||{isExporting:!1,canvasBackgroundColor:H.white,embedsValidationStatus:null});return e.cache.set(t,o),o}};var Wt={version:null,points:[],zoom:null},K=class e{elementId;selectedPointsIndices;pointerDownState;isDragging;lastUncommittedPoint;pointerOffset;startBindingElement;endBindingElement;hoverPointIndex;segmentMidPointHoveredCoords;constructor(t){this.elementId=t.id,e.normalizePoints(t),this.selectedPointsIndices=null,this.lastUncommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.startBindingElement="keep",this.endBindingElement="keep",this.pointerDownState={prevSelectedPointsIndices:null,lastClickedPoint:-1,origin:null,segmentMidpoint:{value:null,index:null,added:!1}},this.hoverPointIndex=-1,this.segmentMidPointHoveredCoords=null}static POINT_HANDLE_SIZE=10;static getElement(t,n){let r=n.get(t);return r||null}static handleBoxSelection(t,n,r,o){if(!n.editingLinearElement||n.draggingElement?.type!=="selection")return!1;let{editingLinearElement:i}=n,{selectedPointsIndices:a,elementId:s}=i,c=e.getElement(s,o);if(!c)return!1;let[l,d,u,f]=G(n.draggingElement,o),m=e.getPointsGlobalCoordinates(c,o).reduce((h,E,x)=>((E[0]>=l&&E[0]<=u&&E[1]>=d&&E[1]<=f||t.shiftKey&&a?.includes(x))&&h.push(x),h),[]);r({editingLinearElement:{...i,selectedPointsIndices:m.length?m:null}})}static handlePointDragging(t,n,r,o,i,a,s){if(!a)return!1;let{selectedPointsIndices:c,elementId:l}=a,d=e.getElement(l,s);if(!d)return!1;let u=d.points[a.pointerDownState.lastClickedPoint];if(c&&u){if(Ls(t)&&c.length===1&&d.points.length>1){let p=c[0],m=d.points[p===0?1:p-1],[h,E]=e._getShiftLockedDelta(d,s,m,[r,o],t[Ge.CTRL_OR_CMD]?null:n.gridSize);e.movePoints(d,[{index:p,point:[h+m[0],E+m[1]],isDragging:p===a.pointerDownState.lastClickedPoint}])}else{let p=e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize),m=p[0]-u[0],h=p[1]-u[1];e.movePoints(d,c.map(E=>{let x=E===a.pointerDownState.lastClickedPoint?e.createPointAt(d,s,r-a.pointerOffset.x,o-a.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize):[d.points[E][0]+m,d.points[E][1]+h];return{index:E,point:x,isDragging:E===a.pointerDownState.lastClickedPoint}}))}if(q(d,s)&&$n(d,s,!1),qr(d,!1)){let p=[];c[0]===0&&p.push(sr(e.getPointGlobalCoordinates(d,d.points[0],s)));let h=c[c.length-1];h===d.points.length-1&&p.push(sr(e.getPointGlobalCoordinates(d,d.points[h],s))),p.length&&i(d,p)}return!0}return!1}static handlePointerUp(t,n,r,o){let i=o.scene.getNonDeletedElementsMap(),{elementId:a,selectedPointsIndices:s,isDragging:c,pointerDownState:l}=n,d=e.getElement(a,i);if(!d)return n;let u={};if(c&&s){for(let f of s)if(f===0||f===d.points.length-1){Dt(d.points,r.zoom.value)&&e.movePoints(d,[{index:f,point:f===0?d.points[d.points.length-1]:d.points[0]}]);let p=ks(r)?uo(sr(e.getPointAtIndexGlobalCoordinates(d,f,i)),o):null;u[f===0?"startBindingElement":"endBindingElement"]=p}}return{...n,...u,selectedPointsIndices:c||t.shiftKey?!c&&t.shiftKey&&l.prevSelectedPointsIndices?.includes(l.lastClickedPoint)?s&&s.filter(f=>f!==l.lastClickedPoint):s:s?.includes(l.lastClickedPoint)?[l.lastClickedPoint]:s,isDragging:!1,pointerOffset:{x:0,y:0}}}static getEditorMidPoints=(t,n,r)=>{let o=q(t,n);return!r.editingLinearElement&&t.points.length>2&&!o?[]:(Wt.version===t.version&&Wt.zoom===r.zoom.value||e.updateEditorMidPointsCache(t,n,r),Wt.points)};static updateEditorMidPointsCache=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,n),i=0,a=[];for(;i<o.length-1;){if(e.isSegmentTooShort(t,t.points[i],t.points[i+1],r.zoom)){a.push(null),i++;continue}let s=e.getSegmentMidPoint(t,o[i],o[i+1],i+1,n);a.push(s),i++}Wt.points=a,Wt.version=t.version,Wt.zoom=r.zoom.value};static getSegmentMidpointHitCoords=(t,n,r,o)=>{let{elementId:i}=t,a=e.getElement(i,o);if(!a||e.getPointIndexUnderCursor(a,o,r.zoom,n.x,n.y)>=0||e.getPointsGlobalCoordinates(a,o).length>=3&&!r.editingLinearElement)return null;let l=e.POINT_HANDLE_SIZE/r.zoom.value,d=t.segmentMidPointHoveredCoords;if(d&&Be(d[0],d[1],n.x,n.y)<=l)return d;let u=0,f=e.getEditorMidPoints(a,o,r);for(;u<f.length;){if(f[u]!==null&&Be(f[u][0],f[u][1],n.x,n.y)<=l)return f[u];u++}return null};static isSegmentTooShort(t,n,r,o){let i=Be(n[0],n[1],r[0],r[1]);return t.points.length>2&&t.roundness&&(i=bf(t,r)),i*o.value<e.POINT_HANDLE_SIZE*4}static getSegmentMidPoint(t,n,r,o,i){let a=xr(n,r);if(t.points.length>2&&t.roundness){let s=Gs(t,t.points[o]);if(s){let c=vf(t,t.points[o],.5),[l,d]=zs(s[0],s[1],s[2],s[3],c);a=e.getPointGlobalCoordinates(t,[l,d],i)}}return a}static getSegmentMidPointIndex(t,n,r,o){let i=e.getElement(t.elementId,o);if(!i)return-1;let a=e.getEditorMidPoints(i,o,n),s=0;for(;s<a.length;){if(e.arePointsEqual(r,a[s]))return s+1;s++}return-1}static handlePointerDown(t,n,r,o,i,a){let s=a.scene.getNonDeletedElementsMap(),c={didAddPoint:!1,hitElement:null,linearElementEditor:null};if(!i)return c;let{elementId:l}=i,d=e.getElement(l,s);if(!d)return c;let u=e.getSegmentMidpointHitCoords(i,o,n,s),f=null;if(u&&(f=e.getSegmentMidPointIndex(i,n,u,s)),t.altKey&&n.editingLinearElement)return i.lastUncommittedPoint==null&&(R(d,{points:[...d.points,e.createPointAt(d,s,o.x,o.y,t[Ge.CTRL_OR_CMD]?null:n.gridSize)]}),c.didAddPoint=!0),r.shouldCaptureIncrement(),c.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:-1,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:[d.points.length-1],lastUncommittedPoint:null,endBindingElement:uo(o,a)},c.didAddPoint=!0,c;let p=e.getPointIndexUnderCursor(d,s,n.zoom,o.x,o.y);if(p>=0||u)c.hitElement=d;else{let{startBindingElement:D,endBindingElement:S}=i;ks(n)&&qr(d)&&Os(d,D,S,s)}let[m,h,E,x]=G(d,s),w=(m+E)/2,y=(h+x)/2,T=p>-1&&V(d.x+d.points[p][0],d.y+d.points[p][1],w,y,d.angle),b=p>-1||t.shiftKey?t.shiftKey||i.selectedPointsIndices?.includes(p)?Px([...i.selectedPointsIndices||[],p]):[p]:null;return c.linearElementEditor={...i,pointerDownState:{prevSelectedPointsIndices:i.selectedPointsIndices,lastClickedPoint:p,origin:{x:o.x,y:o.y},segmentMidpoint:{value:u,index:f,added:!1}},selectedPointsIndices:b,pointerOffset:T?{x:o.x-T[0],y:o.y-T[1]}:{x:0,y:0}},c}static arePointsEqual(t,n){return!t&&!n?!0:!t||!n?!1:Hs(t,n)}static handlePointerMove(t,n,r,o,i){if(!o.editingLinearElement)return null;let{elementId:a,lastUncommittedPoint:s}=o.editingLinearElement,c=e.getElement(a,i);if(!c)return o.editingLinearElement;let{points:l}=c,d=l[l.length-1];if(!t.altKey)return d===s&&e.deletePoints(c,[l.length-1]),{...o.editingLinearElement,lastUncommittedPoint:null};let u;if(Ls(t)&&l.length>=2){let f=l[l.length-2],[p,m]=e._getShiftLockedDelta(c,i,f,[n,r],t[Ge.CTRL_OR_CMD]?null:o.gridSize);u=[p+f[0],m+f[1]]}else u=e.createPointAt(c,i,n-o.editingLinearElement.pointerOffset.x,r-o.editingLinearElement.pointerOffset.y,t[Ge.CTRL_OR_CMD]?null:o.gridSize);return d===s?e.movePoints(c,[{index:c.points.length-1,point:u}]):e.addPoints(c,o,[{point:u}]),{...o.editingLinearElement,lastUncommittedPoint:c.points[c.points.length-1]}}static getPointGlobalCoordinates(t,n,r){let[o,i,a,s]=G(t,r),c=(o+a)/2,l=(i+s)/2,{x:d,y:u}=t;return[d,u]=V(d+n[0],u+n[1],c,l,t.angle),[d,u]}static getPointsGlobalCoordinates(t,n){let[r,o,i,a]=G(t,n),s=(r+i)/2,c=(o+a)/2;return t.points.map(l=>{let{x:d,y:u}=t;return[d,u]=V(d+l[0],u+l[1],s,c,t.angle),[d,u]})}static getPointAtIndexGlobalCoordinates(t,n,r){let o=n<0?t.points.length+n:n,[i,a,s,c]=G(t,r),l=(i+s)/2,d=(a+c)/2,u=t.points[o],{x:f,y:p}=t;return u?V(f+u[0],p+u[1],l,d,t.angle):V(f,p,l,d,t.angle)}static pointFromAbsoluteCoords(t,n,r){let[o,i,a,s]=G(t,r),c=(o+a)/2,l=(i+s)/2,[d,u]=V(n[0],n[1],c,l,-t.angle);return[d-t.x,u-t.y]}static getPointIndexUnderCursor(t,n,r,o,i){let a=e.getPointsGlobalCoordinates(t,n),s=a.length;for(;--s>-1;){let c=a[s];if(Be(o,i,c[0],c[1])*r.value<e.POINT_HANDLE_SIZE+1)return s}return-1}static createPointAt(t,n,r,o,i){let a=fo(r,o,i),[s,c,l,d]=G(t,n),u=(s+l)/2,f=(c+d)/2,[p,m]=V(a[0],a[1],u,f,-t.angle);return[p-t.x,m-t.y]}static getNormalizedPoints(t){let{points:n}=t,r=n[0][0],o=n[0][1];return{points:n.map((i,a)=>[i[0]-r,i[1]-o]),x:t.x+r,y:t.y+o}}static normalizePoints(t){R(t,e.getNormalizedPoints(t))}static duplicateSelectedPoints(t,n){if(!t.editingLinearElement)return!1;let{selectedPointsIndices:r,elementId:o}=t.editingLinearElement,i=e.getElement(o,n);if(!i||r===null)return!1;let{points:a}=i,s=[],c=!1,l=-1,d=a.reduce((u,f,p)=>{if(++l,u.push(f),r.includes(p)){let h=a[p+1];h||(c=!0),u.push(h?[(f[0]+h[0])/2,(f[1]+h[1])/2]:[f[0],f[1]]),s.push(l+1),++l}return u},[]);if(R(i,{points:d}),c){let u=i.points[i.points.length-1];e.movePoints(i,[{index:i.points.length-1,point:[u[0]+30,u[1]+30]}])}return{appState:{...t,editingLinearElement:{...t.editingLinearElement,selectedPointsIndices:s}}}}static deletePoints(t,n){let r=0,o=0;if(n.includes(0)){let s=t.points.find((c,l)=>!n.includes(l));s&&(r=s[0],o=s[1])}let a=t.points.reduce((s,c,l)=>(n.includes(l)||s.push(s.length?[c[0]-r,c[1]-o]:[0,0]),s),[]);e._updatePoints(t,a,r,o)}static addPoints(t,n,r){let a=[...t.points,...r.map(s=>s.point)];e._updatePoints(t,a,0,0)}static movePoints(t,n,r){let{points:o}=t,i=0,a=0,s=n.find(({index:l})=>l===0);s&&(i=s.point[0]+o[s.index][0],a=s.point[1]+o[s.index][1]);let c=o.map((l,d)=>{let u=n.find(f=>f.index===d);if(u){if(s)return l;let f=u.point[0]-o[u.index][0],p=u.point[1]-o[u.index][1];return[l[0]+f,l[1]+p]}return i||a?[l[0]-i,l[1]-a]:l});e._updatePoints(t,c,i,a,r)}static shouldAddMidpoint(t,n,r,o){if(!e.getElement(t.elementId,o))return!1;let{segmentMidpoint:a}=t.pointerDownState;if(a.added||a.value===null||a.index===null||t.pointerDownState.origin===null)return!1;let s=t.pointerDownState.origin,c=Be(s.x,s.y,n.x,n.y);return!(!r.editingLinearElement&&c<Wd/r.zoom.value)}static addMidpoint(t,n,r,o,i){let a=e.getElement(t.elementId,i);if(!a)return;let{segmentMidpoint:s}=t.pointerDownState,c={pointerDownState:t.pointerDownState,selectedPointsIndices:t.selectedPointsIndices},l=e.createPointAt(a,i,n.x,n.y,o?r.gridSize:null),d=[...a.points.slice(0,s.index),l,...a.points.slice(s.index)];return R(a,{points:d}),c.pointerDownState={...t.pointerDownState,segmentMidpoint:{...t.pointerDownState.segmentMidpoint,added:!0},lastClickedPoint:s.index},c.selectedPointsIndices=[s.index],c}static _updatePoints(t,n,r,o,i){let a=Bs(t,n),s=Bs(t,t.points),c=(a[0]+a[2])/2,l=(a[1]+a[3])/2,d=(s[0]+s[2])/2,u=(s[1]+s[3])/2,f=d-c,p=u-l,m=V(r,o,f,p,t.angle);R(t,{...i,points:n,x:t.x+m[0],y:t.y+m[1]})}static _getShiftLockedDelta(t,n,r,o,i){let a=e.getPointGlobalCoordinates(t,r,n),[s,c]=fo(o[0],o[1],i),{width:l,height:d}=Us(a[0],a[1],s,c);return re([l,d],[0,0],-t.angle)}static getBoundTextElementPosition=(t,n,r)=>{let o=e.getPointsGlobalCoordinates(t,r);o.length<2&&R(n,{isDeleted:!0});let i=0,a=0;if(t.points.length%2===1){let s=Math.floor(t.points.length/2),c=e.getPointGlobalCoordinates(t,t.points[s],r);i=c[0]-n.width/2,a=c[1]-n.height/2}else{let s=t.points.length/2-1,c=Wt.points[s];t.points.length===2&&(c=xr(o[0],o[1])),(!c||Wt.version!==t.version)&&(c=e.getSegmentMidPoint(t,o[s],o[s+1],s+1,r)),i=c[0]-n.width/2,a=c[1]-n.height/2}return{x:i,y:a}};static getMinMaxXYWithBoundText=(t,n,r,o)=>{let[i,a,s,c]=r,l=(i+s)/2,d=(a+c)/2,{x:u,y:f}=e.getBoundTextElementPosition(t,o,n),p=u+o.width,m=f+o.height,h=re([i,a],[l,d],t.angle),E=re([s,a],[l,d],t.angle),x=re([u,f],[l,d],-t.angle),w=re([p,f],[l,d],-t.angle),y=re([u,m],[l,d],-t.angle),T=re([p,m],[l,d],-t.angle);return h[0]<E[0]&&h[1]>=E[1]?(i=Math.min(i,y[0]),s=Math.max(s,Math.max(w[0],T[0])),a=Math.min(a,x[1]),c=Math.max(c,T[1])):h[0]>=E[0]&&h[1]>E[1]?(i=Math.min(i,T[0]),s=Math.max(s,Math.max(x[0],w[0])),a=Math.min(a,y[1]),c=Math.max(c,w[1])):h[0]>=E[0]?(i=Math.min(i,w[0]),s=Math.max(s,y[0]),a=Math.min(a,T[1]),c=Math.max(c,x[1])):h[1]<=E[1]&&(i=Math.min(i,Math.min(w[0],x[0])),s=Math.max(s,T[0]),a=Math.min(a,w[1]),c=Math.max(c,y[1])),[i,a,s,c,l,d]};static getElementAbsoluteCoords=(t,n,r=!1)=>{let o,i,a,s,c;if(t.points.length<2||!ue.get(t)){let{minX:f,minY:p,maxX:m,maxY:h}=t.points.reduce((E,[x,w])=>(E.minY=Math.min(E.minY,w),E.minX=Math.min(E.minX,x),E.maxX=Math.max(E.maxX,x),E.maxY=Math.max(E.maxY,w),E),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});i=f+t.x,a=p+t.y,s=m+t.x,c=h+t.y}else{let f=ue.generateElementShape(t,null),p=wn(f[0]),[m,h,E,x]=po(p);i=m+t.x,a=h+t.y,s=E+t.x,c=x+t.y}let l=(i+s)/2,d=(a+c)/2;if(o=[i,a,s,c,l,d],!r)return o;let u=q(t,n);return u&&(o=e.getMinMaxXYWithBoundText(t,n,[i,a,s,c],u)),o}},Px=e=>{let t=[...new Set(e.filter(n=>n!==null&&n!==-1))];return t=t.sort((n,r)=>n-r),t.length?t:null};g();var mo={},Tf=(e,t)=>{let n=mo[e]||(mo[e]={height:t});return n.height=t,n},Af=e=>{mo[e]&&delete mo[e]},QA=e=>mo[e]?.height??null;var Ws=e=>hu(e).replace(/\t/g," "),Xs=e=>Ws(e).split(`
3
+ `),Zs=(e,t,n,r=!0)=>{let o,i={x:e.x,y:e.y,text:e.text,width:e.width,height:e.height,angle:t?.angle??e.angle};i.text=e.text,(t||!e.autoResize)&&(o=t?ct(t,e):e.width,i.text=yn(e.originalText,se(e),o));let a=Ct(i.text,se(e),e.lineHeight);if(e.autoResize&&(i.width=a.width),i.height=a.height,t){let s=Eo(t,e),c=ct(t,e);if(!j(t)&&a.height>s){let f=Ys(a.height,t.type);R(t,{height:f},r),Tf(t.id,f)}if(a.width>c){let f=Ys(a.width,t.type);R(t,{width:f},r)}let l={...e,...i},{x:d,y:u}=_f(t,l,n);i.x=d,i.y=u}R(e,i,r)},cS=(e,t,n)=>{let r=X(e);t.forEach(o=>{let i=n.get(o.id),a=Xt(o);if(a){let s=n.get(a);if(s){let c=r.get(i);c&&R(c,{boundElements:(o.boundElements||[]).filter(d=>d.id!==s&&d.id!==a).concat({type:"text",id:s})});let l=r.get(s);l&&$(l)&&R(l,{containerId:c?i:null})}}})},$n=(e,t,n,r=!1)=>{if(!Xt(e))return;Af(e.id);let i=q(e,t);if(i&&i.text){if(!e)return;let a=i.text,s=i.height,c=i.width,l=ct(e,i),d=Eo(e,i),u=e.height;if(r||n!=="n"&&n!=="s"){a&&(a=yn(i.originalText,se(i),l));let f=Ct(a,se(i),i.lineHeight);s=f.height,c=f.width}if(s>d){u=Ys(s,e.type);let f=u-e.height,p=!j(e)&&(n==="ne"||n==="nw"||n==="n")?e.y-f:e.y;R(e,{height:u,y:p})}R(i,{text:a,width:c,height:s}),j(e)||R(i,_f(e,i,t))}},_f=(e,t,n)=>{if(j(e))return K.getBoundTextElementPosition(e,t,n);let r=js(e),o=Eo(e,t),i=ct(e,t),a,s;return t.verticalAlign===zt.TOP?s=r.y:t.verticalAlign===zt.BOTTOM?s=r.y+(o-t.height):s=r.y+(o/2-t.height/2),t.textAlign===ts.LEFT?a=r.x:t.textAlign===ts.RIGHT?a=r.x+(i-t.width):a=r.x+(i/2-t.width/2),{x:a,y:s}},Ct=(e,t,n)=>{e=e.split(`
4
+ `).map(a=>a||" ").join(`
5
+ `);let r=parseFloat(t),o=Mx(e,r,n);return{width:Ks(e,t),height:o}},If=e=>{let t=Xs(e.text).length;return e.height/t/e.fontSize},wr=(e,t)=>e*t,Oi=(e,t,n)=>{let{unitsPerEm:r,ascender:o,descender:i}=Sf[e]||Sf[Ee.Helvetica],a=t/r,s=n-a*o+a*i;return a*o+s},Pf=(e,t)=>wr(e,t)+me*2,Vs,ho=(e,t)=>{Vs||(Vs=document.createElement("canvas"));let n=Vs.getContext("2d");n.font=t;let r=n.measureText(e).width;return Ut()?r*10:r},Ks=(e,t)=>{let n=Xs(e),r=0;return n.forEach(o=>{r=Math.max(r,ho(o,t))}),r},Mx=(e,t,n)=>{let r=Xs(e).length;return wr(t,n)*r},Dx=e=>{let t=e.split("-");return t.length>1&&t.forEach((n,r)=>{r!==t.length-1&&(t[r]=n+="-")}),t.join(" ").split(" ")},yn=(e,t,n)=>{if(!Number.isFinite(n)||n<0)return e;let r=[],o=e.split(`
6
+ `),i=ho(" ",t),a="",s=0,c=d=>{d.trim()&&r.push(d)},l=()=>{a="",s=0};return o.forEach(d=>{if(Ks(d,t)<=n){r.push(d);return}let f=Dx(d);l();let p=0;for(;p<f.length;){let m=ho(f[p],t);if(m===n)c(f[p]),p++;else if(m>n){for(c(a),l();f[p].length>0;){let h=String.fromCodePoint(f[p].codePointAt(0)),E=Mf.calculate(h,t);s+=E,f[p]=f[p].slice(h.length),s>=n?(c(a),a=h,s=E):a+=h}s+i>=n?(c(a),l()):a.endsWith("-")||(a+=" ",s+=i),p++}else for(;s<n&&p<f.length;){let h=f[p];if(s=ho(a+h,t),s>n){c(a),l();break}p++;let E=!h.endsWith("-");if(a+=h,E&&(a+=" "),s+i>=n){E?r.push(a.slice(0,-1)):r.push(a),l();break}}}a.slice(-1)===" "&&(a=a.slice(0,-1),c(a))}),r.join(`
7
+ `)},Mf=(()=>{let e={};return{calculate:(r,o)=>{let i=r.charCodeAt(0);if(e[o]||(e[o]=[]),!e[o][i]){let a=ho(r,o);e[o][i]=a}return e[o][i]},getCache:r=>e[r]}})(),Df="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toLocaleUpperCase(),Cf=(e,t)=>{let n=Cx(e);return n===0?Ct(Df.split("").join(`
8
+ `),e,t).width+me*2:n+me*2};var Cx=e=>{let t=Mf.getCache(e);if(!t)return 0;let n=t.filter(r=>r!==void 0);return Math.max(...n)};var Xt=e=>e?.boundElements?.length&&e?.boundElements?.filter(t=>t.type==="text")[0]?.id||null,q=(e,t)=>{if(!e)return null;let n=Xt(e);return n&&t.get(n)||null},Se=(e,t)=>e&&e.containerId&&t.get(e.containerId)||null,dS=(e,t,n)=>{if(!j(e))return{x:e.x+e.width/2,y:e.y+e.height/2};let r=K.getPointsGlobalCoordinates(e,n);if(r.length%2===1){let a=Math.floor(e.points.length/2),s=K.getPointGlobalCoordinates(e,e.points[a],n);return{x:s[0],y:s[1]}}let o=e.points.length/2-1,i=K.getEditorMidPoints(e,n,t)[o];return i||(i=K.getSegmentMidPoint(e,r[o],r[o+1],o+1,n)),{x:i[0],y:i[1]}},js=e=>{let t=me,n=me;return e.type==="ellipse"&&(t+=e.width/2*(1-Math.sqrt(2)/2),n+=e.height/2*(1-Math.sqrt(2)/2)),e.type==="diamond"&&(t+=e.width/4,n+=e.height/4),{x:e.x+t,y:e.y+n}},uS=(e,t)=>!t||j(t)?e.angle:t.angle;var fS=(e,t)=>e.some(n=>{if(be(n)){let r=Se(n,t);return!j(r)}return!1}),pS=(e,t)=>e.some(n=>{if(be(n)){let r=Se(n,t);return!j(r)}return $(n)}),Lx=new Set(["rectangle","ellipse","diamond","arrow"]),mS=e=>Lx.has(e.type),Ys=(e,t)=>{e=Math.ceil(e);let n=me*2;return t==="ellipse"?Math.round((e+n)/Math.sqrt(2)*2):t==="arrow"?e+n*8:t==="diamond"?2*(e+n):e+n},ct=(e,t)=>{let{width:n}=e;if(j(e)){let r=(t?.fontSize??Tt)*Jd;return Math.max(qd*n,r)}return e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-me*2:e.type==="diamond"?Math.round(n/2)-me*2:n-me*2},Eo=(e,t)=>{let{height:n}=e;return j(e)?n-me*8*2<=0?t.height:n:e.type==="ellipse"?Math.round(n/2*Math.sqrt(2))-me*2:e.type==="diamond"?Math.round(n/2)-me*2:n-me*2},hS=()=>Ks(Df,se({fontSize:Tt,fontFamily:tt}))>0,$s={[Ee.Virgil]:1.25,[Ee.Helvetica]:1.15,[Ee.Cascadia]:1.2},Sf={[Ee.Virgil]:{unitsPerEm:1e3,ascender:886,descender:-374},[Ee.Helvetica]:{unitsPerEm:2048,ascender:1577,descender:-471},[Ee.Cascadia]:{unitsPerEm:2048,ascender:1977,descender:-480},[Ee.Assistant]:{unitsPerEm:1e3,ascender:1021,descender:-287}},Ri=e=>e in $s?$s[e]:$s[tt],Fi=(e,t)=>Ct("",e,t).width+me*2;var qs="invert(100%) hue-rotate(180deg) saturate(1.25)",kx=nt(),Ff=(e,t)=>St(e)&&!t.imageCache.has(e.fileId),Nf=(e,t,n)=>n.theme===Re.DARK&&St(e)&&!Ff(e,t)&&t.imageCache.get(e.fileId)?.mimeType!==B.svg,Bi=e=>e.type==="freedraw"?e.strokeWidth*12:20,Ox=(e,t,n)=>{let r=(t?.opacity??100)*e.opacity/1e4;return(n.has(e.id)||t&&n.has(t.id))&&(r*=Qd/100),r},Rx=(e,t,n)=>{let i=Bi(e),[a,s,c,l]=G(e,t),d=J(e)||ge(e)?We(a,c):e.width,u=J(e)||ge(e)?We(s,l):e.height,f=d*window.devicePixelRatio+i*2,p=u*window.devicePixelRatio+i*2,m=n.value;return(f*m>32767||p*m>32767)&&(m=Math.min(32767/f,32767/p)),f*p*m*m>16777216&&(m=Math.sqrt(16777216/(f*p))),f=Math.floor(f*m),p=Math.floor(p*m),{width:f,height:p,scale:m}},Fx=(e,t,n,r,o)=>{let i=document.createElement("canvas"),a=i.getContext("2d"),s=Bi(e),{width:c,height:l,scale:d}=Rx(e,t,n);i.width=c,i.height=l;let u=0,f=0;if(J(e)||ge(e)){let[m,h]=G(e,t);u=e.x>m?We(e.x,m)*window.devicePixelRatio*d:0,f=e.y>h?We(e.y,h)*window.devicePixelRatio*d:0,a.translate(u,f)}a.save(),a.translate(s*d,s*d),a.scale(window.devicePixelRatio*d,window.devicePixelRatio*d);let p=It.canvas(i);return Nf(e,r,o)&&(a.filter=qs),Ni(e,p,a,r,o),a.restore(),{element:e,canvas:i,theme:o.theme,scale:d,zoomValue:n.value,canvasOffsetX:u,canvasOffsetY:f,boundTextElementVersion:q(e,t)?.version||null,containingFrameOpacity:Ce(e,t)?.opacity||100}},Bf=14,Gf=document.createElement("img");Gf.src=`data:${B.svg},${encodeURIComponent('<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="image" class="svg-inline--fa fa-image fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#888" d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"></path></svg>')}`;var zf=document.createElement("img");zf.src=`data:${B.svg},${encodeURIComponent('<svg viewBox="0 0 668 668" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48ZM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56ZM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.81709 0 0 .81709 124.825 145.825)"/><path d="M256 8C119.034 8 8 119.033 8 256c0 136.967 111.034 248 248 248s248-111.034 248-248S392.967 8 256 8Zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676ZM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676Z" style="fill:#888;fill-rule:nonzero" transform="matrix(.30366 0 0 .30366 506.822 60.065)"/></svg>')}`;var Nx=(e,t)=>{t.fillStyle="#E7E7E7",t.fillRect(0,0,e.width,e.height);let n=Math.min(e.width,e.height),r=Math.min(n,Math.min(n*.4,100));t.drawImage(e.status==="error"?zf:Gf,e.width/2-r/2,e.height/2-r/2,r,r)},Ni=(e,t,n,r,o)=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":{n.lineJoin="round",n.lineCap="round",t.draw(ue.get(e));break}case"arrow":case"line":{n.lineJoin="round",n.lineCap="round",ue.get(e).forEach(i=>{t.draw(i)});break}case"freedraw":{n.save(),n.fillStyle=e.strokeColor;let i=Bx(e),a=ue.get(e);a&&t.draw(a),n.fillStyle=e.strokeColor,n.fill(i),n.restore();break}case"image":{let i=St(e)?r.imageCache.get(e.fileId)?.image:void 0;i!=null&&!(i instanceof Promise)?(e.roundness&&n.roundRect&&(n.beginPath(),n.roundRect(0,0,e.width,e.height,Zt(Math.min(e.width,e.height),e)),n.clip()),n.drawImage(i,0,0,e.width,e.height)):Nx(e,n);break}default:if($(e)){let i=si(e.text),a=i&&!n.canvas.isConnected;a&&document.body.appendChild(n.canvas),n.canvas.setAttribute("dir",i?"rtl":"ltr"),n.save(),n.font=se(e),n.fillStyle=e.strokeColor,n.textAlign=e.textAlign;let s=e.text.replace(/\r\n?/g,`
9
+ `).split(`
10
+ `),c=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,l=wr(e.fontSize,e.lineHeight),d=Oi(e.fontFamily,e.fontSize,l);for(let u=0;u<s.length;u++)n.fillText(s[u],c,u*l+d);n.restore(),a&&n.canvas.remove()}else throw new Error(`Unimplemented type ${e.type}`)}},ki=new WeakMap,Lf=(e,t,n,r)=>{let o=n?r.zoom:kx.zoom,i=ki.get(e),a=i&&i.zoomValue!==o.value&&!r?.shouldCacheIgnoreZoom,s=q(e,t)?.version||null,c=Ce(e,t)?.opacity||100;if(!i||a||i.theme!==r.theme||i.boundTextElementVersion!==s||i.containingFrameOpacity!==c){let l=Fx(e,t,o,n,r);return ki.set(e,l),l}return i},kf=(e,t,n,r,o)=>{let i=e.element,a=Bi(i),s=e.scale,[c,l,d,u]=G(i,o);ge(i)&&(c=Math.floor(c),d=Math.ceil(d),l=Math.floor(l),u=Math.ceil(u));let f=((c+d)/2+r.scrollX)*window.devicePixelRatio,p=((l+u)/2+r.scrollY)*window.devicePixelRatio;t.save(),t.scale(1/window.devicePixelRatio,1/window.devicePixelRatio);let m=q(i,o);if(j(i)&&m){let h=document.createElement("canvas"),E=h.getContext("2d"),x=Math.max(We(c,d),We(l,u));h.width=x*window.devicePixelRatio*s+a*e.scale*10,h.height=x*window.devicePixelRatio*s+a*e.scale*10;let w=(h.width-e.canvas.width)/2,y=(h.height-e.canvas.height)/2;E.translate(h.width/2,h.height/2),E.rotate(i.angle),E.drawImage(e.canvas,-e.canvas.width/2,-e.canvas.height/2,e.canvas.width,e.canvas.height);let[,,,,T,b]=G(m,o);E.rotate(-i.angle);let D=h.width/2-(T-c)*window.devicePixelRatio*s-w-a*s,S=h.height/2-(b-l)*window.devicePixelRatio*s-y-a*s;E.translate(-D,-S),E.clearRect(-(m.width/2+me)*window.devicePixelRatio*s,-(m.height/2+me)*window.devicePixelRatio*s,(m.width+me*2)*window.devicePixelRatio*s,(m.height+me*2)*window.devicePixelRatio*s),t.translate(f,p),t.drawImage(h,-(d-c)/2*window.devicePixelRatio-w/s-a,-(u-l)/2*window.devicePixelRatio-y/s-a,h.width/s,h.height/s)}else if(t.translate(f,p),t.rotate(i.angle),"scale"in e.element&&!Ff(i,n)&&t.scale(e.element.scale[0],e.element.scale[1]),t.translate(-f,-p),t.drawImage(e.canvas,(c+r.scrollX)*window.devicePixelRatio-a*e.scale/e.scale,(l+r.scrollY)*window.devicePixelRatio-a*e.scale/e.scale,e.canvas.width/e.scale,e.canvas.height/e.scale),v.VITE_APP_DEBUG_ENABLE_TEXT_CONTAINER_BOUNDING_BOX==="true"&&lr(i)){let h=q(i,o),E=js(i);t.strokeStyle="#c92a2a",t.lineWidth=3,t.strokeRect((E.x+r.scrollX)*window.devicePixelRatio,(E.y+r.scrollY)*window.devicePixelRatio,ct(i,h)*window.devicePixelRatio,Eo(i,h)*window.devicePixelRatio)}t.restore()},DS=(e,t,n,r)=>{t.save(),t.translate(e.x+n.scrollX,e.y+n.scrollY),t.fillStyle="rgba(0, 0, 200, 0.04)";let o=.5/n.zoom.value;t.fillRect(o,o,e.width,e.height),t.lineWidth=1/n.zoom.value,t.strokeStyle=r,t.strokeRect(o,o,e.width,e.height),t.restore()},yr=(e,t,n,r,o,i,a)=>{switch(o.globalAlpha=Ox(e,Ce(e,t),i.elementsPendingErasure),e.type){case"magicframe":case"frame":{a.frameRendering.enabled&&a.frameRendering.outline&&(o.save(),o.translate(e.x+a.scrollX,e.y+a.scrollY),o.fillStyle="rgba(0, 0, 200, 0.04)",o.lineWidth=xe.strokeWidth/a.zoom.value,o.strokeStyle=xe.strokeColor,Eu(e)&&(o.strokeStyle=a.theme===Re.LIGHT?"#7affd7":"#1d8264"),xe.radius&&o.roundRect?(o.beginPath(),o.roundRect(0,0,e.width,e.height,xe.radius/a.zoom.value),o.stroke(),o.closePath()):o.strokeRect(0,0,e.width,e.height),o.restore());break}case"freedraw":{if(ue.generateElementShape(e,null),i.isExporting){let[s,c,l,d]=G(e,t),u=(s+l)/2+a.scrollX,f=(c+d)/2+a.scrollY,p=(l-s)/2-(e.x-s),m=(d-c)/2-(e.y-c);o.save(),o.translate(u,f),o.rotate(e.angle),o.translate(-p,-m),Ni(e,r,o,i,a),o.restore()}else{let s=Lf(e,t,i,a);kf(s,o,i,a,n)}break}case"rectangle":case"diamond":case"ellipse":case"line":case"arrow":case"image":case"text":case"iframe":case"embeddable":{if(ue.generateElementShape(e,i),i.isExporting){let[s,c,l,d]=G(e,t),u=(s+l)/2+a.scrollX,f=(c+d)/2+a.scrollY,p=(l-s)/2-(e.x-s),m=(d-c)/2-(e.y-c);if($(e)){let E=Se(e,t);if(j(E)){let x=K.getBoundTextElementPosition(E,e,t);p=(l-s)/2-(x.x-s),m=(d-c)/2-(x.y-c)}}o.save(),o.translate(u,f),Nf(e,i,a)&&(o.filter="none");let h=q(e,t);if(j(e)&&h){let E=document.createElement("canvas"),x=E.getContext("2d"),w=Math.max(We(s,l),We(c,d)),y=Bi(e);E.width=w*a.exportScale+y*10*a.exportScale,E.height=w*a.exportScale+y*10*a.exportScale,x.translate(E.width/2,E.height/2),x.scale(a.exportScale,a.exportScale),p=e.width/2-(e.x-s),m=e.height/2-(e.y-c),x.rotate(e.angle);let T=It.canvas(E);x.translate(-p,-m),Ni(e,T,x,i,a),x.translate(p,m),x.rotate(-e.angle);let[,,,,b,D]=G(h,t),S=(s+l)/2-b,A=(c+d)/2-D;x.translate(-S,-A),x.clearRect(-h.width/2,-h.height/2,h.width,h.height),o.scale(1/a.exportScale,1/a.exportScale),o.drawImage(E,-E.width/2,-E.height/2,E.width,E.height)}else o.rotate(e.angle),e.type==="image"&&o.scale(e.scale[0],e.scale[1]),o.translate(-p,-m),Ni(e,r,o,i,a);o.restore()}else{let s=Lf(e,t,i,a),c=o.imageSmoothingEnabled;!a?.shouldCacheIgnoreZoom&&(!e.angle||Rf(e.angle))&&(o.imageSmoothingEnabled=!1),kf(s,o,i,a,n),o.imageSmoothingEnabled=c}break}default:throw new Error(`Unimplemented type ${e.type}`)}o.globalAlpha=1},Hf=new WeakMap([]);function Uf(e){let t=Js(e),n=new Path2D(t);return Hf.set(e,n),n}function Bx(e){return Hf.get(e)}function Js(e){let t=e.simulatePressure?e.points:e.points.length?e.points.map(([r,o],i)=>[r,o,e.pressures[i]]):[[0,0,.5]],n={simulatePressure:e.simulatePressure,size:e.strokeWidth*4.25,thinning:.6,smoothing:.5,streamline:.5,easing:r=>Math.sin(r*Math.PI/2),last:!!e.lastCommittedPoint};return zx(Bu(t,n))}function Of(e,t){return[(e[0]+t[0])/2,(e[1]+t[1])/2]}var Gx=/(\s?[A-Z]?,?-?[0-9]*\.[0-9]{0,2})(([0-9]|e|-)*)/g;function zx(e){if(!e.length)return"";let t=e.length-1;return e.reduce((n,r,o,i)=>(o===t?n.push(r,Of(r,i[0]),"L",i[0],"Z"):n.push(r,Of(r,i[o+1])),n),["M",e[0],"Q"]).join(" ").replace(Gx,"$1")}g();function Qs(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function Hx(e,t,n){let r=Qs(t,n);if(r===0)return Qs(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),Qs(e,Ux(t,n,o))}function Ux(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function Vf(e,t){return el(e,0,e.length,t)}function el(e,t,n,r,o){let i=o||[],a=e[t],s=e[n-1],c=0,l=1;for(let d=t+1;d<n-1;++d){let u=Hx(e[d],a,s);u>c&&(c=u,l=d)}return Math.sqrt(c)>r?(el(e,t,l+1,r,i),el(e,l,n,r,i)):(i.length||i.push(a),i.push(s)),i}var Vx=e=>[8,8+e],Wf=e=>[1.5,6+e];function $x(e){let t=e.roughness,n=Math.max(e.width,e.height),r=Math.min(e.width,e.height);return r>=20&&n>=50||r>=15&&e.roundness&&Ds(e.type)||J(e)&&n>=50?t:Math.min(t/(n<10?3:2),2.5)}var ze=(e,t=!1)=>{let n={seed:e.seed,strokeLineDash:e.strokeStyle==="dashed"?Vx(e.strokeWidth):e.strokeStyle==="dotted"?Wf(e.strokeWidth):void 0,disableMultiStroke:e.strokeStyle!=="solid",strokeWidth:e.strokeStyle!=="solid"?e.strokeWidth+.5:e.strokeWidth,fillWeight:e.strokeWidth/2,hachureGap:e.strokeWidth*4,roughness:$x(e),stroke:e.strokeColor,preserveVertices:t||e.roughness<ns.cartoonist};switch(e.type){case"rectangle":case"iframe":case"embeddable":case"diamond":case"ellipse":return n.fillStyle=e.fillStyle,n.fill=un(e.backgroundColor)?void 0:e.backgroundColor,e.type==="ellipse"&&(n.curveFitting=1),n;case"line":case"freedraw":return Dt(e.points)&&(n.fillStyle=e.fillStyle,n.fill=e.backgroundColor==="transparent"?void 0:e.backgroundColor),n;case"arrow":return n;default:throw new Error(`Unimplemented type ${e.type}`)}},$f=(e,t,n)=>rt(e)&&(t||di(e)&&n?.get(e.id)!==!0)&&un(e.backgroundColor)&&un(e.strokeColor)?{...e,roughness:0,backgroundColor:"#d3d3d3",fillStyle:"solid"}:Kr(e)?{...e,strokeColor:un(e.strokeColor)?"#000000":e.strokeColor,backgroundColor:un(e.backgroundColor)?"#f4f4f6":e.backgroundColor}:e,Yf=(e,t,n,r,o,i,a)=>{let s=nl(e,t,n,r);if(s===null)return[];switch(r){case"dot":case"circle":case"circle_outline":{let[c,l,d]=s;return delete i.strokeLineDash,[o.circle(c,l,d,{...i,fill:r==="circle_outline"?a:e.strokeColor,fillStyle:"solid",stroke:e.strokeColor,roughness:Math.min(.5,i.roughness||0)})]}case"triangle":case"triangle_outline":{let[c,l,d,u,f,p]=s;return delete i.strokeLineDash,[o.polygon([[c,l],[d,u],[f,p],[c,l]],{...i,fill:r==="triangle_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"diamond":case"diamond_outline":{let[c,l,d,u,f,p,m,h]=s;return delete i.strokeLineDash,[o.polygon([[c,l],[d,u],[f,p],[m,h],[c,l]],{...i,fill:r==="diamond_outline"?a:e.strokeColor,fillStyle:"solid",roughness:Math.min(1,i.roughness||0)})]}case"bar":case"arrow":default:{let[c,l,d,u,f,p]=s;if(e.strokeStyle==="dotted"){let m=Wf(e.strokeWidth-1);i.strokeLineDash=[m[0],m[1]-1]}else delete i.strokeLineDash;return i.roughness=Math.min(1,i.roughness||0),[o.line(d,u,c,l,i),o.line(f,p,c,l,i)]}}},yf=(e,t,{isExporting:n,canvasBackgroundColor:r,embedsValidationStatus:o})=>{switch(e.type){case"rectangle":case"iframe":case"embeddable":{let i;if(e.roundness){let a=e.width,s=e.height,c=Zt(Math.min(a,s),e);i=t.path(`M ${c} 0 L ${a-c} 0 Q ${a} 0, ${a} ${c} L ${a} ${s-c} Q ${a} ${s}, ${a-c} ${s} L ${c} ${s} Q 0 ${s}, 0 ${s-c} L 0 ${c} Q 0 0, ${c} 0`,ze($f(e,n,o),!0))}else i=t.rectangle(0,0,e.width,e.height,ze($f(e,n,o),!1));return i}case"diamond":{let i,[a,s,c,l,d,u,f,p]=tl(e);if(e.roundness){let m=Zt(Math.abs(a-f),e),h=Zt(Math.abs(l-s),e);i=t.path(`M ${a+m} ${s+h} L ${c-m} ${l-h}
11
+ C ${c} ${l}, ${c} ${l}, ${c-m} ${l+h}
12
+ L ${d+m} ${u-h}
13
+ C ${d} ${u}, ${d} ${u}, ${d-m} ${u-h}
14
+ L ${f+m} ${p+h}
15
+ C ${f} ${p}, ${f} ${p}, ${f+m} ${p-h}
16
+ L ${a-m} ${s+h}
17
+ C ${a} ${s}, ${a} ${s}, ${a+m} ${s+h}`,ze(e,!0))}else i=t.polygon([[a,s],[c,l],[d,u],[f,p]],ze(e));return i}case"ellipse":return t.ellipse(e.width/2,e.height/2,e.width,e.height,ze(e));case"line":case"arrow":{let i,a=ze(e),s=e.points.length?e.points:[[0,0]];if(e.roundness?i=[t.curve(s,a)]:a.fill?i=[t.polygon(s,a)]:i=[t.linearPath(s,a)],e.type==="arrow"){let{startArrowhead:c=null,endArrowhead:l="arrow"}=e;if(c!==null){let d=Yf(e,i,"start",c,t,a,r);i.push(...d)}if(l!==null){let d=Yf(e,i,"end",l,t,a,r);i.push(...d)}}return i}case"freedraw":{let i;if(Uf(e),Dt(e.points)){let a=Vf(e.points,.75);i=t.curve(a,{...ze(e),stroke:"none"})}else i=null;return i}case"frame":case"magicframe":case"text":case"image":return null;default:return Rn(e,`generateElementShape(): Unimplemented type ${e?.type}`),null}};g();var Gi=e=>{let t=e.map(r=>r[0]),n=e.map(r=>r[1]);return{width:Math.max(...t)-Math.min(...t),height:Math.max(...n)-Math.min(...n)}},bn=(e,t,n,r)=>{let o=n.map(p=>p[e]),i=Math.max(...o),a=Math.min(...o),s=i-a,c=s===0?1:t/s,l=1/0,d=n.map(p=>{let m=p[e]*c,h=[...p];return h[e]=m,m<l&&(l=m),h});if(!r||d.length===2)return d;let u=a-l;return d.map(p=>p.map((m,h)=>h===e?m+u:m))};var rl=class e{static boundsCache=new WeakMap;static getBounds(t,n){let r=e.boundsCache.get(t);if(r?.version&&r.version===t.version&&!be(t))return r.bounds;let o=e.calculateBounds(t,n);return e.boundsCache.set(t,{version:t.version,bounds:o}),o}static calculateBounds(t,n){let r,[o,i,a,s,c,l]=G(t,n);if(ge(t)){let[d,u,f,p]=il(t.points.map(([m,h])=>V(m,h,c-t.x,l-t.y,t.angle)));return[d+t.x,u+t.y,f+t.x,p+t.y]}else if(J(t))r=jx(t,c,l,n);else if(t.type==="diamond"){let[d,u]=V(c,i,c,l,t.angle),[f,p]=V(c,s,c,l,t.angle),[m,h]=V(o,l,c,l,t.angle),[E,x]=V(a,l,c,l,t.angle),w=Math.min(d,f,m,E),y=Math.min(u,p,h,x),T=Math.max(d,f,m,E),b=Math.max(u,p,h,x);r=[w,y,T,b]}else if(t.type==="ellipse"){let d=(a-o)/2,u=(s-i)/2,f=Math.cos(t.angle),p=Math.sin(t.angle),m=Math.hypot(d*f,u*p),h=Math.hypot(u*f,d*p);r=[c-m,l-h,c+m,l+h]}else{let[d,u]=V(o,i,c,l,t.angle),[f,p]=V(o,s,c,l,t.angle),[m,h]=V(a,s,c,l,t.angle),[E,x]=V(a,i,c,l,t.angle),w=Math.min(d,f,m,E),y=Math.min(u,p,h,x),T=Math.max(d,f,m,E),b=Math.max(u,p,h,x);r=[w,y,T,b]}return r}},G=(e,t,n=!1)=>{if(ge(e))return Wx(e);if(J(e))return K.getElementAbsoluteCoords(e,t,n);if($(e)){let r=t?Se(e,t):null;if(j(r)){let o=K.getBoundTextElementPosition(r,e,t);return[o.x,o.y,o.x+e.width,o.y+e.height,o.x+e.width/2,o.y+e.height/2]}}return[e.x,e.y,e.x+e.width,e.y+e.height,e.x+e.width/2,e.y+e.height/2]},ol=(e,t)=>{let[n,r,o,i,a,s]=G(e,t),c=[a,s];if(J(e)||ge(e)){let x=[],w=0;for(;w<e.points.length-1;)x.push([re([e.points[w][0]+e.x,e.points[w][1]+e.y],c,e.angle),re([e.points[w+1][0]+e.x,e.points[w+1][1]+e.y],c,e.angle)]),w++;return x}let[l,d,u,f,p,m,h,E]=[[n,r],[o,r],[n,i],[o,i],[a,r],[a,i],[n,s],[o,s]].map(x=>re(x,c,e.angle));return e.type==="diamond"?[[p,h],[p,E],[m,h],[m,E]]:e.type==="ellipse"?[[p,h],[p,E],[m,h],[m,E],[p,h],[p,E],[m,h],[m,E]]:[[l,d],[u,f],[l,u],[d,f],[l,E],[u,E],[d,h],[f,h]]};var tl=e=>{let t=Math.floor(e.width/2)+1,n=0,r=e.width,o=Math.floor(e.height/2)+1,i=t,a=e.height;return[t,n,r,o,i,a,0,o]},wn=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},Xf=(e,t,n,r,o)=>{let i=1-e;return Math.pow(i,3)*t+3*Math.pow(i,2)*e*n+3*i*Math.pow(e,2)*r+Math.pow(e,3)*o},Zf=(e,t,n,r)=>{let o=t-e,i=n-t,a=r-n,s=3*o-6*i+3*a,c=6*i-6*o,l=3*o,d=c*c-4*s*l;if(!(d>=0))return!1;let f=null,p=null,m=1/0,h=1/0;return s===0?m=h=-l/c:(m=(-c+Math.sqrt(d))/(2*s),h=(-c-Math.sqrt(d))/(2*s)),m>=0&&m<=1&&(f=Xf(m,e,t,n,r)),h>=0&&h<=1&&(p=Xf(h,e,t,n,r)),[f,p]},Yx=(e,t,n,r)=>{let o=Zf(e[0],t[0],n[0],r[0]),i=Zf(e[1],t[1],n[1],r[1]),a=Math.min(e[0],r[0]),s=Math.max(e[0],r[0]);if(o){let d=o.filter(u=>u!==null);a=Math.min(a,...d),s=Math.max(s,...d)}let c=Math.min(e[1],r[1]),l=Math.max(e[1],r[1]);if(i){let d=i.filter(u=>u!==null);c=Math.min(c,...d),l=Math.max(l,...d)}return[a,c,s,l]},po=(e,t)=>{let n=[0,0],{minX:r,minY:o,maxX:i,maxY:a}=e.reduce((s,{op:c,data:l})=>{if(c==="move")n=l;else if(c==="bcurveTo"){let d=[l[0],l[1]],u=[l[2],l[3]],f=[l[4],l[5]],p=t?t(...d):d,m=t?t(...u):u,h=t?t(...f):f,E=t?t(...n):n;n=f;let[x,w,y,T]=Yx(E,p,m,h);s.minX=Math.min(s.minX,x),s.minY=Math.min(s.minY,w),s.maxX=Math.max(s.maxX,y),s.maxY=Math.max(s.maxY,T)}return s},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r,o,i,a]},il=e=>{let t=1/0,n=1/0,r=-1/0,o=-1/0;for(let[i,a]of e)t=Math.min(t,i),n=Math.min(n,a),r=Math.max(r,i),o=Math.max(o,a);return[t,n,r,o]},Wx=e=>{let[t,n,r,o]=il(e.points),i=t+e.x,a=n+e.y,s=r+e.x,c=o+e.y;return[i,a,s,c,(i+s)/2,(a+c)/2]},Xx=e=>{switch(e){case"arrow":return 25;case"diamond":case"diamond_outline":return 12;default:return 15}},Zx=e=>{switch(e){case"bar":return 90;case"arrow":return 20;default:return 25}},nl=(e,t,n,r)=>{let o=wn(t[0]);if(o.length<1)return null;let i=n==="start"?1:o.length-1,a=o[i].data,s=[a[4],a[5]],c=[a[2],a[3]],l=[a[0],a[1]],d=o[i-1],u=[0,0];d.op==="move"?u=d.data:d.op==="bcurveTo"&&(u=[d.data[4],d.data[5]]);let f=(O,F)=>Math.pow(1-O,3)*s[F]+3*O*Math.pow(1-O,2)*c[F]+3*Math.pow(O,2)*(1-O)*l[F]+u[F]*Math.pow(O,3),[p,m]=n==="start"?u:s,[h,E]=[f(.3,0),f(.3,1)],x=Math.hypot(p-h,m-E),w=(p-h)/x,y=(m-E)/x,T=Xx(r),b=0;{let[O,F]=n==="end"?e.points[e.points.length-1]:e.points[0],[L,C]=e.points.length>1?n==="end"?e.points[e.points.length-2]:e.points[1]:[0,0];b=Math.hypot(O-L,F-C)}let S=Math.min(T,b*(r==="diamond"||r==="diamond_outline"?.25:.5)),A=p-w*S,I=m-y*S;if(r==="dot"||r==="circle"||r==="circle_outline"){let O=Math.hypot(I-m,A-p)+e.strokeWidth-2;return[p,m,O]}let P=Zx(r),[_,M]=V(A,I,p,m,-P*Math.PI/180),[k,Y]=V(A,I,p,m,P*Math.PI/180);if(r==="diamond"||r==="diamond_outline"){let O,F;if(n==="start"){let[L,C]=e.points.length>1?e.points[1]:[0,0];[O,F]=V(p+S*2,m,p,m,Math.atan2(C-m,L-p))}else{let[L,C]=e.points.length>1?e.points[e.points.length-2]:[0,0];[O,F]=V(p-S*2,m,p,m,Math.atan2(m-C,p-L))}return[p,m,_,M,O,F,k,Y]}return[p,m,_,M,k,Y]},Kx=e=>{let t=It.generator(),n=ze(e),r=e.roundness?"curve":n.fill?"polygon":"linearPath";return t[r](e.points,n)},jx=(e,t,n,r)=>{let o=q(e,r);if(e.points.length<2){let[u,f]=e.points[0],[p,m]=V(e.x+u,e.y+f,t,n,e.angle),h=[p,m,p,m];if(o){let E=K.getMinMaxXYWithBoundText(e,r,[p,m,p,m],o);h=[E[0],E[1],E[2],E[3]]}return h}let a=ue.get(e)?.[0]??Kx(e),s=wn(a),l=po(s,(u,f)=>V(e.x+u,e.y+f,t,n,e.angle)),d=[l[0],l[1],l[2],l[3]];if(o){let u=K.getMinMaxXYWithBoundText(e,r,d,o);d=[u[0],u[1],u[2],u[3]]}return d},He=(e,t)=>rl.getBounds(e,t),De=e=>{if(!e.length)return[0,0,0,0];let t=1/0,n=-1/0,r=1/0,o=-1/0,i=X(e);return e.forEach(a=>{let[s,c,l,d]=He(a,i);t=Math.min(t,s),r=Math.min(r,c),n=Math.max(n,l),o=Math.max(o,d)}),[t,r,n,o]},n_=(e,t)=>{let[n,r,o,i]=De(e);return[n+t.x,r+t.y,o+t.x,i+t.y]},Kt=(e,t,n,r)=>{if(!(J(e)||ge(e)))return[e.x,e.y,e.x+t,e.y+n];let o=bn(0,t,bn(1,n,e.points,r),r),i;if(ge(e))i=il(o);else{let d=It.generator(),u=e.roundness?d.curve(o,ze(e)):d.linearPath(o,ze(e)),f=wn(u);i=po(f)}let[a,s,c,l]=i;return[a+e.x,s+e.y,c+e.x,l+e.y]},Bs=(e,t)=>{let n=It.generator(),r=e.roundness==null?n.linearPath(t,ze(e)):n.curve(t,ze(e)),o=wn(r),[i,a,s,c]=po(o);return[i+e.x,a+e.y,s+e.x,c+e.y]},Ps=(e,t)=>{if(!e.length)return[0,0,0,0];let n=1/0,r=e[0],o=X(e);return e.forEach(i=>{let[a,s,c,l]=He(i,o),d=Be((a+c)/2,(s+l)/2,t.x,t.y);d<n&&(n=d,r=i)}),He(r,o)},Kf=e=>{let[t,n,r,o]=De(e);return{minX:t,minY:n,maxX:r,maxY:o,width:r-t,height:o-n,midX:(t+r)/2,midY:(n+o)/2}},r_=({scrollX:e,scrollY:t,width:n,height:r,zoom:o})=>[-e,-t,-e+n/o.value,-t+r/o.value];var V=(e,t,n,r,o)=>[(e-n)*Math.cos(o)-(t-r)*Math.sin(o)+n,(e-n)*Math.sin(o)+(t-r)*Math.cos(o)+r],re=(e,t,n)=>V(e[0],e[1],t[0],t[1],n),jf=(e,t,n,r,o,i,a,s)=>{let c=Math.cos(r),l=Math.sin(r);return e.e&&e.w?t+=o+a:e.e?(t+=o*(1+c),n+=o*l,t+=a*(1-c),n+=a*-l):e.w&&(t+=o*(1-c),n+=o*-l,t+=a*(1+c),n+=a*l),e.n&&e.s?n+=i+s:e.n?(t+=i*l,n+=i*(1-c),t+=s*-l,n+=s*(1+c)):e.s&&(t+=i*-l,n+=i*(1+c),t+=s*l,n+=s*(1-c)),[t,n]};var Be=(e,t,n,r)=>{let o=n-e,i=r-t;return Math.hypot(o,i)},xr=(e,t)=>[(e[0]+t[0])/2,(e[1]+t[1])/2],Dt=(e,t=1)=>{if(e.length>=3){let[n,r]=[e[0],e[e.length-1]];return Be(n[0],n[1],r[0],r[1])<=Xd/t}return!1};var zi=(e,t,n)=>t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1]);var fo=(e,t,n)=>n?[Math.round(e/n)*n,Math.round(t/n)*n]:[e,t],Zt=(e,t)=>{if(t.roundness?.type===Fe.PROPORTIONAL_RADIUS||t.roundness?.type===Fe.LEGACY)return e*ri;if(t.roundness?.type===Fe.ADAPTIVE_RADIUS){let n=t.roundness?.value??eu,r=n/ri;return e<=r?e*ri:n}return 0},Gs=(e,t)=>{let n=ue.generateElementShape(e,null);if(!n)return null;let r=wn(n[0]),o=[0,0],i=0,a=1/0,s=null;for(;i<r.length;){let{op:c,data:l}=r[i];if(c==="move"&&(o=l),c==="bcurveTo"){let d=o,u=[l[0],l[1]],f=[l[2],l[3]],p=[l[4],l[5]],m=Be(p[0],p[1],t[0],t[1]);m<a&&(a=m,s=[d,u,f,p]),o=p}i++}return s},zs=(e,t,n,r,o)=>{let i=(c,l)=>Math.pow(1-c,3)*r[l]+3*c*Math.pow(1-c,2)*n[l]+3*Math.pow(c,2)*(1-c)*t[l]+e[l]*Math.pow(c,3),a=i(o,0),s=i(o,1);return[a,s]},qx=(e,t)=>{let n=Gs(e,t);if(!n)return[];let r=[],o=1;for(;o>0;){let i=zs(n[0],n[1],n[2],n[3],o);r.push([i[0],i[1]]),o-=.05}return r.length&&Hs(r.at(-1),t)&&r.push([t[0],t[1]]),r},qf=(e,t)=>{let n=[];n[0]=0;let r=qx(e,t),o=0,i=0;for(;o<r.length-1;){let a=Be(r[o][0],r[o][1],r[o+1][0],r[o+1][1]);i+=a,n.push(i),o++}return n},bf=(e,t)=>qf(e,t).at(-1),vf=(e,t,n)=>{let r=qf(e,t),o=r.length-1,i=r.at(-1),a=n*i,s=0,c=o,l=0;for(;s<c;)l=Math.floor(s+(c-s)/2),r[l]<a?s=l+1:c=l;return r[l]>a&&l--,r[l]===a?l/o:1-(l+(a-r[l])/(r[l+1]-r[l]))/o},Hs=(e,t)=>e[0]===t[0]&&e[1]===t[1],Rf=e=>Math.round(e/Math.PI*1e4)%5e3===0,c_=([e,t],[n,r])=>e<=n?t>=n:e>=n?r>=e:!1,d_=(e,t)=>{let n=Math.max(e[0],t[0]),r=Math.min(e[1],t[1]);return n<=r?[n,r]:null},go=(e,t,n)=>e>=t&&e<=n;g();var Jx=(e,t,n)=>{let r=n.reduce((o,i)=>(i.groupIds.includes(e)&&(o[i.id]=!0),o),{});return Object.keys(r).length<2?t.selectedGroupIds[e]||t.editingGroupId===e?{selectedElementIds:t.selectedElementIds,selectedGroupIds:{...t.selectedGroupIds,[e]:!1},editingGroupId:null}:t:{editingGroupId:t.editingGroupId,selectedGroupIds:{...t.selectedGroupIds,[e]:!0},selectedElementIds:{...t.selectedElementIds,...r}}},E_=function(){let e=null,t=null,n=null,r=(i,a,s,c)=>{if(n!==void 0&&a===t&&i===e&&s.editingGroupId===n?.editingGroupId)return n;let l={};for(let f of i){let p=f.groupIds;if(s.editingGroupId){let m=p.indexOf(s.editingGroupId);m>-1&&(p=p.slice(0,m))}if(p.length>0){let m=p[p.length-1];l[m]=!0}}let d={},u=a.reduce((f,p)=>{let m=p.groupIds.find(h=>l[h]);return m&&(f[p.id]=!0,Array.isArray(d[m])?d[m].push(p.id):d[m]=[p.id]),f},{});for(let f of Object.keys(d))d[f].length<2&&l[f]&&(l[f]=!1);return t=a,e=i,n={editingGroupId:s.editingGroupId,selectedGroupIds:l,selectedElementIds:al({...s.selectedElementIds,...u},c)},n},o=(i,a,s,c)=>{let l=c?c.scene.getSelectedElements({selectedElementIds:i.selectedElementIds,elements:a}):lt(a,i);return l.length?r(l,a,i,s):{selectedGroupIds:{},editingGroupId:null,selectedElementIds:al(i.selectedElementIds,s)}};return o.clearCache=()=>{t=null,e=null,n=null},o}(),g_=(e,t)=>Qx(e,t)!=null,Qx=(e,t)=>t.groupIds.filter(n=>n!==e.editingGroupId).find(n=>e.selectedGroupIds[n]),x_=e=>Object.entries(e.selectedGroupIds).filter(([t,n])=>n).map(([t,n])=>t),Jf=(e,t)=>{let n={...t,selectedGroupIds:{}};for(let r of e){let o=r.groupIds;if(t.editingGroupId){let i=o.indexOf(t.editingGroupId);i>-1&&(o=o.slice(0,i))}if(o.length>0){let i=o[o.length-1];n={...n,...Jx(i,n,e)}}}return n.selectedGroupIds},w_=(e,t)=>({...e,editingGroupId:t.groupIds.length?t.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:{[t.id]:!0}}),ew=(e,t)=>e.groupIds.includes(t),br=(e,t)=>{let n=[];for(let r of e.values())ew(r,t)&&n.push(r);return n},y_=(e,t)=>e.groupIds.find(n=>t[n]),Qf=(e,t,n)=>{let r=[...e],o=t?e.indexOf(t):-1,i=o>-1?o:e.length;for(let a=0;a<i;a++)r[a]=n(r[a]);return r},b_=(e,t,n)=>{let r=[...e],o=n?r.indexOf(n):-1,i=o>-1?o:r.length;return r.splice(i,0,t),r},v_=(e,t)=>e.filter(n=>!t[n]),T_=(e,t)=>{let n=new Map;return e.forEach(r=>{let o=r.groupIds.length===0?r.id:r.groupIds[r.groupIds.length-1],i=n.get(o)||[],a=q(r,t);a&&i.push(a),n.set(o,[...i,r])}),Array.from(n.values())},ep=e=>{let t=new Set;for(let[,n]of e)if(!n.isDeleted)for(let r of n.groupIds??[])t.add(r);return t};var tp=e=>e.groupIds.length>0;g();g();g();g();g();var rp=Mr(np(),1),Ui=e=>e.replace(/"/g,"&quot;"),vr=e=>(e=e.trim(),e&&(0,rp.sanitizeUrl)(Ui(e))),P_=e=>!!(e?.includes(location.origin)||e?.startsWith("/")),op=e=>{if(e=vr(e),e.startsWith("/"))return`${location.origin}${e}`;try{new URL(e)}catch{return"about:blank"}return e};g();g();var ip=[],ap=e=>(ip=ip.concat(e),e);g();var lp='<svg viewBox="0 0 24 24" stroke-width="1" width="28" height="28" xmlns="http://www.w3.org/2000/svg">',dw='<path d="M6.164 11.755a5.314 5.314 0 0 1-4.932-5.298 5.314 5.314 0 0 1 5.311-5.311 5.314 5.314 0 0 1 5.307 5.113l8.773 8.773a3.322 3.322 0 0 1 0 4.696l-.895.895a3.322 3.322 0 0 1-4.696 0l-8.868-8.868Z" style="fill:#fff"/>',cp='<path stroke="#1b1b1f" fill="#fff" d="m7.868 11.113 7.773 7.774a2.359 2.359 0 0 0 1.667.691 2.368 2.368 0 0 0 2.357-2.358c0-.625-.248-1.225-.69-1.667L11.201 7.78 9.558 9.469l-1.69 1.643v.001Zm10.273 3.606-3.333 3.333m-3.25-6.583 2 2m-7-7 3 3M3.664 3.625l1 1M2.529 6.922l1.407-.144m5.735-2.932-1.118.866M4.285 9.823l.758-1.194m1.863-6.207-.13 1.408"/>',uw=`data:${B.svg},${encodeURIComponent(`${lp}${cp}</svg>`)}`,fw=`data:${B.svg},${encodeURIComponent(`${lp}${dw}${cp}</svg>`)}`,pw=e=>{e&&(e.style.cursor="")},mw=(e,t)=>{e&&(e.style.cursor=t)},Lt,sp,hw=(e,t)=>{let r=()=>{let o=t===Re.DARK;Lt=document.createElement("canvas"),Lt.theme=t,Lt.height=20,Lt.width=20;let i=Lt.getContext("2d");i.lineWidth=1,i.beginPath(),i.arc(Lt.width/2,Lt.height/2,5,0,2*Math.PI),i.fillStyle=o?On.black:On.white,i.fill(),i.strokeStyle=o?On.white:On.black,i.stroke(),sp=Lt.toDataURL(B.svg)};(!Lt||Lt.theme!==t)&&r(),mw(e,`url(${sp}) ${20/2} ${20/2}, auto`)},dp=(e,t)=>{if(e)if(t.activeTool.type==="selection")pw(e);else if(au(t))e.style.cursor=Jo.GRAB;else if(iu(t))hw(e,t.theme);else if(t.activeTool.type==="laser"){let n=t.theme===Re.LIGHT?uw:fw;e.style.cursor=`url(${n}), auto`}else["image","custom"].includes(t.activeTool.type)?t.activeTool.type!=="image"&&(e.style.cursor=Jo.AUTO):e.style.cursor=Jo.CROSSHAIR};g();g();var Ew=new cr(Date.now()),gw=0,kt=()=>Math.floor(Ew.next()*2**31);var dt=()=>Ut()?`id${gw++}`:oi();var jt=(e,{x:t,y:n,strokeColor:r=ne.strokeColor,backgroundColor:o=ne.backgroundColor,fillStyle:i=ne.fillStyle,strokeWidth:a=ne.strokeWidth,strokeStyle:s=ne.strokeStyle,roughness:c=ne.roughness,opacity:l=ne.opacity,width:d=0,height:u=0,angle:f=0,groupIds:p=[],frameId:m=null,index:h=null,roundness:E=null,boundElements:x=null,link:w=null,locked:y=ne.locked,...T})=>({id:T.id||dt(),type:e,x:t,y:n,width:d,height:u,angle:f,strokeColor:r,backgroundColor:o,fillStyle:i,strokeWidth:a,strokeStyle:s,roughness:c,opacity:l,groupIds:p,frameId:m,index:h,roundness:E,seed:T.seed??kt(),version:T.version||1,versionNonce:T.versionNonce??0,isDeleted:!1,boundElements:x,updated:Ht(),link:w,locked:y,customData:T.customData}),xo=e=>jt(e.type,e),J_=e=>jt("embeddable",e),Q_=e=>({...jt("iframe",e)}),eI=e=>ut({...jt("frame",e),type:"frame",name:e?.name||null},{}),tI=e=>ut({...jt("magicframe",e),type:"magicframe",name:e?.name||null},{}),up=(e,t)=>({x:e.textAlign==="center"?t.width/2:e.textAlign==="right"?t.width:0,y:e.verticalAlign==="middle"?t.height/2:0}),Ot=e=>{let t=e.fontFamily||tt,n=e.fontSize||Tt,r=e.lineHeight||Ri(t),o=Ws(e.text),i=Ct(o,se({fontFamily:t,fontSize:n}),r),a=e.textAlign||ir,s=e.verticalAlign||ei,c=up({textAlign:a,verticalAlign:s},i),l={...jt("text",e),text:o,fontSize:n,fontFamily:t,textAlign:a,verticalAlign:s,x:e.x-c.x,y:e.y-c.y,width:i.width,height:i.height,containerId:e.containerId||null,originalText:e.originalText??o,autoResize:e.autoResize??!0,lineHeight:r};return ut(l,{})},xw=(e,t,n)=>{let{width:r,height:o}=Ct(n,se(e),e.lineHeight);e.autoResize||(r=e.width);let{textAlign:i,verticalAlign:a}=e,s,c;if(i==="center"&&a===zt.MIDDLE&&!e.containerId&&e.autoResize){let l=Ct(e.text,se(e),e.lineHeight),d=up(e,{width:r-l.width,height:o-l.height});s=e.x-d.x,c=e.y-d.y}else{let[l,d,u,f]=G(e,t),[p,m,h,E]=Kt(e,r,o,!1),x=(l-p)/2,w=(d-m)/2,y=(u-h)/2,T=(f-E)/2;[s,c]=jf({s:!0,e:i==="center"||i==="left",w:i==="center"||i==="right"},e.x,e.y,e.angle,x,w,y,T)}return{width:r,height:o,x:Number.isFinite(s)?s:e.x,y:Number.isFinite(c)?c:e.y}},sl=(e,t,n,r=e.text)=>{if(e.isDeleted)return;(t||!e.autoResize)&&(r=yn(r,se(e),t?ct(t,e):e.width));let o=xw(e,n,r);return{text:r,...o}},nI=e=>({...jt(e.type,e),points:e.points||[],pressures:[],simulatePressure:e.simulatePressure,lastCommittedPoint:null}),Yn=e=>({...jt(e.type,e),points:e.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:e.startArrowhead||null,endArrowhead:e.endArrowhead||null}),ww=e=>({...jt("image",e),strokeColor:"transparent",status:e.status??"pending",fileId:e.fileId??null,scale:e.scale??[1,1]}),Vi=(e,t=0)=>{if(e==null||typeof e!="object")return e;let n=Object.prototype.toString.call(e);if(n==="[object Object]"){let r=typeof e.constructor=="function"?Object.create(Object.getPrototypeOf(e)):{};for(let o in e)if(e.hasOwnProperty(o)){if(t===0&&(o==="shape"||o==="canvas"))continue;r[o]=Vi(e[o],t+1)}return r}if(Array.isArray(e)){let r=e.length,o=new Array(r);for(;r--;)o[r]=Vi(e[r],t+1);return o}return v.DEV&&n!=="[object Object]"&&n!=="[object Array]"&&n.startsWith("[object ")&&console.warn(`_deepCloneElement: unexpected object type ${n}. This value will not be cloned!`),e},wo=e=>Vi(e),$i=e=>{if(Ut()&&e){let t=`${e}_copy`;return window.h?.app?.getSceneElementsIncludingDeleted().find(n=>n.id===t)&&(t+="_copy"),t}return dt()},yw=(e,t,n,r)=>{let o=wo(n);return o.id=$i(o.id),o.boundElements=null,o.updated=Ht(),o.seed=kt(),o.groupIds=Qf(o.groupIds,e,i=>(t.has(i)||t.set(i,$i(i)),t.get(i))),r&&(o=Object.assign(o,r)),o},rI=(e,t)=>{let n=[],r=X(e),o=new Map,i=s=>{if(o.has(s))return o.get(s);if(r.has(s)){let c=$i(s);return o.set(s,c),c}return null},a=new Map;for(let s of e){let c=Vi(s);if(c.id=i(s.id),t?.randomizeSeed&&(c.seed=kt(),yo(c)),c.groupIds&&(c.groupIds=c.groupIds.map(l=>(a.has(l)||a.set(l,$i(l)),a.get(l)))),"containerId"in c&&c.containerId){let l=i(c.containerId);c.containerId=l}if("boundElements"in c&&c.boundElements&&(c.boundElements=c.boundElements.reduce((l,d)=>{let u=i(d.id);return u&&l.push({...d,id:u}),l},[])),"endBinding"in c&&c.endBinding){let l=i(c.endBinding.elementId);c.endBinding=l?{...c.endBinding,elementId:l}:null}if("startBinding"in c&&c.startBinding){let l=i(c.startBinding.elementId);c.startBinding=l?{...c.startBinding,elementId:l}:null}c.frameId&&(c.frameId=i(c.frameId)),n.push(c)}return n};g();g();g();g();var mp="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function Ar(e,t,n){let r=n[0];if(t!=null&&e>=t)throw new Error(e+" >= "+t);if(e.slice(-1)===r||t&&t.slice(-1)===r)throw new Error("trailing zero");if(t){let a=0;for(;(e[a]||r)===t[a];)a++;if(a>0)return t.slice(0,a)+Ar(e.slice(a),t.slice(a),n)}let o=e?n.indexOf(e[0]):0,i=t!=null?n.indexOf(t[0]):n.length;if(i-o>1){let a=Math.round(.5*(o+i));return n[a]}else return t&&t.length>1?t.slice(0,1):n[o]+Ar(e.slice(1),null,n)}function hp(e){if(e.length!==Ep(e[0]))throw new Error("invalid integer part of order key: "+e)}function Ep(e){if(e>="a"&&e<="z")return e.charCodeAt(0)-97+2;if(e>="A"&&e<="Z")return 90-e.charCodeAt(0)+2;throw new Error("invalid order key head: "+e)}function bo(e){let t=Ep(e[0]);if(t>e.length)throw new Error("invalid order key: "+e);return e.slice(0,t)}function fp(e,t){if(e==="A"+t[0].repeat(26))throw new Error("invalid order key: "+e);let n=bo(e);if(e.slice(n.length).slice(-1)===t[0])throw new Error("invalid order key: "+e)}function pp(e,t){hp(e);let[n,...r]=e.split(""),o=!0;for(let i=r.length-1;o&&i>=0;i--){let a=t.indexOf(r[i])+1;a===t.length?r[i]=t[0]:(r[i]=t[a],o=!1)}if(o){if(n==="Z")return"a"+t[0];if(n==="z")return null;let i=String.fromCharCode(n.charCodeAt(0)+1);return i>"a"?r.push(t[0]):r.pop(),i+r.join("")}else return n+r.join("")}function bw(e,t){hp(e);let[n,...r]=e.split(""),o=!0;for(let i=r.length-1;o&&i>=0;i--){let a=t.indexOf(r[i])-1;a===-1?r[i]=t.slice(-1):(r[i]=t[a],o=!1)}if(o){if(n==="a")return"Z"+t.slice(-1);if(n==="A")return null;let i=String.fromCharCode(n.charCodeAt(0)-1);return i<"Z"?r.push(t.slice(-1)):r.pop(),i+r.join("")}else return n+r.join("")}function Tr(e,t,n=mp){if(e!=null&&fp(e,n),t!=null&&fp(t,n),e!=null&&t!=null&&e>=t)throw new Error(e+" >= "+t);if(e==null){if(t==null)return"a"+n[0];let c=bo(t),l=t.slice(c.length);if(c==="A"+n[0].repeat(26))return c+Ar("",l,n);if(c<t)return c;let d=bw(c,n);if(d==null)throw new Error("cannot decrement any more");return d}if(t==null){let c=bo(e),l=e.slice(c.length),d=pp(c,n);return d??c+Ar(l,null,n)}let r=bo(e),o=e.slice(r.length),i=bo(t),a=t.slice(i.length);if(r===i)return r+Ar(o,a,n);let s=pp(r,n);if(s==null)throw new Error("cannot increment any more");return s<t?s:r+Ar(o,null,n)}function Yi(e,t,n,r=mp){if(n===0)return[];if(n===1)return[Tr(e,t,r)];if(t==null){let a=Tr(e,t,r),s=[a];for(let c=0;c<n-1;c++)a=Tr(a,t,r),s.push(a);return s}if(e==null){let a=Tr(e,t,r),s=[a];for(let c=0;c<n-1;c++)a=Tr(e,a,r),s.push(a);return s.reverse(),s}let o=Math.floor(n/2),i=Tr(e,t,r);return[...Yi(e,i,o,r),i,...Yi(i,t,n-o-1,r)]}g();var Wi=class extends Error{constructor(t="Couldn't export canvas.",n="CANVAS_ERROR"){super(),this.name=n,this.message=t}},Xi=class extends DOMException{constructor(t="Request Aborted"){super(t,"AbortError")}},qt=class extends Error{code;constructor(t="Image Scene Data Error",n="IMAGE_SCENE_DATA_ERROR"){super(t),this.name="EncodingError",this.code=n}},Zi=class extends Error{code="ELEMENT_HAS_INVALID_INDEX"};var cl=e=>{for(let[t,n]of e.entries()){let r=e[t-1],o=e[t+1];if(!ll(n,r,o))throw new Zi(`Fractional indices invariant for element has been compromised - ["${r}", "${n}", "${o}"] [predecessor, current, successor]`)}},xp=e=>e.sort((t,n)=>gp(t)&&gp(n)?t.index<n.index?-1:t.index>n.index?1:t.id<n.id?-1:1:1),vo=(e,t)=>{try{let n=vw(e,t),r=wp(e,n);cl(e.map(o=>r.get(o)?.index||o.index));for(let[o,i]of r)R(o,i,!1)}catch{Wn(e)}return e},Wn=e=>{let t=Tw(e),n=wp(e,t);for(let[r,o]of n)R(r,o,!1);return e},vw=(e,t)=>{let n=[],r=0;for(;r<e.length;)if(t.has(e[r].id)){let o=[r-1,r];for(;++r<e.length&&t.has(e[r].id);)o.push(r);o.push(r),n.push(o)}else r++;return n},Tw=e=>{let t=[],n,r,o=-1,i=0,a=l=>{let d=e[o]?e[o].index:void 0,u=e[l-1]?.index;return!d&&u||d&&u&&u>d?[u,l-1]:[d,o]},s=l=>{let d=e[i]?e[i].index:void 0;if(d&&l<i)return[d,i];let u=i;for(;++u<e.length;){let f=e[u]?.index;if(!d&&f||d&&f&&f>d)return[f,u]}return[void 0,u]},c=0;for(;c<e.length;){let l=e[c].index;if([n,o]=a(c),[r,i]=s(c),ll(l,n,r))c++;else{let d=[o,c];for(;++c<e.length;){let u=e[c].index,[f,p]=a(c),[m,h]=s(c);if(ll(u,f,m))break;[n,o]=[f,p],[r,i]=[m,h],d.push(c)}d.push(i),t.push(d)}}return t},ll=(e,t,n)=>e?t&&n?t<e&&e<n:!t&&n?e<n:t&&!n?t<e:!!e:!1,wp=(e,t)=>{let n=new Map;for(let r of t){let o=r.shift(),i=r.pop(),a=Yi(e[o]?.index,e[i]?.index,r.length);for(let s=0;s<r.length;s++){let c=e[r[s]];n.set(c,{index:a[s]})}}return n},gp=e=>!!e.index;var ce=class e{constructor(t,n){this.deleted=t;this.inserted=n}static create(t,n,r,o){let i=r&&o!=="inserted"?r(t):t,a=r&&o!=="deleted"?r(n):n;return new e(i,a)}static calculate(t,n,r,o){if(t===n)return e.empty();let i={},a={};for(let l of this.distinctKeysIterator("full",t,n))i[l]=t[l],a[l]=n[l];let[s,c]=o?o(i,a):[i,a];return e.create(s,c,r)}static empty(){return new e({},{})}static isEmpty(t){return!Object.keys(t.deleted).length&&!Object.keys(t.inserted).length}static mergeObjects(t,n,r){let o={...t};for(let i of Object.keys(r))delete o[i];return{...o,...n}}static mergeArrays(t,n,r,o){return Object.values(e.mergeObjects(At(t??[],o),At(n??[],o),At(r??[],o)))}static diffObjects(t,n,r,o){if(!(!t[r]&&!n[r])&&(typeof t[r]=="object"||typeof n[r]=="object")){let i=t[r]??{},a=n[r]??{},s=e.getLeftDifferences(i,a).reduce((l,d)=>(l[d]=o(i[d]),l),{}),c=e.getRightDifferences(i,a).reduce((l,d)=>(l[d]=o(a[d]),l),{});Object.keys(s).length||Object.keys(c).length?(Reflect.set(t,r,s),Reflect.set(n,r,c)):(Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r))}}static diffArrays(t,n,r,o){if(!(!t[r]&&!n[r])&&(Array.isArray(t[r])||Array.isArray(n[r]))){let i=Array.isArray(t[r])?t[r]:[],a=Array.isArray(n[r])?n[r]:[],s=At(e.getLeftDifferences(At(i,o),At(a,o))),c=At(e.getRightDifferences(At(i,o),At(a,o)));if(Object.keys(s).length||Object.keys(c).length){let l=i.filter(u=>s[o?o(u):String(u)]),d=a.filter(u=>c[o?o(u):String(u)]);Reflect.set(t,r,l),Reflect.set(n,r,d)}else Reflect.deleteProperty(t,r),Reflect.deleteProperty(n,r)}}static isLeftDifferent(t,n,r=!1){return!!this.distinctKeysIterator("left",t,n,r).next().value}static isRightDifferent(t,n,r=!1){return!!this.distinctKeysIterator("right",t,n,r).next().value}static getLeftDifferences(t,n,r=!1){return Array.from(this.distinctKeysIterator("left",t,n,r))}static getRightDifferences(t,n,r=!1){return Array.from(this.distinctKeysIterator("right",t,n,r))}static*distinctKeysIterator(t,n,r,o=!1){if(n===r)return;let i=[];t==="left"?i=Object.keys(n):t==="right"?i=Object.keys(r):t==="full"?i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])):Rn(t,`Unknown distinctKeysIterator's join param "${t}"`,!0);for(let a of i){let s=n[a],c=r[a];if(s!==c){if(!o&&typeof s=="object"&&typeof c=="object"&&s!==null&&c!==null&&Vt(s,c))continue;yield a}}}},To=class e{constructor(t){this.delta=t}static calculate(t,n){let r=ce.calculate(t,n,void 0,e.postProcess);return new e(r)}static empty(){return new e(ce.create({},{}))}inverse(){let t=ce.create(this.delta.inserted,this.delta.deleted);return new e(t)}applyTo(t,n){try{let{selectedElementIds:r={},selectedGroupIds:o={}}=this.delta.deleted,{selectedElementIds:i={},selectedGroupIds:a={},selectedLinearElementId:s,editingLinearElementId:c,...l}=this.delta.inserted,d=ce.mergeObjects(t.selectedElementIds,i,r),u=ce.mergeObjects(t.selectedGroupIds,a,o),f=s&&n.has(s)?new K(n.get(s)):null,p=c&&n.has(c)?new K(n.get(c)):null,m={...t,...l,selectedElementIds:d,selectedGroupIds:u,selectedLinearElement:typeof s<"u"?f:t.selectedLinearElement,editingLinearElement:typeof c<"u"?p:t.editingLinearElement},h=this.filterInvisibleChanges(t,m,n);return[m,h]}catch(r){if(console.error("Couldn't apply appstate change",r),v.DEV||v.MODE===et.TEST)throw r;return[t,!1]}}isEmpty(){return ce.isEmpty(this.delta)}static postProcess(t,n){try{ce.diffObjects(t,n,"selectedElementIds",r=>!0),ce.diffObjects(t,n,"selectedGroupIds",r=>r??!1)}catch(r){if(console.error("Couldn't postprocess appstate change deltas."),v.DEV||v.MODE===et.TEST)throw r}finally{return[t,n]}}filterInvisibleChanges(t,n,r){let o=So(t),i=So(n),a=ce.isRightDifferent(e.stripElementsProps(o),e.stripElementsProps(i)),s=ce.isRightDifferent(e.stripStandaloneProps(o),e.stripStandaloneProps(i));if(!a&&!s)return!1;let c={value:a};if(s){let l=ce.getRightDifferences(e.stripStandaloneProps(o),e.stripStandaloneProps(i)),d=new Set;(l.includes("editingGroupId")||l.includes("selectedGroupIds"))&&(d=ep(r));for(let u of l)switch(u){case"selectedElementIds":n[u]=e.filterSelectedElements(n[u],r,c);break;case"selectedGroupIds":n[u]=e.filterSelectedGroups(n[u],d,c);break;case"editingGroupId":let f=n[u];f?d.has(f)?c.value=!0:n[u]=null:c.value=!0;break;case"selectedLinearElementId":case"editingLinearElementId":let p=e.convertToAppStateKey(u),m=n[p];if(!m)c.value=!0;else{let h=r.get(m.elementId);h&&!h.isDeleted?c.value=!0:n[p]=null}break;default:Rn(u,`Unknown ObservedElementsAppState's key "${u}"`,!0)}}return c.value}static convertToAppStateKey(t){switch(t){case"selectedLinearElementId":return"selectedLinearElement";case"editingLinearElementId":return"editingLinearElement"}}static filterSelectedElements(t,n,r){let o=Object.keys(t);if(!o.length)return r.value=!0,t;let i={...t};for(let a of o){let s=n.get(a);s&&!s.isDeleted?r.value=!0:delete i[a]}return i}static filterSelectedGroups(t,n,r){if(!Object.keys(t).length)return r.value=!0,t;let i={...t};for(let a of Object.keys(i))n.has(a)?r.value=!0:delete i[a];return i}static stripElementsProps(t){let{editingGroupId:n,selectedGroupIds:r,selectedElementIds:o,editingLinearElementId:i,selectedLinearElementId:a,...s}=t;return s}static stripStandaloneProps(t){let{name:n,viewBackgroundColor:r,...o}=t;return o}},Ao=class e{constructor(t,n,r){this.added=t;this.removed=n;this.updated=r}static create(t,n,r,o={shouldRedistribute:!1}){let i;if(o.shouldRedistribute){let a=new Map,s=new Map,c=new Map,l=[...t,...n,...r];for(let[d,u]of l)this.satisfiesAddition(u)?a.set(d,u):this.satisfiesRemoval(u)?s.set(d,u):c.set(d,u);i=new e(a,s,c)}else i=new e(t,n,r);return(v.DEV||v.MODE===et.TEST)&&(e.validate(i,"added",this.satisfiesAddition),e.validate(i,"removed",this.satisfiesRemoval),e.validate(i,"updated",this.satisfiesUpdate)),i}static satisfiesAddition=({deleted:t,inserted:n})=>t.isDeleted===!0&&!n.isDeleted;static satisfiesRemoval=({deleted:t,inserted:n})=>!t.isDeleted&&n.isDeleted===!0;static satisfiesUpdate=({deleted:t,inserted:n})=>!!t.isDeleted==!!n.isDeleted;static validate(t,n,r){for(let[o,i]of t[n].entries())if(!r(i))throw console.error(`Broken invariant for "${n}" delta, element "${o}", delta:`,i),new Error(`ElementsChange invariant broken for element "${o}".`)}static calculate(t,n){if(t===n)return e.empty();let r=new Map,o=new Map,i=new Map;for(let a of t.values())if(!n.get(a.id)){let c={...a,isDeleted:!1},l={isDeleted:!0},d=ce.create(c,l,e.stripIrrelevantProps);o.set(a.id,d)}for(let a of n.values()){let s=t.get(a.id);if(!s){let c={isDeleted:!0},l={...a,isDeleted:!1},d=ce.create(c,l,e.stripIrrelevantProps);r.set(a.id,d);continue}if(s.versionNonce!==a.versionNonce){let c=ce.calculate(s,a,e.stripIrrelevantProps,e.postProcess);if(typeof s.isDeleted=="boolean"&&typeof a.isDeleted=="boolean"&&s.isDeleted!==a.isDeleted){s.isDeleted&&!a.isDeleted?r.set(a.id,c):o.set(a.id,c);continue}ce.isEmpty(c)||i.set(a.id,c)}}return e.create(r,o,i)}static empty(){return e.create(new Map,new Map,new Map)}inverse(){let t=i=>{let a=new Map;for(let[s,c]of i.entries())a.set(s,ce.create(c.inserted,c.deleted));return a},n=t(this.added),r=t(this.removed),o=t(this.updated);return e.create(r,n,o)}isEmpty(){return this.added.size===0&&this.removed.size===0&&this.updated.size===0}applyLatestChanges(t){let n=s=>c=>{let l={};for(let d of Object.keys(c))switch(d){case"boundElements":l[d]=c[d];break;default:l[d]=s[d]}return l},r=s=>{let c=new Map;for(let[l,d]of s.entries()){let u=t.get(l);if(u){let f=ce.create(d.deleted,d.inserted,n(u),"inserted");c.set(l,f)}else c.set(l,d)}return c},o=r(this.added),i=r(this.removed),a=r(this.updated);return e.create(o,i,a,{shouldRedistribute:!0})}applyTo(t,n){let r=$t(new Map(t)),o,i={containsVisibleDifference:!1,containsZindexDifference:!1};try{let a=e.createApplier(r,n,i),s=a(this.added),c=a(this.removed),l=a(this.updated),d=this.resolveConflicts(t,r);o=new Map([...s,...c,...l,...d])}catch(a){if(console.error("Couldn't apply elements change",a),v.DEV||v.MODE===et.TEST)throw a;return[t,!0]}try{e.redrawTextBoundingBoxes(r,o),e.redrawBoundArrows(r,o),r=e.reorderElements(r,o,i)}catch(a){if(console.error("Couldn't mutate elements after applying elements change",a),v.DEV||v.MODE===et.TEST)throw a}finally{return[r,i.containsVisibleDifference]}}static createApplier=(t,n,r)=>{let o=e.createGetter(t,n,r);return i=>Array.from(i.entries()).reduce((a,[s,c])=>{let l=o(s,c.inserted);if(l){let d=e.applyDelta(l,c,r);t.set(d.id,d),a.set(d.id,d)}return a},new Map)};static createGetter=(t,n,r)=>(o,i)=>{let a=t.get(o);return a||(a=n.get(o),a&&(r.containsZindexDifference=!0,(i.isDeleted===!1||i.isDeleted!==!0&&a.isDeleted===!1)&&(r.containsVisibleDifference=!0))),a};static applyDelta(t,n,r={containsVisibleDifference:!0,containsZindexDifference:!0}){let{boundElements:o,...i}=n.inserted;if(n.deleted.boundElements?.length||n.inserted.boundElements?.length){let a=ce.mergeArrays(t.boundElements,n.inserted.boundElements,n.deleted.boundElements,s=>s.id);Object.assign(i,{boundElements:a})}if(!r.containsVisibleDifference){let{index:a,...s}=i,c=e.checkForVisibleDifference(t,s);r.containsVisibleDifference=c}return r.containsZindexDifference||(r.containsZindexDifference=n.deleted.index!==n.inserted.index),ut(t,i)}static checkForVisibleDifference(t,n){return t.isDeleted&&n.isDeleted!==!1?!1:t.isDeleted&&n.isDeleted===!1||t.isDeleted===!1&&n.isDeleted?!0:ce.isRightDifferent(t,n)}resolveConflicts(t,n){let r=new Map,o=(l,d)=>{let u=n.get(l.id);if(!u)return;let f;t.get(l.id)===u?f=ut(u,d):f=R(u,d),r.set(f.id,f),n.set(f.id,f)};for(let[l]of this.removed)e.unbindAffected(t,n,l,o);for(let[l]of this.added)e.rebindAffected(t,n,l,o);for(let[l]of Array.from(this.updated).filter(([d,u])=>Object.keys({...u.deleted,...u.inserted}).find(f=>wf.has(f)))){let d=n.get(l);!d||d.isDeleted||e.rebindAffected(t,n,l,o)}let i=new Map(Array.from(t).filter(([l])=>r.has(l))),{added:a,removed:s,updated:c}=e.calculate(i,r);for(let[l,d]of a)this.added.set(l,d);for(let[l,d]of s)this.removed.set(l,d);for(let[l,d]of c)this.updated.set(l,d);return r}static unbindAffected(t,n,r,o){let i=()=>t.get(r),a=()=>n.get(r);En.unbindAffected(n,i(),o),En.unbindAffected(n,a(),o),gn.unbindAffected(n,i(),o),gn.unbindAffected(n,a(),o)}static rebindAffected(t,n,r,o){let i=()=>t.get(r),a=()=>n.get(r);En.unbindAffected(n,i(),o),En.rebindAffected(n,a(),o),gn.unbindAffected(n,i(),(s,c)=>{$(s)&&o(s,c)}),gn.rebindAffected(n,a(),o)}static redrawTextBoundingBoxes(t,n){let r=new Map;for(let o of n.values()){if(be(o)){let{containerId:i}=o,a=i?t.get(i):void 0;a&&r.set(a.id,{container:a,boundText:o})}if(lr(o)){let i=Xt(o),a=i?t.get(i):void 0;a&&r.set(o.id,{container:o,boundText:a})}}for(let{container:o,boundText:i}of r.values())o.isDeleted||i.isDeleted||Zs(i,o,t,!1)}static redrawBoundArrows(t,n){for(let r of n.values())!r.isDeleted&&Fn(r)&&Mt(r,t)}static reorderElements(t,n,r){if(!r.containsZindexDifference)return t;let o=Array.from(t.values()),i=xp([...o]),a=ce.getRightDifferences(o,i,!0).reduce((s,c)=>{let l=o[Number(c)];return l&&n.has(l.id)&&s.set(l.id,l),s},new Map);return!r.containsVisibleDifference&&a.size&&(r.containsVisibleDifference=!0),X(vo(i,a))}static postProcess(t,n){try{ce.diffArrays(t,n,"boundElements",r=>r.id)}catch(r){if(console.error("Couldn't postprocess elements change deltas."),v.DEV||v.MODE===et.TEST)throw r}finally{return[t,n]}}static stripIrrelevantProps(t){let{id:n,updated:r,version:o,versionNonce:i,seed:a,...s}=t;return s}};g();var Ki=class{subscribers=[];on(...t){let n=t.flat().filter(r=>typeof r=="function");return this.subscribers.push(...n),()=>this.off(n)}once(...t){let n=t.flat().filter(o=>typeof o=="function");n.push(()=>r());let r=this.on(...n);return r}off(...t){let n=t.flat();this.subscribers=this.subscribers.filter(r=>!n.includes(r))}trigger(...t){for(let n of this.subscribers)n(...t);return this}clear(){this.subscribers=[]}};var bp="__observedAppState",So=e=>{let t={name:e.name,editingGroupId:e.editingGroupId,viewBackgroundColor:e.viewBackgroundColor,selectedElementIds:e.selectedElementIds,selectedGroupIds:e.selectedGroupIds,editingLinearElementId:e.editingLinearElement?.elementId||null,selectedLinearElementId:e.selectedLinearElement?.elementId||null};return Reflect.defineProperty(t,bp,{value:!0,enumerable:!1}),t},Aw=e=>!!Reflect.get(e,bp),Sr={CAPTURE:"capture",UPDATE:"update",NONE:"none"},dl=class{constructor(t,n){this.elementsChange=t;this.appStateChange=n}},yp=class{onStoreIncrementEmitter=new Ki;scheduledActions=new Set;_snapshot=ji.empty();get snapshot(){return this._snapshot}set snapshot(t){this._snapshot=t}shouldCaptureIncrement=()=>{this.scheduleAction(Sr.CAPTURE)};shouldUpdateSnapshot=()=>{this.scheduleAction(Sr.UPDATE)};scheduleAction=t=>{this.scheduledActions.add(t),this.satisfiesScheduledActionsInvariant()};commit=(t,n)=>{try{this.scheduledActions.has(Sr.CAPTURE)?this.captureIncrement(t,n):this.scheduledActions.has(Sr.UPDATE)&&this.updateSnapshot(t,n)}finally{this.satisfiesScheduledActionsInvariant(),this.scheduledActions=new Set}};captureIncrement=(t,n)=>{let r=this.snapshot,o=this.snapshot.maybeClone(t,n);if(r!==o){let i=o.meta.didElementsChange?Ao.calculate(r.elements,o.elements):Ao.empty(),a=o.meta.didAppStateChange?To.calculate(r.appState,o.appState):To.empty();(!i.isEmpty()||!a.isEmpty())&&this.onStoreIncrementEmitter.trigger(new dl(i,a)),this.snapshot=o}};updateSnapshot=(t,n)=>{let r=this.snapshot.maybeClone(t,n);this.snapshot!==r&&(this.snapshot=r)};filterUncomittedElements=(t,n)=>{for(let[r,o]of t.entries()){if(!n.get(r))continue;let a=this.snapshot.elements.get(r);a?a.version<o.version&&n.set(r,a):n.delete(r)}return n};clear=()=>{this.snapshot=ji.empty(),this.scheduledActions=new Set};satisfiesScheduledActionsInvariant=()=>{if(!(this.scheduledActions.size>=0&&this.scheduledActions.size<=3)){let t=`There can be at most three store actions scheduled at the same time, but there are "${this.scheduledActions.size}".`;if(console.error(t,this.scheduledActions.values()),v.DEV||v.MODE===et.TEST)throw new Error(t)}}},ji=class e{constructor(t,n,r={didElementsChange:!1,didAppStateChange:!1,isEmpty:!1}){this.elements=t;this.appState=n;this.meta=r}static empty(){return new e(new Map,So(nt()),{didElementsChange:!1,didAppStateChange:!1,isEmpty:!0})}isEmpty(){return this.meta.isEmpty}maybeClone(t,n){let r=this.maybeCreateElementsSnapshot(t),o=this.maybeCreateAppStateSnapshot(n),i=!1,a=!1;return this.elements!==r&&(i=!0),this.appState!==o&&(a=!0),!i&&!a?this:new e(r,o,{didElementsChange:i,didAppStateChange:a})}maybeCreateAppStateSnapshot(t){if(!t)return this.appState;let n=Aw(t)?t:So(t);return this.detectChangedAppState(n)?n:this.appState}detectChangedAppState(t){return!Vt(this.appState,t,{selectedElementIds:Vt,selectedGroupIds:Vt})}maybeCreateElementsSnapshot(t){return t?this.detectChangedElements(t)?this.createElementsSnapshot(t):this.elements:this.elements}detectChangedElements(t){if(this.elements===t)return!1;if(this.elements.size!==t.size)return!0;let n=Array.from(t.keys());for(let r=n.length-1;r>=0;r--){let o=this.elements.get(n[r]),i=t.get(n[r]);if(!o||!i||o.id!==i.id||o.versionNonce!==i.versionNonce)return!0}return!1}createElementsSnapshot(t){let n=new Map;for(let[r,o]of this.elements.entries())t.get(r)?n.set(r,o):n.set(r,ut(o,{isDeleted:!0}));for(let[r,o]of t.entries()){let i=n.get(r);(!i||i&&i.versionNonce!==o.versionNonce)&&n.set(r,wo(o))}return n}};var Jt=new Map,Sw=/^(?:http(?:s)?:\/\/)?(?:www\.)?youtu(?:be\.com|\.be)\/(embed\/|watch\?v=|shorts\/|playlist\?list=|embed\/videoseries\?list=)?([a-zA-Z0-9_-]+)(?:\?t=|&t=|\?start=|&start=)?([a-zA-Z0-9_-]+)?[^\s]*$/,_w=/^(?:http(?:s)?:\/\/)?(?:(?:w){3}\.)?(?:player\.)?vimeo\.com\/(?:video\/)?([^?\s]+)(?:\?.*)?$/,Iw=/^https:\/\/(?:www\.)?figma\.com/,vp=/^https:\/\/gist\.github\.com\/([\w_-]+)\/([\w_-]+)/,Pw=/^<script[\s\S]*?\ssrc=["'](https:\/\/gist\.github\.com\/.*?)\.js["']/i,Tp=/(?:https?:\/\/)?(?:(?:w){3}\.)?(?:twitter|x)\.com\/[^/]+\/status\/(\d+)/,Mw=/^<blockquote[\s\S]*?\shref=["'](https?:\/\/(?:twitter|x)\.com\/[^"']*)/i,Dw=/^https:\/\/(?:www\.)?val\.town\/(v|embed)\/[a-zA-Z_$][0-9a-zA-Z_$]+\.[a-zA-Z_$][0-9a-zA-Z_$]+/,Cw=/^<(?:iframe|blockquote)[\s\S]*?\s(?:src|href)=["']([^"']*)["'][\s\S]*?>$/i,Ap=/giphy.com\/(?:clips|embed|gifs)\/[a-zA-Z0-9]*?-?([a-zA-Z0-9]+)(?:[^a-zA-Z0-9]|$)/,ul=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","link.excalidraw.com","gist.github.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com","val.town","giphy.com"]),Sp=new Set(["youtube.com","youtu.be","vimeo.com","player.vimeo.com","figma.com","twitter.com","x.com","*.simplepdf.eu","stackblitz.com"]),_p=e=>`<html><body>${e}</body></html>`,Ip=e=>{if(!e)return null;if(Jt.has(e))return Jt.get(e);let t=e,n=Sp.has(fl(e,Sp)||""),r="generic",o={w:560,h:840},i=e.match(Sw);if(i?.[2]){let l=i[3]?`&start=${i[3]}`:"",d=e.includes("shorts");switch(r="video",i[1]){case"embed/":case"watch?v=":case"shorts/":e=`https://www.youtube.com/embed/${i[2]}?enablejsapi=1${l}`;break;case"playlist?list=":case"embed/videoseries?list=":e=`https://www.youtube.com/embed/videoseries?list=${i[2]}&enablejsapi=1${l}`;break;default:e=`https://www.youtube.com/embed/${i[2]}?enablejsapi=1${l}`;break}return o=d?{w:315,h:560}:{w:560,h:315},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}}let a=e.match(_w);if(a?.[1]){let l=a?.[1],d=/^\d+$/.test(l)?void 0:new URIError("Invalid embed link format");return r="video",e=`https://player.vimeo.com/video/${l}?api=1`,o={w:560,h:315},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,error:d,sandbox:{allowSameOrigin:n}}}if(e.match(Iw))return r="generic",e=`https://www.figma.com/embed?embed_host=share&url=${encodeURIComponent(e)}`,o={w:550,h:550},Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}};let c=e.match(Dw);if(c)return e=c[1]==="embed"?c[0]:c[0].replace("/v","/embed"),Jt.set(t,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}};if(Tp.test(e)){let l=e.match(Tp)[1],d=Ui(`https://twitter.com/x/status/${l}`),u={type:"document",srcdoc:f=>_p(`<blockquote class="twitter-tweet" data-dnt="true" data-theme="${f}"><a href="${d}"></a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>`),intrinsicSize:{w:480,h:480},sandbox:{allowSameOrigin:n}};return Jt.set(t,u),u}if(vp.test(e)){let[,l,d]=e.match(vp),u=Ui(`https://gist.github.com/${l}/${d}`),f={type:"document",srcdoc:()=>_p(`
18
+ <script src="${u}.js"><\/script>
19
+ <style type="text/css">
20
+ * { margin: 0px; }
21
+ table, .gist { height: 100%; }
22
+ .gist .gist-file { height: calc(100vh - 2px); padding: 0px; display: grid; grid-template-rows: 1fr auto; }
23
+ </style>
24
+ `),intrinsicSize:{w:550,h:720},sandbox:{allowSameOrigin:n}};return Jt.set(e,f),f}return Jt.set(e,{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}),{link:e,intrinsicSize:o,type:r,sandbox:{allowSameOrigin:n}}},qi=e=>{let t;Kr(e)?t="IFrame element":t=!e.link||e?.link===""?"Empty Web-Embed":e.link;let n=Math.max(Math.min(e.width/2,e.width/t.length),e.width/30),r=Ee.Helvetica,o=se({fontSize:n,fontFamily:r});return Ot({x:e.x+e.width/2,y:e.y+e.height/2,strokeColor:e.strokeColor!=="transparent"?e.strokeColor:"black",backgroundColor:"transparent",fontFamily:r,fontSize:n,text:yn(t,o,e.width-20),textAlign:"center",verticalAlign:zt.MIDDLE,angle:e.angle??0})},XI=ap({name:"setEmbeddableAsActiveTool",trackEvent:{category:"toolbar"},target:"Tool",label:"toolBar.embeddable",perform:(e,t,n,r)=>{let o=Xr(t,{type:"embeddable"});return dp(r.canvas,{...t,activeTool:o}),{elements:e,appState:{...t,activeTool:Xr(t,{type:"embeddable"})},storeAction:Sr.NONE}}}),fl=(e,t)=>{try{let{hostname:n}=new URL(e),r=n.replace(/^www\./,"");if(t instanceof Set){if(ul.has(r))return r;let i=r.replace(/^([^.]+)/,"*");return ul.has(i)?i:null}let o=t.replace(/^www\./,"");if(r===o)return o}catch{}return null},ZI=e=>{let t=e.match(Mw);if(t&&t.length===2)return t[1];let n=e.match(Pw);if(n&&n.length===2)return n[1];if(Ap.test(e))return`https://giphy.com/embed/${Ap.exec(e)[1]}`;let r=e.match(Cw);return r&&r.length===2?r[1]:e},KI=(e,t)=>{if(!e)return!1;if(t!=null)if(typeof t=="function"){let n=t(e);if(typeof n=="boolean")return n}else{if(typeof t=="boolean")return t;if(t instanceof RegExp)return t.test(e);if(Array.isArray(t)){for(let n of t)if(n instanceof RegExp){if(e.match(n))return!0}else if(fl(e,n))return!0;return!1}}return!!fl(e,ul)};var _o=(e,t,n)=>{if(typeof n>"u")return e.draw(t);let r={sets:t.sets,shape:t.shape,options:{...t.options,fixedDecimalPlaceDigits:n}};return e.draw(r)},Io=(e,t,n,r,o)=>{if(!r.enabled||!r.clip)return null;let i=Ce(e,o);if(i){let a=t.ownerDocument.createElementNS(Q,"g");return a.setAttributeNS(Q,"clip-path",`url(#${i.id})`),n.forEach(s=>a.appendChild(s)),a}return null},Ji=(e,t,n,r,o,i,a,s)=>{let c={x:i,y:a},[l,d,u,f]=G(e,t),p=(u-l)/2-(e.x-l),m=(f-d)/2-(e.y-d);if($(e)){let y=Se(e,t);if(j(y)){let[T,b,D,S]=G(y,t),A=K.getBoundTextElementPosition(y,e,t);p=(D-T)/2-(A.x-T),m=(S-b)/2-(A.y-b),i=i+A.x-e.x,a=a+A.y-e.y}}let h=180*e.angle/Math.PI,E=r;if(e.link){let y=r.ownerDocument.createElementNS(Q,"a");y.setAttribute("href",vr(e.link)),E.appendChild(y),E=y}let x=(y,T)=>{Ut()&&y.setAttribute("data-id",T.id),E.appendChild(y)},w=(Ce(e,t)?.opacity??100)*e.opacity/1e4;switch(e.type){case"selection":throw new Error("Selection rendering is not supported for SVG");case"rectangle":case"diamond":case"ellipse":{let y=ue.generateElementShape(e,null),T=_o(n,y,ar);w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);let b=Io(e,E,[T],s.frameRendering,t);x(b||T,e);break}case"iframe":case"embeddable":{let y=ue.generateElementShape(e,s),T=_o(n,y,ar),b=e.opacity/100;b!==1&&(T.setAttribute("stroke-opacity",`${b}`),T.setAttribute("fill-opacity",`${b}`)),T.setAttribute("stroke-linecap","round"),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),x(T,e);let D=qi(e);Ji(D,t,n,E,o,D.x+c.x-e.x,D.y+c.y-e.y,s);let S=_o(n,y,ar);for(S.setAttribute("stroke-linecap","round"),S.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);S.firstChild;)S.removeChild(S.firstChild);let A=Zt(Math.min(e.width,e.height),e),I=Ip(op(e.link||""));if(s.renderEmbeddables===!1||I?.type==="document"){let P=r.ownerDocument.createElementNS(Q,"a");P.setAttribute("href",vr(e.link||"")),P.setAttribute("target","_blank"),P.setAttribute("rel","noopener noreferrer"),P.style.borderRadius=`${A}px`,S.appendChild(P)}else{let P=r.ownerDocument.createElementNS(Q,"foreignObject");P.style.width=`${e.width}px`,P.style.height=`${e.height}px`,P.style.border="none";let _=P.ownerDocument.createElementNS(Q,"div");_.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),_.style.width="100%",_.style.height="100%";let M=_.ownerDocument.createElement("iframe");M.src=I?.link??"",M.style.width="100%",M.style.height="100%",M.style.border="none",M.style.borderRadius=`${A}px`,M.style.top="0",M.style.left="0",M.allowFullscreen=!0,_.appendChild(M),P.appendChild(_),S.appendChild(P)}x(S,e);break}case"line":case"arrow":{let y=q(e,t),T=r.ownerDocument.createElementNS(Q,"mask");if(y){T.setAttribute("id",`mask-${e.id}`);let A=r.ownerDocument.createElementNS(Q,"rect");i=i||0,a=a||0,A.setAttribute("x","0"),A.setAttribute("y","0"),A.setAttribute("fill","#fff"),A.setAttribute("width",`${e.width+100+i}`),A.setAttribute("height",`${e.height+100+a}`),T.appendChild(A);let I=r.ownerDocument.createElementNS(Q,"rect"),P=K.getBoundTextElementPosition(e,y,t),_=i+P.x-e.x,M=a+P.y-e.y;I.setAttribute("x",_.toString()),I.setAttribute("y",M.toString()),I.setAttribute("fill","#000"),I.setAttribute("width",`${y.width}`),I.setAttribute("height",`${y.height}`),I.setAttribute("opacity","1"),T.appendChild(I)}let b=r.ownerDocument.createElementNS(Q,"g");y&&b.setAttribute("mask",`url(#mask-${e.id})`),b.setAttribute("stroke-linecap","round"),ue.generateElementShape(e,s).forEach(A=>{let I=_o(n,A,ar);w!==1&&(I.setAttribute("stroke-opacity",`${w}`),I.setAttribute("fill-opacity",`${w}`)),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),e.type==="line"&&Dt(e.points)&&e.backgroundColor!=="transparent"&&I.setAttribute("fill-rule","evenodd"),b.appendChild(I)});let S=Io(e,E,[b,T],s.frameRendering,t);S?(x(S,e),E.appendChild(S)):(x(b,e),E.append(T));break}case"freedraw":{let y=ue.generateElementShape(e,s),T=y?_o(n,y,ar):r.ownerDocument.createElementNS(Q,"g");w!==1&&(T.setAttribute("stroke-opacity",`${w}`),T.setAttribute("fill-opacity",`${w}`)),T.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),T.setAttribute("stroke","none");let b=r.ownerDocument.createElementNS(Q,"path");b.setAttribute("fill",e.strokeColor),b.setAttribute("d",Js(e)),T.appendChild(b);let D=Io(e,E,[T],s.frameRendering,t);x(D||T,e);break}case"image":{let y=Math.round(e.width),T=Math.round(e.height),b=St(e)&&o[e.fileId];if(b){let D=`image-${b.id}`,S=r.querySelector(`#${D}`);if(!S){S=r.ownerDocument.createElementNS(Q,"symbol"),S.id=D;let _=r.ownerDocument.createElementNS(Q,"image");_.setAttribute("width","100%"),_.setAttribute("height","100%"),_.setAttribute("href",b.dataURL),S.appendChild(_),E.prepend(S)}let A=r.ownerDocument.createElementNS(Q,"use");if(A.setAttribute("href",`#${D}`),s.exportWithDarkMode&&b.mimeType!==B.svg&&A.setAttribute("filter",qs),A.setAttribute("width",`${y}`),A.setAttribute("height",`${T}`),A.setAttribute("opacity",`${w}`),e.scale[0]!==1||e.scale[1]!==1){let _=e.scale[0]!==1?-y:0,M=e.scale[1]!==1?-T:0;A.setAttribute("transform",`scale(${e.scale[0]}, ${e.scale[1]}) translate(${_} ${M})`)}let I=r.ownerDocument.createElementNS(Q,"g");if(I.appendChild(A),I.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),e.roundness){let _=r.ownerDocument.createElementNS(Q,"clipPath");_.id=`image-clipPath-${e.id}`;let M=r.ownerDocument.createElementNS(Q,"rect"),k=Zt(Math.min(e.width,e.height),e);M.setAttribute("width",`${e.width}`),M.setAttribute("height",`${e.height}`),M.setAttribute("rx",`${k}`),M.setAttribute("ry",`${k}`),_.appendChild(M),x(_,e),I.setAttributeNS(Q,"clip-path",`url(#${_.id})`)}let P=Io(e,E,[I],s.frameRendering,t);x(P||I,e)}break}case"frame":case"magicframe":{if(s.frameRendering.enabled&&s.frameRendering.outline){let y=document.createElementNS(Q,"rect");y.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`),y.setAttribute("width",`${e.width}px`),y.setAttribute("height",`${e.height}px`),y.setAttribute("rx",xe.radius.toString()),y.setAttribute("ry",xe.radius.toString()),y.setAttribute("fill","none"),y.setAttribute("stroke",xe.strokeColor),y.setAttribute("stroke-width",xe.strokeWidth.toString()),x(y,e)}break}default:if($(e)){let y=r.ownerDocument.createElementNS(Q,"g");w!==1&&(y.setAttribute("stroke-opacity",`${w}`),y.setAttribute("fill-opacity",`${w}`)),y.setAttribute("transform",`translate(${i||0} ${a||0}) rotate(${h} ${p} ${m})`);let T=e.text.replace(/\r\n?/g,`
25
+ `).split(`
26
+ `),b=wr(e.fontSize,e.lineHeight),D=e.textAlign==="center"?e.width/2:e.textAlign==="right"?e.width:0,S=Oi(e.fontFamily,e.fontSize,b),A=si(e.text)?"rtl":"ltr",I=e.textAlign==="center"?"middle":e.textAlign==="right"||A==="rtl"?"end":"start";for(let _=0;_<T.length;_++){let M=r.ownerDocument.createElementNS(Q,"text");M.textContent=T[_],M.setAttribute("x",`${D}`),M.setAttribute("y",`${_*b+S}`),M.setAttribute("font-family",rs(e)),M.setAttribute("font-size",`${e.fontSize}px`),M.setAttribute("fill",e.strokeColor),M.setAttribute("text-anchor",I),M.setAttribute("style","white-space: pre;"),M.setAttribute("direction",A),M.setAttribute("dominant-baseline","alphabetic"),y.appendChild(M)}let P=Io(e,E,[y],s.frameRendering,t);x(P||y,e)}else throw new Error(`Unimplemented type ${e.type}`)}},Pp=(e,t,n,r,o,i)=>{r&&(e.filter(a=>!rt(a)).forEach(a=>{if(!a.isDeleted){if($(a)&&a.containerId&&t.has(a.containerId))return;try{Ji(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i);let s=q(a,t);s&&Ji(s,t,n,r,o,s.x+i.offsetX,s.y+i.offsetY,i)}catch(s){console.error(s)}}}),e.filter(a=>rt(a)).forEach(a=>{if(!a.isDeleted)try{Ji(a,t,n,r,o,a.x+i.offsetX,a.y+i.offsetY,i)}catch(s){console.error(s)}}))};g();g();g();var _r=(()=>{if(typeof self>"u")return!1;if("top"in self&&self!==top)try{}catch{return!1}else if("showOpenFilePicker"in self)return"showOpenFilePicker";return!1})(),Lw=_r?import("./file-open-002ab408-MILJ6BM2.js"):import("./file-open-7c801643-BHFKUUBS.js");async function Mp(...e){return(await Lw).default(...e)}var f2=_r?import("./directory-open-4ed118d0-57WBH3LL.js"):import("./directory-open-01563666-OLGZGYEQ.js");var kw=_r?import("./file-save-745eba88-CGSHK46Y.js"):import("./file-save-3189631c-IHOU4DOS.js");async function Dp(...e){return(await kw).default(...e)}var Cp=500,Lp=e=>{let t=e.extensions?.reduce((r,o)=>(r.push(B[o]),r),[]),n=e.extensions?.reduce((r,o)=>o==="jpg"?r.concat(".jpg",".jpeg"):r.concat(`.${o}`),[]);return Mp({description:e.description,extensions:n,mimeTypes:t,multiple:e.multiple??!1,legacySetup:(r,o,i)=>{let a=du(o,Cp),s=()=>{c(),document.addEventListener("keyup",a),document.addEventListener("pointerup",a),a()},c=()=>{if(i.files?.length){let d=e.multiple?[...i.files]:i.files[0];r(d)}};requestAnimationFrame(()=>{window.addEventListener("focus",s)});let l=window.setInterval(()=>{c()},Cp);return d=>{clearInterval(l),a.cancel(),window.removeEventListener("focus",s),document.removeEventListener("keyup",a),document.removeEventListener("pointerup",a),d&&(console.warn("Opening the file was canceled (legacy-fs)."),d(new Xi))}}})},pl=(e,t)=>Dp(e,{fileName:`${t.name}.${t.extension}`,description:t.description,extensions:[`.${t.extension}`]},t.fileHandle);var Ow=(e,t)=>{let n={};for(let r of e)!r.isDeleted&&"fileId"in r&&r.fileId&&t[r.fileId]&&(n[r.fileId]=t[r.fileId]);return n},Po=(e,t,n,r)=>{let o={type:Pe.excalidraw,version:es.excalidraw,source:Ja,elements:r==="local"?Qi(e):Fp(e),appState:r==="local"?ii(t):ou(t),files:r==="local"?Ow(e,n):void 0};return JSON.stringify(o,null,2)},I2=async(e,t,n,r=t.name||nu)=>{let o=Po(e,t,n,"local"),i=new Blob([o],{type:B.excalidraw});return{fileHandle:await pl(i,{name:r,extension:"excalidraw",description:"Excalidraw file",fileHandle:kp(t.fileHandle)?null:t.fileHandle})}},P2=async(e,t)=>{let n=await Lp({description:"Excalidraw files"});return Op(await ml(n),e,t,n.handle)},Rp=e=>e?.type===Pe.excalidraw&&(!e.elements||Array.isArray(e.elements)&&(!e.appState||typeof e.appState=="object")),hl=e=>typeof e=="object"&&e&&e.type===Pe.excalidrawLibrary&&(e.version===1||e.version===2),Rw=e=>{let t={type:Pe.excalidrawLibrary,version:es.excalidrawLibrary,source:Ja,libraryItems:e};return JSON.stringify(t,null,2)},M2=async e=>{let t=Rw(e);await pl(new Blob([t],{type:B.excalidrawlib}),{name:"library",extension:"excalidrawlib",description:"Excalidraw library file"})};g();var Fw=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>{t(r)},r.onerror=o=>{n(o)},r.src=e}),Np=async({fileIds:e,files:t,imageCache:n})=>{let r=new Map,o=new Map;return await Promise.all(e.reduce((i,a)=>{let s=t[a];return s&&!r.has(a)?(r.set(a,!0),i.concat((async()=>{try{if(s.mimeType===B.binary)throw new Error("Only images can be added to ImageCache");let c=Fw(s.dataURL),l={image:c,mimeType:s.mimeType};n.set(a,l);let d=await c;n.set(a,{...l,image:d})}catch{o.set(a,!0)}})())):i},[])),{imageCache:n,updatedFiles:r,erroredFiles:o}},Bp=e=>e.filter(t=>St(t)),Nw=e=>e?.nodeName.toLowerCase()==="svg",O2=async e=>{let t=new DOMParser().parseFromString(e,B.svg),n=t.querySelector("svg");if(t.querySelector("parsererror")||!Nw(n))throw new Error("Invalid SVG");if(n.hasAttribute("xmlns")||n.setAttribute("xmlns",Q),!n.hasAttribute("width")||!n.hasAttribute("height")){let o=n.getAttribute("viewBox"),i=n.getAttribute("width")||"50",a=n.getAttribute("height")||"50";if(o){let s=o.match(/\d+ +\d+ +(\d+) +(\d+)/);s&&([,i,a]=s)}n.setAttribute("width",i),n.setAttribute("height",a)}return n.outerHTML};g();g();g();g();var Gp=e=>{let{angle:t,width:n,height:r,x:o,y:i}=e,a=Pt(t),s=o+n/2,c=i+r/2,l=[s,c],d=[];return e.type==="diamond"?d=[de([s,i],a,l),de([o+n,c],a,l),de([s,i+r],a,l),de([o,c],a,l)]:d=[de([o,i],a,l),de([o+n,i],a,l),de([o+n,i+r],a,l),de([o,i+r],a,l)],{type:"polygon",data:d}},z2=(e,t,n=10)=>{let[r,o,i,a,s,c]=G(e,t,!0);r-=n,i+=n,o-=n,a+=n;let l=Pt(e.angle),d=[s,c],u=de([r,o],l,d),f=de([i,o],l,d),p=de([r,a],l,d),m=de([i,a],l,d);return{type:"polygon",data:[u,f,m,p]}},H2=e=>{let{width:t,height:n,angle:r,x:o,y:i}=e;return{type:"ellipse",data:{center:[o+t/2,i+n/2],angle:r,halfWidth:t/2,halfHeight:n/2}}},zp=e=>{for(let t of e.sets)if(t.type==="path")return t.ops;return e.sets[0].ops},U2=(e,t=[0,0],n,r)=>{let o=c=>de([c[0]+t[0],c[1]+t[1]],Pt(n),r),i=zp(e),a=[],s=[0,0];for(let c of i)if(c.op==="move"&&(s=o(c.data)),c.op==="bcurveTo"){let l=o([c.data[0],c.data[1]]),d=o([c.data[2],c.data[3]]),u=o([c.data[4],c.data[5]]);a.push([s,l,d,u]),s=u}return{type:"polycurve",data:a}},Bw=e=>{let t=e[0],n=[];for(let r=1;r<e.length;r++){let o=e[r];n.push([t,o]),t=o}return n},V2=(e,t,n=!1)=>{let r=Pt(e.angle),o=a=>de(As(a,[e.x,e.y]),r,t),i=Bw(e.points.map(a=>o(a)));return n?{type:"polygon",data:Er(i.flat())}:{type:"polyline",data:i}},$2=(e,t,n=[0,0],r,o)=>{let i=d=>de([d[0]+n[0],d[1]+n[1]],Pt(r),o);if(e.roundness===null)return{type:"polygon",data:Er(e.points.map(d=>i(d)))};let a=zp(t),s=[],c=!1;for(let d of a)d.op==="move"?(c=!c,c&&s.push([d.data[0],d.data[1]])):d.op==="bcurveTo"?c&&(s.push([d.data[0],d.data[1]]),s.push([d.data[2],d.data[3]]),s.push([d.data[4],d.data[5]])):d.op==="lineTo"&&c&&s.push([d.data[0],d.data[1]]);return{type:"polygon",data:ur(s,10,5).map(d=>i(d))}};var Gw=e=>{if(e.type==="arrow")return!1;let t=!un(e.backgroundColor)||lr(e)||rt(e)||$(e);return e.type==="line"?t&&Dt(e.points):e.type==="freedraw"?t&&Dt(e.points):t||ci(e)},zw=({x:e,y:t,element:n,shape:r,threshold:o=10,frameNameBound:i=null})=>{let a=Gw(n)?Pi([e,t],r)||lo([e,t],r,o):lo([e,t],r,o);return!a&&i&&(a=Pi([e,t],{type:"polygon",data:Gp(i).data})),a},El=(e,t,n,r,o=0)=>{let[i,a,s,c]=He(n,r);return i-=o,a-=o,s+=o,c+=o,zi([i,a],[e,t],[s,c])},Q2=(e,t)=>!zw(e)&&El(e.x,e.y,e.element,t),eP=(e,t,n)=>n&&Pi([e,t],n);var gl=document.createElement("img");gl.src=`data:${B.svg}, ${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#1971c2" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>')}`;var xl=([e,t,n,r],o,i)=>{let a=Bf,s=a/i.zoom.value,c=a/i.zoom.value,l=a/i.zoom.value,d=(e+n)/2,u=(t+r)/2,f=(a-8)/(2*i.zoom.value),p=4/i.zoom.value,m=n+p-f,h=t-p-l+f,[E,x]=V(m+s/2,h+c/2,d,u,o);return[E-s/2,x-c/2,s,c]},Hw=(e,t,n,[r,o])=>{let i=4/n.zoom.value,[a,s,c,l]=G(e,t),[d,u,f,p]=xl([a,s,c,l],e.angle,n);return r>d-i&&r<d+i+f&&o>u-i&&o<u+p+i},lP=(e,t,n,[r,o],i)=>!e.link||n.selectedElementIds[e.id]?!1:!i&&n.viewModeEnabled&&El(r,o,e,t)?!0:Hw(e,t,n,[r,o]);g();var fP=(e,t,n,r,o=!0)=>{e.beginPath(),e.arc(t,n,r,0,Math.PI*2),e.fill(),o&&e.stroke()},Hp=(e,t)=>[e.width/t,e.height/t],Up=({canvas:e,scale:t,normalizedWidth:n,normalizedHeight:r,theme:o,isExporting:i,viewBackgroundColor:a})=>{let s=e.getContext("2d");return s.setTransform(1,0,0,1,0,0),s.scale(t,t),i&&o===Re.DARK&&(s.filter=ni),typeof a=="string"?((a==="transparent"||a.length===5||a.length===9||/(hsla|rgba)\(/.test(a))&&s.clearRect(0,0,n,r),s.save(),s.fillStyle=a,s.fillRect(0,0,n,r),s.restore()):s.clearRect(0,0,n,r),s};var Uw=(e,t,n,r,o,i,a)=>{let c;(E=>(E.Bold="#cccccc",E.Regular="#e5e5e5"))(c||={});let l=-Math.round(o.value/t)*t+n%t,d=-Math.round(o.value/t)*t+r%t,u=Math.min(1/o.value,1),f=1/o.value,p=[u*3,f+(u+f)];e.save(),e.lineWidth=u;for(let m=l;m<l+i+t*2;m+=t){let h=Math.round(m-n)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:p),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(m,d-t),e.lineTo(m,d+a+t*2),e.stroke()}for(let m=d;m<d+a+t*2;m+=t){let h=Math.round(m-r)%(5*t)===0;e.beginPath(),e.setLineDash(h?[]:p),e.strokeStyle=h?"#cccccc":"#e5e5e5",e.moveTo(l-t,m),e.lineTo(l+i+t*2,m),e.stroke()}e.restore()},Vp=(e,t,n,r)=>{t.translate(e.x+r.scrollX,e.y+r.scrollY),t.beginPath(),t.roundRect?t.roundRect(0,0,e.width,e.height,xe.radius/r.zoom.value):t.rect(0,0,e.width,e.height),t.clip(),t.translate(-(e.x+r.scrollX),-(e.y+r.scrollY))},Qt,$p=(e,t,n,r)=>{if(e.link&&!n.selectedElementIds[e.id]){let[o,i,a,s]=G(e,r),[c,l,d,u]=xl([o,i,a,s],e.angle,n),f=c+d/2,p=l+u/2;if(t.save(),t.translate(n.scrollX+f,n.scrollY+p),t.rotate(e.angle),!Qt||Qt.zoom!==n.zoom.value){Qt=document.createElement("canvas"),Qt.zoom=n.zoom.value,Qt.width=d*window.devicePixelRatio*n.zoom.value,Qt.height=u*window.devicePixelRatio*n.zoom.value;let m=Qt.getContext("2d");m.scale(window.devicePixelRatio*n.zoom.value,window.devicePixelRatio*n.zoom.value),m.fillStyle="#fff",m.fillRect(0,0,d,u),m.drawImage(gl,0,0,d,u),m.restore(),t.drawImage(Qt,c-f,l-p,d,u)}else t.drawImage(Qt,c-f,l-p,d,u);t.restore()}},Yp=({canvas:e,rc:t,elementsMap:n,allElementsMap:r,visibleElements:o,scale:i,appState:a,renderConfig:s})=>{if(e===null)return;let{renderGrid:c=!0,isExporting:l}=s,[d,u]=Hp(e,i),f=Up({canvas:e,scale:i,normalizedWidth:d,normalizedHeight:u,theme:a.theme,isExporting:l,viewBackgroundColor:a.viewBackgroundColor});f.scale(a.zoom.value,a.zoom.value),c&&a.gridSize&&Uw(f,a.gridSize,a.scrollX,a.scrollY,a.zoom,d/a.zoom.value,u/a.zoom.value);let p=new Set;o.forEach(m=>{m.groupIds.length>0&&a.frameToHighlight&&a.selectedElementIds[m.id]&&(vn(m,a.frameToHighlight,n)||m.groupIds.find(h=>p.has(h)))&&m.groupIds.forEach(h=>p.add(h))}),o.filter(m=>!rt(m)).forEach(m=>{try{let h=m.frameId||a.frameToHighlight?.id;if($(m)&&m.containerId&&n.has(m.containerId))return;if(f.save(),h&&a.frameRendering.enabled&&a.frameRendering.clip){let x=ea(m,n,a);x&&ta(m,n,a)&&Vp(x,f,s,a),yr(m,n,r,t,f,s,a)}else yr(m,n,r,t,f,s,a);let E=q(m,n);E&&yr(E,n,r,t,f,s,a),f.restore(),l||$p(m,f,a,n)}catch(h){console.error(h)}}),o.filter(m=>rt(m)).forEach(m=>{try{let h=()=>{if(yr(m,n,r,t,f,s,a),rt(m)&&(l||di(m)&&s.embedsValidationStatus.get(m.id)!==!0)&&m.width&&m.height){let x=qi(m);yr(x,n,r,t,f,s,a)}l||$p(m,f,a,n)};if((m.frameId||a.frameToHighlight?.id)&&a.frameRendering.enabled&&a.frameRendering.clip){f.save();let x=ea(m,n,a);x&&ta(m,n,a)&&Vp(x,f,s,a),h(),f.restore()}else h()}catch(h){console.error(h)}})},Vw=uu(e=>{Yp(e)},{trailing:!0}),Wp=(e,t)=>{if(t){Vw(e);return}Yp(e)};var $w="<!-- svg-source:excalidraw -->",Yw=(e,t)=>{if(e.width<=t)return e;let r=document.createElement("canvas").getContext("2d");r.font=se({fontFamily:e.fontFamily,fontSize:e.fontSize});let o=e.text;if(r.measureText(o).width>t)for(let a=o.length;a>0;a--){let s=`${o.slice(0,a)}...`;if(r.measureText(s).width<=t){o=s;break}}return ut(e,{text:o,width:t})},Ww=(e,t)=>{let n=[],r=0,o=0;for(let i of e){if(ee(i)){jr(i)?r++:o++;let a=Ot({x:i.x,y:i.y-xe.nameOffsetY,fontFamily:Ee.Assistant,fontSize:xe.nameFontSize,lineHeight:xe.nameLineHeight,strokeColor:t.exportWithDarkMode?xe.nameColorDarkTheme:xe.nameColorLightTheme,text:qp(i,jr(i)?r:o)});a.y-=a.height,a=Yw(a,i.width),n.push(a)}n.push(i)}return n},Xp=(e,t)=>(t=t||nt().frameRendering,{enabled:e?!0:t.enabled,outline:e?!1:t.outline,name:e?!1:t.name,clip:e?!0:t.clip}),Zp=({elements:e,exportingFrame:t,frameRendering:n,exportWithDarkMode:r})=>{let o;return t?o=Jp(e,t):n.enabled&&n.name?o=Ww(e,{exportWithDarkMode:r}):o=e,o},Kp=async(e,t,n,{exportBackground:r,exportPadding:o=Qa,viewBackgroundColor:i,exportingFrame:a},s=(c,l)=>{let d=document.createElement("canvas");return d.width=c*t.exportScale,d.height=l*t.exportScale,{canvas:d,scale:t.exportScale}})=>{let c=Xp(a??null,t.frameRendering??null),l=Zp({elements:e,exportingFrame:a,exportWithDarkMode:t.exportWithDarkMode,frameRendering:c});a&&(o=0);let[d,u,f,p]=wl(a?[a]:bl(l),o),{canvas:m,scale:h=1}=s(f,p),E=nt(),{imageCache:x}=await Np({imageCache:new Map,fileIds:Bp(l).map(w=>w.fileId),files:n});return Wp({canvas:m,rc:It.canvas(m),elementsMap:$t(X(l)),allElementsMap:$t(X(Wn(e))),visibleElements:l,scale:h,appState:{...t,frameRendering:c,viewBackgroundColor:r?i:null,scrollX:-d+o,scrollY:-u+o,zoom:E.zoom,shouldCacheIgnoreZoom:!1,theme:t.exportWithDarkMode?Re.DARK:Re.LIGHT},renderConfig:{canvasBackgroundColor:i,imageCache:x,renderGrid:!1,isExporting:!0,embedsValidationStatus:new Map,elementsPendingErasure:new Set}}),m},jp=async(e,t,n,r)=>{let o=Xp(r?.exportingFrame??null,t.frameRendering??null),{exportPadding:i=Qa,exportWithDarkMode:a=!1,viewBackgroundColor:s,exportScale:c=1,exportEmbedScene:l}=t,{exportingFrame:d=null}=r||{},u=Zp({elements:e,exportingFrame:d,exportWithDarkMode:a,frameRendering:o});d&&(i=0);let f="";if(l)try{f=await(await import("./image-SZBFRCU2.js")).encodeSvgMetadata({text:Po(e,t,n||{},"local")})}catch(P){console.error(P)}let[p,m,h,E]=wl(d?[d]:bl(u),i),x=document.createElementNS(Q,"svg");x.setAttribute("version","1.1"),x.setAttribute("xmlns",Q),x.setAttribute("viewBox",`0 0 ${h} ${E}`),x.setAttribute("width",`${h*c}`),x.setAttribute("height",`${E*c}`),a&&x.setAttribute("filter",ni);let w="https://excalidraw.com/";v.VITE_IS_EXCALIDRAW_NPM_PACKAGE&&(w=window.EXCALIDRAW_ASSET_PATH||`https://unpkg.com/${v.VITE_PKG_NAME}@${v.VITE_PKG_VERSION}`,w?.startsWith("/")&&(w=w.replace("/",`${window.location.origin}/`)),w=`${w}/dist/excalidraw-assets/`);let y=-p+i,T=-m+i,b=yl(e),D="",S=X(e);for(let P of b){let[_,M,k,Y]=G(P,S),O=(k-_)/2-(P.x-_),F=(Y-M)/2-(P.y-M);D+=`<clipPath id=${P.id}>
27
+ <rect transform="translate(${P.x+y} ${P.y+T}) rotate(${P.angle} ${O} ${F})"
28
+ width="${P.width}"
29
+ height="${P.height}"
30
+ >
31
+ </rect>
32
+ </clipPath>`}if(x.innerHTML=`
33
+ ${$w}
34
+ ${f}
35
+ <defs>
36
+ <style class="style-fonts">
37
+ @font-face {
38
+ font-family: "Virgil";
39
+ src: url("${w}Virgil.woff2");
40
+ }
41
+ @font-face {
42
+ font-family: "Cascadia";
43
+ src: url("${w}Cascadia.woff2");
44
+ }
45
+ @font-face {
46
+ font-family: "Assistant";
47
+ src: url("${w}Assistant-Regular.woff2");
48
+ }
49
+ </style>
50
+ ${D}
51
+ </defs>
52
+ `,t.exportBackground&&s){let P=x.ownerDocument.createElementNS(Q,"rect");P.setAttribute("x","0"),P.setAttribute("y","0"),P.setAttribute("width",`${h}`),P.setAttribute("height",`${E}`),P.setAttribute("fill",s),x.appendChild(P)}let A=It.svg(x),I=r?.renderEmbeddables??!1;return Pp(u,$t(X(u)),A,x,n||{},{offsetX:y,offsetY:T,isExporting:!0,exportWithDarkMode:a,renderEmbeddables:I,frameRendering:o,canvasBackgroundColor:s,embedsValidationStatus:I?new Map(u.filter(P=>ee(P)).map(P=>[P.id,!0])):new Map}),x},wl=(e,t)=>{let[n,r,o,i]=De(e),a=We(n,o)+t*2,s=We(r,i)+t*2;return[n,r,a,s]},HP=(e,t,n)=>{let[,,r,o]=wl(e,t).map(i=>Math.trunc(i*n));return[r,o]};g();var Xw={selection:!0,text:!0,rectangle:!0,diamond:!0,ellipse:!0,line:!0,image:!0,arrow:!0,freedraw:!0,eraser:!1,custom:!0,frame:!0,embeddable:!0,hand:!0,laser:!1,magicframe:!1},Zw=e=>Object.keys(Ee).includes(e)?Ee[e]:tt,Qp=e=>e?{...e,focus:e.focus||0}:null,Ir=(e,t)=>{let n={type:t.type||e.type,version:e.version||1,versionNonce:e.versionNonce??0,index:e.index??null,isDeleted:e.isDeleted??!1,id:e.id||dt(),fillStyle:e.fillStyle||ne.fillStyle,strokeWidth:e.strokeWidth||ne.strokeWidth,strokeStyle:e.strokeStyle??ne.strokeStyle,roughness:e.roughness??ne.roughness,opacity:e.opacity==null?ne.opacity:e.opacity,angle:e.angle||0,x:t.x??e.x??0,y:t.y??e.y??0,strokeColor:e.strokeColor||ne.strokeColor,backgroundColor:e.backgroundColor||ne.backgroundColor,width:e.width||0,height:e.height||0,seed:e.seed??1,groupIds:e.groupIds??[],frameId:e.frameId??null,roundness:e.roundness?e.roundness:e.strokeSharpness==="round"?{type:ui(e.type)?Fe.LEGACY:Fe.PROPORTIONAL_RADIUS}:null,boundElements:e.boundElementIds?e.boundElementIds.map(r=>({type:"arrow",id:r})):e.boundElements??[],updated:e.updated??Ht(),link:e.link?vr(e.link):null,locked:e.locked??!1};return("customData"in e||"customData"in t)&&(n.customData="customData"in t?t.customData:e.customData),{...n,...vl(n),...t}},Kw=e=>{switch(e.type){case"text":let t=e.fontSize,n=e.fontFamily;if("font"in e){let[i,a]=e.font.split(" ");t=parseFloat(i),n=Zw(a)}let r=typeof e.text=="string"&&e.text||"",o=e.lineHeight||(e.height?If(e):Ri(e.fontFamily));return e=Ir(e,{fontSize:t,fontFamily:n,text:r,textAlign:e.textAlign||ir,verticalAlign:e.verticalAlign||ei,containerId:e.containerId??null,originalText:e.originalText||r,autoResize:e.autoResize??!0,lineHeight:o}),!r&&!e.isDeleted&&(e={...e,originalText:r,isDeleted:!0},e=yo(e)),e;case"freedraw":return Ir(e,{points:e.points,lastCommittedPoint:null,simulatePressure:e.simulatePressure,pressures:e.pressures});case"image":return Ir(e,{status:e.status||"pending",fileId:e.fileId,scale:e.scale||[1,1]});case"line":case"draw":case"arrow":{let{startArrowhead:i=null,endArrowhead:a=e.type==="arrow"?"arrow":null}=e,s=e.x,c=e.y,l=!Array.isArray(e.points)||e.points.length<2?[[0,0],[e.width,e.height]]:e.points;return(l[0][0]!==0||l[0][1]!==0)&&({points:l,x:s,y:c}=K.getNormalizedPoints(e)),Ir(e,{type:e.type==="draw"?"line":e.type,startBinding:Qp(e.startBinding),endBinding:Qp(e.endBinding),lastCommittedPoint:null,startArrowhead:i,endArrowhead:a,points:l,x:s,y:c,...Gi(l)})}case"ellipse":case"rectangle":case"diamond":case"iframe":case"embeddable":return Ir(e,{});case"magicframe":case"frame":return Ir(e,{name:e.name??null})}return null},jw=(e,t)=>{if(e.boundElements){let n=e.boundElements.slice(),r=new Set;e.boundElements=n.reduce((o,i)=>{let a=t.get(i.id);if(a&&!r.has(i.id)){if(r.add(i.id),a.isDeleted)return o;o.push(i),$(a)&&!a.containerId&&(a.containerId=e.id)}return o},[])}},qw=(e,t)=>{let n=e.containerId?t.get(e.containerId):null;if(!n){e.containerId=null;return}if(!e.isDeleted&&n.boundElements&&!n.boundElements.find(r=>r.id===e.id)){let r=(n.boundElements||(n.boundElements=[])).slice();r.push({type:"text",id:e.id}),n.boundElements=r}},Jw=(e,t)=>{e.frameId&&(t.get(e.frameId)||(e.frameId=null))},nm=(e,t,n)=>{let r=new Set,o=t?X(t):null,i=Wn((e||[]).reduce((s,c)=>{if(c.type!=="selection"&&!Do(c)){let l=Kw(c);if(l){let d=o?.get(c.id);d&&d.version>l.version&&(l=yo(l,d.version)),r.has(l.id)&&(l={...l,id:dt()}),r.add(l.id),s.push(l)}}return s},[]));if(!n?.repairBindings)return i;let a=X(i);for(let s of i)s.frameId&&Jw(s,a),$(s)&&s.containerId?qw(s,a):s.boundElements&&jw(s,a),n.refreshDimensions&&$(s)&&Object.assign(s,sl(s,Se(s,a),a));return i},Qw=(e,t,n)=>{let r=t[e];return r!==void 0?r:n[e]},em={isSidebarDocked:(e,t)=>["defaultSidebarDockedPreference",e.isSidebarDocked??Qw("defaultSidebarDockedPreference",e,t)]},e0=(e,t)=>{e=e||{};let n=nt(),r={};for(let o of Object.keys(em))if(o in e){let[i,a]=em[o](e,n);r[i]=a}for(let[o,i]of Object.entries(n)){let a=e[o],s=t?t[o]:void 0;r[o]=a!==void 0?a:s!==void 0?s:i}return{...r,cursorButton:t?.cursorButton||"up",penDetected:t?.penDetected??(e.penMode?e.penDetected??!1:!1),activeTool:{...Xr(n,r.activeTool.type&&Xw[r.activeTool.type]?r.activeTool:{type:"selection"}),lastActiveTool:null,locked:r.activeTool.locked??!1},zoom:typeof e.zoom=="number"?{value:e.zoom}:e.zoom?.value?e.zoom:n.zoom,openSidebar:typeof e.openSidebar=="string"?{name:tu.name}:r.openSidebar}},Mo=(e,t,n,r)=>({elements:nm(e?.elements,n,r),appState:e0(e?.appState,t||null),files:e?.files||{}}),tm=e=>{let t=nm(Tl(e.elements),null);return t.length?{...e,elements:t}:null},rm=(e=[],t)=>{let n=[];for(let r of e)if(Array.isArray(r)){let o=tm({status:t,elements:r,id:dt(),created:Date.now()});o&&n.push(o)}else{let o=r,i=tm({...o,id:o.id||dt(),status:o.status||t,created:o.created||Date.now()});i&&n.push(i)}return n};g();g();var ft=32,te=12,Tn=256,im=50,Xn="NOT_SPREADSHEET",Pr="VALID_SPREADSHEET",Co=e=>{let t=/^([-+]?)[$€£¥₩]?([-+]?)([\d.,]+)[%]?$/.exec(e);return t?parseFloat(`${(t[1]||t[2])+t[3]}`.replace(/,/g,"")):null},Al=(e,t)=>e.slice(1).every(n=>Co(n[t])!==null),om=e=>{let t=e[0].length;if(t>2)return{type:Xn,reason:"More than 2 columns"};if(t===1){if(!Al(e,0))return{type:Xn,reason:"Value is not numeric"};let c=Co(e[0][0])===null,l=(c?e.slice(1):e).map(d=>Co(d[0]));return l.length<2?{type:Xn,reason:"Less than two rows"}:{type:Pr,spreadsheet:{title:c?e[0][0]:null,labels:null,values:l}}}let n=Al(e,0),r=Al(e,1);if(!n&&!r)return{type:Xn,reason:"Value is not numeric"};let[o,i]=r?[0,1]:[1,0],a=Co(e[0][i])===null,s=a?e.slice(1):e;return s.length<2?{type:Xn,reason:"Less than 2 rows"}:{type:Pr,spreadsheet:{title:a?e[0][i]:null,labels:s.map(c=>c[o]),values:s.map(c=>Co(c[i]))}}},t0=e=>{let t=[];for(let n=0;n<e[0].length;n++){let r=[];for(let o=0;o<e.length;o++)r.push(e[o][n]);t.push(r)}return t},am=e=>{let t=e.trim().split(`
53
+ `).map(i=>i.trim().split(" "));if(t.length&&t[0].length!==2&&(t=e.trim().split(`
54
+ `).map(i=>i.trim().split(","))),t.length===0)return{type:Xn,reason:"No values"};let n=t[0].length;if(!t.every(i=>i.length===n))return{type:Xn,reason:"All rows don't have same number of columns"};let o=om(t);if(o.type!==Pr){let i=om(t0(t));if(i.type===Pr)return i}return o},na=Ud(zd),Ze={fillStyle:"hachure",fontFamily:tt,fontSize:Tt,opacity:100,roughness:1,strokeColor:H.black,roundness:null,strokeStyle:"solid",strokeWidth:1,verticalAlign:zt.MIDDLE,locked:!1},sm=e=>{let t=(ft+te)*e.values.length+te,n=Tn+te*2;return{chartWidth:t,chartHeight:n}},n0=(e,t,n,r,o)=>e.labels?.map((i,a)=>Ot({groupIds:[r],backgroundColor:o,...Ze,text:i.length>8?`${i.slice(0,5)}...`:i,x:t+a*(ft+te)+te*2,y:n+te/2,width:ft,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))||[],r0=(e,t,n,r,o)=>{let i=Ot({groupIds:[r],backgroundColor:o,...Ze,x:t-te,y:n-te,text:"0",textAlign:"right"}),a=Ot({groupIds:[r],backgroundColor:o,...Ze,x:t-te,y:n-Tn-i.height/2,text:Math.max(...e.values).toLocaleString(),textAlign:"right"});return[i,a]},o0=(e,t,n,r,o)=>{let{chartWidth:i,chartHeight:a}=sm(e),s=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,width:i,points:[[0,0],[i,0]]}),c=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,height:a,points:[[0,0],[0,-a]]}),l=Yn({backgroundColor:o,groupIds:[r],...Ze,type:"line",x:t,y:n-Tn-te,startArrowhead:null,endArrowhead:null,strokeStyle:"dotted",width:i,opacity:im,points:[[0,0],[i,0]]});return[s,c,l]},lm=(e,t,n,r,o,i)=>{let{chartWidth:a,chartHeight:s}=sm(e),c=e.title?Ot({backgroundColor:o,groupIds:[r],...Ze,text:e.title,x:t+a/2,y:n-Tn-te*2-Tt,roundness:null,textAlign:"center"}):null,l=i?xo({backgroundColor:o,groupIds:[r],...Ze,type:"rectangle",x:t,y:n-s,width:a,height:s,strokeColor:H.black,fillStyle:"solid",opacity:6}):null;return[...l?[l]:[],...c?[c]:[],...n0(e,t,n,r,o),...r0(e,t,n,r,o),...o0(e,t,n,r,o)]},i0=(e,t,n)=>{let r=Math.max(...e.values),o=dt(),i=na[Math.floor(Math.random()*na.length)];return[...e.values.map((s,c)=>{let l=s/r*Tn;return xo({backgroundColor:i,groupIds:[o],...Ze,type:"rectangle",x:t+c*(ft+te)+te,y:n-l-te,width:ft,height:l})}),...lm(e,t,n,o,i,v.DEV)]},a0=(e,t,n)=>{let r=Math.max(...e.values),o=dt(),i=na[Math.floor(Math.random()*na.length)],a=0,s=[];for(let h of e.values){let E=a*(ft+te),x=-(h/r)*Tn;s.push([E,x]),a++}let c=Math.max(...s.map(h=>h[0])),l=Math.max(...s.map(h=>h[1])),d=Math.min(...s.map(h=>h[0])),u=Math.min(...s.map(h=>h[1])),f=Yn({backgroundColor:i,groupIds:[o],...Ze,type:"line",x:t+te+ft/2,y:n-te,startArrowhead:null,endArrowhead:null,height:l-u,width:c-d,strokeWidth:2,points:s}),p=e.values.map((h,E)=>{let x=E*(ft+te)+te/2,w=-(h/r)*Tn+te/2;return xo({backgroundColor:i,groupIds:[o],...Ze,fillStyle:"solid",strokeWidth:2,type:"ellipse",x:t+x+ft/2,y:n+w-te*2,width:te,height:te})}),m=e.values.map((h,E)=>{let x=E*(ft+te)+te/2,w=h/r*Tn+te/2+te;return Yn({backgroundColor:i,groupIds:[o],...Ze,type:"line",x:t+x+ft/2+te/2,y:n-w,startArrowhead:null,endArrowhead:null,height:w,strokeStyle:"dotted",opacity:im,points:[[0,0],[0,w]]})});return[...lm(e,t,n,o,i,v.DEV),f,...m,...p]},cM=(e,t,n,r)=>e==="line"?a0(t,n,r):i0(t,n,r);var wM="clipboard"in navigator&&"readText"in navigator.clipboard,s0="clipboard"in navigator&&"writeText"in navigator.clipboard,yM="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype,l0=e=>!!([Pe.excalidraw,Pe.excalidrawClipboard,Pe.excalidrawClipboardWithAPI].includes(e?.type)&&Array.isArray(e.elements)),bM=({types:e,files:t})=>{!e&&!t&&console.warn("createPasteEvent: no types or files provided");let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});if(e)for(let[r,o]of Object.entries(e))try{if(n.clipboardData?.setData(r,o),n.clipboardData?.getData(r)!==o)throw new Error(`Failed to set "${r}" as clipboardData item`)}catch(i){throw new Error(i.message)}if(t){let r=-1;for(let o of t){r++;try{if(n.clipboardData?.items.add(o),n.clipboardData?.files[r]!==o)throw new Error(`Failed to set file "${o.name}" as clipboardData item`)}catch(i){throw new Error(i.message)}}}return n},c0=({elements:e,files:t})=>{let n=X(e),r=new Set(e.filter(s=>ee(s))),o=!1,i=e.reduce((s,c)=>(St(c)&&(o=!0,t&&t[c.fileId]&&(s[c.fileId]=t[c.fileId])),s),{});o&&!t&&console.warn("copyToClipboard: attempting to file element(s) without providing associated `files` object.");let a={type:Pe.excalidrawClipboard,elements:e.map(s=>{if(Ce(s,n)&&!r.has(Ce(s,n))){let c=wo(s);return R(c,{frameId:null}),c}return s}),files:t?i:void 0};return JSON.stringify(a)},cm=async(e,t,n)=>{await Sl(c0({elements:e,files:t}),n)},d0=e=>{let t=am(e);return t.type===Pr?{spreadsheet:t.spreadsheet}:null};function dm(e){let t=[];for(let n of e.childNodes)if(n.nodeType===3){let r=n.textContent?.trim();r&&t.push({type:"text",value:r})}else if(n instanceof HTMLImageElement){let r=n.getAttribute("src");r&&r.startsWith("http")&&t.push({type:"imageUrl",value:r})}else t=t.concat(dm(n));return t}var u0=e=>{let t=e.clipboardData?.getData("text/html");if(!t)return null;try{let n=new DOMParser().parseFromString(t,"text/html"),r=dm(n.body);if(r.length)return{type:"mixedContent",value:r}}catch(n){console.error(`error in parseHTMLFromPaste: ${n.message}`)}return null},vM=async()=>{let e={};try{if(navigator.clipboard?.readText)return{"text/plain":await navigator.clipboard?.readText()}}catch(n){if(navigator.clipboard?.read)console.warn(`navigator.clipboard.readText() failed (${n.message}). Failling back to navigator.clipboard.read()`);else throw n}let t;try{t=await navigator.clipboard?.read()}catch(n){if(n.name==="DataError")return console.warn(`navigator.clipboard.read() error, clipboard is probably empty: ${n.message}`),e;throw n}for(let n of t)for(let r of n.types)if(mu(Zd,r))try{e[r]=await(await n.getType(r)).text()}catch(o){console.warn(`Cannot retrieve ${r} from clipboardItem: ${o.message}`)}return Object.keys(e).length===0&&console.warn("No clipboard data found from clipboard.read()."),e},f0=async(e,t=!1)=>{try{let n=!t&&e&&u0(e);return n?n.value.every(o=>o.type==="text")?{type:"text",value:e.clipboardData?.getData("text/plain")||n.value.map(o=>o.value).join(`
55
+ `).trim()}:n:{type:"text",value:(e.clipboardData?.getData("text/plain")||"").trim()}}catch{return{type:"text",value:""}}},TM=async(e,t=!1)=>{let n=await f0(e,t);if(n.type==="mixedContent")return{mixedContent:n.value};try{let r=!t&&d0(n.value);if(r)return r}catch(r){console.error(r)}try{let r=JSON.parse(n.value),o=r.type===Pe.excalidrawClipboardWithAPI;if(l0(r))return{elements:r.elements,files:r.files,text:t?JSON.stringify(r.elements,null,2):void 0,programmaticAPI:o}}catch{}return{text:n.value}},um=async e=>{try{await navigator.clipboard.write([new window.ClipboardItem({[B.png]:e})])}catch(t){if(li(e))await navigator.clipboard.write([new window.ClipboardItem({[B.png]:await e})]);else throw t}},Sl=async(e,t)=>{if(s0)try{await navigator.clipboard.writeText(e||"");return}catch(n){console.error(n)}try{if(t){if(t.clipboardData?.setData("text/plain",e||""),t.clipboardData?.getData("text/plain")!==e)throw new Error("Failed to setData on clipboardEvent");return}}catch(n){console.error(n)}if(!p0(e))throw new Error("Error copying to clipboard.")},p0=e=>{e||(e=" ");let t=document.documentElement.getAttribute("dir")==="rtl",n=document.createElement("textarea");n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";let r=window.pageYOffset||document.documentElement.scrollTop;n.style.top=`${r}px`,n.style.fontSize="12pt",n.setAttribute("readonly",""),n.value=e,document.body.appendChild(n);let o=!1;try{n.select(),n.setSelectionRange(0,n.value.length),o=document.execCommand("copy")}catch(i){console.error(i)}return n.remove(),o};var m0=({elements:e,appState:t,files:n,maxWidthOrHeight:r,getDimensions:o,exportPadding:i,exportingFrame:a})=>{let{elements:s,appState:c}=Mo({elements:e,appState:t},null,null),{exportBackground:l,viewBackgroundColor:d}=c;return Kp(s,{...c,offsetTop:0,offsetLeft:0,width:0,height:0},n||{},{exportBackground:l,exportPadding:i,viewBackgroundColor:d,exportingFrame:a},(u,f)=>{let p=document.createElement("canvas");if(r){typeof o=="function"&&console.warn("`getDimensions()` is ignored when `maxWidthOrHeight` is supplied.");let h=Math.max(u,f),E=r<h?r/h:t?.exportScale??1;return p.width=u*E,p.height=f*E,{canvas:p,scale:E}}let m=o?.(u,f)||{width:u,height:f};return p.width=m.width,p.height=m.height,{canvas:p,scale:m.scale??1}})},h0=async e=>{let{mimeType:t=B.png,quality:n}=e;t===B.png&&typeof n=="number"&&console.warn(`"quality" will be ignored for "${B.png}" mimeType`),t==="image/jpg"&&(t=B.jpg),t===B.jpg&&!e.appState?.exportBackground&&(console.warn(`Defaulting "exportBackground" to "true" for "${B.jpg}" mimeType`),e={...e,appState:{...e.appState,exportBackground:!0}});let r=await m0(e);return n=n||(/image\/jpe?g/.test(t)?.92:.8),new Promise((o,i)=>{r.toBlob(async a=>{if(!a)return i(new Error("couldn't export to blob"));a&&t===B.png&&e.appState?.exportEmbedScene&&(a=await fm({blob:a,metadata:Po(e.elements,e.appState,e.files||{},"local")})),o(a)},t,n)})},E0=async({elements:e,appState:t=nt(),files:n={},exportPadding:r,renderEmbeddables:o,exportingFrame:i})=>{let{elements:a,appState:s}=Mo({elements:e,appState:t},null,null),c={...s,exportPadding:r};return jp(a,c,n,{exportingFrame:i,renderEmbeddables:o})},kM=async e=>{if(e.type==="svg"){let t=await E0(e);await Sl(t.outerHTML)}else if(e.type==="png")await um(h0(e));else if(e.type==="json")await cm(e.elements,e.files);else throw new Error("Invalid export type")};g();var g0=e=>e.type==="diamond"?[[e.width/2,0],[e.width,e.height/2],[e.width/2,e.height],[0,e.height/2]]:[[0,0],[0+e.width,0],[0+e.width,e.height],[0,e.height]],x0=e=>J(e)||ge(e)?e.points:g0(e),pm=e=>{let t=e.reduce((n,[r,o])=>(n.minY=Math.min(n.minY,o),n.minX=Math.min(n.minX,r),n.maxX=Math.max(n.maxX,r),n.maxY=Math.max(n.maxY,o),n),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,cx:0,cy:0});return t.cx=(t.maxX+t.minX)/2,t.cy=(t.maxY+t.minY)/2,t},hm=e=>{let t=x0(e),{cx:n,cy:r}=pm(t),o=[n,r],i=t.map(d=>re([d[0],d[1]],o,e.angle)),{minX:a,minY:s,maxX:c,maxY:l}=pm(i);return[a+e.x,s+e.y,c+e.x,l+e.y]},mm=(e,t,n=!1)=>{let r=hm(e),o=t[0]<=r[0]&&t[2]>=r[2]&&t[1]<=r[1]&&t[3]>=r[3];return n?o?!0:r[0]<=t[0]&&r[2]>=t[2]&&r[1]<=t[1]&&r[3]>=t[3]:o},w0=(e,t)=>{let n=hm(e);return(go(n[0],t[0],t[2])||go(t[0],n[0],n[2]))&&(go(n[1],t[1],t[3])||go(t[1],n[1],n[3]))},Em=({elements:e,bounds:t,type:n,errorMargin:r=0})=>{as(t)&&(t=He(t,X(e)));let o=[t[0]-r,t[1]-r,t[2]+r,t[3]+r],i=new Set;for(let a of e){if(i.has(a.id))continue;if(n==="overlap"?w0(a,o):n==="inside"?mm(a,o):mm(a,o,!0)){if(i.add(a.id),a.boundElements)for(let c of a.boundElements)i.add(c.id);$(a)&&a.containerId&&i.add(a.containerId),j(a)&&(a.startBinding&&i.add(a.startBinding.elementId),a.endBinding&&i.add(a.endBinding?.elementId))}}return e.filter(a=>i.has(a.id))};g();function gm(e){return[Math.min(e[0][0],e[1][0]),Math.min(e[0][1],e[1][1]),Math.max(e[0][0],e[1][0]),Math.max(e[0][1],e[1][1])]}function ym(e,t){return e[0]*t[1]-t[0]*e[1]}function y0(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}function ra(e,t){return[e[0]-t[0],e[1]-t[1]]}var b0=1e-6;function xm(e,t){let n=ra(e[1],e[0]),r=ra(t,e[0]),o=ym(n,r);return Math.abs(o)<b0}function _l(e,t){let n=ra(e[1],e[0]),r=ra(t,e[0]);return ym(n,r)<0}function wm(e,t){return xm(e,t[0])||xm(e,t[1])||(_l(e,t[0])?!_l(e,t[1]):_l(e,t[1]))}function bm(e,t){return y0(gm(e),gm(t))&&wm(e,t)&&wm(t,e)}var iD=(e,t,n)=>{let r=X(e);for(let o of t)if(o.frameId){let i=n.get(o.id),a=n.get(o.frameId);if(i){let s=r.get(i);s&&R(s,{frameId:a??o.frameId},!1)}}};function vm(e,t,n){let r=ol(t,n),o=ol(e,n);return r.some(a=>o.some(s=>bm(a,s)))}var Tm=(e,t,n)=>oa(Mi(e,t,n,!1)).filter(r=>!ee(r)&&!r.frameId||r.frameId===t.id),Am=(e,t,n,r)=>Mi(e,t,r).some(o=>o.id===n.id);var Sm=(e,t,n)=>{let[r,o,i,a]=G(t,n),[s,c,l,d]=De(e);return r<=s&&o<=c&&i>=l&&a>=d},vn=(e,t,n)=>Sm([e],t,n)||vm(e,t,n)||Am([t],e,t,n),aD=(e,t,n)=>{let[r,o,i,a]=G(t,n);return zi([r,o],[e.x,e.y],[i,a])};var sD=e=>{let t=new Map;for(let n of e){let r=ee(n)?n.id:n.frameId;r&&!t.has(r)&&t.set(r,Lo(e,r))}return t},Lo=(e,t)=>{let n=[];for(let r of e.values())r.frameId===t&&n.push(r);return n},yl=e=>e.filter(t=>ee(t)),bl=e=>{let t=X(yl(e));return e.filter(n=>t.has(n.id)||!n.frameId||!t.has(n.frameId))},lD=(e,t,n,r)=>{let o=Lo(e,t.id),i=new Set(o),a=new Set([...Tm(e,t,r),...o.filter(f=>Am(e,f,t,r))]),s=o.filter(f=>!a.has(f)),c=new Set(Array.from(a).flatMap(f=>f.groupIds));for(let f of s)if(!vm(f,t,r))f.groupIds.length===0&&i.delete(f);else if(f.groupIds.length>0)for(let p of f.groupIds)c.add(p);for(let f of s)if(f.groupIds.length>0){let p=!0;for(let m of f.groupIds)c.has(m)&&(p=!1);p&&i.delete(f)}let l=Array.from(a).filter(f=>f.groupIds.length===0);for(let f of l)i.add(f);let d=Array.from(a).filter(f=>f.groupIds.length>0),u=Jf(d,n);for(let[f,p]of Object.entries(u))if(p){let m=br(e,f);if(Sm(m,t,r))for(let h of m)i.add(h)}return[...i].filter(f=>!($(f)&&f.containerId))},cD=(e,t,n)=>oa(e,Tm(e,t,n)),Ce=(e,t)=>e.frameId&&t.get(e.frameId)||null,dD=(e,t)=>{let n=new Set,r=X(e);e=oa(e);for(let a of e)ee(a)&&a.id!==t.id&&n.add(a.id);let o=new Set,i=[];for(let a of e)if(!(ee(a)||a.frameId&&n.has(a.frameId)))if(a.groupIds.length){let s=a.groupIds.at(-1);if(!o.has(s)){o.add(s);let c=br(e,s);if(c.some(l=>vn(l,t,r)))for(let l of c)i.push(l)}}else vn(a,t,r)&&i.push(a);return i},v0=(e,t,n)=>{let r=X(e),o=new Map;for(let c of e.values())c.frameId===n.id&&o.set(c.id,!0);let i=new Set(t.map(c=>c.id)),a=[],s=new Set;for(let c of t)ee(c)&&c.id!==n.id&&s.add(c.id);for(let c of oa(e,t)){if(ee(c)||c.frameId&&s.has(c.frameId))continue;o.has(c.id)||a.push(c);let l=q(c,r);l&&!i.has(l.id)&&!o.has(l.id)&&a.push(l)}for(let c of a)R(c,{frameId:n.id},!1);return e},_m=(e,t)=>{let n=new Map,r=new Map;for(let o of e)if(o.frameId){n.set(o.id,o);let i=r.get(o.frameId)||[];i.push(o);let a=q(o,t);a&&(n.set(a.id,a),i.push(a)),r.set(o.frameId,i)}for(let[,o]of n)R(o,{frameId:null},!1)},T0=(e,t)=>{let n=Lo(e,t.id);return _m(n,X(e)),e},uD=(e,t,n,r)=>v0(T0(e,n),t,n).slice(),fD=(e,t,n)=>{let r=n.scene.getSelectedElements({selectedElementIds:t.selectedElementIds,elements:e}),o=new Set(r);if(t.editingGroupId)for(let s of r)s.groupIds.length===0?o.add(s):s.groupIds.flatMap(c=>br(e,c)).forEach(c=>o.add(c));let i=new Set,a=X(e);return o.forEach(s=>{s.frameId&&!ee(s)&&!ta(s,a,t)&&i.add(s)}),i.size>0&&_m(i,a),e},oa=(e,t)=>{let n=new Set,r=t||e;for(let a of r.values()){let s=a.groupIds[a.groupIds.length-1];s&&n.add(s)}let o=new Set;for(let a of n)br(e,a).some(s=>ee(s))&&o.add(a);let i=[];for(let a of r.values())o.has(a.groupIds[a.groupIds.length-1])||i.push(a);return i},ea=(e,t,n)=>{let r=$(e)&&Se(e,t)||e;return n.selectedElementIds[r.id]&&n.selectedElementsAreBeingDragged?n.frameToHighlight:Ce(r,t)},ta=(e,t,n)=>{let r=ea(e,t,n),o=$(e)&&Se(e,t)||e;if(r){if(!n.selectedElementIds[e.id]||!n.selectedElementsAreBeingDragged)return!0;if(o.groupIds.length===0)return vn(o,r,t);let i=new Set(o.groupIds.flatMap(a=>br(t,a)));if(n.editingGroupId&&n.selectedElementsAreBeingDragged){let a=new Set(lt(t,n));if(n.frameToHighlight!==null)return!0;a.forEach(c=>{i.delete(c)})}for(let a of i)if(ee(a))return!1;for(let a of i)if(vn(a,r,t))return!0}return!1},qp=(e,t)=>e.name===null?jr(e)?`Frame ${t}`:`AI Frame $${t}`:e.name,Jp=(e,t)=>Em({elements:e,bounds:t,type:"overlap"}).filter(n=>!n.frameId||n.frameId===t.id);var A0=e=>{let t=new Set;return e.forEach(n=>{ee(n)&&t.add(n.id)}),e.filter(n=>!(n.frameId&&t.has(n.frameId)))},Mi=(e,t,n,r=!0)=>{let[o,i,a,s]=G(t,n),c=e.filter(l=>{let[d,u,f,p]=He(l,n),m=Ce(l,n);if(m){let[h,E,x,w]=He(m,n);d=Math.max(h,d),u=Math.max(E,u),f=Math.min(x,f),p=Math.min(w,p)}return l.locked===!1&&l.type!=="selection"&&!be(l)&&o<=d&&i<=u&&a>=f&&s>=p});return c=r?A0(c):c,c=c.filter(l=>{let d=Ce(l,n);return d?vn(l,d,n):!0}),c},yD=(e,t,n,r)=>{let o=new Set(t.map(i=>i.id));return e.filter(i=>{let a=Im(i,n.width,n.height,n,r);return!o.has(i.id)&&a})},ex=function(){let e=null,t=null,n=null,r=(o,i)=>(n!=null&&o===e&&i.selectedElementIds===t||(n=o.some(a=>i.selectedElementIds[a.id]),e=o,t=i.selectedElementIds),n);return r.clearCache=()=>{e=null,t=null,n=null},r}(),tx=(e,t,n)=>{let r=Array.from(new Set(lt(e,t).map(o=>n(o))));return r.length===1?r[0]:null},lt=(e,t,n)=>{let r=[];for(let o of e.values()){if(t.selectedElementIds[o.id]){r.push(o);continue}if(n?.includeBoundTextElement&&be(o)&&t.selectedElementIds[o?.containerId]){r.push(o);continue}}if(n?.includeElementsInFrames){let o=[];return r.forEach(i=>{ee(i)&&Lo(e,i.id).forEach(a=>o.push(a)),o.push(i)}),o}return r},nx=(e,t)=>t.editingElement?[t.editingElement]:lt(e,t,{includeBoundTextElement:!0}),al=(e,t)=>Vt(t.selectedElementIds,e)?t.selectedElementIds:e;var Pm=e=>{let t=new Map,n=[];for(let r of e)r.isDeleted||(n.push(r),t.set(r.id,r));return{elementsMap:t,elements:n}},S0=e=>{let t=["includeBoundTextElement","includeElementsInFrames"],n="";for(let r of t)n+=`${r}:${e[r]?"1":"0"}`;return n},Mm=e=>typeof e=="string",Il=class e{static sceneMapByElement=new WeakMap;static sceneMapById=new Map;static mapElementToScene(t,n){Mm(t)?this.sceneMapById.set(t,n):(this.sceneMapByElement.set(t,n),this.sceneMapById.set(t.id,n))}static getScene(t){return Mm(t)?this.sceneMapById.get(t)||null:this.sceneMapByElement.get(t)||null}callbacks=new Set;nonDeletedElements=[];nonDeletedElementsMap=$t(new Map);elements=[];nonDeletedFramesLikes=[];frames=[];elementsMap=$t(new Map);selectedElementsCache={selectedElementIds:null,elements:null,cache:new Map};sceneNonce;getSceneNonce(){return this.sceneNonce}getNonDeletedElementsMap(){return this.nonDeletedElementsMap}getElementsIncludingDeleted(){return this.elements}getElementsMapIncludingDeleted(){return this.elementsMap}getNonDeletedElements(){return this.nonDeletedElements}getFramesIncludingDeleted(){return this.frames}getSelectedElements(t){let n=S0(t),r=t?.elements||this.nonDeletedElements;if(this.selectedElementsCache.elements===r&&this.selectedElementsCache.selectedElementIds===t.selectedElementIds){let i=this.selectedElementsCache.cache.get(n);if(i)return i}else t?.elements==null&&this.selectedElementsCache.cache.clear();let o=lt(r,{selectedElementIds:t.selectedElementIds},t);return t?.elements==null&&(this.selectedElementsCache.selectedElementIds=t.selectedElementIds,this.selectedElementsCache.elements=this.nonDeletedElements,this.selectedElementsCache.cache.set(n,o)),o}getNonDeletedFramesLikes(){return this.nonDeletedFramesLikes}getElement(t){return this.elementsMap.get(t)||null}getNonDeletedElement(t){let n=this.getElement(t);return n&&Dm(n)?n:null}mapElements(t){let n=!1,r=this.elements.map(o=>{let i=t(o);return i!==o&&(n=!0),i});return n&&this.replaceAllElements(r),n}replaceAllElements(t){let n=t instanceof Array?t:Array.from(t.values()),r=[];(v.DEV||v.MODE===et.TEST)&&cl(n.map(i=>i.index)),this.elements=Wn(n),this.elementsMap.clear(),this.elements.forEach(i=>{ee(i)&&r.push(i),this.elementsMap.set(i.id,i),e.mapElementToScene(i,this)});let o=Pm(this.elements);this.nonDeletedElements=o.elements,this.nonDeletedElementsMap=o.elementsMap,this.frames=r,this.nonDeletedFramesLikes=Pm(this.frames).elements,this.triggerUpdate()}triggerUpdate(){this.sceneNonce=kt();for(let t of Array.from(this.callbacks))t()}onUpdate(t){if(this.callbacks.has(t))throw new Error;return this.callbacks.add(t),()=>{if(!this.callbacks.has(t))throw new Error;this.callbacks.delete(t)}}destroy(){this.elements=[],this.nonDeletedElements=[],this.nonDeletedFramesLikes=[],this.frames=[],this.elementsMap.clear(),this.selectedElementsCache.selectedElementIds=null,this.selectedElementsCache.elements=null,this.selectedElementsCache.cache.clear(),e.sceneMapById.forEach((t,n)=>{t===this&&e.sceneMapById.delete(n)}),this.callbacks.clear()}insertElementAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),t,...this.elements.slice(n)];vo(r,X([t])),this.replaceAllElements(r)}insertElementsAtIndex(t,n){if(!Number.isFinite(n)||n<0)throw new Error("insertElementAtIndex can only be called with index >= 0");let r=[...this.elements.slice(0,n),...t,...this.elements.slice(n)];vo(r,X(t)),this.replaceAllElements(r)}insertElement=t=>{let n=t.frameId?this.getElementIndex(t.frameId):this.elements.length;this.insertElementAtIndex(t,n)};insertElements=t=>{let n=t[0].frameId?this.getElementIndex(t[0].frameId):this.elements.length;this.insertElementsAtIndex(t,n)};getElementIndex(t){return this.elements.findIndex(n=>n.id===t)}getContainerElement=t=>t&&t.containerId&&this.getElement(t.containerId)||null},xn=Il;var R=(e,t,n=!0)=>{let r=!1,{points:o,fileId:i}=t;typeof o<"u"&&(t={...Gi(o),...t});for(let a in t){let s=t[a];if(typeof s<"u"){if(e[a]===s&&(typeof s!="object"||s===null||a==="groupIds"||a==="scale"))continue;if(a==="scale"){let c=e[a],l=s;if(c[0]===l[0]&&c[1]===l[1])continue}else if(a==="points"){let c=e[a],l=s;if(c.length===l.length){let d=!1,u=c.length;for(;--u;){let f=c[u],p=l[u];if(f[0]!==p[0]||f[1]!==p[1]){d=!0;break}}if(!d)continue}}e[a]=s,r=!0}}return r&&((typeof t.height<"u"||typeof t.width<"u"||typeof i<"u"||typeof o<"u")&&ue.delete(e),e.version++,e.versionNonce=kt(),e.updated=Ht(),n&&xn.getScene(e)?.triggerUpdate()),e},ut=(e,t,n=!1)=>{let r=!1;for(let o in t){let i=t[o];if(typeof i<"u"){if(e[o]===i&&(typeof i!="object"||i===null))continue;r=!0}}return!r&&!n?e:{...e,...t,updated:Ht(),version:e.version+1,versionNonce:kt()}},yo=(e,t)=>(e.version=(t??e.version)+1,e.versionNonce=kt(),e.updated=Ht(),e);var Do=e=>J(e)||ge(e)?e.points.length<2:e.width===0&&e.height===0,Im=(e,t,n,r,o)=>{let[i,a,s,c]=He(e,o),l=Zr({clientX:r.offsetLeft,clientY:r.offsetTop},r),d=Zr({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return l.x<=s&&l.y<=c&&d.x>=i&&d.y>=a},ia=(e,t,n)=>{let r=Math.abs(t),o=Math.abs(n);if(e==="line"||e==="arrow"||e==="freedraw"){let i=Math.round(Math.atan(o/r)/vt)*vt;i===0?n=0:i===Math.PI/2?t=0:n=r*Math.tan(i)*Math.sign(n)||n}else e!=="selection"&&(n=r*Math.sign(n));return{width:t,height:n}},Us=(e,t,n,r)=>{let o=n-e,i=r-t,a=Math.round(Math.atan(i/o)/vt)*vt;if(a===0)i=0;else if(a===Math.PI/2)o=0;else{let s=Math.tan(a),c=-1,l=t-s*e,d=-1/s,u=-1,f=r-d*n,p=(c*f-u*l)/(s*u-d*c),m=(l*d-f*s)/(s*u-d*c);o=p-e,i=m-t}return{width:o,height:i}};var vl=e=>{let t={width:e.width,height:e.height,x:e.x,y:e.y};if(e.width<0){let n=Math.abs(e.width);t.width=n,t.x=e.x-n}if(e.height<0){let n=Math.abs(e.height);t.height=n,t.y=e.y-n}return t};g();var Cm={mouse:8,pen:16,touch:28},_0=16,km={e:!0,s:!0,n:!0,w:!0};var Lm={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},Pl={e:!0,s:!0,n:!0,w:!0},en=(e,t,n,r,o,i,a)=>{let[s,c]=V(e+n/2,t+r/2,o,i,a);return[s-n/2,c-r/2,n,r]},aa=e=>!(e.viewport.isMobile||e.isTouchScreen&&(Vd||$d)),Ml=e=>aa(e)?km:{},sa=([e,t,n,r,o,i],a,s,c,l={},d=4)=>{let u=Cm[c],f=u/s.value,p=u/s.value,m=u/s.value,h=u/s.value,E=n-e,x=r-t,w=d/s.value,y=(u-Wr*2)/(2*s.value),T={nw:l.nw?void 0:en(e-w-m+y,t-w-h+y,f,p,o,i,a),ne:l.ne?void 0:en(n+w-y,t-w-h+y,f,p,o,i,a),sw:l.sw?void 0:en(e-w-m+y,r+w-y,f,p,o,i,a),se:l.se?void 0:en(n+w-y,r+w-y,f,p,o,i,a),rotation:l.rotation?void 0:en(e+E/2-f/2,t-w-h+y-_0/s.value,f,p,o,i,a)},b=5*Cm.mouse/s.value;return Math.abs(E)>b&&(l.n||(T.n=en(e+E/2-f/2,t-w-h+y,f,p,o,i,a)),l.s||(T.s=en(e+E/2-f/2,r+w-y,f,p,o,i,a))),Math.abs(x)>b&&(l.w||(T.w=en(e-w-m+y,t+x/2-p/2,f,p,o,i,a)),l.e||(T.e=en(n+w-y,t+x/2-p/2,f,p,o,i,a))),T},Dl=(e,t,n,r="mouse",o=km)=>{if(e.locked)return{};if(e.type==="freedraw"||J(e)){if(e.points.length===2){let[,a]=e.points;a[0]===0||a[1]===0?o=Pl:a[0]>0&&a[1]<0?o=Lm:a[0]>0&&a[1]>0?o=Pl:a[0]<0&&a[1]>0?o=Lm:a[0]<0&&a[1]<0&&(o=Pl)}}else ee(e)&&(o={...o,rotation:!0});let i=J(e)?Wr+8:Wr;return sa(G(e,n,!0),e.angle,t,r,o,i)},qD=(e,t)=>{if(t.editingLinearElement)return!1;if(e.length>1)return!0;let n=e[0];return J(n)?n.points.length>2:!0};g();var Ll=(e,t,n)=>t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3],Om=(e,t,n,r,o,i,a,s)=>{if(!n.selectedElementIds[e.id])return!1;let{rotation:c,...l}=Dl(e,i,t,a,Ml(s));if(c&&Ll(c,r,o))return"rotation";let d=Object.keys(l).filter(u=>{let f=l[u];return f?Ll(f,r,o):!1});if(d.length>0)return d[0];if(aa(s)){let[u,f,p,m,h,E]=G(e,t);if(!(J(e)&&e.points.length<=2)){let x=ti/i.value,w=Rm([u-x,f-x],[p+x,m+x],[h,E],Pt(e.angle));for(let[y,T]of Object.entries(w))if(Vn([r,o],T,x))return y}}return!1},I0=(e,t,n,r,o,i,a,s)=>e.reduce((c,l)=>{if(c)return c;let d=Om(l,a,t,n,r,o,i,s);return d?{element:l,transformHandleType:d}:null},null),P0=([e,t,n,r],o,i,a,s,c)=>{let l=sa([e,t,n,r,(e+n)/2,(t+r)/2],0,a,s,Ml(c)),d=Object.keys(l).find(u=>{let f=l[u];return f&&Ll(f,o,i)});if(d)return d;if(aa(c)){let u=(e+n)/2,f=(t+r)/2,p=ti/a.value,m=Rm([e-p,t-p],[n+p,r+p],[u,f],Pt(0));for(let[h,E]of Object.entries(m))if(Vn([o,i],E,p))return h}return!1},Cl=["ns","nesw","ew","nwse"],M0=(e,t)=>{let n=Cl.indexOf(e);if(n>=0){let r=Math.round(t/(Math.PI/4));e=Cl[(n+r)%Cl.length]}return e},D0=e=>{let{element:t,transformHandleType:n}=e,r=t&&Math.sign(t.height)*Math.sign(t.width)===-1,o=null;switch(n){case"n":case"s":o="ns";break;case"w":case"e":o="ew";break;case"nw":case"se":r?o="nesw":o="nwse";break;case"ne":case"sw":r?o="nwse":o="nesw";break;case"rotation":return"grab"}return o&&t&&(o=M0(o,t.angle)),o?`${o}-resize`:""},Rm=([e,t],[n,r],o,i)=>{let a=de([e,t],i,o),s=de([n,t],i,o),c=de([e,r],i,o),l=de([n,r],i,o);return{n:[a,s],e:[s,l],s:[l,c],w:[c,a]}};g();var la=e=>e<0?e+2*Math.PI:e>=2*Math.PI?e-2*Math.PI:e,C0=(e,t,n,r,o,i,a,s,c,l,d)=>{if(n.length===1){let[u]=n;return t==="rotation"?(L0(u,r,s,c,o),Mt(u,r)):$(u)&&t?(O0(e,u,r,t,i,s,c),Mt(u,r)):t&&R0(e,a,u,r,t,i,s,c),!0}else if(n.length>1){if(t==="rotation")return N0(e,n,r,s,c,o,l,d),!0;if(t)return F0(e,n,r,t,i,a,s,c),!0}return!1},L0=(e,t,n,r,o)=>{let[i,a,s,c]=G(e,t),l=(i+s)/2,d=(a+c)/2,u;ee(e)?u=0:(u=5*Math.PI/2+Math.atan2(r-d,n-l),o&&(u+=vt/2,u-=u%vt),u=la(u));let f=Xt(e);if(R(e,{angle:u}),f){let p=xn.getScene(e)?.getElement(f);p&&!j(e)&&R(p,{angle:u})}},k0=(e,t,n,r)=>J(e)||ge(e)?{points:bn(0,t,bn(1,n,e.points,r),r)}:{},kl=(e,t,n)=>{let r=e.width;if(be(e)){let a=Se(e,t);a&&(r=ct(a,e))}let i=e.fontSize*(n/r);return i<Qo?null:{size:i}},O0=(e,t,n,r,o,i,a)=>{let[s,c,l,d,u,f]=G(t,n),[p,m]=V(i,a,u,f,-t.angle),h=0,E=0;r!=="e"&&r!=="w"&&(r.includes("e")&&(h=(p-s)/(l-s)),r.includes("w")&&(h=(l-p)/(l-s)),r.includes("n")&&(E=(d-m)/(d-c)),r.includes("s")&&(E=(m-c)/(d-c)));let x=Math.max(h,E);if(x>0){let w=t.width*x,y=t.height*x,T=kl(t,n,w);if(T===null)return;let b=[s,c],D=[l,d],S=[u,f],A=[s,c];if(["n","w","nw"].includes(r)&&(A=[D[0]-Math.abs(w),D[1]-Math.abs(y)]),r==="ne"){let O=[b[0],D[1]];A=[O[0],O[1]-Math.abs(y)]}if(r==="sw"){let O=[D[0],b[1]];A=[O[0]-Math.abs(w),O[1]]}["s","n"].includes(r)&&(A[0]=S[0]-w/2),["e","w"].includes(r)&&(A[1]=S[1]-y/2),o&&(A[0]=S[0]-Math.abs(w)/2,A[1]=S[1]-Math.abs(y)/2);let I=t.angle,P=re(A,[u,f],I),_=[A[0]+Math.abs(w)/2,A[1]+Math.abs(y)/2],M=re(_,[u,f],I);A=re(P,M,-I);let[k,Y]=A;R(t,{fontSize:T.size,width:w,height:y,x:k,y:Y})}if(r==="e"||r==="w"){let w=e.get(t.id),[y,T,b,D]=Kt(w,w.width,w.height,!0),S=[y,T],A=[b,D],I=xr(S,A),P=re([i,a],I,-w.angle),[_,,M]=Kt(t,t.width,t.height,!0),k=M-_,Y=A[0]-S[0],O=Fi(se({fontSize:t.fontSize,fontFamily:t.fontFamily}),t.lineHeight),F=Y/k;r.includes("e")&&(F=(P[0]-S[0])/k),r.includes("w")&&(F=(A[0]-P[0])/k);let L=t.width*F<O?O:t.width*F,C=yn(t.originalText,se(t),Math.abs(L)),z=Ct(C,se(t),t.lineHeight),U=z.height,[le,fe,oe,pt]=Kt(w,L,U,!0),Rt=oe-le,Ke=pt-fe,Le=[...S];["n","w","nw"].includes(r)&&(Le=[A[0]-Math.abs(Rt),S[1]]);let mt=w.angle,nn=re(Le,I,mt),we=[Le[0]+Math.abs(Rt)/2,Le[1]+Math.abs(Ke)/2],ke=re(we,I,mt);Le=re(nn,ke,-mt);let Ue={width:Math.abs(L),height:Math.abs(z.height),x:Le[0],y:Le[1],text:C,autoResize:!1};R(t,Ue)}},R0=(e,t,n,r,o,i,a,s)=>{let c=e.get(n.id),[l,d,u,f]=Kt(c,c.width,c.height,!0),p=[l,d],m=[u,f],h=xr(p,m),E=re([a,s],h,-c.angle),[x,w,y,T]=Kt(n,n.width,n.height,!0),b=y-x,D=T-w,S=m[0]-p[0],A=m[1]-p[1],I=S/b,P=A/D,_={},M=q(n,r);o.includes("e")&&(I=(E[0]-p[0])/b),o.includes("s")&&(P=(E[1]-p[1])/D),o.includes("w")&&(I=(m[0]-E[0])/b),o.includes("n")&&(P=(m[1]-E[1])/D);let k=c.width,Y=c.height,O=n.width*I,F=n.height*P;if(i&&(O=2*O-k,F=2*F-Y),t){let _e=Math.abs(O)/k,Zn=Math.abs(F)/Y;if(o.length===1&&(F*=_e,O*=Zn),o.length===2){let Sn=Math.max(_e,Zn);O=k*Sn*Math.sign(O),F=Y*Sn*Math.sign(F)}}if(M){let _e=e.get(M.id);if(_e&&(_={fontSize:_e.fontSize}),t){let Zn={...n,width:O,height:F},Sn=kl(M,r,ct(Zn,M));if(Sn===null)return;_={fontSize:Sn.size}}else{let Zn=Cf(se(M),M.lineHeight),Sn=Pf(M.fontSize,M.lineHeight);O=Math.max(O,Zn),F=Math.max(F,Sn)}}let[L,C,z,U]=Kt(c,O,F,!0),le=z-L,fe=U-C,oe=[...p];if(["n","w","nw"].includes(o)&&(oe=[m[0]-Math.abs(le),m[1]-Math.abs(fe)]),o==="ne"){let _e=[p[0],m[1]];oe=[_e[0],_e[1]-Math.abs(fe)]}if(o==="sw"){let _e=[m[0],p[1]];oe=[_e[0]-Math.abs(le),_e[1]]}t&&(["s","n"].includes(o)&&(oe[0]=h[0]-le/2),["e","w"].includes(o)&&(oe[1]=h[1]-fe/2));let pt=O<0,Rt=F<0;pt&&(o.includes("e")&&(oe[0]-=Math.abs(le)),o.includes("w")&&(oe[0]+=Math.abs(le))),Rt&&(o.includes("s")&&(oe[1]-=Math.abs(fe)),o.includes("n")&&(oe[1]+=Math.abs(fe))),i&&(oe[0]=h[0]-Math.abs(le)/2,oe[1]=h[1]-Math.abs(fe)/2);let Ke=c.angle,Le=re(oe,h,Ke),mt=[oe[0]+Math.abs(le)/2,oe[1]+Math.abs(fe)/2],nn=re(mt,h,Ke);oe=re(Le,nn,-Ke);let we=[...oe],ke=c.x-L,Ue=c.y-C;we[0]+=ke,we[1]+=Ue;let An=we[0],Ym=we[1],Gl,zl;(J(n)||ge(n))&&(Gl=bn(1,F,c.points,!0),zl=bn(0,O,Gl,!0));let rn={width:Math.abs(O),height:Math.abs(F),x:An,y:Ym,points:zl};if("scale"in n&&"scale"in c&&R(n,{scale:[(Math.sign(z-c.x)||c.scale[0])*c.scale[0],(Math.sign(U-c.y)||c.scale[1])*c.scale[1]]}),j(n)&&M&&t){let _e=rn.width/n.width*M.fontSize;if(_e<Qo)return;_.fontSize=_e}rn.width!==0&&rn.height!==0&&Number.isFinite(rn.x)&&Number.isFinite(rn.y)&&(R(n,rn),Mt(n,r,{newSize:{width:rn.width,height:rn.height}}),M&&_!=null&&R(M,{fontSize:_.fontSize}),$n(n,r,o,t))},F0=(e,t,n,r,o,i,a,s)=>{let c=t.reduce((C,z)=>{let U=e.get(z.id);return U&&C.push({orig:U,latest:z}),C},[]),l=c.reduce((C,{orig:z})=>{if(!J(z))return C;let U=Xt(z);if(!U)return C;let le=e.get(U)??null;if(!be(le))return C;let fe=K.getBoundTextElementPosition(z,le,n);return[...C,{...le,...fe}]},[]),{minX:d,minY:u,maxX:f,maxY:p,midX:m,midY:h}=Kf(c.map(({orig:C})=>C).concat(l)),E=f-d,x=p-u,w=r,y={ne:[d,p],se:[d,u],sw:[f,u],nw:[f,p],e:[d,u+x/2],w:[f,u+x/2],n:[d+E/2,p],s:[d+E/2,u]},[T,b]=o?[m,h]:y[w],D=o?2:1,S=Math.max(Math.abs(a-T)/E||0,Math.abs(s-b)/x||0)*D;if(S===0)return;let A=w.includes("e")||w.includes("w")?Math.abs(a-T)/E*D:1,I=w.includes("n")||w.includes("s")?Math.abs(s-b)/x*D:1,P=i||c.some(C=>C.latest.angle!==0||$(C.latest)||tp(C.latest));P&&(A=S,I=S);let _={ne:[a<T,s>b],se:[a<T,s<b],sw:[a>T,s<b],nw:[a>T,s>b],e:[a<T,!1],w:[a>T,!1],n:[!1,s>b],s:[!1,s<b]},[M,k]=_[w].map(C=>C?-1:1),Y=M<0,O=k<0,F=[];for(let{orig:C,latest:z}of c){if($(C)&&be(C))continue;let U=C.width*A,le=C.height*I,fe=la(C.angle*M*k),oe=J(C)||ge(C),pt=C.x-T,Rt=C.y-b,Ke=Y&&!oe?U:0,Le=O&&!oe?le:0,mt=T+M*(pt*A+Ke),nn=b+k*(Rt*I+Le),we=k0(C,U*M,le*k,!1),ke={x:mt,y:nn,width:U,height:le,angle:fe,...we};if(ci(C)&&(ke.scale=[C.scale[0]*M,C.scale[1]*k]),$(C)){let An=kl(C,n,U);if(!An)return;ke.fontSize=An.size}let Ue=e.get(Xt(C)??"");if(Ue)if(P){let An=Ue.fontSize*S;if(An<Qo)return;ke.boundTextFontSize=An}else ke.boundTextFontSize=Ue.fontSize;F.push({element:z,update:ke})}let L=F.map(({element:C})=>C);for(let{element:C,update:{boundTextFontSize:z,...U}}of F){let{width:le,height:fe,angle:oe}=U;R(C,U,!1),Mt(C,n,{simultaneouslyUpdated:L,newSize:{width:le,height:fe}});let pt=q(C,n);pt&&z&&(R(pt,{fontSize:z,angle:J(C)?void 0:oe},!1),$n(C,n,r,!0))}xn.getScene(F[0].element)?.triggerUpdate()},N0=(e,t,n,r,o,i,a,s)=>{let c=5*Math.PI/2+Math.atan2(o-s,r-a);i&&(c+=vt/2,c-=c%vt),t.filter(l=>!ee(l)).forEach(l=>{let[d,u,f,p]=G(l,n),m=(d+f)/2,h=(u+p)/2,E=e.get(l.id)?.angle??l.angle,[x,w]=V(m,h,a,s,c+E-l.angle);R(l,{x:l.x+(x-m),y:l.y+(w-h),angle:la(c+E)},!1),Mt(l,n,{simultaneouslyUpdated:t});let y=q(l,n);y&&!j(l)&&R(y,{x:y.x+(x-m),y:y.y+(w-h),angle:la(c+E)},!1)}),xn.getScene(t[0])?.triggerUpdate()},B0=(e,t,n,r,o)=>{let[i,a,s,c]=t.length===1?G(t[0],n):De(t),l=(i+s)/2,d=(a+c)/2,u=t.length===1?t[0].angle:0;switch([r,o]=V(r,o,l,d,-u),e){case"n":return V(r-(i+s)/2,o-a,0,0,u);case"s":return V(r-(i+s)/2,o-c,0,0,u);case"w":return V(r-i,o-(a+c)/2,0,0,u);case"e":return V(r-s,o-(a+c)/2,0,0,u);case"nw":return V(r-i,o-a,0,0,u);case"ne":return V(r-s,o-a,0,0,u);case"sw":return V(r-i,o-c,0,0,u);case"se":return V(r-s,o-c,0,0,u);default:return[0,0]}},G0=(e,t)=>{let[,[n,r]]=t.points;return e==="nw"&&(n<0||r<0)||e==="ne"&&n>=0||e==="sw"&&n<=0||e==="se"&&(n>0||r>0)?"end":"origin"};g();var z0=(e,t,n,r,o,i,a)=>{let s=new Set(t),c=t.filter(u=>ee(u)).map(u=>u.id);if(c.length>0)for(let u of o.getNonDeletedElements())u.frameId!==null&&c.includes(u.frameId)&&s.add(u);let l=De(Array.from(s).map(u=>e.originalElements.get(u.id)??u)),d=H0(l,n,i,a);s.forEach(u=>{if(Fm(e,u,d),!j(u)){let f=q(u,o.getNonDeletedElementsMap());f&&Fm(e,f,d)}Mt(u,o.getElementsMapIncludingDeleted(),{simultaneouslyUpdated:Array.from(s)})})},H0=(e,t,n,r)=>{let[o,i]=e,a=o+t.x+n.x,s=i+t.y+n.y;if(n.x===0||n.y===0){let[c,l]=fo(o+t.x,i+t.y,r);n.x===0&&(a=c),n.y===0&&(s=l)}return{x:a-o,y:s-i}},Fm=(e,t,n)=>{let r=e.originalElements.get(t.id)??t,o=r.x+n.x,i=r.y+n.y;R(t,{x:o,y:i})},U0=(e,t,n)=>{let[r,o]=De(e);return[t-r,n-o]},V0=(e,t,n,r,o,i,a,s,c,l,d,u,f=null)=>{c&&e.type!=="selection"&&(u?s=a/u:(Math.abs(i-r)>Math.abs(o-n)?{width:a,height:s}=ia(t,s,o<n?-a:a):{width:a,height:s}=ia(t,a,i<r?-s:s),s<0&&(s=-s)));let p=o<n?n-a:n,m=i<r?r-s:r;l&&(a+=a,s+=s,p=n-a/2,m=r-s/2);let h=null;if($(e)){s=e.height;let E=Fi(se({fontSize:e.fontSize,fontFamily:e.fontFamily}),e.lineHeight);a=Math.max(a,E),Math.abs(o-n)>Yd/d&&(h={autoResize:!1}),m=r,l&&(p=n-a/2)}a!==0&&s!==0&&R(e,{x:p+(f?.x??0),y:m+(f?.y??0),width:a,height:s,...h})};g();var $0=(e,t)=>!!(!e.viewModeEnabled&&(e.activeTool.type!=="custom"&&(e.editingElement||e.activeTool.type!=="selection"&&e.activeTool.type!=="eraser"&&e.activeTool.type!=="hand"&&e.activeTool.type!=="laser")||lt(t,e).length));var GC=e=>e.reduce((t,n)=>t+n.version,0),zC=e=>{let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e[n].versionNonce;return t>>>0},HC=e=>{let t=5381;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)+t+r}return t>>>0},lf=e=>e.filter(t=>!t.isDeleted&&!Do(t)),Tl=e=>e.filter(t=>!t.isDeleted),Dm=e=>!e.isDeleted,Nm=e=>Tl(e).map(t=>is(t.type)?{...t,lastCommittedPoint:null}:t),Fp=e=>Nm(e),Qi=e=>Nm(e);var Gm=async e=>{let t;if(e.type===B.png)try{return await(await import("./image-SZBFRCU2.js")).decodePngMetadata(e)}catch(n){throw n.message==="INVALID"?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new qt("Error: cannot restore image")}else if("text"in Blob?t=await e.text():t=await new Promise(n=>{let r=new FileReader;r.readAsText(e,"utf8"),r.onloadend=()=>{r.readyState===FileReader.DONE&&n(r.result)}}),e.type===B.svg)try{return await(await import("./image-SZBFRCU2.js")).decodeSvgMetadata({svg:t})}catch(n){throw n.message==="INVALID"?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):new qt("Error: cannot restore image")}return t};var Y0=e=>e&&e.name.match(/\.(json|excalidraw|png|svg)$/)?.[1]||null,dL=e=>e==="png"||e==="svg",kp=e=>{let t=Y0(e);return t==="png"||t==="svg"},da=e=>{let{type:t}=e||{};return!!t&&Object.values(qa).includes(t)},W0=async(e,t,n,r)=>{let o=await Gm(e),i;try{try{i=JSON.parse(o)}catch(a){throw da(e)?new qt("Image doesn't contain scene","IMAGE_NOT_CONTAINS_SCENE_DATA"):a}if(Rp(i))return{type:B.excalidraw,data:Mo({elements:Qi(i.elements||[]),appState:{theme:t?.theme,fileHandle:r||e.handle||null,...ii(i.appState||{}),...t?Ms(i.elements||[],t):{}},files:i.files},t,n,{repairBindings:!0,refreshDimensions:!1})};if(hl(i))return{type:B.excalidrawlib,data:i};throw new Error("Error: invalid file")}catch(a){throw a instanceof qt?a:new Error("Error: invalid file")}},Op=async(e,t,n,r)=>{let o=await W0(e,t,n,r);if(o.type!==B.excalidraw)throw new Error("Error: invalid file");return o.data},X0=(e,t="unpublished")=>{let n=JSON.parse(e);if(!hl(n))throw new Error("Invalid library");let r=n.libraryItems||n.library;return rm(r,t)},uL=async(e,t="unpublished")=>X0(await Gm(e),t),fL=async e=>new Promise(async(t,n)=>{try{li(e)&&(e=await e),e.toBlob(r=>{if(!r)return n(new Wi("Error: Canvas too big","CANVAS_POSSIBLY_TOO_BIG"));t(r)})}catch(r){n(r)}}),pL=async e=>{try{let t=await window.crypto.subtle.digest("SHA-1",await tn(e));return pu(new Uint8Array(t))}catch(t){return console.error(t),oi(40)}},mL=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let o=r.result;t(o)},r.onerror=o=>n(o),r.readAsDataURL(e)}),hL=(e,t="")=>{let n=e.indexOf(","),r=atob(e.slice(n+1)),o=e.slice(0,n).split(":")[1].split(";")[0],i=new ArrayBuffer(r.length),a=new Uint8Array(i);for(let s=0;s<r.length;s++)a[s]=r.charCodeAt(s);return new File([i],t,{type:o})},EL=async(e,t)=>{if(e.type===B.svg)return e;let[n,r]=await Promise.all([import("./pica-GFNRRI3K.js").then(i=>i.default),import("./image-blob-reduce.esm-2RRQLBYF.js").then(i=>i.default)]),o=r({pica:n({features:["js","wasm"]})});if(t.outputType){let{outputType:i}=t;o._create_blob=function(a){return this.pica.toBlob(a.out_canvas,i,.8).then(s=>(a.out_blob=s,a))}}if(!da(e))throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"});return new File([await o.toBlob(e,{max:t.maxWidthOrHeight})],e.name,{type:t.outputType||e.type})},gL=(e,t="")=>new File([new TextEncoder().encode(e)],t,{type:B.svg}),xL=async(e,t="")=>{let n;try{n=await fetch(e)}catch{throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"})}if(!n.ok)throw new Error("Error: failed to fetch image",{cause:"FETCH_ERROR"});let r=await n.blob();if(r.type&&da(r)){let o=t||r.name||"";return new File([r],o,{type:r.type})}throw new Error("Error: unsupported file type",{cause:"UNSUPPORTED"})},wL=async e=>{let t=e.dataTransfer.files.item(0),n=await Z0(e);return{file:t?await ml(t):null,fileHandle:n}},Z0=async e=>{if(_r)try{return await e.dataTransfer.items[0].getAsFileSystemHandle()||null}catch(t){return console.warn(t.name,t.message),null}return null},Bm=e=>{let t=null,n=`${[...new Uint8Array(e).slice(0,8)].join(" ")} `,r={png:"137 80 78 71 13 10 26 10 ",jpg:"255 216 255 ",gif:"71 73 70 56 57 97 "};return n===r.png?t=B.png:n.startsWith(r.jpg)?t=B.jpg:n.startsWith(r.gif)&&(t=B.gif),t},ca=(e,t,n)=>new File([e],n||"",{type:t}),ml=async e=>{if(e.type){if(da(e)){let t=await tn(e),n=Bm(t);n&&n!==e.type&&(e=ca(t,n,e.name))}}else if(e?.name?.endsWith(".excalidrawlib"))e=ca(await tn(e),B.excalidrawlib,e.name);else if(e?.name?.endsWith(".excalidraw"))e=ca(await tn(e),B.excalidraw,e.name);else{let t=await tn(e),n=Bm(t);n&&(e=ca(t,n,e.name))}return e},tn=e=>"arrayBuffer"in e?e.arrayBuffer():new Promise((t,n)=>{let r=new FileReader;r.onload=o=>{if(!o.target?.result)return n(new Error("Couldn't convert blob to ArrayBuffer"));t(o.target.result)},r.readAsArrayBuffer(e)});var Ol=e=>new Promise((t,n)=>{let r=typeof e=="string"?new Blob([new TextEncoder().encode(e)]):new Blob([e instanceof Uint8Array?e:new Uint8Array(e)]),o=new FileReader;o.onload=i=>{if(!i.target||typeof i.target.result!="string")return n(new Error("couldn't convert to byte string"));t(i.target.result)},o.readAsBinaryString(r)}),zm=e=>{let t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let r=0,o=e.length;r<o;r++)n[r]=e.charCodeAt(r);return t},Hm=e=>new TextDecoder("utf-8").decode(zm(e)),Um=async(e,t=!1)=>t?window.btoa(e):window.btoa(await Ol(e)),Vm=async(e,t=!1)=>t?window.atob(e):Hm(window.atob(e)),Rl=async({text:e,compress:t})=>{let n;if(t!==!1)try{n=await Ol((0,ua.deflate)(e))}catch(r){console.error("encode: cannot deflate",r)}return{version:"1",encoding:"bstring",compressed:!!n,encoded:n||await Ol(e)}},Fl=async e=>{let t;switch(e.encoding){case"bstring":t=e.compressed?e.encoded:await Hm(e.encoded);break;default:throw new Error(`decode: unknown encoding "${e.encoding}"`)}return e.compressed?(0,ua.inflate)(new Uint8Array(zm(t)),{to:"string"}):t};var K0=async e=>{let n=(0,Nl.default)(new Uint8Array(await tn(e))).find(r=>r.name==="tEXt");return n?Bl.default.decode(n.data):null},fm=async({blob:e,metadata:t})=>{let n=(0,Nl.default)(new Uint8Array(await tn(e))),r=Bl.default.encode(B.excalidraw,JSON.stringify(await Rl({text:t,compress:!0})));return n.splice(-1,0,r),new Blob([(0,$m.default)(n)],{type:B.png})},RL=async e=>{let t=await K0(e);if(t?.keyword===B.excalidraw)try{let n=JSON.parse(t.text);if(!("encoded"in n)){if("type"in n&&n.type===Pe.excalidraw)return t.text;throw new Error("FAILED")}return await Fl(n)}catch(n){throw console.error(n),new Error("FAILED")}throw new Error("INVALID")},FL=async({text:e})=>{let t=await Um(JSON.stringify(await Rl({text:e})),!0),n="";return n+=`<!-- payload-type:${B.excalidraw} -->`,n+="<!-- payload-version:2 -->",n+="<!-- payload-start -->",n+=t,n+="<!-- payload-end -->",n},NL=async({svg:e})=>{if(e.includes(`payload-type:${B.excalidraw}`)){let t=e.match(/<!-- payload-start -->\s*(.+?)\s*<!-- payload-end -->/);if(!t)throw new Error("INVALID");let o=(e.match(/<!-- payload-version:(\d+) -->/)?.[1]||"1")!=="1";try{let i=await Vm(t[1],o),a=JSON.parse(i);if(!("encoded"in a)){if("type"in a&&a.type===Pe.excalidraw)return i;throw new Error("FAILED")}return await Fl(a)}catch(i){throw console.error(i),new Error("FAILED")}}throw new Error("INVALID")};export{On as a,Yy as b,Wy as c,Ko as d,jo as e,H as f,Xy as g,Zy as h,Ky as i,jy as j,qy as k,Jy as l,qo as m,rb as n,ob as o,$d as p,ab as q,sb as r,lb as s,Wd as t,Xd as u,cb as v,db as w,ub as x,fb as y,Jo as z,pb as A,mb as B,hb as C,et as D,Eb as E,Ee as F,Re as G,xe as H,Tt as I,tt as J,ir as K,ei as L,Wr as M,gb as N,xb as O,wb as P,yb as Q,bb as R,qa as S,B as T,vb as U,Pe as V,Ja as W,Tb as X,Ab as Y,Sb as Z,_b as _,Ib as $,Kd as aa,Pb as ba,Mb as ca,ni as da,Db as ea,Cb as fa,Lb as ga,kb as ha,Ob as ia,Rb as ja,Fb as ka,Nb as la,jd as ma,Qa as na,Bb as oa,Gb as pa,Q as qa,es as ra,me as sa,zt as ta,ts as ua,Fe as va,zb as wa,eg as xa,tu as ya,Hb as za,Ub as Aa,Vb as Ba,nu as Ca,It as Da,oi as Ea,i1 as Fa,a1 as Ga,s1 as Ha,rg as Ia,l1 as Ja,c1 as Ka,rs as La,se as Ma,du as Na,uu as Oa,fu as Pa,d1 as Qa,u1 as Ra,We as Sa,Xr as Ta,f1 as Ua,Zr as Va,os as Wa,p1 as Xa,sr as Ya,m1 as Za,h1 as _a,E1 as $a,un as ab,g1 as bb,x1 as cb,w1 as db,y1 as eb,X as fb,b1 as gb,Ut as hb,v1 as ib,T1 as jb,A1 as kb,S1 as lb,li as mb,_1 as nb,Vt as ob,I1 as pb,Rn as qb,P1 as rb,mu as sb,M1 as tb,D1 as ub,C1 as vb,L1 as wb,k1 as xb,hu as yb,$t as zb,O1 as Ab,St as Bb,ci as Cb,di as Db,Kr as Eb,rt as Fb,$ as Gb,jr as Hb,Eu as Ib,ee as Jb,J as Kb,j as Lb,is as Mb,qr as Nb,lg as Ob,cg as Pb,as as Qb,lr as Rb,be as Sb,ui as Tb,G1 as Ub,z1 as Vb,kt as Wb,dt as Xb,Xi as Yb,qt as Zb,xp as _b,vo as $b,Wn as ac,xn as bc,Gi as cc,re as dc,Be as ec,Dt as fc,fo as gc,Zt as hc,c_ as ic,d_ as jc,Kg as kc,KT as lc,jg as mc,qg as nc,Ds as oc,Jg as pc,Pi as qc,dA as rc,Ge as sc,uA as tc,fA as uc,pA as vc,Ls as wc,_A as xc,ks as yc,Os as zc,IA as Ac,PA as Bc,MA as Cc,Di as Dc,sx as Ec,uo as Fc,Mt as Gc,DA as Hc,CA as Ic,gf as Jc,K as Kc,mo as Lc,Tf as Mc,Af as Nc,QA as Oc,Ws as Pc,Zs as Qc,cS as Rc,_f as Sc,Ct as Tc,wr as Uc,Pf as Vc,Ks as Wc,yn as Xc,Cf as Yc,Xt as Zc,q as _c,Se as $c,dS as ad,uS as bd,fS as cd,pS as dd,mS as ed,Ys as fd,ct as gd,Eo as hd,hS as id,Ri as jd,Fi as kd,G as ld,De as md,n_ as nd,Kf as od,r_ as pd,nt as qd,iu as rd,au as sd,Jx as td,E_ as ud,g_ as vd,Qx as wd,x_ as xd,Jf as yd,w_ as zd,ew as Ad,br as Bd,y_ as Cd,b_ as Dd,v_ as Ed,T_ as Fd,vr as Gd,P_ as Hd,op as Id,ip as Jd,ap as Kd,pw as Ld,mw as Md,hw as Nd,dp as Od,xo as Pd,J_ as Qd,Q_ as Rd,eI as Sd,tI as Td,Ot as Ud,sl as Vd,nI as Wd,Yn as Xd,ww as Yd,wo as Zd,yw as _d,rI as $d,Ki as ae,Sr as be,yp as ce,_p as de,Ip as ee,ZI as fe,KI as ge,_r as he,Lp as ie,pl as je,nm as ke,e0 as le,Mo as me,rm as ne,K0 as oe,fm as pe,RL as qe,FL as re,NL as se,Y0 as te,dL as ue,kp as ve,da as we,W0 as xe,Op as ye,X0 as ze,uL as Ae,fL as Be,pL as Ce,mL as De,hL as Ee,EL as Fe,gL as Ge,xL as He,wL as Ie,ml as Je,Po as Ke,I2 as Le,P2 as Me,Rw as Ne,M2 as Oe,Fw as Pe,Np as Qe,Bp as Re,O2 as Se,Gp as Te,z2 as Ue,H2 as Ve,U2 as We,V2 as Xe,$2 as Ye,Gw as Ze,zw as _e,El as $e,Q2 as af,eP as bf,xl as cf,Hw as df,lP as ef,fP as ff,Hp as gf,Up as hf,Vw as if,Wp as jf,Kp as kf,jp as lf,HP as mf,cM as nf,s0 as of,yM as pf,bM as qf,cm as rf,vM as sf,TM as tf,um as uf,Sl as vf,m0 as wf,h0 as xf,E0 as yf,kM as zf,mm as Af,w0 as Bf,Em as Cf,iD as Df,vn as Ef,aD as Ff,sD as Gf,Lo as Hf,yl as If,lD as Jf,cD as Kf,Ce as Lf,dD as Mf,v0 as Nf,_m as Of,T0 as Pf,uD as Qf,fD as Rf,ta as Sf,qp as Tf,Jp as Uf,Ox as Vf,DS as Wf,Js as Xf,ue as Yf,R as Zf,ut as _f,yo as $f,Do as ag,Im as bg,Us as cg,vl as dg,Ml as eg,sa as fg,Dl as gg,qD as hg,I0 as ig,P0 as jg,D0 as kg,C0 as lg,F0 as mg,B0 as ng,G0 as og,z0 as pg,U0 as qg,V0 as rg,$0 as sg,GC as tg,zC as ug,HC as vg,Tl as wg,Dm as xg,A0 as yg,Mi as zg,yD as Ag,ex as Bg,tx as Cg,lt as Dg,nx as Eg,al as Fg,Zg as Gg,Ms as Hg,Qg as Ig,QT as Jg};