@layers-app/editor 0.7.4 → 0.7.6

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 (211) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.js +2 -2
  3. package/dist/{layers.BO8Hn-rm.js → layers.0jH9zsSI.js} +1 -1
  4. package/dist/{layers.B8_pa-54.js → layers.6-N6wriP.js} +1 -1
  5. package/dist/{layers.DEBhFL1o.js → layers.6vFcaLzH.js} +2 -2
  6. package/dist/{layers.PqYuBQXl.js → layers.8__46a-f.js} +4 -4
  7. package/dist/{layers.DZa5HSRG.js → layers.B0fCPMhh.js} +1 -1
  8. package/dist/{layers.vNz3OlgV.js → layers.B1afmk7p.js} +1 -1
  9. package/dist/{layers.BXgfvGhi.js → layers.B2T7aMXY.js} +1 -1
  10. package/dist/{layers.u705Ruta.js → layers.B2m5wZWs.js} +1 -1
  11. package/dist/{layers.C4RAax8T.js → layers.B3-Mejpu.js} +1 -1
  12. package/dist/{layers.Cff-53EN.js → layers.B3EtIE2X.js} +1 -1
  13. package/dist/layers.B53NJhDF.js +8 -0
  14. package/dist/{layers.CMbp8xse.js → layers.B6wi3zwD.js} +1 -1
  15. package/dist/{layers.C1PaWpla.js → layers.BA-zbfHB.js} +4 -4
  16. package/dist/{layers.BWX6boj4.js → layers.BACEbMBB.js} +2 -2
  17. package/dist/{layers.BXGuc2-K.js → layers.BBWI8U94.js} +1 -1
  18. package/dist/{layers.BeK9Z_Lx.js → layers.BC4wD2CD.js} +39 -39
  19. package/dist/{layers.BCg_GJuN.js → layers.BD6s4Nez.js} +1 -1
  20. package/dist/{layers.CFlmbnp8.js → layers.BE4DvJIj.js} +1 -1
  21. package/dist/{layers.B_jwHYSL.js → layers.BErI4Pa9.js} +1 -1
  22. package/dist/{layers.PkviJyws.js → layers.BFCUgD18.js} +1 -1
  23. package/dist/{layers.B3wBBqbk.js → layers.BFxHJHzV.js} +1 -1
  24. package/dist/{layers.CxPrpVsn.js → layers.BGGfS6sC.js} +1 -1
  25. package/dist/{layers.BByZzSTh.js → layers.BGrtbZuh.js} +1 -1
  26. package/dist/{layers.BBp4x2_h.js → layers.BHzEh7jg.js} +7 -7
  27. package/dist/{layers.B3zDXw2s.js → layers.BIS-WV9w.js} +2 -2
  28. package/dist/{layers.CCyGuaek.js → layers.BJVwErTV.js} +1 -1
  29. package/dist/{layers.DfoLnWsa.js → layers.BLEMngB1.js} +1 -1
  30. package/dist/{layers.B5066J3S.js → layers.BMO-o1R_.js} +1 -1
  31. package/dist/{layers.D3ZJ0ELh.js → layers.BMOEwfE_.js} +1 -1
  32. package/dist/{layers.DDlEHnwQ.js → layers.BMU8JS4Q.js} +1 -1
  33. package/dist/{layers.DYgplVfH.js → layers.BMv-2m-c.js} +1 -1
  34. package/dist/{layers.dufPYx9t.js → layers.BOo8OnK5.js} +1 -1
  35. package/dist/{layers.CN3jcXWO.js → layers.BQ0YeM6t.js} +1 -1
  36. package/dist/{layers.BHu5wehi.js → layers.BRTxpCFu.js} +1 -1
  37. package/dist/{layers.BrB95wWY.js → layers.BT_zNTKu.js} +1 -1
  38. package/dist/{layers.CEBbGzyZ.js → layers.BUL-2Gd8.js} +4 -4
  39. package/dist/{layers.DcoUKUCf.js → layers.BUh8bdCQ.js} +1 -1
  40. package/dist/{layers.D8OA-lkz.js → layers.BWjVCEkI.js} +1 -1
  41. package/dist/{layers.O5hsvutN.js → layers.BaP_RXnc.js} +1 -1
  42. package/dist/{layers.CTz1C0Ts.js → layers.BaZTGLnl.js} +1 -1
  43. package/dist/{layers.BKJxDJ6O.js → layers.BbgkRM92.js} +1 -1
  44. package/dist/{layers.SAZiw0Lp.js → layers.BfeqZYQ1.js} +3 -3
  45. package/dist/{layers.4JMGuvw-.js → layers.BfqIDxJb.js} +1 -1
  46. package/dist/{layers.BXHhD-Aq.js → layers.Bg8j08Vj.js} +1 -1
  47. package/dist/{layers.7fMiH1Qr.js → layers.BhE9QAKR.js} +1 -1
  48. package/dist/{layers.gwcAr3gx.js → layers.BhvRXN2W.js} +1 -1
  49. package/dist/{layers.Bhi4tjbN.js → layers.BivrAC2Q.js} +1 -1
  50. package/dist/{layers.B95ol2is.js → layers.Bn55Wjxq.js} +1 -1
  51. package/dist/{layers.ydJA0T1Y.js → layers.Bnx167-9.js} +1 -1
  52. package/dist/{layers.DGWquFOZ.js → layers.BoY1LKu1.js} +1 -1
  53. package/dist/{layers.DCtost7P.js → layers.BpJdWJUV.js} +1 -1
  54. package/dist/{layers.DMuVCUAz.js → layers.BqTWYKBf.js} +1 -1
  55. package/dist/{layers.C_nVPQ3B.js → layers.BtjJBkru.js} +1 -1
  56. package/dist/{layers.C6DsT_XR.js → layers.ByviXY8T.js} +1 -1
  57. package/dist/layers.BzPPy4pp.js +1 -0
  58. package/dist/{layers.jyrFagZX.js → layers.C0iQ6yOV.js} +1 -1
  59. package/dist/{layers.TO5lZhvh.js → layers.C222xpZS.js} +1 -1
  60. package/dist/{layers.BbVroSdL.js → layers.C224jCgj.js} +1 -1
  61. package/dist/{layers.C9q4JSTx.js → layers.C2Ua6cU-.js} +1 -1
  62. package/dist/{layers.DT-Mu_ab.js → layers.C2tjS0hE.js} +2 -2
  63. package/dist/{layers.5y48e3b4.js → layers.C3hw-lev.js} +1 -1
  64. package/dist/{layers.VuxVlSik.js → layers.C4GyuaHB.js} +4 -4
  65. package/dist/{layers.CnJoio3R.js → layers.C8-feWmI.js} +1 -1
  66. package/dist/{layers.IyFAULwW.js → layers.C8K6Q-VA.js} +1 -1
  67. package/dist/{layers.CXc-ou9d.js → layers.C8rpjMyw.js} +4 -4
  68. package/dist/{layers.Crc2b8VX.js → layers.C9l3dtoz.js} +1 -1
  69. package/dist/{layers.DvmZW5iz.js → layers.C9zPqgJk.js} +1 -1
  70. package/dist/{layers.D9cbGtTM.js → layers.CDt2mR0y.js} +1 -1
  71. package/dist/{layers.BHUG1Paf.js → layers.CEuskuAv.js} +1 -1
  72. package/dist/{layers.pLtNJb4n.js → layers.CJKPTAfd.js} +24 -24
  73. package/dist/{layers.B24W17Cm.js → layers.CK9gDhIV.js} +1 -1
  74. package/dist/{layers.DIx3kTCu.js → layers.CL68df2Z.js} +3 -3
  75. package/dist/{layers.vNd4UOz1.js → layers.CL6Xlbk2.js} +1 -1
  76. package/dist/{layers.B5vHM26b.js → layers.CN3uKAoG.js} +1 -1
  77. package/dist/{layers.CgY-8viy.js → layers.CNDQ7G_1.js} +1 -1
  78. package/dist/{layers.DC3AqiBJ.js → layers.CO48CwTU.js} +1 -1
  79. package/dist/{layers.DDj7oJ-q.js → layers.CRB1gwEH.js} +2 -2
  80. package/dist/{layers.7zK-MEal.js → layers.CRE_d7s6.js} +1 -1
  81. package/dist/{layers.C0ArJ2va.js → layers.CS4iZf8m.js} +1 -1
  82. package/dist/{layers.Bl5Dw8i_.js → layers.CT4L8w8z.js} +1 -1
  83. package/dist/layers.CTFXm9W5.js +1 -0
  84. package/dist/{layers.CHqyX65J.js → layers.CWOvlxo1.js} +1 -1
  85. package/dist/{layers.CwIBbNFr.js → layers.CXNcrz13.js} +1 -1
  86. package/dist/{layers.DVJ4XBzU.js → layers.Ca03MrlW.js} +3 -3
  87. package/dist/{layers.CwkyPkOq.js → layers.CdV4Loa_.js} +1 -1
  88. package/dist/{layers.j0JqxziV.js → layers.CfwZHKBs.js} +1 -1
  89. package/dist/{layers.C3s9B1S3.js → layers.Cj8VJpZq.js} +1 -1
  90. package/dist/{layers.DoGUN0cA.js → layers.CkOBz8KQ.js} +3 -3
  91. package/dist/{layers.0pYxuazd.js → layers.Cksj8OcB.js} +1 -1
  92. package/dist/{layers.MF5yqA98.js → layers.Cl_GZLpD.js} +1 -1
  93. package/dist/{layers.Db9H8NdP.js → layers.CmCDAtow.js} +1 -1
  94. package/dist/{layers.YO-zm79Z.js → layers.CnrLIpWH.js} +1 -1
  95. package/dist/{layers.ajkFzRtJ.js → layers.Co5TTmk0.js} +3 -3
  96. package/dist/{layers.BNJ69fRd.js → layers.CoprJIaw.js} +1 -1
  97. package/dist/{layers.D-k5lTzU.js → layers.CoteoWxl.js} +1 -1
  98. package/dist/{layers.cwS-kYHz.js → layers.CvftPmv7.js} +1 -1
  99. package/dist/{layers.Ct2faGJU.js → layers.Cxl_b7eJ.js} +1 -1
  100. package/dist/{layers.DHx6dqKe.js → layers.CyXza4vy.js} +3 -3
  101. package/dist/{layers.DlfMKkAf.js → layers.Cz7i-WFU.js} +1 -1
  102. package/dist/{layers.B1ohhUN7.js → layers.D1NFvuKJ.js} +4 -4
  103. package/dist/{layers.Ec6FZSul.js → layers.D1dkvLaK.js} +1 -1
  104. package/dist/{layers.DGJFF9kl.js → layers.D1tYGem0.js} +1 -1
  105. package/dist/{layers.BqsejM6r.js → layers.D31SMKfJ.js} +1 -1
  106. package/dist/{layers.CdQBVrit.js → layers.D3e0rbrq.js} +1 -1
  107. package/dist/{layers.BKHFUvmA.js → layers.D4BqAhbI.js} +1 -1
  108. package/dist/{layers.BByPJctD.js → layers.D4TQaY2i.js} +1 -1
  109. package/dist/{layers.Cy-VjFod.js → layers.D4pl-sME.js} +2341 -2334
  110. package/dist/{layers.PMzMEiLY.js → layers.D6cPsgAa.js} +1 -1
  111. package/dist/{layers.BVCiwobX.js → layers.D8zKjrcF.js} +1 -1
  112. package/dist/{layers.BocGvXl8.js → layers.DEEXHQjK.js} +1 -1
  113. package/dist/{layers.CaU9O7TC.js → layers.DETXfwcX.js} +1 -1
  114. package/dist/{layers.Cyd1DlZx.js → layers.DIUSbm7h.js} +1 -1
  115. package/dist/{layers.0zKUcaOw.js → layers.DKHw4js6.js} +1 -1
  116. package/dist/{layers.CgqA26wP.js → layers.DMLNP-3B.js} +1 -1
  117. package/dist/{layers.B5qtkynd.js → layers.DMeY_usf.js} +1 -1
  118. package/dist/{layers.BalDLfH4.js → layers.DN8hg8mF.js} +1 -1
  119. package/dist/{layers.n6AqNBB5.js → layers.DOV_vx7K.js} +1 -1
  120. package/dist/{layers.DIBx_pcC.js → layers.DQDs0_ex.js} +1 -1
  121. package/dist/{layers.CjE9Oest.js → layers.DQJtGkQ6.js} +1 -1
  122. package/dist/{layers.CKrdjxjV.js → layers.DRkt-_2d.js} +1 -1
  123. package/dist/{layers.7mAL_3OH.js → layers.DS0uS9gX.js} +1 -1
  124. package/dist/{layers.Dv8D26C-.js → layers.DSymvqrh.js} +1 -1
  125. package/dist/{layers.BavbTh4N.js → layers.DTbwA7uB.js} +1 -1
  126. package/dist/{layers.DfEs9fyr.js → layers.DWrhnDt7.js} +1 -1
  127. package/dist/{layers.CaDMCTNh.js → layers.DXJ1A1oE.js} +1 -1
  128. package/dist/{layers.CQII06Hl.js → layers.DXLErCOy.js} +1 -1
  129. package/dist/{layers.DSeufiBi.js → layers.DYvqgjd6.js} +1 -1
  130. package/dist/{layers.BdagkZqh.js → layers.DZbInjy0.js} +1 -1
  131. package/dist/{layers.BiOhKbR1.js → layers.D_4F6bzE.js} +3 -3
  132. package/dist/{layers.JVcLAS7S.js → layers.D_ngBzQB.js} +3 -3
  133. package/dist/{layers.DV-3Kzkw.js → layers.Da4Eciik.js} +1 -1
  134. package/dist/{layers.CZK3Co6A.js → layers.DcOMnN8v.js} +1 -1
  135. package/dist/{layers.CAWqwoI2.js → layers.Dcw60jvM.js} +1 -1
  136. package/dist/{layers.Baw7-InZ.js → layers.DeCStoRh.js} +1 -1
  137. package/dist/{layers.BSQejxDO.js → layers.Dj8G1_jX.js} +1 -1
  138. package/dist/{layers.Z3lyCo3h.js → layers.DjVXs0ui.js} +1 -1
  139. package/dist/{layers.VyV2HWFe.js → layers.DjWvbMpj.js} +1 -1
  140. package/dist/{layers.DysqWr_s.js → layers.Djr7usMN.js} +1 -1
  141. package/dist/{layers.DI4-Stag.js → layers.DkqdPfnK.js} +3 -3
  142. package/dist/{layers.BEGdyxVV.js → layers.DnHbhhJd.js} +1 -1
  143. package/dist/{layers.CSaOgXWV.js → layers.DnIbPfhQ.js} +1 -1
  144. package/dist/{layers.BdhvvLjH.js → layers.DoiauG3Z.js} +2 -2
  145. package/dist/{layers.BPaouZ50.js → layers.Dosrekcc.js} +4 -4
  146. package/dist/{layers.Uq_hER_-.js → layers.DqGoszWD.js} +1 -1
  147. package/dist/{layers.Dk3aOCwi.js → layers.DqanzI69.js} +1 -1
  148. package/dist/layers.DrSZqAQC.js +6 -0
  149. package/dist/{layers.Di33ucoi.js → layers.DtD4rSgh.js} +1 -1
  150. package/dist/{layers.AbKDNhCA.js → layers.Dwr0X5qY.js} +1 -1
  151. package/dist/{layers.B3mw2hLk.js → layers.DylBabqV.js} +1 -1
  152. package/dist/{layers.q_Inmvcb.js → layers.DypKvLfI.js} +1 -1
  153. package/dist/{layers.CZC8Qj41.js → layers.DzsE7RLz.js} +6 -6
  154. package/dist/{layers.DpXOGHml.js → layers.E-vomQOH.js} +1 -1
  155. package/dist/{layers.FTq2BzPm.js → layers.EjlEuDfU.js} +1 -1
  156. package/dist/{layers.B1tSJYQk.js → layers.En0VZEE3.js} +1 -1
  157. package/dist/{layers.BqTSoGm0.js → layers.F4ECKXPg.js} +1 -1
  158. package/dist/{layers.CGeadALw.js → layers.FFc7xVtM.js} +1 -1
  159. package/dist/{layers.C5eJIl5R.js → layers.FfSAMMBm.js} +4 -4
  160. package/dist/{layers.-EH91MoV.js → layers.FlhEB47H.js} +1 -1
  161. package/dist/{layers.CTO86nsm.js → layers.GF9H0k5F.js} +1 -1
  162. package/dist/{layers.DHlX44av.js → layers.HDTZu0aB.js} +3 -3
  163. package/dist/{layers.9dfuQa3j.js → layers.Hy3GkQaL.js} +1 -1
  164. package/dist/{layers.P7VPFLKV.js → layers.Ib3L5F2k.js} +1 -1
  165. package/dist/{layers.C0dv4eei.js → layers.Ip0lgQG9.js} +1 -1
  166. package/dist/{layers.DaSi0VkH.js → layers.J9lobJqk.js} +5 -5
  167. package/dist/{layers.DFQ3-ndv.js → layers.JX_YxudZ.js} +1 -1
  168. package/dist/{layers.DaXGYBTk.js → layers.KD5GirJJ.js} +1 -1
  169. package/dist/{layers.DB30i9UX.js → layers.KQVAlTrR.js} +1 -1
  170. package/dist/{layers.BtAXnNfm.js → layers.M_QE2lqo.js} +1 -1
  171. package/dist/{layers.DA45CBo7.js → layers.NRqb__9T.js} +1 -1
  172. package/dist/{layers.uNK9BXKp.js → layers.OSJwPMdU.js} +1 -1
  173. package/dist/{layers.DCMSFkqi.js → layers.OVbVjrhl.js} +1 -1
  174. package/dist/{layers.CZlvgTnj.js → layers.PT01AlTd.js} +1 -1
  175. package/dist/{layers.JmQ_aCHP.js → layers.R_FKD1XR.js} +1 -1
  176. package/dist/{layers.dwklyGJ-.js → layers.TiKsOzMM.js} +1 -1
  177. package/dist/{layers.CvNiI3cI.js → layers.VtfXD64u.js} +1 -1
  178. package/dist/{layers.CV--URbd.js → layers.W0GZ96HZ.js} +1 -1
  179. package/dist/{layers.ANeEyWG-.js → layers.X2sE2emc.js} +1 -1
  180. package/dist/{layers.BWPNdz72.js → layers.XIzqD1TC.js} +1 -1
  181. package/dist/{layers.DJuyDzrh.js → layers.XrggmcAe.js} +3 -3
  182. package/dist/{layers.Blc7o3nx.js → layers.YBRzC-a4.js} +1 -1
  183. package/dist/{layers.B4JJQGxV.js → layers.YjC3yFX4.js} +1 -1
  184. package/dist/{layers.De-T8d-Q.js → layers.ZxExF5fa.js} +1 -1
  185. package/dist/{layers.0hT3KBUy.js → layers.a43zNLVv.js} +1 -1
  186. package/dist/{layers.Bs7tr4HK.js → layers.bV91SmsS.js} +1 -1
  187. package/dist/{layers.CB5ejlyN.js → layers.dksz-spd.js} +1 -1
  188. package/dist/{layers.BvrqLMFU.js → layers.gKEMl-v8.js} +1 -1
  189. package/dist/{layers.BQGiZ_KG.js → layers.gzI9zu2j.js} +1 -1
  190. package/dist/{layers.xfDCmQCp.js → layers.h-0NZsoH.js} +8 -8
  191. package/dist/{layers.BuYhlumk.js → layers.hGPp-U9D.js} +2 -2
  192. package/dist/{layers.BC3ApRsQ.js → layers.hQpSLRkc.js} +1 -1
  193. package/dist/{layers.BpyjKhwA.js → layers.i7qwBwMG.js} +1 -1
  194. package/dist/{layers.CBeNh4GM.js → layers.iEh-OWMy.js} +1 -1
  195. package/dist/{layers.Dnfeg8u_.js → layers.jHGgq7uK.js} +1 -1
  196. package/dist/{layers.BoXHaedz.js → layers.jZcuw-Cv.js} +3 -3
  197. package/dist/{layers.DiOlN6Hs.js → layers.jyId06n8.js} +1 -1
  198. package/dist/{layers.Y22ed1qN.js → layers.orJMbLi8.js} +1 -1
  199. package/dist/{layers.CdrZr6Mp.js → layers.qACrxv9C.js} +4 -4
  200. package/dist/{layers.CbaS3aWE.js → layers.qa8iv6ei.js} +1 -1
  201. package/dist/{layers.B4L4fjQs.js → layers.s5q8B_YA.js} +1 -1
  202. package/dist/{layers.DbXonys2.js → layers.sQWNS18m.js} +1 -1
  203. package/dist/{layers.oBUKHW-m.js → layers.xwfMJroe.js} +1 -1
  204. package/dist/{layers.D5L8zmoP.js → layers.yKtYgPOu.js} +1 -1
  205. package/dist/{layers.D0u7u5SG.js → layers.zfIK6YQQ.js} +1 -1
  206. package/dist/{layers.DeMCa51I.js → layers.zrXywO_E.js} +5 -5
  207. package/package.json +1 -1
  208. package/dist/layers.CgtXrXHc.js +0 -1
  209. package/dist/layers.HqAw9hxr.js +0 -8
  210. package/dist/layers.dXC6DxiO.js +0 -6
  211. package/dist/layers.wXhjkR5B.js +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.BBp4x2_h.js");var u={paste:"បិទភ្ជាប់",pasteAsPlaintext:"បិទភ្ជាប់ជាអត្ថបទធម្មតា",pasteCharts:"បិទភ្ជាប់តារាង",selectAll:"ជ្រើសរើស​ទាំងអស់",multiSelect:"បន្ថែមធាតុទៅលើការជ្រើសរើស",moveCanvas:"ផ្លាស់ទីបាវ",cut:"កាត់",copy:"ចម្លង",copyAsPng:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​ PNG",copyAsSvg:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​ SVG",copyText:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​អត្ថបទ",copySource:"",convertToCode:"",bringForward:"នាំយកទៅលើ",sendToBack:"នាំយកទៅក្រោយបង្អស់",bringToFront:"នាំយកទៅលើបង្អស់",sendBackward:"នាំយកទៅក្រោយ",delete:"លុប",copyStyles:"ចម្លងរចនាប័ទ្ម",pasteStyles:"បិទភ្ជាប់រចនាប័ទ្ម",stroke:"ខ្វាច់",background:"ផ្ទៃខាងក្រោយ",fill:"បំពេញ",strokeWidth:"ទទឹងខ្វាច់",strokeStyle:"រចនាប័ទ្មរបស់ខ្វាច់",strokeStyle_solid:"តាន់",strokeStyle_dashed:"ដាច់ៗ",strokeStyle_dotted:"ចំណុចៗ",sloppiness:"រចនាប័ទ្មបន្ទាត់",opacity:"ភាពច្បាស់",textAlign:"តម្រឹមអត្ថបទ",edges:"គែម",sharp:"មុត",round:"រាងមូល",arrowheads:"ក្បាលព្រួញ",arrowhead_none:"គ្មាន",arrowhead_arrow:"ព្រួញ",arrowhead_bar:"របារ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"ត្រីកោណ",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ទំហំពុម្ពអក្សរ",fontFamily:"ក្រុម​ពុម្ពអក្សរ",addWatermark:'បន្ថែមវ៉ាត់ធើម៉ាក "Made with Excalidraw"',handDrawn:"គូរដោយដៃ",normal:"ធម្មតា",code:"កូដ",small:"តូច",medium:"មធ្យម",large:"ធំ",veryLarge:"ធំខ្លាំង",solid:"តាន់",hachure:"Hachure",zigzag:"Zigzag",crossHatch:"បន្ទាត់ឆ្នូតៗ",thin:"ស្តើង",bold:"ដឹត",left:"ខាងឆ្វេង",center:"កណ្ដាល",right:"នៅខាងស្ដាំ",extraBold:"ដិតបន្ថែម",architect:"ស្ថាបត្យករ",artist:"សិល្បៈករ",cartoonist:"អ្នកគំនូរជីវចល",fileTitle:"ឈ្មោះ​ឯកសារ",colorPicker:"ឧបករណ៍​ជ្រើស​ពណ៌",canvasColors:"ប្រើលើបាវ",canvasBackground:"ផ្ទៃខាងក្រោយបាវ",drawingCanvas:"តំបន់គំនូរ",layers:"ស្រទាប់",actions:"សកម្មភាព",language:"ភាសា",liveCollaboration:"សហការគ្នាផ្ទាល់...",duplicateSelection:"ចម្លង",untitled:"គ្មានឈ្មោះ",name:"ឈ្មោះ",yourName:"ឈ្មោះ​របស់​អ្នក",madeWithExcalidraw:"បង្កើតជាមួយ Excalidraw",group:"ការជ្រើសរើសជាក្រុម",ungroup:"បំបែកក្រុមការជ្រើសរើសជាក្រុម",collaborators:"អ្នកសហការ",showGrid:"បង្ហាញក្រឡាចត្រង្គ",addToLibrary:"បន្ថែមទៅបណ្ណាល័យ",removeFromLibrary:"លុបចេញពីបណ្ណាល័យ",libraryLoadingMessage:"កំពុងផ្ទុកបណ្ណាល័យ...",libraries:"រកមើលបណ្ណាល័យ",loadingScene:"កំពុង​ផ្ទុក​ស៊ីន...",align:"តម្រឹម",alignTop:"តម្រឹមផ្នែកខាងលើ",alignBottom:"តម្រឹមផ្នែកខាងក្រោម",alignLeft:"​តម្រឹម​ឆ្វេង",alignRight:"តម្រឹម​ស្តាំ",centerVertically:"កណ្តាល​បញ្ឈរ",centerHorizontally:"កណ្តាល​ផ្ដេក",distributeHorizontally:"ចែកចាយផ្ដេក",distributeVertically:"ចែកចាយបញ្ឈរ",flipHorizontal:"ត្រឡប់​ដោយ​ផ្ដេក",flipVertical:"ត្រឡប់​ដោយ​បញ្ឈរ",viewMode:"ម៉ូដ​បង្ហាញ",share:"ចែករំលែក",showStroke:"បង្ហាញឧបករណ៍ជ្រើសរើសពណ៌ខ្វាច់",showBackground:"បង្ហាញឧបករណ៍ជ្រើសរើសពណ៌ផ្ទៃខាងក្រោយ",toggleTheme:"បិទ/បើកប្រធានបទ",personalLib:"បណ្ណាល័យផ្ទាល់ខ្លួន",excalidrawLib:"បណ្ណាល័យ Excalidraw",decreaseFontSize:"បន្ថយទំហំពុម្ពអក្សរ",increaseFontSize:"បង្កើនទំហំពុម្ពអក្សរ",unbindText:"ស្រាយអត្ថបទ",bindText:"ភ្ជាប់អត្ថបទទៅប្រអប់",createContainerFromText:"រុំអត្ថបទក្នុងប្រអប់មួយ",link:{edit:"កែតំណភ្ជាប់",editEmbed:"",create:"បង្កើតតំណភ្ជាប់",createEmbed:"",label:"តំណ",labelEmbed:"",empty:""},lineEditor:{edit:"កែសម្រួលបន្ទាត់",exit:"ចាកចេញពីការកែសម្រួលបន្ទាត់"},elementLock:{lock:"ចាក់សោ",unlock:"ដោះសោ",lockAll:"ចាក់សោទាំងអស់",unlockAll:"ដោះសោទាំងអស់"},statusPublished:"ត្រូវបានបោះពុម្ពផ្សាយ",sidebarLock:"ទុករបារចំហៀងបើក",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},B={noItems:"មិនទាន់មានធាតុបន្ថែមទេ...",hint_emptyLibrary:"ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ ឬដំឡើងបណ្ណាល័យពីឃ្លាំងសាធារណៈខាងក្រោម។",hint_emptyPrivateLibrary:"ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ"},C={clearReset:"កំណត់បាវឡើងវិញ",exportJSON:"នាំចេញជាឯកសារ",exportImage:"នាំរូបភាពចេញ",export:"រក្សាទុក​នៅ...",copyToClipboard:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់",save:"រក្សាទុកទៅឯកសារបច្ចុប្បន្ន",saveAs:"រក្សាទុក​ជា",load:"បើក",getShareableLink:"យកតំណដែលអាចចែករំលែកបាន",close:"បិទ",selectLanguage:"រើសភាសា",scrollBackToContent:"រំកិលត្រឡប់ទៅមាតិកាវិញ",zoomIn:"ពង្រីក",zoomOut:"បង្រួម",resetZoom:"កំណត់ការពង្រីកឡើងវិញ",menu:"ម៉ឺនុយ",done:"រួចរាល់",edit:"កែ",undo:"ត្រឡប់វិញ",redo:"ធ្វើ​វិញ",resetLibrary:"កំណត់បណ្ណាល័យឡើងវិញ",createNewRoom:"បង្កើតបន្ទប់ថ្មី",fullScreen:"ពេញ​អេក្រង់",darkMode:"ម៉ូដងងឹត",lightMode:"ម៉ូដភ្លឺ",zenMode:"ម៉ូត Zen",objectsSnapMode:"",exitZenMode:"ចេញពី zen​ ម៉ូត",cancel:"បោះបង់",clear:"សម្អាត",remove:"ដកចេញ",embed:"",publishLibrary:"បោះពុម្ពផ្សាយ",submit:"ដាក់​ស្នើ",confirm:"បញ្ជាក់",embeddableInteractionButton:""},D={clearReset:"វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",couldNotCreateShareableLink:"មិនអាចបង្កើតតំណដែលអាចចែករំលែកបានទេ។",couldNotCreateShareableLinkTooBig:"មិន​អាច​បង្កើត​តំណ​ដែល​អាច​ចែក​រំលែក​បាន៖ ស៊ីន​ធំ​ពេក",couldNotLoadInvalidFile:"មិនអាចផ្ទុកឯកសារមិនត្រឹមត្រូវបានទេ។",importBackendFailed:"ការនាំចូលពីម៉ាស៊ីនមេបានបរាជ័យ។",cannotExportEmptyCanvas:"មិនអាចនាំចេញបាវទទេបានទេ។",couldNotCopyToClipboard:"មិនអាចចម្លងទៅក្ដារតម្បៀតខ្ទាស់បានទេ។",decryptFailed:"មិនអាចឌិគ្រីបទិន្នន័យបានទេ។",uploadedSecurly:"ការបង្ហោះត្រូវបានការពារដោយការអ៊ិនគ្រីបពីចុងដល់ចប់ មានន័យថា ទាំងម៉ាស៊ីនមេរបស់ Excalidraw ឬភាគីទីបីមិនអាចអានខ្លឹមសារបានទេ។",loadSceneOverridePrompt:"ការផ្ទុកគំនូរខាងក្រៅនឹងជំនួសមាតិកាដែលមានស្រាប់របស់អ្នក។ តើអ្នកចង់បន្តទេ?",collabStopOverridePrompt:`ការបញ្ឈប់សម័យនឹងសរសេរជាន់លើគំនូរដែលបានរក្សាទុកនៅលើកុំព្យូទ័ររបស់អ្នកពីមុន។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.BHzEh7jg.js");var u={paste:"បិទភ្ជាប់",pasteAsPlaintext:"បិទភ្ជាប់ជាអត្ថបទធម្មតា",pasteCharts:"បិទភ្ជាប់តារាង",selectAll:"ជ្រើសរើស​ទាំងអស់",multiSelect:"បន្ថែមធាតុទៅលើការជ្រើសរើស",moveCanvas:"ផ្លាស់ទីបាវ",cut:"កាត់",copy:"ចម្លង",copyAsPng:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​ PNG",copyAsSvg:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​ SVG",copyText:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់ជា​អត្ថបទ",copySource:"",convertToCode:"",bringForward:"នាំយកទៅលើ",sendToBack:"នាំយកទៅក្រោយបង្អស់",bringToFront:"នាំយកទៅលើបង្អស់",sendBackward:"នាំយកទៅក្រោយ",delete:"លុប",copyStyles:"ចម្លងរចនាប័ទ្ម",pasteStyles:"បិទភ្ជាប់រចនាប័ទ្ម",stroke:"ខ្វាច់",background:"ផ្ទៃខាងក្រោយ",fill:"បំពេញ",strokeWidth:"ទទឹងខ្វាច់",strokeStyle:"រចនាប័ទ្មរបស់ខ្វាច់",strokeStyle_solid:"តាន់",strokeStyle_dashed:"ដាច់ៗ",strokeStyle_dotted:"ចំណុចៗ",sloppiness:"រចនាប័ទ្មបន្ទាត់",opacity:"ភាពច្បាស់",textAlign:"តម្រឹមអត្ថបទ",edges:"គែម",sharp:"មុត",round:"រាងមូល",arrowheads:"ក្បាលព្រួញ",arrowhead_none:"គ្មាន",arrowhead_arrow:"ព្រួញ",arrowhead_bar:"របារ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"ត្រីកោណ",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ទំហំពុម្ពអក្សរ",fontFamily:"ក្រុម​ពុម្ពអក្សរ",addWatermark:'បន្ថែមវ៉ាត់ធើម៉ាក "Made with Excalidraw"',handDrawn:"គូរដោយដៃ",normal:"ធម្មតា",code:"កូដ",small:"តូច",medium:"មធ្យម",large:"ធំ",veryLarge:"ធំខ្លាំង",solid:"តាន់",hachure:"Hachure",zigzag:"Zigzag",crossHatch:"បន្ទាត់ឆ្នូតៗ",thin:"ស្តើង",bold:"ដឹត",left:"ខាងឆ្វេង",center:"កណ្ដាល",right:"នៅខាងស្ដាំ",extraBold:"ដិតបន្ថែម",architect:"ស្ថាបត្យករ",artist:"សិល្បៈករ",cartoonist:"អ្នកគំនូរជីវចល",fileTitle:"ឈ្មោះ​ឯកសារ",colorPicker:"ឧបករណ៍​ជ្រើស​ពណ៌",canvasColors:"ប្រើលើបាវ",canvasBackground:"ផ្ទៃខាងក្រោយបាវ",drawingCanvas:"តំបន់គំនូរ",layers:"ស្រទាប់",actions:"សកម្មភាព",language:"ភាសា",liveCollaboration:"សហការគ្នាផ្ទាល់...",duplicateSelection:"ចម្លង",untitled:"គ្មានឈ្មោះ",name:"ឈ្មោះ",yourName:"ឈ្មោះ​របស់​អ្នក",madeWithExcalidraw:"បង្កើតជាមួយ Excalidraw",group:"ការជ្រើសរើសជាក្រុម",ungroup:"បំបែកក្រុមការជ្រើសរើសជាក្រុម",collaborators:"អ្នកសហការ",showGrid:"បង្ហាញក្រឡាចត្រង្គ",addToLibrary:"បន្ថែមទៅបណ្ណាល័យ",removeFromLibrary:"លុបចេញពីបណ្ណាល័យ",libraryLoadingMessage:"កំពុងផ្ទុកបណ្ណាល័យ...",libraries:"រកមើលបណ្ណាល័យ",loadingScene:"កំពុង​ផ្ទុក​ស៊ីន...",align:"តម្រឹម",alignTop:"តម្រឹមផ្នែកខាងលើ",alignBottom:"តម្រឹមផ្នែកខាងក្រោម",alignLeft:"​តម្រឹម​ឆ្វេង",alignRight:"តម្រឹម​ស្តាំ",centerVertically:"កណ្តាល​បញ្ឈរ",centerHorizontally:"កណ្តាល​ផ្ដេក",distributeHorizontally:"ចែកចាយផ្ដេក",distributeVertically:"ចែកចាយបញ្ឈរ",flipHorizontal:"ត្រឡប់​ដោយ​ផ្ដេក",flipVertical:"ត្រឡប់​ដោយ​បញ្ឈរ",viewMode:"ម៉ូដ​បង្ហាញ",share:"ចែករំលែក",showStroke:"បង្ហាញឧបករណ៍ជ្រើសរើសពណ៌ខ្វាច់",showBackground:"បង្ហាញឧបករណ៍ជ្រើសរើសពណ៌ផ្ទៃខាងក្រោយ",toggleTheme:"បិទ/បើកប្រធានបទ",personalLib:"បណ្ណាល័យផ្ទាល់ខ្លួន",excalidrawLib:"បណ្ណាល័យ Excalidraw",decreaseFontSize:"បន្ថយទំហំពុម្ពអក្សរ",increaseFontSize:"បង្កើនទំហំពុម្ពអក្សរ",unbindText:"ស្រាយអត្ថបទ",bindText:"ភ្ជាប់អត្ថបទទៅប្រអប់",createContainerFromText:"រុំអត្ថបទក្នុងប្រអប់មួយ",link:{edit:"កែតំណភ្ជាប់",editEmbed:"",create:"បង្កើតតំណភ្ជាប់",createEmbed:"",label:"តំណ",labelEmbed:"",empty:""},lineEditor:{edit:"កែសម្រួលបន្ទាត់",exit:"ចាកចេញពីការកែសម្រួលបន្ទាត់"},elementLock:{lock:"ចាក់សោ",unlock:"ដោះសោ",lockAll:"ចាក់សោទាំងអស់",unlockAll:"ដោះសោទាំងអស់"},statusPublished:"ត្រូវបានបោះពុម្ពផ្សាយ",sidebarLock:"ទុករបារចំហៀងបើក",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},B={noItems:"មិនទាន់មានធាតុបន្ថែមទេ...",hint_emptyLibrary:"ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ ឬដំឡើងបណ្ណាល័យពីឃ្លាំងសាធារណៈខាងក្រោម។",hint_emptyPrivateLibrary:"ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ"},C={clearReset:"កំណត់បាវឡើងវិញ",exportJSON:"នាំចេញជាឯកសារ",exportImage:"នាំរូបភាពចេញ",export:"រក្សាទុក​នៅ...",copyToClipboard:"ចម្លងទៅក្តារតម្បៀតខ្ទាស់",save:"រក្សាទុកទៅឯកសារបច្ចុប្បន្ន",saveAs:"រក្សាទុក​ជា",load:"បើក",getShareableLink:"យកតំណដែលអាចចែករំលែកបាន",close:"បិទ",selectLanguage:"រើសភាសា",scrollBackToContent:"រំកិលត្រឡប់ទៅមាតិកាវិញ",zoomIn:"ពង្រីក",zoomOut:"បង្រួម",resetZoom:"កំណត់ការពង្រីកឡើងវិញ",menu:"ម៉ឺនុយ",done:"រួចរាល់",edit:"កែ",undo:"ត្រឡប់វិញ",redo:"ធ្វើ​វិញ",resetLibrary:"កំណត់បណ្ណាល័យឡើងវិញ",createNewRoom:"បង្កើតបន្ទប់ថ្មី",fullScreen:"ពេញ​អេក្រង់",darkMode:"ម៉ូដងងឹត",lightMode:"ម៉ូដភ្លឺ",zenMode:"ម៉ូត Zen",objectsSnapMode:"",exitZenMode:"ចេញពី zen​ ម៉ូត",cancel:"បោះបង់",clear:"សម្អាត",remove:"ដកចេញ",embed:"",publishLibrary:"បោះពុម្ពផ្សាយ",submit:"ដាក់​ស្នើ",confirm:"បញ្ជាក់",embeddableInteractionButton:""},D={clearReset:"វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",couldNotCreateShareableLink:"មិនអាចបង្កើតតំណដែលអាចចែករំលែកបានទេ។",couldNotCreateShareableLinkTooBig:"មិន​អាច​បង្កើត​តំណ​ដែល​អាច​ចែក​រំលែក​បាន៖ ស៊ីន​ធំ​ពេក",couldNotLoadInvalidFile:"មិនអាចផ្ទុកឯកសារមិនត្រឹមត្រូវបានទេ។",importBackendFailed:"ការនាំចូលពីម៉ាស៊ីនមេបានបរាជ័យ។",cannotExportEmptyCanvas:"មិនអាចនាំចេញបាវទទេបានទេ។",couldNotCopyToClipboard:"មិនអាចចម្លងទៅក្ដារតម្បៀតខ្ទាស់បានទេ។",decryptFailed:"មិនអាចឌិគ្រីបទិន្នន័យបានទេ។",uploadedSecurly:"ការបង្ហោះត្រូវបានការពារដោយការអ៊ិនគ្រីបពីចុងដល់ចប់ មានន័យថា ទាំងម៉ាស៊ីនមេរបស់ Excalidraw ឬភាគីទីបីមិនអាចអានខ្លឹមសារបានទេ។",loadSceneOverridePrompt:"ការផ្ទុកគំនូរខាងក្រៅនឹងជំនួសមាតិកាដែលមានស្រាប់របស់អ្នក។ តើអ្នកចង់បន្តទេ?",collabStopOverridePrompt:`ការបញ្ឈប់សម័យនឹងសរសេរជាន់លើគំនូរដែលបានរក្សាទុកនៅលើកុំព្យូទ័ររបស់អ្នកពីមុន។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?
2
2
 
3
3
  (ប្រសិនបើអ្នកចង់រក្សាគំនូរដែលនៅលើកុំព្យូទ័ររបស់អ្នក គ្រាន់តែបិទផ្ទាំងកម្មវិធីរុករក។)`,errorAddingToLibrary:"មិនអាចបន្ថែមធាតុទៅបណ្ណាល័យបានទេ",errorRemovingFromLibrary:"មិនអាចលុបធាតុចេញពីបណ្ណាល័យបានទេ",confirmAddLibrary:"វានឹងបន្ថែមរូបរាង {{numShapes}} ទៅបណ្ណាល័យរបស់អ្នក។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",imageDoesNotContainScene:"រូបភាពនេះហាក់ដូចជាមិនមានទិន្នន័យស៊ីនណាមួយទេ។ តើអ្នកបានបើកការបង្កប់ស៊ីននៅពេលនាំចេញទេ?",cannotRestoreFromImage:"មិនអាចស្ដារស៊ីនពីឯកសាររូបភាពនេះបានទេ",invalidSceneUrl:"មិន​អាច​នាំចូល​ស៊ីន​ពី URL ដែល​បាន​ផ្តល់​ឱ្យ​ទេ។ វាមានទម្រង់ខុស ឬមិនមានទិន្នន័យ Excalidraw JSON ដែលត្រឹមត្រូវ។",resetLibrary:"វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?",removeItemsFromsLibrary:"តើអ្នកប្រាកដថាចង់លុប {{count}} ធាតុចេញពីបណ្ណាល័យទេ?",invalidEncryptionKey:"សោអ៊ីនគ្រីបត្រូវតែមាន 22 តួអក្សរ។ ការសហការផ្ទាល់ត្រូវបានបិទ។",collabOfflineWarning:`គ្មានការតភ្ជាប់អ៊ីនធឺណិត។
4
4
  ការផ្លាស់ប្តូររបស់អ្នកនឹងមិនត្រូវបានរក្សាទុកទេ!`},A={unsupportedFileType:"ប្រភេទឯកសារមិនត្រូវបានគាំទ្រទេ។",imageInsertError:"មិនអាចបញ្ចូលរូបភាពបានទេ។ សូម​ព្យាយាម​ម្តង​ទៀត​នៅ​ពេល​ក្រោយ……",fileTooBig:"ឯកសារធំពេក។ ទំហំអតិបរមាដែលអនុញ្ញាតគឺ {{maxSize}}។",svgImageInsertError:"មិនអាចបញ្ចូលរូបភាព SVG បានទេ។ ស្លាក SVG ហាក់ដូចជាមិនត្រឹមត្រូវ។",failedToFetchImage:"",invalidSVGString:"SVG មិន​ត្រឹមត្រូវ។",cannotResolveCollabServer:"មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេសហការផ្ទាល់បានទេ។ សូមផ្ទុកទំព័រឡើងវិញ ហើយព្យាយាមម្តងទៀត។",importLibraryError:"មិនអាចផ្ទុកបណ្ណាល័យបានទេ។",collabSaveFailed:"មិនអាចរក្សាទុកទៅម៉ាស៊ីនមេបានទេ។ ប្រសិនបើបញ្ហានៅតែបន្តកើតមាន​ អ្នកគួរតែរក្សាទុកឯកសាររបស់អ្នកនៅលើកុំព្យូទ័ររបស់អ្នកសិន ដើម្បីធានាថាការងាររបស់អ្នកមិនបាត់បង់។",collabSaveFailed_sizeExceeded:"មិនអាចរក្សាទុកទៅម៉ាស៊ីនមេបានទេ, ផ្ទាំងបាវហាក់ដូចជាធំពេក។ អ្នកគួរតែរក្សាទុកឯកសាររបស់អ្នកនៅលើកុំព្យូទ័ររបស់អ្នកសិន ដើម្បីធានាថាការងាររបស់អ្នកមិនបាត់បង់។",imageToolNotSupported:"",brave_measure_text_error:{line1:"អ្នកហាក់ដូចជាកំពុងប្រើប្រាស់កម្មវិធីរុករកតាមអ៊ីនធឺណិត Brave ជាមួយនឹងការកំណត់ <bold>ការពារស្នាមម្រាមដៃយ៉ាងធ្ងន់ធ្ងរ</bold> ត្រូវបានបើក។",line2:"វាអាចបណ្តាលឱ្យមានការបំបែក <bold>ធាតុអត្ថបទ</bold> នៅក្នុងគំនូររបស់អ្នក។",line3:"យើងណែនាំយ៉ាងមុតមាំឱ្យបិទការកំណត់នេះ។ អ្នកអាចអនុវត្តតាម <link>ជំហានទាំងនេះ</link> ដើម្បីបិទការកំណត់នេះ។",line4:"ប្រសិនបើការបិទការកំណត់នេះមិនបានជួសជុលការបង្ហាញធាតុអត្ថបទទេ សូមដាក់ <issueLink>issue</issueLink> នៅលើ GitHub ឬរាយការណ៍នៅលើ <discordLink>Discord</discordLink> របស់យើង"},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},e={selection:"ការជ្រើសរើស",image:"បញ្ចូលរូបភាព",rectangle:"ចតុ​កោណ​កែង​",diamond:"ពេជ្រ",ellipse:"ពងក្រពើ",arrow:"ព្រួញ",line:"បន្ទាត់",freedraw:"គូរ",text:"អត្ថបទ",library:"បណ្ណាល័យ",lock:"រក្សារឧបករណ៍ដែលបានជ្រើសរើសបន្ទាប់ពីគូររួច",penMode:"របៀបប៊ិច - ជៀសវាងការប៉ះ",link:"បន្ថែម/ធ្វើបច្ចុប្បន្នភាពតំណភ្ជាប់សម្រាប់រូបរាងដែលបានជ្រើសរើស",eraser:"ជ័រលុប",frame:"",magicframe:"",embeddable:"",laser:"",hand:"ដៃ (panning tool)",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},F={canvasActions:"សកម្មភាពបាវ",selectedShapeActions:"សកម្មភាពរបស់រាងដែលបានជ្រើសរើស",shapes:"រាង"},r={canvasPanning:"ដើម្បីផ្លាស់ទីបាវ សូមសង្កត់កង់កណ្ដុរឬគ្រាប់ចុចspacebarខណៈពេលកំពុងអូស ឬប្រើឧបករណ៍ដៃ។",linearElement:"ចុចដើម្បីបង្កើតចំណុចច្រើន អូសដើម្បីបង្កើតបន្ទាត់មួយ",freeDraw:"ចុច​ហើយ​អូស លែង​ពេល​រួចរាល់",text:"គន្លឹះ៖ អ្នកក៏អាចបន្ថែមអត្ថបទដោយចុចពីរដងនៅកន្លែងណាមួយដោយប្រើឧបករណ៍ជ្រើសរើស",embeddable:"",text_selected:"ចុចពីរដង ឬចុច ENTER ដើម្បីកែសម្រួលអត្ថបទ",text_editing:"ចុច Escape ឬ CtrlOrCmd +ENTER ដើម្បីបញ្ចប់ការកែសម្រួល",linearElementMulti:"ចុចលើចំណុចចុងក្រោយ ឬចុច Esc/Enter ដើម្បីបញ្ចប់",lockAngle:"អ្នកអាចសង្កត់ Shift ដើម្បីកំណត់មុំ",resize:`អ្នកអាចសង្កត់ SHIFT ដើម្បីបងំ្ខឲមានសមាមាត្រ ខណៈពេលដែលប្តូរទំហំ
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.DbXonys2.js"),i=require("./layers.JVcLAS7S.js"),j=require("./layers.CwIBbNFr.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
1
+ "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.sQWNS18m.js"),i=require("./layers.D_ngBzQB.js"),j=require("./layers.CXNcrz13.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
@@ -1 +1 @@
1
- "use strict";const p=require("./layers.JVcLAS7S.js"),cn=require("./layers.CHZsXQcr.js");function F(n,t){return n==null||t==null?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function C(n){let t,e,r;n.length!==2?(t=F,e=(a,c)=>F(n(a),c),r=(a,c)=>n(a)-c):(t=n===F||n===hn?n:ln,e=n,r=n);function i(a,c,o=0,s=a.length){if(o<s){if(t(c,c)!==0)return s;do{const h=o+s>>>1;e(a[h],c)<0?o=h+1:s=h}while(o<s)}return o}function f(a,c,o=0,s=a.length){if(o<s){if(t(c,c)!==0)return s;do{const h=o+s>>>1;e(a[h],c)<=0?o=h+1:s=h}while(o<s)}return o}function u(a,c,o=0,s=a.length){const h=i(a,c,o,s-1);return h>o&&r(a[h-1],c)>-r(a[h],c)?h-1:h}return{left:i,center:u,right:f}}function ln(){return 0}function mn(n){return n===null?NaN:+n}const sn=C(F),dn=sn.right;C(mn).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function E(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),u=f>=gn?10:f>=yn?5:f>=Mn?2:1;let a,c,o;return i<0?(o=Math.pow(10,-i)/u,a=Math.round(n*o),c=Math.round(t*o),a/o<n&&++a,c/o>t&&--c,o=-o):(o=Math.pow(10,i)*u,a=Math.round(n/o),c=Math.round(t/o),a*o<n&&++a,c*o>t&&--c),c<a&&.5<=e&&e<2?E(n,t,e*2):[a,c,o]}function pn(n,t,e){if(t=+t,n=+n,e=+e,!(e>0))return[];if(n===t)return[n];const r=t<n,[i,f,u]=r?E(t,n,e):E(n,t,e);if(!(f>=i))return[];const a=f-i+1,c=new Array(a);if(r)if(u<0)for(let o=0;o<a;++o)c[o]=(f-o)/-u;else for(let o=0;o<a;++o)c[o]=(f-o)*u;else if(u<0)for(let o=0;o<a;++o)c[o]=(i+o)/-u;else for(let o=0;o<a;++o)c[o]=(i+o)*u;return c}function I(n,t,e){return t=+t,n=+n,e=+e,E(n,t,e)[2]}function W(n,t,e){t=+t,n=+n,e=+e;const r=t<n,i=r?I(t,n,e):I(n,t,e);return(r?-1:1)*(i<0?1/-i:i)}function wn(n,t){t||(t=[]);var e=n?Math.min(t.length,n.length):0,r=t.slice(),i;return function(f){for(i=0;i<e;++i)r[i]=n[i]*(1-f)+t[i]*f;return r}}function Nn(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function kn(n,t){var e=t?t.length:0,r=n?Math.min(e,n.length):0,i=new Array(r),f=new Array(e),u;for(u=0;u<r;++u)i[u]=B(n[u],t[u]);for(;u<e;++u)f[u]=t[u];return function(a){for(u=0;u<r;++u)f[u]=i[u](a);return f}}function xn(n,t){var e=new Date;return n=+n,t=+t,function(r){return e.setTime(n*(1-r)+t*r),e}}function An(n,t){var e={},r={},i;(n===null||typeof n!="object")&&(n={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in n?e[i]=B(n[i],t[i]):r[i]=t[i];return function(f){for(i in e)r[i]=e[i](f);return r}}function B(n,t){var e=typeof t,r;return t==null||e==="boolean"?p.constant(t):(e==="number"?p.interpolateNumber:e==="string"?(r=p.color(t))?(t=r,p.interpolateRgb):p.interpolateString:t instanceof p.color?p.interpolateRgb:t instanceof Date?xn:Nn(t)?wn:Array.isArray(t)?kn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?An:p.interpolateNumber)(n,t)}function vn(n,t){return n=+n,t=+t,function(e){return Math.round(n*(1-e)+t*e)}}function Sn(n){return Math.abs(n=Math.round(n))>=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function q(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function S(n){return n=q(Math.abs(n)),n?n[1]:NaN}function bn(n,t){return function(e,r){for(var i=e.length,f=[],u=0,a=n[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),f.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=n[u=(u+1)%n.length];return f.reverse().join(t)}}function jn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var Pn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=Pn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function zn(n){n:for(var t=n.length,e=1,r=-1,i;e<t;++e)switch(n[e]){case".":r=i=e;break;case"0":r===0&&(r=e),i=e;break;default:if(!+n[e])break n;r>0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var _;function Rn(n,t){var e=q(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(_=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,u=r.length;return f===u?r:f>u?r+new Array(f-u+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+q(n,Math.max(0,t+f-1))[0]}function Y(n,t){var e=q(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Z={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:Sn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Y(n*100,t),r:Y,s:Rn,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function H(n){return n}var J=Array.prototype.map,K=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $n(n){var t=n.grouping===void 0||n.thousands===void 0?H:bn(J.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?H:jn(J.call(n.numerals,String)),u=n.percent===void 0?"%":n.percent+"",a=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var m=h.fill,w=h.align,y=h.sign,b=h.symbol,x=h.zero,j=h.width,T=h.comma,N=h.precision,O=h.trim,d=h.type;d==="n"?(T=!0,d="g"):Z[d]||(N===void 0&&(N=12),O=!0,d="g"),(x||m==="0"&&w==="=")&&(x=!0,m="0",w="=");var un=b==="$"?e:b==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",an=b==="$"?r:/[%p]/.test(d)?u:"",V=Z[d],fn=/[defgprs%]/.test(d);N=N===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,N)):Math.max(0,Math.min(20,N));function X(l){var k=un,g=an,A,U,P;if(d==="c")g=V(l)+g,l="";else{l=+l;var z=l<0||1/l<0;if(l=isNaN(l)?c:V(Math.abs(l),N),O&&(l=zn(l)),z&&+l==0&&y!=="+"&&(z=!1),k=(z?y==="("?y:a:y==="-"||y==="("?"":y)+k,g=(d==="s"?K[8+_/3]:"")+g+(z&&y==="("?")":""),fn){for(A=-1,U=l.length;++A<U;)if(P=l.charCodeAt(A),48>P||P>57){g=(P===46?i+l.slice(A+1):l.slice(A))+g,l=l.slice(0,A);break}}}T&&!x&&(l=t(l,1/0));var R=k.length+l.length+g.length,M=R<j?new Array(j-R+1).join(m):"";switch(T&&x&&(l=t(M+l,M.length?j-g.length:1/0),M=""),w){case"<":l=k+l+g+M;break;case"=":l=k+M+l+g;break;case"^":l=M.slice(0,R=M.length>>1)+k+l+g+M.slice(R);break;default:l=M+k+l+g;break}return f(l)}return X.toString=function(){return h+""},X}function s(h,m){var w=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(S(m)/3)))*3,b=Math.pow(10,-y),x=K[8+y/3];return function(j){return w(b*j)+x}}return{format:o,formatPrefix:s}}var $,nn,tn;Fn({thousands:",",grouping:[3],currency:["$",""]});function Fn(n){return $=$n(n),nn=$.format,tn=$.formatPrefix,$}function En(n){return Math.max(0,-S(Math.abs(n)))}function qn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(S(t)/3)))*3-S(Math.abs(n)))}function Dn(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,S(t)-S(n))+1}function Tn(n){return function(){return n}}function In(n){return+n}var Q=[0,1];function v(n){return n}function L(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Tn(isNaN(t)?NaN:.5)}function Ln(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Cn(n,t,e){var r=n[0],i=n[1],f=t[0],u=t[1];return i<r?(r=L(i,r),f=e(u,f)):(r=L(r,i),f=e(f,u)),function(a){return f(r(a))}}function Bn(n,t,e){var r=Math.min(n.length,t.length)-1,i=new Array(r),f=new Array(r),u=-1;for(n[r]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++u<r;)i[u]=L(n[u],n[u+1]),f[u]=e(t[u],t[u+1]);return function(a){var c=dn(n,a,1,r)-1;return f[c](i[c](a))}}function rn(n,t){return t.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function Gn(){var n=Q,t=Q,e=B,r,i,f,u=v,a,c,o;function s(){var m=Math.min(n.length,t.length);return u!==v&&(u=Ln(n[0],n[m-1])),a=m>2?Bn:Cn,c=o=null,h}function h(m){return m==null||isNaN(m=+m)?f:(c||(c=a(n.map(r),t,e)))(r(u(m)))}return h.invert=function(m){return u(i((o||(o=a(t,n.map(r),p.interpolateNumber)))(m)))},h.domain=function(m){return arguments.length?(n=Array.from(m,In),s()):n.slice()},h.range=function(m){return arguments.length?(t=Array.from(m),s()):t.slice()},h.rangeRound=function(m){return t=Array.from(m),e=vn,s()},h.clamp=function(m){return arguments.length?(u=m?!0:v,s()):u!==v},h.interpolate=function(m){return arguments.length?(e=m,s()):e},h.unknown=function(m){return arguments.length?(f=m,h):f},function(m,w){return r=m,i=w,s()}}function en(){return Gn()(v,v)}function On(n,t,e,r){var i=W(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var u=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=qn(i,u))&&(r.precision=f),tn(r,u)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Dn(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=En(i))&&(r.precision=f-(r.type==="%")*2);break}}return nn(r)}function Vn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return On(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,u=r[i],a=r[f],c,o,s=10;for(a<u&&(o=u,u=a,a=o,o=i,i=f,f=o);s-- >0;){if(o=I(u,a,e),o===c)return r[i]=u,r[f]=a,t(r);if(o>0)u=Math.floor(u/o)*o,a=Math.ceil(a/o)*o;else if(o<0)u=Math.ceil(u*o)/o,a=Math.floor(a*o)/o;else break;c=o}return n},n}function on(){var n=en();return n.copy=function(){return rn(n,on())},cn.initRange.apply(n,arguments),Vn(n)}exports.bisector=C;exports.continuous=en;exports.copy=rn;exports.linear=on;exports.tickStep=W;
1
+ "use strict";const p=require("./layers.D_ngBzQB.js"),cn=require("./layers.CHZsXQcr.js");function F(n,t){return n==null||t==null?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function C(n){let t,e,r;n.length!==2?(t=F,e=(a,c)=>F(n(a),c),r=(a,c)=>n(a)-c):(t=n===F||n===hn?n:ln,e=n,r=n);function i(a,c,o=0,s=a.length){if(o<s){if(t(c,c)!==0)return s;do{const h=o+s>>>1;e(a[h],c)<0?o=h+1:s=h}while(o<s)}return o}function f(a,c,o=0,s=a.length){if(o<s){if(t(c,c)!==0)return s;do{const h=o+s>>>1;e(a[h],c)<=0?o=h+1:s=h}while(o<s)}return o}function u(a,c,o=0,s=a.length){const h=i(a,c,o,s-1);return h>o&&r(a[h-1],c)>-r(a[h],c)?h-1:h}return{left:i,center:u,right:f}}function ln(){return 0}function mn(n){return n===null?NaN:+n}const sn=C(F),dn=sn.right;C(mn).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function E(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),u=f>=gn?10:f>=yn?5:f>=Mn?2:1;let a,c,o;return i<0?(o=Math.pow(10,-i)/u,a=Math.round(n*o),c=Math.round(t*o),a/o<n&&++a,c/o>t&&--c,o=-o):(o=Math.pow(10,i)*u,a=Math.round(n/o),c=Math.round(t/o),a*o<n&&++a,c*o>t&&--c),c<a&&.5<=e&&e<2?E(n,t,e*2):[a,c,o]}function pn(n,t,e){if(t=+t,n=+n,e=+e,!(e>0))return[];if(n===t)return[n];const r=t<n,[i,f,u]=r?E(t,n,e):E(n,t,e);if(!(f>=i))return[];const a=f-i+1,c=new Array(a);if(r)if(u<0)for(let o=0;o<a;++o)c[o]=(f-o)/-u;else for(let o=0;o<a;++o)c[o]=(f-o)*u;else if(u<0)for(let o=0;o<a;++o)c[o]=(i+o)/-u;else for(let o=0;o<a;++o)c[o]=(i+o)*u;return c}function I(n,t,e){return t=+t,n=+n,e=+e,E(n,t,e)[2]}function W(n,t,e){t=+t,n=+n,e=+e;const r=t<n,i=r?I(t,n,e):I(n,t,e);return(r?-1:1)*(i<0?1/-i:i)}function wn(n,t){t||(t=[]);var e=n?Math.min(t.length,n.length):0,r=t.slice(),i;return function(f){for(i=0;i<e;++i)r[i]=n[i]*(1-f)+t[i]*f;return r}}function Nn(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function kn(n,t){var e=t?t.length:0,r=n?Math.min(e,n.length):0,i=new Array(r),f=new Array(e),u;for(u=0;u<r;++u)i[u]=B(n[u],t[u]);for(;u<e;++u)f[u]=t[u];return function(a){for(u=0;u<r;++u)f[u]=i[u](a);return f}}function xn(n,t){var e=new Date;return n=+n,t=+t,function(r){return e.setTime(n*(1-r)+t*r),e}}function An(n,t){var e={},r={},i;(n===null||typeof n!="object")&&(n={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in n?e[i]=B(n[i],t[i]):r[i]=t[i];return function(f){for(i in e)r[i]=e[i](f);return r}}function B(n,t){var e=typeof t,r;return t==null||e==="boolean"?p.constant(t):(e==="number"?p.interpolateNumber:e==="string"?(r=p.color(t))?(t=r,p.interpolateRgb):p.interpolateString:t instanceof p.color?p.interpolateRgb:t instanceof Date?xn:Nn(t)?wn:Array.isArray(t)?kn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?An:p.interpolateNumber)(n,t)}function vn(n,t){return n=+n,t=+t,function(e){return Math.round(n*(1-e)+t*e)}}function Sn(n){return Math.abs(n=Math.round(n))>=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function q(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function S(n){return n=q(Math.abs(n)),n?n[1]:NaN}function bn(n,t){return function(e,r){for(var i=e.length,f=[],u=0,a=n[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),f.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=n[u=(u+1)%n.length];return f.reverse().join(t)}}function jn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var Pn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=Pn.exec(n)))throw new Error("invalid format: "+n);var t;return new G({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=G.prototype;function G(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}G.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function zn(n){n:for(var t=n.length,e=1,r=-1,i;e<t;++e)switch(n[e]){case".":r=i=e;break;case"0":r===0&&(r=e),i=e;break;default:if(!+n[e])break n;r>0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var _;function Rn(n,t){var e=q(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(_=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,u=r.length;return f===u?r:f>u?r+new Array(f-u+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+q(n,Math.max(0,t+f-1))[0]}function Y(n,t){var e=q(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Z={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:Sn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Y(n*100,t),r:Y,s:Rn,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function H(n){return n}var J=Array.prototype.map,K=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function $n(n){var t=n.grouping===void 0||n.thousands===void 0?H:bn(J.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?H:jn(J.call(n.numerals,String)),u=n.percent===void 0?"%":n.percent+"",a=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var m=h.fill,w=h.align,y=h.sign,b=h.symbol,x=h.zero,j=h.width,T=h.comma,N=h.precision,O=h.trim,d=h.type;d==="n"?(T=!0,d="g"):Z[d]||(N===void 0&&(N=12),O=!0,d="g"),(x||m==="0"&&w==="=")&&(x=!0,m="0",w="=");var un=b==="$"?e:b==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",an=b==="$"?r:/[%p]/.test(d)?u:"",V=Z[d],fn=/[defgprs%]/.test(d);N=N===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,N)):Math.max(0,Math.min(20,N));function X(l){var k=un,g=an,A,U,P;if(d==="c")g=V(l)+g,l="";else{l=+l;var z=l<0||1/l<0;if(l=isNaN(l)?c:V(Math.abs(l),N),O&&(l=zn(l)),z&&+l==0&&y!=="+"&&(z=!1),k=(z?y==="("?y:a:y==="-"||y==="("?"":y)+k,g=(d==="s"?K[8+_/3]:"")+g+(z&&y==="("?")":""),fn){for(A=-1,U=l.length;++A<U;)if(P=l.charCodeAt(A),48>P||P>57){g=(P===46?i+l.slice(A+1):l.slice(A))+g,l=l.slice(0,A);break}}}T&&!x&&(l=t(l,1/0));var R=k.length+l.length+g.length,M=R<j?new Array(j-R+1).join(m):"";switch(T&&x&&(l=t(M+l,M.length?j-g.length:1/0),M=""),w){case"<":l=k+l+g+M;break;case"=":l=k+M+l+g;break;case"^":l=M.slice(0,R=M.length>>1)+k+l+g+M.slice(R);break;default:l=M+k+l+g;break}return f(l)}return X.toString=function(){return h+""},X}function s(h,m){var w=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(S(m)/3)))*3,b=Math.pow(10,-y),x=K[8+y/3];return function(j){return w(b*j)+x}}return{format:o,formatPrefix:s}}var $,nn,tn;Fn({thousands:",",grouping:[3],currency:["$",""]});function Fn(n){return $=$n(n),nn=$.format,tn=$.formatPrefix,$}function En(n){return Math.max(0,-S(Math.abs(n)))}function qn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(S(t)/3)))*3-S(Math.abs(n)))}function Dn(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,S(t)-S(n))+1}function Tn(n){return function(){return n}}function In(n){return+n}var Q=[0,1];function v(n){return n}function L(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Tn(isNaN(t)?NaN:.5)}function Ln(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Cn(n,t,e){var r=n[0],i=n[1],f=t[0],u=t[1];return i<r?(r=L(i,r),f=e(u,f)):(r=L(r,i),f=e(f,u)),function(a){return f(r(a))}}function Bn(n,t,e){var r=Math.min(n.length,t.length)-1,i=new Array(r),f=new Array(r),u=-1;for(n[r]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++u<r;)i[u]=L(n[u],n[u+1]),f[u]=e(t[u],t[u+1]);return function(a){var c=dn(n,a,1,r)-1;return f[c](i[c](a))}}function rn(n,t){return t.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function Gn(){var n=Q,t=Q,e=B,r,i,f,u=v,a,c,o;function s(){var m=Math.min(n.length,t.length);return u!==v&&(u=Ln(n[0],n[m-1])),a=m>2?Bn:Cn,c=o=null,h}function h(m){return m==null||isNaN(m=+m)?f:(c||(c=a(n.map(r),t,e)))(r(u(m)))}return h.invert=function(m){return u(i((o||(o=a(t,n.map(r),p.interpolateNumber)))(m)))},h.domain=function(m){return arguments.length?(n=Array.from(m,In),s()):n.slice()},h.range=function(m){return arguments.length?(t=Array.from(m),s()):t.slice()},h.rangeRound=function(m){return t=Array.from(m),e=vn,s()},h.clamp=function(m){return arguments.length?(u=m?!0:v,s()):u!==v},h.interpolate=function(m){return arguments.length?(e=m,s()):e},h.unknown=function(m){return arguments.length?(f=m,h):f},function(m,w){return r=m,i=w,s()}}function en(){return Gn()(v,v)}function On(n,t,e,r){var i=W(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var u=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=qn(i,u))&&(r.precision=f),tn(r,u)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=Dn(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=En(i))&&(r.precision=f-(r.type==="%")*2);break}}return nn(r)}function Vn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return On(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,u=r[i],a=r[f],c,o,s=10;for(a<u&&(o=u,u=a,a=o,o=i,i=f,f=o);s-- >0;){if(o=I(u,a,e),o===c)return r[i]=u,r[f]=a,t(r);if(o>0)u=Math.floor(u/o)*o,a=Math.ceil(a/o)*o;else if(o<0)u=Math.ceil(u*o)/o,a=Math.floor(a*o)/o;else break;c=o}return n},n}function on(){var n=en();return n.copy=function(){return rn(n,on())},cn.initRange.apply(n,arguments),Vn(n)}exports.bisector=C;exports.continuous=en;exports.copy=rn;exports.linear=on;exports.tickStep=W;
@@ -1,4 +1,4 @@
1
- import "./layers.xfDCmQCp.js";
1
+ import "./layers.h-0NZsoH.js";
2
2
  var e = { paste: "Colar", pasteAsPlaintext: "Colar como texto simples", pasteCharts: "Colar gráficos", selectAll: "Selecionar tudo", multiSelect: "Adicionar elemento à seleção", moveCanvas: "Mover tela", cut: "Cortar", copy: "Copiar", copyAsPng: "Copiar para a área de transferência como PNG", copyAsSvg: "Copiar para a área de transferência como SVG", copyText: "Copiar para Área de Transferência como texto", copySource: "", convertToCode: "", bringForward: "Trazer para o primeiro plano", sendToBack: "Enviar para o plano de fundo", bringToFront: "Trazer para o primeiro plano", sendBackward: "Enviar para trás", delete: "Apagar", copyStyles: "Copiar os estilos", pasteStyles: "Colar os estilos", stroke: "Contornos", background: "Fundo", fill: "Preenchimento", strokeWidth: "Espessura do traço", strokeStyle: "Estilo de traço", strokeStyle_solid: "Sólido", strokeStyle_dashed: "Tracejado", strokeStyle_dotted: "Pontilhado", sloppiness: "Desleixo", opacity: "Opacidade", textAlign: "Alinhamento do texto", edges: "Arestas", sharp: "Aguçado", round: "Redondo", arrowheads: "Pontas", arrowhead_none: "Nenhuma", arrowhead_arrow: "Seta", arrowhead_bar: "Barra", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Triângulo", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Tamanho da fonte", fontFamily: "Família da fontes", addWatermark: 'Adicionar "Feito com Excalidraw"', handDrawn: "Manuscrito", normal: "Normal", code: "Código", small: "Pequeno", medium: "Médio", large: "Grande", veryLarge: "Muito grande", solid: "Sólido", hachure: "Eclosão", zigzag: "ziguezague", crossHatch: "Sombreado", thin: "Fino", bold: "Espesso", left: "Esquerda", center: "Centralizar", right: "Direita", extraBold: "Muito espesso", architect: "Arquitecto", artist: "Artista", cartoonist: "Caricaturista", fileTitle: "Nome do ficheiro", colorPicker: "Seletor de cores", canvasColors: "Usado na tela", canvasBackground: "Fundo da área de desenho", drawingCanvas: "Área de desenho", layers: "Camadas", actions: "Ações", language: "Idioma", liveCollaboration: "Colaboração ao vivo...", duplicateSelection: "Duplicar", untitled: "Sem título", name: "Nome", yourName: "O seu nome", madeWithExcalidraw: "Feito com Excalidraw", group: "Agrupar seleção", ungroup: "Desagrupar seleção", collaborators: "Colaboradores", showGrid: "Mostrar grelha", addToLibrary: "Adicionar à biblioteca", removeFromLibrary: "Remover da biblioteca", libraryLoadingMessage: "A carregar a biblioteca…", libraries: "Procurar bibliotecas", loadingScene: "A carregar a cena…", align: "Alinhamento", alignTop: "Alinhar ao topo", alignBottom: "Alinhar ao fundo", alignLeft: "Alinhar à esquerda", alignRight: "Alinhar à direita", centerVertically: "Centrar verticalmente", centerHorizontally: "Centrar horizontalmente", distributeHorizontally: "Distribuir horizontalmente", distributeVertically: "Distribuir verticalmente", flipHorizontal: "Inverter horizontalmente", flipVertical: "Inverter verticalmente", viewMode: "Modo de visualização", share: "Partilhar", showStroke: "Mostrar seletor de cores do traço", showBackground: "Mostrar seletor de cores do fundo", toggleTheme: "Alternar tema", personalLib: "Biblioteca pessoal", excalidrawLib: "Biblioteca do Excalidraw", decreaseFontSize: "Reduzir o tamanho do tipo de letra", increaseFontSize: "Aumentar o tamanho do tipo de letra", unbindText: "Desvincular texto", bindText: "Ligar texto ao recipiente", createContainerFromText: "Envolver texto num recipiente", link: { edit: "Editar ligação", editEmbed: "", create: "Criar ligação", createEmbed: "", label: "Ligação", labelEmbed: "", empty: "" }, lineEditor: { edit: "Editar linha", exit: "Sair do editor de linha" }, elementLock: { lock: "Bloquear", unlock: "Desbloquear", lockAll: "Bloquear todos", unlockAll: "Desbloquear todos" }, statusPublished: "Publicado", sidebarLock: "Manter a barra lateral aberta", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, a = { noItems: "Ainda não foram adicionados nenhuns itens...", hint_emptyLibrary: "Seleccione um item na tela para adicioná-lo aqui, ou então instale uma biblioteca do repositório público abaixo.", hint_emptyPrivateLibrary: "Seleccione um item na tela para adicioná-lo aqui." }, o = { clearReset: "Limpar a área de desenho e redefinir a cor de fundo", exportJSON: "Exportar para ficheiro", exportImage: "Exportar imagem...", export: "Guardar para...", copyToClipboard: "Copiar para o clipboard", save: "Guardar no ficheiro atual", saveAs: "Guardar como", load: "Abrir", getShareableLink: "Obter um link de partilha", close: "Fechar", selectLanguage: "Selecionar idioma", scrollBackToContent: "Voltar ao conteúdo", zoomIn: "Aumentar zoom", zoomOut: "Diminuir zoom", resetZoom: "Redefinir zoom", menu: "Menu", done: "Concluído", edit: "Editar", undo: "Desfazer", redo: "Refazer", resetLibrary: "Repor a biblioteca", createNewRoom: "Criar nova sala", fullScreen: "Ecrã inteiro", darkMode: "Modo escuro", lightMode: "Modo claro", zenMode: "Modo zen", objectsSnapMode: "", exitZenMode: "Sair do modo zen", cancel: "Cancelar", clear: "Limpar", remove: "Remover", embed: "", publishLibrary: "Publicar", submit: "Enviar", confirm: "Confirmar", embeddableInteractionButton: "" }, r = { clearReset: "Isto irá limpar toda a área de desenho. Tem a certeza?", couldNotCreateShareableLink: "Não foi possível criar um link partilhável.", couldNotCreateShareableLinkTooBig: "Não foi possível criar um link partilhável: a cena é muito grande", couldNotLoadInvalidFile: "Não foi possível carregar o ficheiro inválido", importBackendFailed: "A importação do servidor falhou.", cannotExportEmptyCanvas: "Não é possível exportar uma área de desenho vazia.", couldNotCopyToClipboard: "Não foi possível copiar para a área de transferência.", decryptFailed: "Não foi possível desencriptar os dados.", uploadedSecurly: "O upload foi protegido com criptografia de ponta a ponta, o que significa que o servidor do Excalidraw e terceiros não podem ler o conteúdo.", loadSceneOverridePrompt: "Se carregar um desenho externo substituirá o conteúdo existente. Quer continuar?", collabStopOverridePrompt: `Ao interromper a sessão irá substituir o último desenho guardado. Tem a certeza?
3
3
 
4
4
  (Caso queira manter o último desenho, simplesmente feche a janela do navegador.)`, errorAddingToLibrary: "Não foi possível adicionar o item à biblioteca", errorRemovingFromLibrary: "Não foi possível remover o item da biblioteca", confirmAddLibrary: "Isso adicionará {{numShapes}} forma(s) à sua biblioteca. Tem a certeza?", imageDoesNotContainScene: "Esta imagem parece não conter dados de cenas. Ativou a incorporação da cena durante a exportação?", cannotRestoreFromImage: "Não foi possível restaurar a cena deste ficheiro de imagem", invalidSceneUrl: "Não foi possível importar a cena a partir do URL fornecido. Ou está mal formado ou não contém dados JSON do Excalidraw válidos.", resetLibrary: "Isto irá limpar a sua biblioteca. Tem a certeza?", removeItemsFromsLibrary: "Apagar {{count}} item(ns) da biblioteca?", invalidEncryptionKey: "Chave de encriptação deve ter 22 caracteres. A colaboração ao vivo está desativada.", collabOfflineWarning: `Sem ligação à internet disponível.