@openc3/vue-common 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/ArrayWidget-BbsN1dzF.js +106 -0
  2. package/dist/ArrayWidget-BbsN1dzF.js.map +1 -0
  3. package/dist/ArrayWidget-DkjHrXsu.cjs +3 -0
  4. package/dist/ArrayWidget-DkjHrXsu.cjs.map +1 -0
  5. package/dist/ArrayplotWidget-CCKEyYIx.js +199 -0
  6. package/dist/ArrayplotWidget-CCKEyYIx.js.map +1 -0
  7. package/dist/ArrayplotWidget-COeaK_Lz.cjs +2 -0
  8. package/dist/ArrayplotWidget-COeaK_Lz.cjs.map +1 -0
  9. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  10. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  11. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  12. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  13. package/dist/BarColumn-C6p07yWK.js +108 -0
  14. package/dist/BarColumn-C6p07yWK.js.map +1 -0
  15. package/dist/BarColumn-CJLW1nXy.cjs +2 -0
  16. package/dist/BarColumn-CJLW1nXy.cjs.map +1 -0
  17. package/dist/BlockWidget-BFVYgbd_.cjs +3 -0
  18. package/dist/BlockWidget-BFVYgbd_.cjs.map +1 -0
  19. package/dist/BlockWidget-DlCHbqZX.js +112 -0
  20. package/dist/BlockWidget-DlCHbqZX.js.map +1 -0
  21. package/dist/ButtonWidget-CtfJzCBR.js +166 -0
  22. package/dist/ButtonWidget-CtfJzCBR.js.map +1 -0
  23. package/dist/ButtonWidget-HN8UHsme.cjs +3 -0
  24. package/dist/ButtonWidget-HN8UHsme.cjs.map +1 -0
  25. package/dist/CanvasWidget-CHmkxxMO.cjs +2 -0
  26. package/dist/CanvasWidget-CHmkxxMO.cjs.map +1 -0
  27. package/dist/CanvasWidget-CqRlXc4r.js +39 -0
  28. package/dist/CanvasWidget-CqRlXc4r.js.map +1 -0
  29. package/dist/CanvasdotWidget--Xr_KsZs.js +19 -0
  30. package/dist/CanvasdotWidget--Xr_KsZs.js.map +1 -0
  31. package/dist/CanvasdotWidget-B4bUcKRc.cjs +2 -0
  32. package/dist/CanvasdotWidget-B4bUcKRc.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-B5YozXoI.cjs +2 -0
  34. package/dist/CanvasimageWidget-B5YozXoI.cjs.map +1 -0
  35. package/dist/CanvasimageWidget-BPlj5QYK.js +58 -0
  36. package/dist/CanvasimageWidget-BPlj5QYK.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DVFGLt8f.js +107 -0
  38. package/dist/CanvasimagevalueWidget-DVFGLt8f.js.map +1 -0
  39. package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs +2 -0
  40. package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs.map +1 -0
  41. package/dist/CanvaslabelWidget-CYNqmyP0.js +23 -0
  42. package/dist/CanvaslabelWidget-CYNqmyP0.js.map +1 -0
  43. package/dist/CanvaslabelWidget-DgadQD-D.cjs +2 -0
  44. package/dist/CanvaslabelWidget-DgadQD-D.cjs.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-B7yIDmsn.js +42 -0
  46. package/dist/CanvaslabelvalueWidget-B7yIDmsn.js.map +1 -0
  47. package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs +2 -0
  48. package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-BICdxX0Q.js +28 -0
  50. package/dist/CanvaslineWidget-BICdxX0Q.js.map +1 -0
  51. package/dist/CanvaslineWidget-CYHkes0a.cjs +2 -0
  52. package/dist/CanvaslineWidget-CYHkes0a.cjs.map +1 -0
  53. package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs.map +1 -0
  55. package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js +44 -0
  56. package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js.map +1 -0
  57. package/dist/CheckbuttonWidget-B74AWeaW.js +37 -0
  58. package/dist/CheckbuttonWidget-B74AWeaW.js.map +1 -0
  59. package/dist/CheckbuttonWidget-BCzsXnIF.cjs +2 -0
  60. package/dist/CheckbuttonWidget-BCzsXnIF.cjs.map +1 -0
  61. package/dist/ComboboxWidget-CtyKbEWb.js +37 -0
  62. package/dist/ComboboxWidget-CtyKbEWb.js.map +1 -0
  63. package/dist/ComboboxWidget-DQgDyDAC.cjs +2 -0
  64. package/dist/ComboboxWidget-DQgDyDAC.cjs.map +1 -0
  65. package/dist/CriticalCmdDialog-BnxZlt7W.cjs +2 -0
  66. package/dist/CriticalCmdDialog-BnxZlt7W.cjs.map +1 -0
  67. package/dist/CriticalCmdDialog-DPIZOBeP.js +270 -0
  68. package/dist/CriticalCmdDialog-DPIZOBeP.js.map +1 -0
  69. package/dist/CustomIcon-Bop2mEnu.cjs +2 -0
  70. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -0
  71. package/dist/CustomIcon-h5X7369N.js +50 -0
  72. package/dist/CustomIcon-h5X7369N.js.map +1 -0
  73. package/dist/DateWidget-BB4cIuUS.cjs +2 -0
  74. package/dist/DateWidget-BB4cIuUS.cjs.map +1 -0
  75. package/dist/DateWidget-BEVSczU8.js +40 -0
  76. package/dist/DateWidget-BEVSczU8.js.map +1 -0
  77. package/dist/DetailsDialog-DmEC5BTs.js +767 -0
  78. package/dist/DetailsDialog-DmEC5BTs.js.map +1 -0
  79. package/dist/DetailsDialog-mvxMFmgV.cjs +2 -0
  80. package/dist/DetailsDialog-mvxMFmgV.cjs.map +1 -0
  81. package/dist/DynamicWidget-BWEVCUfd.cjs +2 -0
  82. package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -0
  83. package/dist/DynamicWidget-CfMtj7H8.js +35 -0
  84. package/dist/DynamicWidget-CfMtj7H8.js.map +1 -0
  85. package/dist/EventListDialog-BHZLl28V.cjs +2 -0
  86. package/dist/EventListDialog-BHZLl28V.cjs.map +1 -0
  87. package/dist/EventListDialog-CSMSmCIT.js +1586 -0
  88. package/dist/EventListDialog-CSMSmCIT.js.map +1 -0
  89. package/dist/FormatvalueWidget-CdjCEAI7.cjs +2 -0
  90. package/dist/FormatvalueWidget-CdjCEAI7.cjs.map +1 -0
  91. package/dist/FormatvalueWidget-DN12xymS.js +44 -0
  92. package/dist/FormatvalueWidget-DN12xymS.js.map +1 -0
  93. package/dist/Graph-Bgo0cjl3.js +1988 -0
  94. package/dist/Graph-Bgo0cjl3.js.map +1 -0
  95. package/dist/Graph-Ujd2yaeI.cjs +2 -0
  96. package/dist/Graph-Ujd2yaeI.cjs.map +1 -0
  97. package/dist/GraphWidget-DurWDmpg.js +130 -0
  98. package/dist/GraphWidget-DurWDmpg.js.map +1 -0
  99. package/dist/GraphWidget-sid4Ws9H.cjs +2 -0
  100. package/dist/GraphWidget-sid4Ws9H.cjs.map +1 -0
  101. package/dist/HorizontalWidget-Cd_wl1b3.js +41 -0
  102. package/dist/HorizontalWidget-Cd_wl1b3.js.map +1 -0
  103. package/dist/HorizontalWidget-_6IR0cR8.cjs +2 -0
  104. package/dist/HorizontalWidget-_6IR0cR8.cjs.map +1 -0
  105. package/dist/HorizontalboxWidget-BcMTFBU-.js +47 -0
  106. package/dist/HorizontalboxWidget-BcMTFBU-.js.map +1 -0
  107. package/dist/HorizontalboxWidget-zmnurtv1.cjs +2 -0
  108. package/dist/HorizontalboxWidget-zmnurtv1.cjs.map +1 -0
  109. package/dist/HorizontallineWidget-CM-6WqCj.cjs +2 -0
  110. package/dist/HorizontallineWidget-CM-6WqCj.cjs.map +1 -0
  111. package/dist/HorizontallineWidget-CXFqHclf.js +16 -0
  112. package/dist/HorizontallineWidget-CXFqHclf.js.map +1 -0
  113. package/dist/IframeWidget-BPerHCCa.js +90 -0
  114. package/dist/IframeWidget-BPerHCCa.js.map +1 -0
  115. package/dist/IframeWidget-EhncMob0.cjs +2 -0
  116. package/dist/IframeWidget-EhncMob0.cjs.map +1 -0
  117. package/dist/ImageLoader-4N-7Gj61.js +36 -0
  118. package/dist/ImageLoader-4N-7Gj61.js.map +1 -0
  119. package/dist/ImageLoader-cRmBcpU9.cjs +2 -0
  120. package/dist/ImageLoader-cRmBcpU9.cjs.map +1 -0
  121. package/dist/ImageviewerWidget-Bv3CreXd.cjs +2 -0
  122. package/dist/ImageviewerWidget-Bv3CreXd.cjs.map +1 -0
  123. package/dist/ImageviewerWidget-Cw_H_HmZ.js +37 -0
  124. package/dist/ImageviewerWidget-Cw_H_HmZ.js.map +1 -0
  125. package/dist/InterfacesTab-B4glsR9Z.js +93 -0
  126. package/dist/InterfacesTab-B4glsR9Z.js.map +1 -0
  127. package/dist/InterfacesTab-Co1Kd6Fa.cjs +2 -0
  128. package/dist/InterfacesTab-Co1Kd6Fa.cjs.map +1 -0
  129. package/dist/LabelWidget-mMcf5S8K.cjs +2 -0
  130. package/dist/LabelWidget-mMcf5S8K.cjs.map +1 -0
  131. package/dist/LabelWidget-xrmcVeq8.js +48 -0
  132. package/dist/LabelWidget-xrmcVeq8.js.map +1 -0
  133. package/dist/LabelledWidget-BoYCuDaH.cjs +2 -0
  134. package/dist/LabelledWidget-BoYCuDaH.cjs.map +1 -0
  135. package/dist/LabelledWidget-D48QoyMk.js +42 -0
  136. package/dist/LabelledWidget-D48QoyMk.js.map +1 -0
  137. package/dist/LabelprogressbarWidget-C_950t6g.js +43 -0
  138. package/dist/LabelprogressbarWidget-C_950t6g.js.map +1 -0
  139. package/dist/LabelprogressbarWidget-DiucKsT2.cjs +2 -0
  140. package/dist/LabelprogressbarWidget-DiucKsT2.cjs.map +1 -0
  141. package/dist/LabelsparklineWidget-0KXQyPoU.js +44 -0
  142. package/dist/LabelsparklineWidget-0KXQyPoU.js.map +1 -0
  143. package/dist/LabelsparklineWidget-A3MTEhQc.cjs +2 -0
  144. package/dist/LabelsparklineWidget-A3MTEhQc.cjs.map +1 -0
  145. package/dist/LabelvalueWidget-CQ06wWDK.js +58 -0
  146. package/dist/LabelvalueWidget-CQ06wWDK.js.map +1 -0
  147. package/dist/LabelvalueWidget-DnKoz0-N.cjs +2 -0
  148. package/dist/LabelvalueWidget-DnKoz0-N.cjs.map +1 -0
  149. package/dist/LabelvaluedescWidget-Bo8zT01X.js +59 -0
  150. package/dist/LabelvaluedescWidget-Bo8zT01X.js.map +1 -0
  151. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs +2 -0
  152. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs.map +1 -0
  153. package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js +57 -0
  154. package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js.map +1 -0
  155. package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs +2 -0
  156. package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs.map +1 -0
  157. package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs +2 -0
  158. package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs.map +1 -0
  159. package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js +47 -0
  160. package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js.map +1 -0
  161. package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs +2 -0
  162. package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs.map +1 -0
  163. package/dist/LabelvaluerangebarWidget-D8cbfXFM.js +79 -0
  164. package/dist/LabelvaluerangebarWidget-D8cbfXFM.js.map +1 -0
  165. package/dist/Layout-DuCYyOw4.cjs +2 -0
  166. package/dist/Layout-DuCYyOw4.cjs.map +1 -0
  167. package/dist/Layout-Tf--nruw.js +14 -0
  168. package/dist/Layout-Tf--nruw.js.map +1 -0
  169. package/dist/LedWidget-B2BcwiYF.cjs +2 -0
  170. package/dist/LedWidget-B2BcwiYF.cjs.map +1 -0
  171. package/dist/LedWidget-qH_FthkK.js +145 -0
  172. package/dist/LedWidget-qH_FthkK.js.map +1 -0
  173. package/dist/LimitsbarWidget-B9lAB2RD.js +69 -0
  174. package/dist/LimitsbarWidget-B9lAB2RD.js.map +1 -0
  175. package/dist/LimitsbarWidget-CVCLFIhG.cjs +2 -0
  176. package/dist/LimitsbarWidget-CVCLFIhG.cjs.map +1 -0
  177. package/dist/LimitscolorWidget-DORhDxRo.cjs +2 -0
  178. package/dist/LimitscolorWidget-DORhDxRo.cjs.map +1 -0
  179. package/dist/LimitscolorWidget-c6Qa6su7.js +63 -0
  180. package/dist/LimitscolorWidget-c6Qa6su7.js.map +1 -0
  181. package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs +2 -0
  182. package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs.map +1 -0
  183. package/dist/LimitscolumnWidget-CcLs_443.js +66 -0
  184. package/dist/LimitscolumnWidget-CcLs_443.js.map +1 -0
  185. package/dist/LinegraphWidget-BSVYLFo1.js +39 -0
  186. package/dist/LinegraphWidget-BSVYLFo1.js.map +1 -0
  187. package/dist/LinegraphWidget-Bf8DIwEn.cjs +2 -0
  188. package/dist/LinegraphWidget-Bf8DIwEn.cjs.map +1 -0
  189. package/dist/MatrixbycolumnsWidget-DXFpZTre.js +56 -0
  190. package/dist/MatrixbycolumnsWidget-DXFpZTre.js.map +1 -0
  191. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs +2 -0
  192. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs.map +1 -0
  193. package/dist/MicroservicesTab-B5n-mN8G.cjs +2 -0
  194. package/dist/MicroservicesTab-B5n-mN8G.cjs.map +1 -0
  195. package/dist/MicroservicesTab-mCdS0v39.js +264 -0
  196. package/dist/MicroservicesTab-mCdS0v39.js.map +1 -0
  197. package/dist/Openc3Screen-BYhHaH_I.cjs +5 -0
  198. package/dist/Openc3Screen-BYhHaH_I.cjs.map +1 -0
  199. package/dist/Openc3Screen-Cud0OCFu.js +1789 -0
  200. package/dist/Openc3Screen-Cud0OCFu.js.map +1 -0
  201. package/dist/OutputDialog-DXoL9VPw.cjs +2 -0
  202. package/dist/OutputDialog-DXoL9VPw.cjs.map +1 -0
  203. package/dist/OutputDialog-zVPZiZay.js +242 -0
  204. package/dist/OutputDialog-zVPZiZay.js.map +1 -0
  205. package/dist/PackagesTab-CvT2JyMA.cjs +2 -0
  206. package/dist/PackagesTab-CvT2JyMA.cjs.map +1 -0
  207. package/dist/PackagesTab-SWcXumpK.js +332 -0
  208. package/dist/PackagesTab-SWcXumpK.js.map +1 -0
  209. package/dist/PluginsTab-B64OvayB.js +599 -0
  210. package/dist/PluginsTab-B64OvayB.js.map +1 -0
  211. package/dist/PluginsTab-CfpwWsqv.cjs +6 -0
  212. package/dist/PluginsTab-CfpwWsqv.cjs.map +1 -0
  213. package/dist/ProgressbarWidget-fGWa6ipm.cjs +2 -0
  214. package/dist/ProgressbarWidget-fGWa6ipm.cjs.map +1 -0
  215. package/dist/ProgressbarWidget-iYGw8-Dc.js +46 -0
  216. package/dist/ProgressbarWidget-iYGw8-Dc.js.map +1 -0
  217. package/dist/RadiobuttonWidget-ZEPJbOp_.cjs +2 -0
  218. package/dist/RadiobuttonWidget-ZEPJbOp_.cjs.map +1 -0
  219. package/dist/RadiobuttonWidget-ytmoVZ3u.js +34 -0
  220. package/dist/RadiobuttonWidget-ytmoVZ3u.js.map +1 -0
  221. package/dist/RadiogroupWidget-CusMBhKH.js +48 -0
  222. package/dist/RadiogroupWidget-CusMBhKH.js.map +1 -0
  223. package/dist/RadiogroupWidget-EK4rEGUC.cjs +2 -0
  224. package/dist/RadiogroupWidget-EK4rEGUC.cjs.map +1 -0
  225. package/dist/RangebarWidget-D_zGTtCa.js +67 -0
  226. package/dist/RangebarWidget-D_zGTtCa.js.map +1 -0
  227. package/dist/RangebarWidget-DwIs-L5k.cjs +2 -0
  228. package/dist/RangebarWidget-DwIs-L5k.cjs.map +1 -0
  229. package/dist/RedisTab-67UcKoPf.cjs +2 -0
  230. package/dist/RedisTab-67UcKoPf.cjs.map +1 -0
  231. package/dist/RedisTab-CyPo6ADN.js +135 -0
  232. package/dist/RedisTab-CyPo6ADN.js.map +1 -0
  233. package/dist/RollupWidget-DC3OIP6G.cjs +2 -0
  234. package/dist/RollupWidget-DC3OIP6G.cjs.map +1 -0
  235. package/dist/RollupWidget-Dolsixyt.js +83 -0
  236. package/dist/RollupWidget-Dolsixyt.js.map +1 -0
  237. package/dist/RoutersTab-BBPlFi_z.cjs +2 -0
  238. package/dist/RoutersTab-BBPlFi_z.cjs.map +1 -0
  239. package/dist/RoutersTab-Cs2dFVNA.js +95 -0
  240. package/dist/RoutersTab-Cs2dFVNA.js.map +1 -0
  241. package/dist/ScriptChooser-EV65rbWx.js +199 -0
  242. package/dist/ScriptChooser-EV65rbWx.js.map +1 -0
  243. package/dist/ScriptChooser-vyZwngrz.cjs +2 -0
  244. package/dist/ScriptChooser-vyZwngrz.cjs.map +1 -0
  245. package/dist/ScrollwindowWidget-BWeqSUPc.cjs +2 -0
  246. package/dist/ScrollwindowWidget-BWeqSUPc.cjs.map +1 -0
  247. package/dist/ScrollwindowWidget-DV2nZuNi.js +45 -0
  248. package/dist/ScrollwindowWidget-DV2nZuNi.js.map +1 -0
  249. package/dist/SecretsTab-0IFqUxNJ.cjs +2 -0
  250. package/dist/SecretsTab-0IFqUxNJ.cjs.map +1 -0
  251. package/dist/SecretsTab-DVyyyGlG.js +202 -0
  252. package/dist/SecretsTab-DVyyyGlG.js.map +1 -0
  253. package/dist/SettingsTab-B1LvOLG2.cjs +3 -0
  254. package/dist/SettingsTab-B1LvOLG2.cjs.map +1 -0
  255. package/dist/SettingsTab-g29K6FyC.js +1445 -0
  256. package/dist/SettingsTab-g29K6FyC.js.map +1 -0
  257. package/dist/SignalWidget-RvRwpE8T.cjs +2 -0
  258. package/dist/SignalWidget-RvRwpE8T.cjs.map +1 -0
  259. package/dist/SignalWidget-d9-6h85k.js +66 -0
  260. package/dist/SignalWidget-d9-6h85k.js.map +1 -0
  261. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs +2 -0
  262. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs.map +1 -0
  263. package/dist/SimpleTextDialog-pwN8oRy1.js +107 -0
  264. package/dist/SimpleTextDialog-pwN8oRy1.js.map +1 -0
  265. package/dist/SpacerWidget-7_8bpLCb.cjs +2 -0
  266. package/dist/SpacerWidget-7_8bpLCb.cjs.map +1 -0
  267. package/dist/SpacerWidget-BH0p2OLi.js +19 -0
  268. package/dist/SpacerWidget-BH0p2OLi.js.map +1 -0
  269. package/dist/SparklineWidget-60jVlbHA.cjs +2 -0
  270. package/dist/SparklineWidget-60jVlbHA.cjs.map +1 -0
  271. package/dist/SparklineWidget-coxi9r2g.js +48 -0
  272. package/dist/SparklineWidget-coxi9r2g.js.map +1 -0
  273. package/dist/TabbookWidget-B1XKplGH.js +66 -0
  274. package/dist/TabbookWidget-B1XKplGH.js.map +1 -0
  275. package/dist/TabbookWidget-D1CVT9IK.cjs +2 -0
  276. package/dist/TabbookWidget-D1CVT9IK.cjs.map +1 -0
  277. package/dist/TargetsTab-BkBkXn9A.js +129 -0
  278. package/dist/TargetsTab-BkBkXn9A.js.map +1 -0
  279. package/dist/TargetsTab-C-m26Eqq.cjs +2 -0
  280. package/dist/TargetsTab-C-m26Eqq.cjs.map +1 -0
  281. package/dist/TextBoxDialog-DOJ5d2RM.js +110 -0
  282. package/dist/TextBoxDialog-DOJ5d2RM.js.map +1 -0
  283. package/dist/TextBoxDialog-DfMXg_5C.cjs +2 -0
  284. package/dist/TextBoxDialog-DfMXg_5C.cjs.map +1 -0
  285. package/dist/TextboxWidget-BDG4NxRw.cjs +2 -0
  286. package/dist/TextboxWidget-BDG4NxRw.cjs.map +1 -0
  287. package/dist/TextboxWidget-C-_M2M4l.js +93 -0
  288. package/dist/TextboxWidget-C-_M2M4l.js.map +1 -0
  289. package/dist/TextfieldWidget-BGJv9Lox.cjs +2 -0
  290. package/dist/TextfieldWidget-BGJv9Lox.cjs.map +1 -0
  291. package/dist/TextfieldWidget-C08N4JE8.js +37 -0
  292. package/dist/TextfieldWidget-C08N4JE8.js.map +1 -0
  293. package/dist/TimeWidget-CGCOIouj.cjs +2 -0
  294. package/dist/TimeWidget-CGCOIouj.cjs.map +1 -0
  295. package/dist/TimeWidget-DtwdEcFg.js +40 -0
  296. package/dist/TimeWidget-DtwdEcFg.js.map +1 -0
  297. package/dist/TitleWidget-BljFH9RB.cjs +2 -0
  298. package/dist/TitleWidget-BljFH9RB.cjs.map +1 -0
  299. package/dist/TitleWidget-CT-aLcNb.js +26 -0
  300. package/dist/TitleWidget-CT-aLcNb.js.map +1 -0
  301. package/dist/ToolsTab-NveeVXz2.js +1521 -0
  302. package/dist/ToolsTab-NveeVXz2.js.map +1 -0
  303. package/dist/ToolsTab-RMTst_Sy.cjs +7 -0
  304. package/dist/ToolsTab-RMTst_Sy.cjs.map +1 -0
  305. package/dist/TopBar-CnJNNJlV.js +278 -0
  306. package/dist/TopBar-CnJNNJlV.js.map +1 -0
  307. package/dist/TopBar-Cnmb6DyC.cjs +2 -0
  308. package/dist/TopBar-Cnmb6DyC.cjs.map +1 -0
  309. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js +94 -0
  310. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js.map +1 -0
  311. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs +2 -0
  312. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs.map +1 -0
  313. package/dist/VWidget-2N2cOosI.cjs +2 -0
  314. package/dist/VWidget-2N2cOosI.cjs.map +1 -0
  315. package/dist/VWidget-DQqb7NVW.js +323 -0
  316. package/dist/VWidget-DQqb7NVW.js.map +1 -0
  317. package/dist/ValueWidget-C6RanBj3.js +116 -0
  318. package/dist/ValueWidget-C6RanBj3.js.map +1 -0
  319. package/dist/ValueWidget-Cu7hgKja.cjs +2 -0
  320. package/dist/ValueWidget-Cu7hgKja.cjs.map +1 -0
  321. package/dist/ValuelimitsbarWidget-B3bvjfxc.js +41 -0
  322. package/dist/ValuelimitsbarWidget-B3bvjfxc.js.map +1 -0
  323. package/dist/ValuelimitsbarWidget-C0HROxrb.cjs +2 -0
  324. package/dist/ValuelimitsbarWidget-C0HROxrb.cjs.map +1 -0
  325. package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs +2 -0
  326. package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs.map +1 -0
  327. package/dist/ValuelimitscolumnWidget-QvhI6EcE.js +40 -0
  328. package/dist/ValuelimitscolumnWidget-QvhI6EcE.js.map +1 -0
  329. package/dist/ValuerangebarWidget-Dt3K9BnC.js +65 -0
  330. package/dist/ValuerangebarWidget-Dt3K9BnC.js.map +1 -0
  331. package/dist/ValuerangebarWidget-DyN78cQl.cjs +2 -0
  332. package/dist/ValuerangebarWidget-DyN78cQl.cjs.map +1 -0
  333. package/dist/VerticalWidget-BIIViZgI.js +40 -0
  334. package/dist/VerticalWidget-BIIViZgI.js.map +1 -0
  335. package/dist/VerticalWidget-CFTOu4H8.cjs +2 -0
  336. package/dist/VerticalWidget-CFTOu4H8.cjs.map +1 -0
  337. package/dist/VerticalboxWidget-DY72fLHW.js +46 -0
  338. package/dist/VerticalboxWidget-DY72fLHW.js.map +1 -0
  339. package/dist/VerticalboxWidget-Z8-DWI8t.cjs +2 -0
  340. package/dist/VerticalboxWidget-Z8-DWI8t.cjs.map +1 -0
  341. package/dist/Widget-ChoIB2dd.cjs +2 -0
  342. package/dist/Widget-ChoIB2dd.cjs.map +1 -0
  343. package/dist/Widget-oyqWpFXJ.js +197 -0
  344. package/dist/Widget-oyqWpFXJ.js.map +1 -0
  345. package/dist/WidgetComponents-C1lSLZ0I.js +30205 -0
  346. package/dist/WidgetComponents-C1lSLZ0I.js.map +1 -0
  347. package/dist/WidgetComponents-utpQ592X.cjs +1493 -0
  348. package/dist/WidgetComponents-utpQ592X.cjs.map +1 -0
  349. package/dist/addMonths-BtG7uZLJ.js +19 -0
  350. package/dist/addMonths-BtG7uZLJ.js.map +1 -0
  351. package/dist/addMonths-n1tnl3ab.cjs +2 -0
  352. package/dist/addMonths-n1tnl3ab.cjs.map +1 -0
  353. package/dist/components.cjs +4 -0
  354. package/dist/components.cjs.map +1 -0
  355. package/dist/components.js +1379 -0
  356. package/dist/components.js.map +1 -0
  357. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  358. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  359. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  360. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  361. package/dist/format-B22VpiOS.cjs +2 -0
  362. package/dist/format-B22VpiOS.cjs.map +1 -0
  363. package/dist/format-CVeawcIv.js +1295 -0
  364. package/dist/format-CVeawcIv.js.map +1 -0
  365. package/dist/getDefaultOptions-Batab9o8.cjs +2 -0
  366. package/dist/getDefaultOptions-Batab9o8.cjs.map +1 -0
  367. package/dist/getDefaultOptions-BhSDk-Jo.js +8 -0
  368. package/dist/getDefaultOptions-BhSDk-Jo.js.map +1 -0
  369. package/dist/icons/status-dark.png +0 -0
  370. package/dist/icons/status-dark.xcf +0 -0
  371. package/dist/icons/status-light.png +0 -0
  372. package/dist/icons.cjs +2 -0
  373. package/dist/icons.cjs.map +1 -0
  374. package/dist/icons.js +164 -0
  375. package/dist/icons.js.map +1 -0
  376. package/dist/index-BX05anye.cjs +7 -0
  377. package/dist/index-BX05anye.cjs.map +1 -0
  378. package/dist/index-DwP8ryNM.js +1694 -0
  379. package/dist/index-DwP8ryNM.js.map +1 -0
  380. package/dist/parse-DnkEsW-3.js +1603 -0
  381. package/dist/parse-DnkEsW-3.js.map +1 -0
  382. package/dist/parse-DwfgQboe.cjs +2 -0
  383. package/dist/parse-DwfgQboe.cjs.map +1 -0
  384. package/dist/plugins.cjs +9 -0
  385. package/dist/plugins.cjs.map +1 -0
  386. package/dist/plugins.js +776 -0
  387. package/dist/plugins.js.map +1 -0
  388. package/dist/timeFilters-8SaYvcH0.cjs +2 -0
  389. package/dist/timeFilters-8SaYvcH0.cjs.map +1 -0
  390. package/dist/timeFilters-CRYpYDdf.js +622 -0
  391. package/dist/timeFilters-CRYpYDdf.js.map +1 -0
  392. package/dist/tools/admin.cjs +13 -0
  393. package/dist/tools/admin.cjs.map +1 -0
  394. package/dist/tools/admin.js +2024 -0
  395. package/dist/tools/admin.js.map +1 -0
  396. package/dist/tools/base.cjs +2 -0
  397. package/dist/tools/base.cjs.map +1 -0
  398. package/dist/tools/base.js +1677 -0
  399. package/dist/tools/base.js.map +1 -0
  400. package/dist/tools/calendar.cjs +2 -0
  401. package/dist/tools/calendar.cjs.map +1 -0
  402. package/dist/tools/calendar.js +12 -0
  403. package/dist/tools/calendar.js.map +1 -0
  404. package/dist/tools/scriptrunner.cjs +86 -0
  405. package/dist/tools/scriptrunner.cjs.map +1 -0
  406. package/dist/tools/scriptrunner.js +4564 -0
  407. package/dist/tools/scriptrunner.js.map +1 -0
  408. package/dist/util.cjs +2 -0
  409. package/dist/util.cjs.map +1 -0
  410. package/dist/util.js +9 -0
  411. package/dist/util.js.map +1 -0
  412. package/dist/vue-common.css +1 -0
  413. package/dist/widgets.cjs +2 -0
  414. package/dist/widgets.cjs.map +1 -0
  415. package/dist/widgets.js +132 -0
  416. package/dist/widgets.js.map +1 -0
  417. package/package.json +20 -15
@@ -0,0 +1,2024 @@
1
+ import { a as we } from "../index-DwP8ryNM.js";
2
+ import { resolveComponent as m, createBlock as k, openBlock as L, withCtx as g, createVNode as c, createElementVNode as M, createElementBlock as R, createTextVNode as S, Fragment as G, renderList as $, createCommentVNode as j, toDisplayString as N, mergeProps as ye, withModifiers as H, normalizeProps as ve, guardReactiveProps as xe, withDirectives as Ce, vShow as Ee, toRaw as Le } from "vue";
3
+ import { _ as q } from "../CustomIcon-h5X7369N.js";
4
+ import { b as I, o as Se } from "../WidgetComponents-C1lSLZ0I.js";
5
+ import { A as U, T as De } from "../TopBar-CnJNNJlV.js";
6
+ import "single-spa";
7
+ const Me = {
8
+ props: {
9
+ modelValue: Boolean
10
+ },
11
+ data() {
12
+ return {
13
+ url: "",
14
+ type: null,
15
+ response: null,
16
+ activeDownload: !1,
17
+ disableSearch: !1,
18
+ expanded: []
19
+ };
20
+ },
21
+ computed: {
22
+ show: {
23
+ get() {
24
+ return this.modelValue;
25
+ },
26
+ set(e) {
27
+ this.$emit("update:modelValue", e);
28
+ }
29
+ },
30
+ listData: function() {
31
+ return this.response ? this.type === "github" ? this.parseGithub() : this.parseRuby() : [];
32
+ }
33
+ },
34
+ methods: {
35
+ parseGithub: function() {
36
+ const e = /\w+.gem/;
37
+ return this.response.tree.filter((t) => e.exec(t.path)).map((t) => ({
38
+ name: t.path,
39
+ url: `https://raw.github.com/OpenC3/openc3-tools/main/${t.path}`
40
+ }));
41
+ },
42
+ getResponse: function() {
43
+ this.disableSearch = !0, we.get(this.url).then((e) => {
44
+ this.response = e.data;
45
+ }), setTimeout(() => {
46
+ this.disableSearch = !1;
47
+ }, 1e4);
48
+ },
49
+ searchGithub: function() {
50
+ this.type = "github", this.url = "https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1", this.getResponse();
51
+ },
52
+ downloadGem: function(e) {
53
+ const t = document.createElement("a");
54
+ t.href = e.url, t.setAttribute("download", e.name), t.click(), t.remove();
55
+ }
56
+ }
57
+ }, Te = { class: "pa-3" }, ke = { class: "px-2" }, Ie = {
58
+ key: 0,
59
+ class: "mt-4"
60
+ }, Re = {
61
+ key: 1,
62
+ class: "mt-4"
63
+ }, Ve = { key: 0 }, Ae = { key: 1 };
64
+ function Ne(e, t, n, o, l, i) {
65
+ const s = m("v-spacer"), r = m("v-toolbar"), a = m("v-row"), f = m("v-icon"), u = m("v-btn"), d = m("v-col"), p = m("v-list-item-title"), _ = m("v-progress-circular"), w = m("v-tooltip"), C = m("v-list-item"), y = m("v-divider"), b = m("v-card-text"), E = m("v-card"), x = m("v-dialog");
66
+ return L(), k(x, {
67
+ modelValue: i.show,
68
+ "onUpdate:modelValue": t[0] || (t[0] = (v) => i.show = v),
69
+ width: "600"
70
+ }, {
71
+ default: g(() => [
72
+ c(E, null, {
73
+ default: g(() => [
74
+ c(r, { height: "24" }, {
75
+ default: g(() => [
76
+ c(s),
77
+ t[1] || (t[1] = M("span", null, " Download Gems ", -1)),
78
+ c(s)
79
+ ]),
80
+ _: 1
81
+ }),
82
+ c(b, null, {
83
+ default: g(() => [
84
+ M("div", Te, [
85
+ c(a, { class: "my-2" }, {
86
+ default: g(() => t[2] || (t[2] = [
87
+ S(" Select a download option ")
88
+ ])),
89
+ _: 1
90
+ }),
91
+ c(a, null, {
92
+ default: g(() => [
93
+ c(d, null, {
94
+ default: g(() => [
95
+ M("div", ke, [
96
+ c(u, {
97
+ onClick: i.searchGithub,
98
+ block: "",
99
+ "data-test": "searchGithub",
100
+ color: "primary",
101
+ disabled: l.disableSearch
102
+ }, {
103
+ default: g(() => [
104
+ t[4] || (t[4] = S(" Github ")),
105
+ c(f, {
106
+ end: "",
107
+ theme: "dark"
108
+ }, {
109
+ default: g(() => t[3] || (t[3] = [
110
+ S(" mdi-github ")
111
+ ])),
112
+ _: 1
113
+ })
114
+ ]),
115
+ _: 1
116
+ }, 8, ["onClick", "disabled"])
117
+ ])
118
+ ]),
119
+ _: 1
120
+ })
121
+ ]),
122
+ _: 1
123
+ }),
124
+ c(a, { class: "mt-5" }, {
125
+ default: g(() => t[5] || (t[5] = [
126
+ S(" Community Gems ")
127
+ ])),
128
+ _: 1
129
+ }),
130
+ i.listData.length < 1 ? (L(), R("div", Ie, [
131
+ c(a, { class: "mx-2" }, {
132
+ default: g(() => t[6] || (t[6] = [
133
+ M("span", null, " I’m sorry, Dave. No gems available.... ", -1)
134
+ ])),
135
+ _: 1
136
+ })
137
+ ])) : (L(), R("div", Re, [
138
+ (L(!0), R(G, null, $(i.listData, (v, T) => (L(), R("div", { key: T }, [
139
+ c(C, null, {
140
+ default: g(() => [
141
+ c(p, null, {
142
+ default: g(() => [
143
+ S(N(v.name), 1)
144
+ ]),
145
+ _: 2
146
+ }, 1024),
147
+ c(C, { icon: "" }, {
148
+ default: g(() => [
149
+ l.activeDownload ? (L(), R("div", Ve, [
150
+ c(_, {
151
+ indeterminate: "",
152
+ color: "primary"
153
+ })
154
+ ])) : (L(), R("div", Ae, [
155
+ c(w, { location: "top" }, {
156
+ activator: g(({ props: V }) => [
157
+ c(f, ye({ ref_for: !0 }, V, {
158
+ onClick: (P) => i.downloadGem(v),
159
+ disabled: l.activeDownload
160
+ }), {
161
+ default: g(() => t[7] || (t[7] = [
162
+ S(" mdi-cloud-download ")
163
+ ])),
164
+ _: 2
165
+ }, 1040, ["onClick", "disabled"])
166
+ ]),
167
+ default: g(() => [
168
+ t[8] || (t[8] = M("span", null, "Download Gem", -1))
169
+ ]),
170
+ _: 2
171
+ }, 1024)
172
+ ]))
173
+ ]),
174
+ _: 2
175
+ }, 1024)
176
+ ]),
177
+ _: 2
178
+ }, 1024),
179
+ T < i.listData.length - 1 ? (L(), k(y, { key: T })) : j("", !0)
180
+ ]))), 128))
181
+ ]))
182
+ ])
183
+ ]),
184
+ _: 1
185
+ })
186
+ ]),
187
+ _: 1
188
+ })
189
+ ]),
190
+ _: 1
191
+ }, 8, ["modelValue"]);
192
+ }
193
+ const _t = /* @__PURE__ */ q(Me, [["render", Ne]]), Pe = {
194
+ props: {
195
+ content: {
196
+ type: String,
197
+ required: !0
198
+ },
199
+ type: String,
200
+ name: String,
201
+ modelValue: Boolean,
202
+ readonly: Boolean
203
+ },
204
+ data() {
205
+ return {
206
+ editor: null,
207
+ contextMenu: !1,
208
+ menuX: 0,
209
+ menuY: 0
210
+ };
211
+ },
212
+ mounted() {
213
+ const e = this.buildPluginMode();
214
+ this.editor = I.edit(this.$refs.editor), this.editor.setTheme("ace/theme/twilight"), this.editor.session.setMode(new e()), this.editor.session.setTabSize(2), this.editor.session.setUseWrapMode(!0), this.editor.$blockScrolling = 1 / 0, this.editor.setHighlightActiveLine(!1), this.editor.setValue(this.content), this.editor.clearSelection(), U.applyVimModeIfEnabled(this.editor), this.editor.focus(), this.readonly && this.editor.setReadOnly(!0);
215
+ },
216
+ beforeUnmount() {
217
+ this.editor && this.editor.destroy();
218
+ },
219
+ computed: {
220
+ show: {
221
+ get() {
222
+ return this.modelValue;
223
+ },
224
+ set(e) {
225
+ this.$emit("update:modelValue", e);
226
+ }
227
+ },
228
+ title: function() {
229
+ return `${this.type}: ${this.name}`;
230
+ },
231
+ error: function() {
232
+ return this.editor && this.editor.getValue() === "" && !this.file ? "Input can not be blank." : null;
233
+ }
234
+ },
235
+ methods: {
236
+ submit: function() {
237
+ this.$emit("submit", this.editor.getValue()), this.show = !this.show;
238
+ },
239
+ close: function() {
240
+ this.show = !this.show;
241
+ },
242
+ download: function() {
243
+ const e = new Blob([this.editor.getValue()], {
244
+ type: "text/plain"
245
+ }), t = document.createElement("a");
246
+ t.href = URL.createObjectURL(e), t.setAttribute(
247
+ "download",
248
+ `${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`
249
+ ), t.click();
250
+ },
251
+ buildPluginMode() {
252
+ let e = I.require("ace/lib/oop"), t = I.require(
253
+ "ace/mode/json_highlight_rules"
254
+ ).JsonHighlightRules, n = I.require(
255
+ "ace/mode/matching_brace_outdent"
256
+ ).MatchingBraceOutdent, o = I.require(
257
+ "ace/mode/behaviour/cstyle"
258
+ ).CstyleBehaviour, l = I.require("ace/mode/folding/ruby").FoldMode, i = function() {
259
+ this.HighlightRules = t, this.$outdent = new n(), this.$behaviour = new o(), this.foldingRules = new l(), this.indentKeywords = this.foldingRules.indentKeywords;
260
+ }, s = I.require("ace/mode/ruby").Mode;
261
+ return e.inherits(i, s), (function() {
262
+ this.$id = "ace/mode/openc3";
263
+ }).call(i.prototype), i;
264
+ },
265
+ showContextMenu: function(e) {
266
+ this.menuX = e.pageX, this.menuY = e.pageY;
267
+ let t = this.editor.getCursorPosition(), n = this.editor.session.getTokenAt(t.row, t.column);
268
+ if (n) {
269
+ let o = n.value.trim();
270
+ o.includes(" ") ? this.docsKeyword = o.split(" ")[0] : this.docsKeyword = o, this.contextMenu = !0;
271
+ }
272
+ },
273
+ toggleVimMode: function() {
274
+ U.toggleVimMode(this.editor);
275
+ }
276
+ }
277
+ }, Oe = ["textContent"], Fe = { class: "mx-2" }, Ue = { class: "pa-3" }, He = { key: 0 }, Be = ["textContent"];
278
+ function Ge(e, t, n, o, l, i) {
279
+ const s = m("v-spacer"), r = m("v-icon"), a = m("v-tooltip"), f = m("v-toolbar"), u = m("v-row"), d = m("v-btn"), p = m("v-col"), _ = m("v-file-input"), w = m("v-list-item"), C = m("v-list"), y = m("v-menu"), b = m("v-card-text"), E = m("v-card"), x = m("v-dialog");
280
+ return L(), k(x, {
281
+ persistent: !n.readonly,
282
+ modelValue: i.show,
283
+ "onUpdate:modelValue": t[4] || (t[4] = (v) => i.show = v),
284
+ width: "80vw"
285
+ }, {
286
+ default: g(() => [
287
+ c(E, null, {
288
+ default: g(() => [
289
+ M("form", {
290
+ onSubmit: t[3] || (t[3] = H((...v) => i.submit && i.submit(...v), ["prevent"]))
291
+ }, [
292
+ c(f, { height: "24" }, {
293
+ default: g(() => [
294
+ c(s),
295
+ M("span", {
296
+ textContent: N(i.title)
297
+ }, null, 8, Oe),
298
+ c(s),
299
+ M("div", Fe, [
300
+ c(a, { location: "top" }, {
301
+ activator: g(({ props: v }) => [
302
+ M("div", ve(xe(v)), [
303
+ c(r, {
304
+ "data-test": "downloadIcon",
305
+ onClick: i.download
306
+ }, {
307
+ default: g(() => t[5] || (t[5] = [
308
+ S(" mdi-download ")
309
+ ])),
310
+ _: 1
311
+ }, 8, ["onClick"])
312
+ ], 16)
313
+ ]),
314
+ default: g(() => [
315
+ t[6] || (t[6] = M("span", null, " Download ", -1))
316
+ ]),
317
+ _: 1
318
+ })
319
+ ])
320
+ ]),
321
+ _: 1
322
+ }),
323
+ c(b, null, {
324
+ default: g(() => [
325
+ M("div", Ue, [
326
+ n.readonly ? j("", !0) : (L(), R("div", He, [
327
+ c(u, { class: "mt-3" }, {
328
+ default: g(() => t[7] || (t[7] = [
329
+ S(" Upload a file. ")
330
+ ])),
331
+ _: 1
332
+ }),
333
+ c(u, {
334
+ "no-gutters": "",
335
+ align: "center"
336
+ }, {
337
+ default: g(() => [
338
+ c(p, { cols: "3" }, {
339
+ default: g(() => [
340
+ c(d, {
341
+ block: "",
342
+ color: "success",
343
+ onClick: e.loadFile,
344
+ disabled: !e.file || e.loadingFile || n.readonly,
345
+ loading: e.loadingFile,
346
+ "data-test": "editScreenLoadBtn"
347
+ }, {
348
+ loader: g(() => t[8] || (t[8] = [
349
+ M("span", null, "Loading...", -1)
350
+ ])),
351
+ default: g(() => [
352
+ t[9] || (t[9] = S(" Load "))
353
+ ]),
354
+ _: 1
355
+ }, 8, ["onClick", "disabled", "loading"])
356
+ ]),
357
+ _: 1
358
+ }),
359
+ c(p, { cols: "9" }, {
360
+ default: g(() => [
361
+ c(_, {
362
+ modelValue: e.file,
363
+ "onUpdate:modelValue": t[0] || (t[0] = (v) => e.file = v),
364
+ accept: ".json",
365
+ label: "Click to select .json file.",
366
+ disabled: n.readonly
367
+ }, null, 8, ["modelValue", "disabled"])
368
+ ]),
369
+ _: 1
370
+ })
371
+ ]),
372
+ _: 1
373
+ })
374
+ ])),
375
+ c(u, { "no-gutters": "" }, {
376
+ default: g(() => [
377
+ M("pre", {
378
+ class: "editor",
379
+ ref: "editor",
380
+ onContextmenu: t[1] || (t[1] = H((...v) => i.showContextMenu && i.showContextMenu(...v), ["prevent"]))
381
+ }, null, 544),
382
+ c(y, {
383
+ modelValue: l.contextMenu,
384
+ "onUpdate:modelValue": t[2] || (t[2] = (v) => l.contextMenu = v),
385
+ target: [l.menuX, l.menuY]
386
+ }, {
387
+ default: g(() => [
388
+ c(C, null, {
389
+ default: g(() => [
390
+ c(w, {
391
+ title: "Toggle Vim mode",
392
+ "prepend-icon": "extras:vim",
393
+ onClick: i.toggleVimMode
394
+ }, null, 8, ["onClick"])
395
+ ]),
396
+ _: 1
397
+ })
398
+ ]),
399
+ _: 1
400
+ }, 8, ["modelValue", "target"])
401
+ ]),
402
+ _: 1
403
+ }),
404
+ c(u, { class: "my-3" }, {
405
+ default: g(() => [
406
+ Ce(M("span", {
407
+ class: "text-red",
408
+ textContent: N(i.error)
409
+ }, null, 8, Be), [
410
+ [Ee, i.error]
411
+ ])
412
+ ]),
413
+ _: 1
414
+ }),
415
+ c(u, null, {
416
+ default: g(() => [
417
+ c(s),
418
+ c(d, {
419
+ onClick: H(i.close, ["prevent"]),
420
+ variant: "outlined",
421
+ class: "mx-2",
422
+ "data-test": "editCancelBtn"
423
+ }, {
424
+ default: g(() => t[10] || (t[10] = [
425
+ S(" Cancel ")
426
+ ])),
427
+ _: 1
428
+ }, 8, ["onClick"]),
429
+ n.readonly ? j("", !0) : (L(), k(d, {
430
+ key: 0,
431
+ class: "mx-2",
432
+ color: "primary",
433
+ type: "submit",
434
+ "data-test": "editSubmitBtn",
435
+ disabled: !!i.error || n.readonly
436
+ }, {
437
+ default: g(() => t[11] || (t[11] = [
438
+ S(" Save ")
439
+ ])),
440
+ _: 1
441
+ }, 8, ["disabled"]))
442
+ ]),
443
+ _: 1
444
+ })
445
+ ])
446
+ ]),
447
+ _: 1
448
+ })
449
+ ], 32)
450
+ ]),
451
+ _: 1
452
+ })
453
+ ]),
454
+ _: 1
455
+ }, 8, ["persistent", "modelValue"]);
456
+ }
457
+ const bt = /* @__PURE__ */ q(Pe, [["render", Ge], ["__scopeId", "data-v-4b6b190e"]]), $e = {
458
+ props: {
459
+ modelValue: Boolean,
460
+ plugin: String,
461
+ targets: Array,
462
+ pluginDelete: Boolean
463
+ },
464
+ data() {
465
+ return {
466
+ modifiedTargets: [],
467
+ deleteModified: !1
468
+ };
469
+ },
470
+ computed: {
471
+ show: {
472
+ get() {
473
+ return this.modelValue;
474
+ },
475
+ set(e) {
476
+ this.$emit("update:modelValue", e);
477
+ }
478
+ }
479
+ },
480
+ created() {
481
+ for (const e of this.targets)
482
+ Se.get(`/openc3-api/targets/${e.name}/modified_files`).then(
483
+ (t) => {
484
+ t.data.length !== 0 && this.modifiedTargets.push({
485
+ name: e.name,
486
+ files: t.data
487
+ });
488
+ }
489
+ );
490
+ }
491
+ };
492
+ function je(e, t, n, o, l, i) {
493
+ const s = m("v-spacer"), r = m("v-toolbar"), a = m("v-list-item-title"), f = m("v-list-item-subtitle"), u = m("v-list-item"), d = m("v-checkbox"), p = m("v-card-text"), _ = m("v-btn"), w = m("v-card-actions"), C = m("v-card"), y = m("v-dialog");
494
+ return L(), k(y, {
495
+ modelValue: i.show,
496
+ "onUpdate:modelValue": t[3] || (t[3] = (b) => i.show = b),
497
+ width: "600"
498
+ }, {
499
+ default: g(() => [
500
+ c(C, null, {
501
+ default: g(() => [
502
+ c(r, { height: "24" }, {
503
+ default: g(() => [
504
+ c(s),
505
+ t[4] || (t[4] = M("span", null, " Modified Plugin ", -1)),
506
+ c(s)
507
+ ]),
508
+ _: 1
509
+ }),
510
+ c(p, { class: "pa-3" }, {
511
+ default: g(() => [
512
+ M("div", null, " Plugin " + N(n.plugin) + " was modified. Would you like to delete the existing modified files? ", 1),
513
+ (L(!0), R(G, null, $(l.modifiedTargets, (b, E) => (L(), k(u, {
514
+ lines: "two",
515
+ key: E
516
+ }, {
517
+ default: g(() => [
518
+ c(a, null, {
519
+ default: g(() => [
520
+ S(N(b.name), 1)
521
+ ]),
522
+ _: 2
523
+ }, 1024),
524
+ (L(!0), R(G, null, $(b.files, (x, v) => (L(), k(f, { key: v }, {
525
+ default: g(() => [
526
+ S(N(x), 1)
527
+ ]),
528
+ _: 2
529
+ }, 1024))), 128))
530
+ ]),
531
+ _: 2
532
+ }, 1024))), 128)),
533
+ c(d, {
534
+ modelValue: l.deleteModified,
535
+ "onUpdate:modelValue": t[0] || (t[0] = (b) => l.deleteModified = b),
536
+ label: "DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!",
537
+ color: "error",
538
+ "data-test": "modified-plugin-delete-checkbox"
539
+ }, null, 8, ["modelValue"])
540
+ ]),
541
+ _: 1
542
+ }),
543
+ c(w, { class: "px-2" }, {
544
+ default: g(() => [
545
+ c(s),
546
+ c(_, {
547
+ variant: "outlined",
548
+ "data-test": "modified-plugin-cancel",
549
+ onClick: t[1] || (t[1] = () => {
550
+ i.show = !1, e.$emit("cancel");
551
+ })
552
+ }, {
553
+ default: g(() => t[5] || (t[5] = [
554
+ S(" Cancel ")
555
+ ])),
556
+ _: 1
557
+ }),
558
+ c(_, {
559
+ variant: "flat",
560
+ "data-test": "modified-plugin-submit",
561
+ onClick: t[2] || (t[2] = () => {
562
+ i.show = !1, e.$emit("submit", l.deleteModified);
563
+ })
564
+ }, {
565
+ default: g(() => t[6] || (t[6] = [
566
+ S(" Confirm ")
567
+ ])),
568
+ _: 1
569
+ })
570
+ ]),
571
+ _: 1
572
+ })
573
+ ]),
574
+ _: 1
575
+ })
576
+ ]),
577
+ _: 1
578
+ }, 8, ["modelValue"]);
579
+ }
580
+ const wt = /* @__PURE__ */ q($e, [["render", je]]), qe = [
581
+ {
582
+ displayName: "Plugins",
583
+ name: "PluginsTab",
584
+ path: "plugins",
585
+ component: () => import("../PluginsTab-B64OvayB.js")
586
+ },
587
+ {
588
+ displayName: "Targets",
589
+ name: "TargetsTab",
590
+ path: "targets",
591
+ component: () => import("../TargetsTab-BkBkXn9A.js")
592
+ },
593
+ {
594
+ displayName: "Interfaces",
595
+ name: "InterfacesTab",
596
+ path: "interfaces",
597
+ component: () => import("../InterfacesTab-B4glsR9Z.js")
598
+ },
599
+ {
600
+ displayName: "Routers",
601
+ name: "RoutersTab",
602
+ path: "routers",
603
+ component: () => import("../RoutersTab-Cs2dFVNA.js")
604
+ },
605
+ {
606
+ displayName: "Microservices",
607
+ name: "MicroservicesTab",
608
+ path: "microservices",
609
+ component: () => import("../MicroservicesTab-mCdS0v39.js")
610
+ },
611
+ {
612
+ displayName: "Packages",
613
+ name: "PackagesTab",
614
+ path: "packages",
615
+ component: () => import("../PackagesTab-SWcXumpK.js")
616
+ },
617
+ {
618
+ displayName: "Tools",
619
+ name: "ToolsTab",
620
+ path: "tools",
621
+ component: () => import("../ToolsTab-NveeVXz2.js")
622
+ },
623
+ {
624
+ displayName: "Redis",
625
+ name: "RedisTab",
626
+ path: "redis",
627
+ component: () => import("../RedisTab-CyPo6ADN.js")
628
+ },
629
+ {
630
+ displayName: "Secrets",
631
+ name: "SecretsTab",
632
+ path: "secrets",
633
+ component: () => import("../SecretsTab-DVyyyGlG.js")
634
+ },
635
+ {
636
+ displayName: "Settings",
637
+ name: "SettingsTab",
638
+ path: "settings",
639
+ component: () => import("../SettingsTab-g29K6FyC.js")
640
+ }
641
+ ], Ye = {
642
+ components: {
643
+ TopBar: De
644
+ },
645
+ data() {
646
+ return {
647
+ title: "Administrator Console",
648
+ curTab: null
649
+ };
650
+ },
651
+ computed: {
652
+ tabs: function() {
653
+ return qe.map((e) => ({
654
+ displayName: e.displayName,
655
+ path: { name: e.name }
656
+ }));
657
+ }
658
+ }
659
+ };
660
+ function ze(e, t, n, o, l, i) {
661
+ const s = m("top-bar"), r = m("v-tab"), a = m("v-tabs"), f = m("router-view"), u = m("v-card");
662
+ return L(), R("div", null, [
663
+ c(s, { title: l.title }, null, 8, ["title"]),
664
+ c(u, null, {
665
+ default: g(() => [
666
+ c(a, {
667
+ modelValue: l.curTab,
668
+ "onUpdate:modelValue": t[0] || (t[0] = (d) => l.curTab = d),
669
+ "fixed-tabs": ""
670
+ }, {
671
+ default: g(() => [
672
+ (L(!0), R(G, null, $(i.tabs, (d, p) => (L(), k(r, {
673
+ key: p,
674
+ to: d.path
675
+ }, {
676
+ default: g(() => [
677
+ S(N(d.displayName), 1)
678
+ ]),
679
+ _: 2
680
+ }, 1032, ["to"]))), 128))
681
+ ]),
682
+ _: 1
683
+ }, 8, ["modelValue"]),
684
+ c(f)
685
+ ]),
686
+ _: 1
687
+ })
688
+ ]);
689
+ }
690
+ const yt = /* @__PURE__ */ q(Ye, [["render", ze]]), h = function() {
691
+ this.Diff_Timeout = 1, this.Diff_EditCost = 4, this.Match_Threshold = 0.5, this.Match_Distance = 1e3, this.Patch_DeleteThreshold = 0.5, this.Patch_Margin = 4, this.Match_MaxBits = 32;
692
+ };
693
+ h.Diff = function(e, t) {
694
+ this[0] = e, this[1] = t;
695
+ };
696
+ h.Diff.prototype.length = 2;
697
+ h.Diff.prototype.toString = function() {
698
+ return this[0] + "," + this[1];
699
+ };
700
+ h.prototype.diff_main = function(e, t, n, o) {
701
+ typeof o > "u" && (this.Diff_Timeout <= 0 ? o = Number.MAX_VALUE : o = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
702
+ let l = o;
703
+ if (e == null || t == null) throw new Error("Null input. (diff_main)");
704
+ if (e == t) return e ? [new h.Diff(0, e)] : [];
705
+ typeof n > "u" && (n = !0);
706
+ let i = n, s = this.diff_commonPrefix(e, t), r = e.substring(0, s);
707
+ e = e.substring(s), t = t.substring(s), s = this.diff_commonSuffix(e, t);
708
+ let a = e.substring(e.length - s);
709
+ e = e.substring(0, e.length - s), t = t.substring(0, t.length - s);
710
+ let f = this.diff_compute_(e, t, i, l);
711
+ return r && f.unshift(new h.Diff(0, r)), a && f.push(new h.Diff(0, a)), this.diff_cleanupMerge(f), f;
712
+ };
713
+ h.prototype.diff_compute_ = function(e, t, n, o) {
714
+ let l;
715
+ if (!e) return [new h.Diff(1, t)];
716
+ if (!t) return [new h.Diff(-1, e)];
717
+ let i = e.length > t.length ? e : t, s = e.length > t.length ? t : e, r = i.indexOf(s);
718
+ return r != -1 ? (l = [new h.Diff(1, i.substring(0, r)), new h.Diff(0, s), new h.Diff(1, i.substring(r + s.length))], e.length > t.length && (l[0][0] = l[2][0] = -1), l) : s.length == 1 ? [new h.Diff(-1, e), new h.Diff(1, t)] : n && e.length > 100 && t.length > 100 ? this.diff_lineMode_(e, t, o) : this.diff_bisect_(e, t, o);
719
+ };
720
+ h.prototype.diff_lineMode_ = function(e, t, n) {
721
+ let o = this.diff_linesToChars_(e, t);
722
+ e = o.chars1, t = o.chars2;
723
+ let l = o.lineArray, i = this.diff_main(e, t, !1, n);
724
+ this.diff_charsToLines_(i, l), this.diff_cleanupSemantic(i), i.push(new h.Diff(0, ""));
725
+ let s = 0, r = 0, a = 0, f = "", u = "";
726
+ for (; s < i.length; ) {
727
+ switch (i[s][0]) {
728
+ case 1:
729
+ a++, u += i[s][1];
730
+ break;
731
+ case -1:
732
+ r++, f += i[s][1];
733
+ break;
734
+ case 0:
735
+ if (r >= 1 && a >= 1) {
736
+ i.splice(s - r - a, r + a), s = s - r - a;
737
+ let d = this.diff_main(f, u, !1, n);
738
+ for (let p = d.length - 1; p >= 0; p--) i.splice(s, 0, d[p]);
739
+ s = s + d.length;
740
+ }
741
+ a = 0, r = 0, f = "", u = "";
742
+ break;
743
+ }
744
+ s++;
745
+ }
746
+ return i.pop(), i;
747
+ };
748
+ h.prototype.diff_bisect_ = function(e, t, n) {
749
+ let o = e.length, l = t.length, i = Math.ceil((o + l) / 2), s = i, r = 2 * i, a = new Array(r), f = new Array(r);
750
+ for (let y = 0; y < r; y++) a[y] = -1, f[y] = -1;
751
+ a[s + 1] = 0, f[s + 1] = 0;
752
+ let u = o - l, d = u % 2 != 0, p = 0, _ = 0, w = 0, C = 0;
753
+ for (let y = 0; y < i && !((/* @__PURE__ */ new Date()).getTime() > n); y++) {
754
+ for (let b = -y + p; b <= y - _; b += 2) {
755
+ let E = s + b, x;
756
+ b == -y || b != y && a[E - 1] < a[E + 1] ? x = a[E + 1] : x = a[E - 1] + 1;
757
+ let v = x - b;
758
+ for (; x < o && v < l && e.charAt(x) == t.charAt(v); ) x++, v++;
759
+ if (a[E] = x, x > o) _ += 2;
760
+ else if (v > l) p += 2;
761
+ else if (d) {
762
+ let T = s + u - b;
763
+ if (T >= 0 && T < r && f[T] != -1) {
764
+ let V = o - f[T];
765
+ if (x >= V) return this.diff_bisectSplit_(e, t, x, v, n);
766
+ }
767
+ }
768
+ }
769
+ for (let b = -y + w; b <= y - C; b += 2) {
770
+ let E = s + b, x;
771
+ b == -y || b != y && f[E - 1] < f[E + 1] ? x = f[E + 1] : x = f[E - 1] + 1;
772
+ let v = x - b;
773
+ for (; x < o && v < l && e.charAt(o - x - 1) == t.charAt(l - v - 1); ) x++, v++;
774
+ if (f[E] = x, x > o) C += 2;
775
+ else if (v > l) w += 2;
776
+ else if (!d) {
777
+ let T = s + u - b;
778
+ if (T >= 0 && T < r && a[T] != -1) {
779
+ let V = a[T], P = s + V - T;
780
+ if (x = o - x, V >= x) return this.diff_bisectSplit_(e, t, V, P, n);
781
+ }
782
+ }
783
+ }
784
+ }
785
+ return [new h.Diff(-1, e), new h.Diff(1, t)];
786
+ };
787
+ h.prototype.diff_bisectSplit_ = function(e, t, n, o, l) {
788
+ let i = e.substring(0, n), s = t.substring(0, o), r = e.substring(n), a = t.substring(o), f = this.diff_main(i, s, !1, l), u = this.diff_main(r, a, !1, l);
789
+ return f.concat(u);
790
+ };
791
+ h.prototype.diff_linesToChars_ = function(e, t) {
792
+ let n = [], o = {};
793
+ n[0] = "";
794
+ function l(a) {
795
+ let f = "", u = 0, d = -1, p = n.length;
796
+ for (; d < a.length - 1; ) {
797
+ d = a.indexOf(`
798
+ `, u), d == -1 && (d = a.length - 1);
799
+ let _ = a.substring(u, d + 1);
800
+ (o.hasOwnProperty ? o.hasOwnProperty(_) : o[_] !== void 0) ? f += String.fromCharCode(o[_]) : (p == i && (_ = a.substring(u), d = a.length), f += String.fromCharCode(p), o[_] = p, n[p++] = _), u = d + 1;
801
+ }
802
+ return f;
803
+ }
804
+ let i = 4e4, s = l(e);
805
+ i = 65535;
806
+ let r = l(t);
807
+ return { chars1: s, chars2: r, lineArray: n };
808
+ };
809
+ h.prototype.diff_charsToLines_ = function(e, t) {
810
+ for (let n = 0; n < e.length; n++) {
811
+ let o = e[n][1], l = [];
812
+ for (let i = 0; i < o.length; i++) l[i] = t[o.charCodeAt(i)];
813
+ e[n][1] = l.join("");
814
+ }
815
+ };
816
+ h.prototype.diff_commonPrefix = function(e, t) {
817
+ if (!e || !t || e.charAt(0) != t.charAt(0)) return 0;
818
+ let n = 0, o = Math.min(e.length, t.length), l = o, i = 0;
819
+ for (; n < l; ) e.substring(i, l) == t.substring(i, l) ? (n = l, i = n) : o = l, l = Math.floor((o - n) / 2 + n);
820
+ return l;
821
+ };
822
+ h.prototype.diff_commonSuffix = function(e, t) {
823
+ if (!e || !t || e.charAt(e.length - 1) != t.charAt(t.length - 1)) return 0;
824
+ let n = 0, o = Math.min(e.length, t.length), l = o, i = 0;
825
+ for (; n < l; ) e.substring(e.length - l, e.length - i) == t.substring(t.length - l, t.length - i) ? (n = l, i = n) : o = l, l = Math.floor((o - n) / 2 + n);
826
+ return l;
827
+ };
828
+ h.prototype.diff_commonOverlap_ = function(e, t) {
829
+ let n = e.length, o = t.length;
830
+ if (n == 0 || o == 0) return 0;
831
+ n > o ? e = e.substring(n - o) : n < o && (t = t.substring(0, n));
832
+ let l = Math.min(n, o);
833
+ if (e == t) return l;
834
+ let i = 0, s = 1;
835
+ for (; ; ) {
836
+ let r = e.substring(l - s), a = t.indexOf(r);
837
+ if (a == -1) return i;
838
+ s += a, (a == 0 || e.substring(l - s) == t.substring(0, s)) && (i = s, s++);
839
+ }
840
+ };
841
+ h.prototype.diff_halfMatch_ = function(e, t) {
842
+ if (this.Diff_Timeout <= 0) return null;
843
+ let n = e.length > t.length ? e : t, o = e.length > t.length ? t : e;
844
+ if (n.length < 4 || o.length * 2 < n.length) return null;
845
+ let l = this;
846
+ function i(w, C, y) {
847
+ let b = w.substring(y, y + Math.floor(w.length / 4)), E = -1, x = "", v, T, V, P;
848
+ for (; (E = C.indexOf(b, E + 1)) != -1; ) {
849
+ let O = l.diff_commonPrefix(w.substring(y), C.substring(E)), F = l.diff_commonSuffix(w.substring(0, y), C.substring(0, E));
850
+ x.length < F + O && (x = C.substring(E - F, E) + C.substring(E, E + O), v = w.substring(0, y - F), T = w.substring(y + O), V = C.substring(0, E - F), P = C.substring(E + O));
851
+ }
852
+ return x.length * 2 >= w.length ? [v, T, V, P, x] : null;
853
+ }
854
+ let s = i(n, o, Math.ceil(n.length / 4)), r = i(n, o, Math.ceil(n.length / 2)), a;
855
+ if (!s && !r) return null;
856
+ r ? s ? a = s[4].length > r[4].length ? s : r : a = r : a = s;
857
+ let f, u, d, p;
858
+ e.length > t.length ? (f = a[0], u = a[1], d = a[2], p = a[3]) : (d = a[0], p = a[1], f = a[2], u = a[3]);
859
+ let _ = a[4];
860
+ return [f, u, d, p, _];
861
+ };
862
+ h.prototype.diff_cleanupSemantic = function(e) {
863
+ let t = !1, n = [], o = 0, l = null, i = 0, s = 0, r = 0, a = 0, f = 0;
864
+ for (; i < e.length; ) e[i][0] == 0 ? (n[o++] = i, s = a, r = f, a = 0, f = 0, l = e[i][1]) : (e[i][0] == 1 ? a += e[i][1].length : f += e[i][1].length, l && l.length <= Math.max(s, r) && l.length <= Math.max(a, f) && (e.splice(n[o - 1], 0, new h.Diff(-1, l)), e[n[o - 1] + 1][0] = 1, o--, o--, i = o > 0 ? n[o - 1] : -1, s = 0, r = 0, a = 0, f = 0, l = null, t = !0)), i++;
865
+ for (t && this.diff_cleanupMerge(e), this.diff_cleanupSemanticLossless(e), i = 1; i < e.length; ) {
866
+ if (e[i - 1][0] == -1 && e[i][0] == 1) {
867
+ let u = e[i - 1][1], d = e[i][1], p = this.diff_commonOverlap_(u, d), _ = this.diff_commonOverlap_(d, u);
868
+ p >= _ ? (p >= u.length / 2 || p >= d.length / 2) && (e.splice(i, 0, new h.Diff(0, d.substring(0, p))), e[i - 1][1] = u.substring(0, u.length - p), e[i + 1][1] = d.substring(p), i++) : (_ >= u.length / 2 || _ >= d.length / 2) && (e.splice(i, 0, new h.Diff(0, u.substring(0, _))), e[i - 1][0] = 1, e[i - 1][1] = d.substring(0, d.length - _), e[i + 1][0] = -1, e[i + 1][1] = u.substring(_), i++), i++;
869
+ }
870
+ i++;
871
+ }
872
+ };
873
+ h.prototype.diff_cleanupSemanticLossless = function(e) {
874
+ function t(o, l) {
875
+ if (!o || !l) return 6;
876
+ let i = o.charAt(o.length - 1), s = l.charAt(0), r = i.match(h.nonAlphaNumericRegex_), a = s.match(h.nonAlphaNumericRegex_), f = r && i.match(h.whitespaceRegex_), u = a && s.match(h.whitespaceRegex_), d = f && i.match(h.linebreakRegex_), p = u && s.match(h.linebreakRegex_), _ = d && o.match(h.blanklineEndRegex_), w = p && l.match(h.blanklineStartRegex_);
877
+ return _ || w ? 5 : d || p ? 4 : r && !f && u ? 3 : f || u ? 2 : r || a ? 1 : 0;
878
+ }
879
+ let n = 1;
880
+ for (; n < e.length - 1; ) {
881
+ if (e[n - 1][0] == 0 && e[n + 1][0] == 0) {
882
+ let o = e[n - 1][1], l = e[n][1], i = e[n + 1][1], s = this.diff_commonSuffix(o, l);
883
+ if (s) {
884
+ o[o.length - s] === `
885
+ ` && (s -= 1);
886
+ let d = l.substring(l.length - s);
887
+ o = o.substring(0, o.length - s), l = d + l.substring(0, l.length - s), i = d + i;
888
+ }
889
+ let r = o, a = l, f = i, u = t(o, l) + t(l, i);
890
+ for (; l.charAt(0) === i.charAt(0); ) {
891
+ o += l.charAt(0), l = l.substring(1) + i.charAt(0), i = i.substring(1);
892
+ let d = t(o, l) + t(l, i);
893
+ d >= u && (u = d, r = o, a = l, f = i);
894
+ }
895
+ e[n - 1][1] != r && (r ? e[n - 1][1] = r : (e.splice(n - 1, 1), n--), e[n][1] = a, f ? e[n + 1][1] = f : (e.splice(n + 1, 1), n--));
896
+ }
897
+ n++;
898
+ }
899
+ };
900
+ h.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;
901
+ h.whitespaceRegex_ = /\s/;
902
+ h.linebreakRegex_ = /[\r\n]/;
903
+ h.blanklineEndRegex_ = /\n\r?\n$/;
904
+ h.blanklineStartRegex_ = /^\r?\n\r?\n/;
905
+ h.prototype.diff_cleanupEfficiency = function(e) {
906
+ let t = !1, n = [], o = 0, l = null, i = 0, s = !1, r = !1, a = !1, f = !1;
907
+ for (; i < e.length; ) e[i][0] == 0 ? (e[i][1].length < this.Diff_EditCost && (a || f) ? (n[o++] = i, s = a, r = f, l = e[i][1]) : (o = 0, l = null), a = f = !1) : (e[i][0] == -1 ? f = !0 : a = !0, l && (s && r && a && f || l.length < this.Diff_EditCost / 2 && s + r + a + f == 3) && (e.splice(n[o - 1], 0, new h.Diff(-1, l)), e[n[o - 1] + 1][0] = 1, o--, l = null, s && r ? (a = f = !0, o = 0) : (o--, i = o > 0 ? n[o - 1] : -1, a = f = !1), t = !0)), i++;
908
+ t && this.diff_cleanupMerge(e);
909
+ };
910
+ h.prototype.diff_cleanupMerge = function(e) {
911
+ e.push(new h.Diff(0, ""));
912
+ let t = 0, n = 0, o = 0, l = "", i = "", s;
913
+ for (; t < e.length; ) switch (e[t][0]) {
914
+ case 1:
915
+ o++, i += e[t][1], t++;
916
+ break;
917
+ case -1:
918
+ n++, l += e[t][1], t++;
919
+ break;
920
+ case 0:
921
+ n + o > 1 ? (n !== 0 && o !== 0 && (s = this.diff_commonPrefix(i, l), s !== 0 && (t - n - o > 0 && e[t - n - o - 1][0] == 0 ? e[t - n - o - 1][1] += i.substring(0, s) : (e.splice(0, 0, new h.Diff(0, i.substring(0, s))), t++), i = i.substring(s), l = l.substring(s)), s = this.diff_commonSuffix(i, l), s !== 0 && (e[t][1] = i.substring(i.length - s) + e[t][1], i = i.substring(0, i.length - s), l = l.substring(0, l.length - s))), t -= n + o, e.splice(t, n + o), l.length && (e.splice(t, 0, new h.Diff(-1, l)), t++), i.length && (e.splice(t, 0, new h.Diff(1, i)), t++), t++) : t !== 0 && e[t - 1][0] == 0 ? (e[t - 1][1] += e[t][1], e.splice(t, 1)) : t++, o = 0, n = 0, l = "", i = "";
922
+ break;
923
+ }
924
+ e[e.length - 1][1] === "" && e.pop();
925
+ let r = !1;
926
+ for (t = 1; t < e.length - 1; ) e[t - 1][0] == 0 && e[t + 1][0] == 0 && (e[t][1].substring(e[t][1].length - e[t - 1][1].length) == e[t - 1][1] ? (e[t][1] = e[t - 1][1] + e[t][1].substring(0, e[t][1].length - e[t - 1][1].length), e[t + 1][1] = e[t - 1][1] + e[t + 1][1], e.splice(t - 1, 1), r = !0) : e[t][1].substring(0, e[t + 1][1].length) == e[t + 1][1] && (e[t - 1][1] += e[t + 1][1], e[t][1] = e[t][1].substring(e[t + 1][1].length) + e[t + 1][1], e.splice(t + 1, 1), r = !0)), t++;
927
+ r && this.diff_cleanupMerge(e);
928
+ };
929
+ h.prototype.diff_cleanupSplitSurrogates = function(e) {
930
+ let t;
931
+ for (let n = 0; n < e.length; n++) {
932
+ let o = e[n], l = o[1][0], i = o[1][o[1].length - 1];
933
+ if (o[1].length === 0) {
934
+ e.splice(n--, 1);
935
+ continue;
936
+ }
937
+ if (i && this.isHighSurrogate(i) && (t = i, o[1] = o[1].slice(0, -1)), t && l && this.isHighSurrogate(t) && this.isLowSurrogate(l) && (o[1] = t + o[1]), o[1].length === 0) {
938
+ e.splice(n--, 1);
939
+ continue;
940
+ }
941
+ }
942
+ return e;
943
+ };
944
+ h.prototype.isHighSurrogate = function(e) {
945
+ let t = e.charCodeAt(0);
946
+ return t >= 55296 && t <= 56319;
947
+ };
948
+ h.prototype.isLowSurrogate = function(e) {
949
+ let t = e.charCodeAt(0);
950
+ return t >= 56320 && t <= 57343;
951
+ };
952
+ h.prototype.digit16 = function(e) {
953
+ switch (e) {
954
+ case "0":
955
+ return 0;
956
+ case "1":
957
+ return 1;
958
+ case "2":
959
+ return 2;
960
+ case "3":
961
+ return 3;
962
+ case "4":
963
+ return 4;
964
+ case "5":
965
+ return 5;
966
+ case "6":
967
+ return 6;
968
+ case "7":
969
+ return 7;
970
+ case "8":
971
+ return 8;
972
+ case "9":
973
+ return 9;
974
+ case "A":
975
+ case "a":
976
+ return 10;
977
+ case "B":
978
+ case "b":
979
+ return 11;
980
+ case "C":
981
+ case "c":
982
+ return 12;
983
+ case "D":
984
+ case "d":
985
+ return 13;
986
+ case "E":
987
+ case "e":
988
+ return 14;
989
+ case "F":
990
+ case "f":
991
+ return 15;
992
+ default:
993
+ throw new Error("Invalid hex-code");
994
+ }
995
+ };
996
+ h.prototype.decodeURI = function(e) {
997
+ try {
998
+ return decodeURI(e);
999
+ } catch {
1000
+ let t = 0, n = "";
1001
+ for (; t < e.length; ) {
1002
+ if (e[t] !== "%") {
1003
+ n += e[t++];
1004
+ continue;
1005
+ }
1006
+ let o = (this.digit16(e[t + 1]) << 4) + this.digit16(e[t + 2]);
1007
+ if ((o & 128) === 0) {
1008
+ n += String.fromCharCode(o), t += 3;
1009
+ continue;
1010
+ }
1011
+ if (e[t + 3] !== "%") throw new URIError("URI malformed");
1012
+ let l = (this.digit16(e[t + 4]) << 4) + this.digit16(e[t + 5]);
1013
+ if ((l & 192) !== 128) throw new URIError("URI malformed");
1014
+ if (l = l & 63, (o & 224) === 192) {
1015
+ n += String.fromCharCode((o & 31) << 6 | l), t += 6;
1016
+ continue;
1017
+ }
1018
+ if (e[t + 6] !== "%") throw new URIError("URI malformed");
1019
+ let i = (this.digit16(e[t + 7]) << 4) + this.digit16(e[t + 8]);
1020
+ if ((i & 192) !== 128) throw new URIError("URI malformed");
1021
+ if (i = i & 63, (o & 240) === 224) {
1022
+ n += String.fromCharCode((o & 15) << 12 | l << 6 | i), t += 9;
1023
+ continue;
1024
+ }
1025
+ if (e[t + 9] !== "%") throw new URIError("URI malformed");
1026
+ let s = (this.digit16(e[t + 10]) << 4) + this.digit16(e[t + 11]);
1027
+ if ((s & 192) !== 128) throw new URIError("URI malformed");
1028
+ if (s = s & 63, (o & 248) === 240) {
1029
+ let r = (o & 7) << 18 | l << 12 | i << 6 | s;
1030
+ if (r >= 65536 && r <= 1114111) {
1031
+ n += String.fromCharCode((r & 65535) >>> 10 & 1023 | 55296), n += String.fromCharCode(56320 | r & 65535 & 1023), t += 12;
1032
+ continue;
1033
+ }
1034
+ }
1035
+ throw new URIError("URI malformed");
1036
+ }
1037
+ return n;
1038
+ }
1039
+ };
1040
+ h.prototype.diff_xIndex = function(e, t) {
1041
+ let n = 0, o = 0, l = 0, i = 0, s;
1042
+ for (s = 0; s < e.length && (e[s][0] !== 1 && (n += e[s][1].length), e[s][0] !== -1 && (o += e[s][1].length), !(n > t)); s++) l = n, i = o;
1043
+ return e.length != s && e[s][0] === -1 ? i : i + (t - l);
1044
+ };
1045
+ h.prototype.diff_prettyHtml = function(e) {
1046
+ e = this.diff_cleanupSplitSurrogates(e);
1047
+ let t = [], n = /&/g, o = /</g, l = />/g, i = /\n/g;
1048
+ for (let s = 0; s < e.length; s++) {
1049
+ let r = e[s][0], a = e[s][1].replace(n, "&amp;").replace(o, "&lt;").replace(l, "&gt;").replace(i, "&para;<br>");
1050
+ switch (r) {
1051
+ case 1:
1052
+ t[s] = '<ins style="background:#e6ffe6;">' + a + "</ins>";
1053
+ break;
1054
+ case -1:
1055
+ t[s] = '<del style="background:#ffe6e6;">' + a + "</del>";
1056
+ break;
1057
+ case 0:
1058
+ t[s] = "<span>" + a + "</span>";
1059
+ break;
1060
+ }
1061
+ }
1062
+ return t.join("");
1063
+ };
1064
+ h.prototype.diff_text1 = function(e) {
1065
+ let t = [];
1066
+ for (let n = 0; n < e.length; n++) e[n][0] !== 1 && (t[n] = e[n][1]);
1067
+ return t.join("");
1068
+ };
1069
+ h.prototype.diff_text2 = function(e) {
1070
+ let t = [];
1071
+ for (let n = 0; n < e.length; n++) e[n][0] !== -1 && (t[n] = e[n][1]);
1072
+ return t.join("");
1073
+ };
1074
+ h.prototype.diff_levenshtein = function(e) {
1075
+ let t = 0, n = 0, o = 0;
1076
+ for (let l = 0; l < e.length; l++) {
1077
+ let i = e[l][0], s = e[l][1];
1078
+ switch (i) {
1079
+ case 1:
1080
+ n += s.length;
1081
+ break;
1082
+ case -1:
1083
+ o += s.length;
1084
+ break;
1085
+ case 0:
1086
+ t += Math.max(n, o), n = 0, o = 0;
1087
+ break;
1088
+ }
1089
+ }
1090
+ return t += Math.max(n, o), t;
1091
+ };
1092
+ h.prototype.diff_toDelta = function(e) {
1093
+ e = this.diff_cleanupSplitSurrogates(e);
1094
+ let t = [];
1095
+ for (let n = 0; n < e.length; n++) switch (e[n][0]) {
1096
+ case 1:
1097
+ t[n] = "+" + encodeURI(e[n][1]);
1098
+ break;
1099
+ case -1:
1100
+ t[n] = "-" + e[n][1].length;
1101
+ break;
1102
+ case 0:
1103
+ t[n] = "=" + e[n][1].length;
1104
+ break;
1105
+ }
1106
+ return t.join(" ").replace(/%20/g, " ");
1107
+ };
1108
+ h.prototype.diff_fromDelta = function(e, t) {
1109
+ let n = 0, o = "", l = [], i = 0, s = 0, r = t.split(/\t/g);
1110
+ for (let a = 0; a < r.length; a++) {
1111
+ let f = r[a].substring(1);
1112
+ switch (r[a].charAt(0)) {
1113
+ case "+":
1114
+ try {
1115
+ l[i++] = new h.Diff(1, this.decodeURI(f));
1116
+ } catch {
1117
+ throw new Error("Illegal escape in diff_fromDelta: " + f);
1118
+ }
1119
+ break;
1120
+ case "-":
1121
+ case "=":
1122
+ if (n = parseInt(f, 10), isNaN(n) || n < 0) throw new Error("Invalid number in diff_fromDelta: " + f);
1123
+ o = e.substring(s, s += n), r[a].charAt(0) == "=" ? l[i++] = new h.Diff(0, o) : l[i++] = new h.Diff(-1, o);
1124
+ break;
1125
+ default:
1126
+ if (r[a]) throw new Error("Invalid diff operation in diff_fromDelta: " + r[a]);
1127
+ }
1128
+ }
1129
+ if (s != e.length) throw new Error("Delta length (" + s + ") does not equal source text length (" + e.length + ").");
1130
+ return l;
1131
+ };
1132
+ h.prototype.match_main = function(e, t, n) {
1133
+ if (e == null || t == null || n == null) throw new Error("Null input. (match_main)");
1134
+ return n = Math.max(0, Math.min(n, e.length)), e == t ? 0 : e.length ? e.substring(n, n + t.length) == t ? n : this.match_bitap_(e, t, n) : -1;
1135
+ };
1136
+ h.prototype.match_bitap_ = function(e, t, n) {
1137
+ if (t.length > this.Match_MaxBits) throw new Error("Pattern too long for this browser.");
1138
+ let o = this.match_alphabet_(t), l = this;
1139
+ function i(_, w) {
1140
+ let C = _ / t.length, y = Math.abs(n - w);
1141
+ return l.Match_Distance ? C + y / l.Match_Distance : y ? 1 : C;
1142
+ }
1143
+ let s = this.Match_Threshold, r = e.indexOf(t, n);
1144
+ r != -1 && (s = Math.min(i(0, r), s), r = e.lastIndexOf(t, n + t.length), r != -1 && (s = Math.min(i(0, r), s)));
1145
+ let a = 1 << t.length - 1;
1146
+ r = -1;
1147
+ let f, u, d = t.length + e.length, p;
1148
+ for (let _ = 0; _ < t.length; _++) {
1149
+ for (f = 0, u = d; f < u; ) i(_, n + u) <= s ? f = u : d = u, u = Math.floor((d - f) / 2 + f);
1150
+ d = u;
1151
+ let w = Math.max(1, n - u + 1), C = Math.min(n + u, e.length) + t.length, y = Array(C + 2);
1152
+ y[C + 1] = (1 << _) - 1;
1153
+ for (let b = C; b >= w; b--) {
1154
+ let E = o[e.charAt(b - 1)];
1155
+ if (_ === 0 ? y[b] = (y[b + 1] << 1 | 1) & E : y[b] = (y[b + 1] << 1 | 1) & E | ((p[b + 1] | p[b]) << 1 | 1) | p[b + 1], y[b] & a) {
1156
+ let x = i(_, b - 1);
1157
+ if (x <= s) if (s = x, r = b - 1, r > n) w = Math.max(1, 2 * n - r);
1158
+ else break;
1159
+ }
1160
+ }
1161
+ if (i(_ + 1, n) > s) break;
1162
+ p = y;
1163
+ }
1164
+ return r;
1165
+ };
1166
+ h.prototype.match_alphabet_ = function(e) {
1167
+ let t = {};
1168
+ for (let n = 0; n < e.length; n++) t[e.charAt(n)] = 0;
1169
+ for (let n = 0; n < e.length; n++) t[e.charAt(n)] |= 1 << e.length - n - 1;
1170
+ return t;
1171
+ };
1172
+ h.prototype.patch_addContext_ = function(e, t) {
1173
+ if (t.length == 0) return;
1174
+ if (e.start2 === null) throw Error("patch not initialized");
1175
+ let n = t.substring(e.start2, e.start2 + e.length1), o = 0;
1176
+ for (; t.indexOf(n) != t.lastIndexOf(n) && n.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; ) o += this.Patch_Margin, n = t.substring(e.start2 - o, e.start2 + e.length1 + o);
1177
+ o += this.Patch_Margin, e.start2 - o > 0 && h.prototype.isLowSurrogate(t[e.start2 - o]) && o++;
1178
+ let l = t.substring(e.start2 - o, e.start2);
1179
+ l && e.diffs.unshift(new h.Diff(0, l)), e.start2 + e.length1 + o < t.length && h.prototype.isHighSurrogate(t[e.start2 + e.length1 + o]) && o++;
1180
+ let i = t.substring(e.start2 + e.length1, e.start2 + e.length1 + o);
1181
+ i && e.diffs.push(new h.Diff(0, i)), e.start1 -= l.length, e.start2 -= l.length, e.length1 += l.length + i.length, e.length2 += l.length + i.length;
1182
+ };
1183
+ h.prototype.patch_make = function(e, t, n) {
1184
+ let o, l;
1185
+ if (typeof e == "string" && typeof t == "string" && typeof n > "u") o = e, l = this.diff_main(o, t, !0), l.length > 2 && (this.diff_cleanupSemantic(l), this.diff_cleanupEfficiency(l));
1186
+ else if (e && typeof e == "object" && typeof t > "u" && typeof n > "u") l = e, o = this.diff_text1(l);
1187
+ else if (typeof e == "string" && t && typeof t == "object" && typeof n > "u") o = e, l = t;
1188
+ else if (typeof e == "string" && typeof t == "string" && n && typeof n == "object") o = e, l = n;
1189
+ else throw new Error("Unknown call format to patch_make.");
1190
+ if (l.length === 0) return [];
1191
+ l = this.diff_cleanupSplitSurrogates(l);
1192
+ let i = [], s = new h.patch_obj(), r = 0, a = 0, f = 0, u = o, d = o;
1193
+ for (let p = 0; p < l.length; p++) {
1194
+ let _ = l[p][0], w = l[p][1];
1195
+ switch (!r && _ !== 0 && (s.start1 = a, s.start2 = f), _) {
1196
+ case 1:
1197
+ s.diffs[r++] = l[p], s.length2 += w.length, d = d.substring(0, f) + w + d.substring(f);
1198
+ break;
1199
+ case -1:
1200
+ s.length1 += w.length, s.diffs[r++] = l[p], d = d.substring(0, f) + d.substring(f + w.length);
1201
+ break;
1202
+ case 0:
1203
+ w.length <= 2 * this.Patch_Margin && r && l.length != p + 1 ? (s.diffs[r++] = l[p], s.length1 += w.length, s.length2 += w.length) : w.length >= 2 * this.Patch_Margin && r && (this.patch_addContext_(s, u), i.push(s), s = new h.patch_obj(), r = 0, u = d, a = f);
1204
+ break;
1205
+ }
1206
+ _ !== 1 && (a += w.length), _ !== -1 && (f += w.length);
1207
+ }
1208
+ return r && (this.patch_addContext_(s, u), i.push(s)), i;
1209
+ };
1210
+ h.prototype.patch_deepCopy = function(e) {
1211
+ let t = [];
1212
+ for (let n = 0; n < e.length; n++) {
1213
+ let o = e[n], l = new h.patch_obj();
1214
+ l.diffs = [];
1215
+ for (let i = 0; i < o.diffs.length; i++) l.diffs[i] = new h.Diff(o.diffs[i][0], o.diffs[i][1]);
1216
+ l.start1 = o.start1, l.start2 = o.start2, l.length1 = o.length1, l.length2 = o.length2, t[n] = l;
1217
+ }
1218
+ return t;
1219
+ };
1220
+ h.prototype.patch_apply = function(e, t) {
1221
+ if (e.length == 0) return [t, []];
1222
+ e = this.patch_deepCopy(e);
1223
+ let n = this.patch_addPadding(e);
1224
+ t = n + t + n, this.patch_splitMax(e);
1225
+ let o = 0, l = [];
1226
+ for (let i = 0; i < e.length; i++) {
1227
+ let s = e[i].start2 + o, r = this.diff_text1(e[i].diffs), a, f = -1;
1228
+ if (r.length > this.Match_MaxBits ? (a = this.match_main(t, r.substring(0, this.Match_MaxBits), s), a != -1 && (f = this.match_main(t, r.substring(r.length - this.Match_MaxBits), s + r.length - this.Match_MaxBits), (f == -1 || a >= f) && (a = -1))) : a = this.match_main(t, r, s), a == -1) l[i] = !1, o -= e[i].length2 - e[i].length1;
1229
+ else {
1230
+ l[i] = !0, o = a - s;
1231
+ let u;
1232
+ if (f == -1 ? u = t.substring(a, a + r.length) : u = t.substring(a, f + this.Match_MaxBits), r == u) t = t.substring(0, a) + this.diff_text2(e[i].diffs) + t.substring(a + r.length);
1233
+ else {
1234
+ let d = this.diff_main(r, u, !1);
1235
+ if (r.length > this.Match_MaxBits && this.diff_levenshtein(d) / r.length > this.Patch_DeleteThreshold) l[i] = !1;
1236
+ else {
1237
+ this.diff_cleanupSemanticLossless(d);
1238
+ let p = 0, _;
1239
+ for (let w = 0; w < e[i].diffs.length; w++) {
1240
+ let C = e[i].diffs[w];
1241
+ C[0] !== 0 && (_ = this.diff_xIndex(d, p)), C[0] === 1 ? t = t.substring(0, a + _) + C[1] + t.substring(a + _) : C[0] === -1 && (t = t.substring(0, a + _) + t.substring(a + this.diff_xIndex(d, p + C[1].length))), C[0] !== -1 && (p += C[1].length);
1242
+ }
1243
+ }
1244
+ }
1245
+ }
1246
+ }
1247
+ return t = t.substring(n.length, t.length - n.length), [t, l];
1248
+ };
1249
+ h.prototype.patch_addPadding = function(e) {
1250
+ let t = this.Patch_Margin, n = "";
1251
+ for (let i = 1; i <= t; i++) n += String.fromCharCode(i);
1252
+ for (let i = 0; i < e.length; i++) e[i].start1 += t, e[i].start2 += t;
1253
+ let o = e[0], l = o.diffs;
1254
+ if (l.length == 0 || l[0][0] != 0) l.unshift(new h.Diff(0, n)), o.start1 -= t, o.start2 -= t, o.length1 += t, o.length2 += t;
1255
+ else if (t > l[0][1].length) {
1256
+ let i = t - l[0][1].length;
1257
+ l[0][1] = n.substring(l[0][1].length) + l[0][1], o.start1 -= i, o.start2 -= i, o.length1 += i, o.length2 += i;
1258
+ }
1259
+ if (o = e[e.length - 1], l = o.diffs, l.length == 0 || l[l.length - 1][0] != 0) l.push(new h.Diff(0, n)), o.length1 += t, o.length2 += t;
1260
+ else if (t > l[l.length - 1][1].length) {
1261
+ let i = t - l[l.length - 1][1].length;
1262
+ l[l.length - 1][1] += n.substring(0, i), o.length1 += i, o.length2 += i;
1263
+ }
1264
+ return n;
1265
+ };
1266
+ h.prototype.patch_splitMax = function(e) {
1267
+ let t = this.Match_MaxBits;
1268
+ for (let n = 0; n < e.length; n++) {
1269
+ if (e[n].length1 <= t) continue;
1270
+ let o = e[n];
1271
+ e.splice(n--, 1);
1272
+ let l = o.start1, i = o.start2, s = "";
1273
+ for (; o.diffs.length !== 0; ) {
1274
+ let r = new h.patch_obj(), a = !0;
1275
+ for (r.start1 = l - s.length, r.start2 = i - s.length, s !== "" && (r.length1 = r.length2 = s.length, r.diffs.push(new h.Diff(0, s))); o.diffs.length !== 0 && r.length1 < t - this.Patch_Margin; ) {
1276
+ let u = o.diffs[0][0], d = o.diffs[0][1];
1277
+ u === 1 ? (r.length2 += d.length, i += d.length, r.diffs.push(o.diffs.shift()), a = !1) : u === -1 && r.diffs.length == 1 && r.diffs[0][0] == 0 && d.length > 2 * t ? (r.length1 += d.length, l += d.length, a = !1, r.diffs.push(new h.Diff(u, d)), o.diffs.shift()) : (d = d.substring(0, t - r.length1 - this.Patch_Margin), r.length1 += d.length, l += d.length, u === 0 ? (r.length2 += d.length, i += d.length) : a = !1, r.diffs.push(new h.Diff(u, d)), d == o.diffs[0][1] ? o.diffs.shift() : o.diffs[0][1] = o.diffs[0][1].substring(d.length));
1278
+ }
1279
+ s = this.diff_text2(r.diffs), s = s.substring(s.length - this.Patch_Margin);
1280
+ let f = this.diff_text1(o.diffs).substring(0, this.Patch_Margin);
1281
+ f !== "" && (r.length1 += f.length, r.length2 += f.length, r.diffs.length !== 0 && r.diffs[r.diffs.length - 1][0] === 0 ? r.diffs[r.diffs.length - 1][1] += f : r.diffs.push(new h.Diff(0, f))), a || e.splice(++n, 0, r);
1282
+ }
1283
+ }
1284
+ };
1285
+ h.prototype.patch_toText = function(e) {
1286
+ let t = [];
1287
+ for (let n = 0; n < e.length; n++) t[n] = e[n];
1288
+ return t.join("");
1289
+ };
1290
+ h.prototype.patch_fromText = function(e) {
1291
+ let t = [];
1292
+ if (!e) return t;
1293
+ let n = e.split(`
1294
+ `), o = 0, l = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;
1295
+ for (; o < n.length; ) {
1296
+ let i = n[o].match(l);
1297
+ if (!i) throw new Error("Invalid patch string: " + n[o]);
1298
+ let s = new h.patch_obj();
1299
+ for (t.push(s), s.start1 = parseInt(i[1], 10), i[2] === "" ? (s.start1--, s.length1 = 1) : i[2] == "0" ? s.length1 = 0 : (s.start1--, s.length1 = parseInt(i[2], 10)), s.start2 = parseInt(i[3], 10), i[4] === "" ? (s.start2--, s.length2 = 1) : i[4] == "0" ? s.length2 = 0 : (s.start2--, s.length2 = parseInt(i[4], 10)), o++; o < n.length; ) {
1300
+ let r = n[o].charAt(0), a = "";
1301
+ try {
1302
+ a = decodeURI(n[o].substring(1));
1303
+ } catch {
1304
+ throw new Error("Illegal escape in patch_fromText: " + a);
1305
+ }
1306
+ if (r == "-") s.diffs.push(new h.Diff(-1, a));
1307
+ else if (r == "+") s.diffs.push(new h.Diff(1, a));
1308
+ else if (r == " ") s.diffs.push(new h.Diff(0, a));
1309
+ else {
1310
+ if (r == "@") break;
1311
+ if (r !== "") throw new Error('Invalid patch mode "' + r + '" in: ' + a);
1312
+ }
1313
+ o++;
1314
+ }
1315
+ }
1316
+ return t;
1317
+ };
1318
+ h.patch_obj = function() {
1319
+ this.diffs = [], this.start1 = null, this.start2 = null, this.length1 = 0, this.length2 = 0;
1320
+ };
1321
+ h.patch_obj.prototype.toString = function() {
1322
+ let e, t;
1323
+ this.length1 === 0 ? e = this.start1 + ",0" : this.length1 == 1 ? e = this.start1 + 1 : e = this.start1 + 1 + "," + this.length1, this.length2 === 0 ? t = this.start2 + ",0" : this.length2 == 1 ? t = this.start2 + 1 : t = this.start2 + 1 + "," + this.length2;
1324
+ let n = ["@@ -" + e + " +" + t + ` @@
1325
+ `], o;
1326
+ h.prototype.diff_cleanupSplitSurrogates(this.diffs);
1327
+ for (let l = 0; l < this.diffs.length; l++) {
1328
+ switch (this.diffs[l][0]) {
1329
+ case 1:
1330
+ o = "+";
1331
+ break;
1332
+ case -1:
1333
+ o = "-";
1334
+ break;
1335
+ case 0:
1336
+ o = " ";
1337
+ break;
1338
+ }
1339
+ n[l + 1] = o + encodeURI(this.diffs[l][1]) + `
1340
+ `;
1341
+ }
1342
+ return n.join("").replace(/%20/g, " ");
1343
+ };
1344
+ function z(e) {
1345
+ return e && typeof e == "object" && !Array.isArray(e) && e !== null;
1346
+ }
1347
+ function J(e, t) {
1348
+ return z(e) && z(t) && Object.keys(t).forEach((n) => {
1349
+ n === "__proto__" || n === "constructor" || (z(t[n]) ? ((!e[n] || !z(e[n])) && (e[n] = t[n]), J(e[n], t[n])) : Object.assign(e, { [n]: t[n] }));
1350
+ }), e;
1351
+ }
1352
+ function Q(e, t, n = !1) {
1353
+ let o = null, l = !0;
1354
+ return (...i) => {
1355
+ const s = n && l, r = () => {
1356
+ e.apply(this, i), o = null;
1357
+ };
1358
+ s && (l = !1, r()), o || (o = setTimeout(r, t));
1359
+ };
1360
+ }
1361
+ function Ke(e, t) {
1362
+ let n;
1363
+ return (...o) => {
1364
+ const l = this;
1365
+ clearTimeout(n), n = setTimeout(() => e.apply(l, o), t);
1366
+ };
1367
+ }
1368
+ function Z(e = "") {
1369
+ return e.replace(/\r\n/g, `
1370
+ `);
1371
+ }
1372
+ function ee(e, t, n, o) {
1373
+ const l = n - e, i = e + l / 2;
1374
+ return `M ${e} ${t} C ${i},${t} ${i},${o} ${n},${o}`;
1375
+ }
1376
+ const D = { DIFF_EQUAL: 0, DIFF_DELETE: -1, DIFF_INSERT: 1, EDITOR_RIGHT: "right", EDITOR_LEFT: "left", RTL: "rtl", LTR: "ltr", SVG_NS: "http://www.w3.org/2000/svg", DIFF_GRANULARITY_SPECIFIC: "specific", DIFF_GRANULARITY_BROAD: "broad" };
1377
+ function te(e, t) {
1378
+ let { mode: n } = e.options;
1379
+ return t === D.EDITOR_LEFT && e.options.left.mode !== null && (n = e.options.left.mode), t === D.EDITOR_RIGHT && e.options.right.mode !== null && (n = e.options.right.mode), n;
1380
+ }
1381
+ function ne(e, t) {
1382
+ let { theme: n } = e.options;
1383
+ return t === D.EDITOR_LEFT && e.options.left.theme !== null && (n = e.options.left.theme), t === D.EDITOR_RIGHT && e.options.right.theme !== null && (n = e.options.right.theme), n;
1384
+ }
1385
+ function ce(e, t) {
1386
+ return e.ace.getSession().doc.getLine(t);
1387
+ }
1388
+ function Xe(e) {
1389
+ return document.getElementById(e.options.left.id).offsetHeight;
1390
+ }
1391
+ function ie(e) {
1392
+ const t = document.createElement("div"), n = { class: e.className, style: `top:${e.topOffset}px`, title: e.tooltip, "data-diff-index": e.diffIndex };
1393
+ for (const o in n) t.setAttribute(o, n[o]);
1394
+ return t.innerHTML = e.arrowContent, t;
1395
+ }
1396
+ function W(e, t) {
1397
+ const n = Math.random().toString(36).substr(2, 5), o = `js-${t}-${n}`, l = e.querySelector(`.${t}`);
1398
+ if (l) return l.id = l.id || o, l.id;
1399
+ const i = document.createElement("div");
1400
+ return e.appendChild(i), i.className = t, i.id = o, i.id;
1401
+ }
1402
+ function oe(e, t, n, o) {
1403
+ const l = e === "document" ? document : document.querySelector(e);
1404
+ l.addEventListener(t, (i) => {
1405
+ const s = l.querySelectorAll(n), { target: r } = i;
1406
+ for (let a = 0, f = s.length; a < f; a += 1) {
1407
+ let u = r;
1408
+ const d = s[a];
1409
+ for (; u && u !== l; ) u === d && o.call(d, i), u = u.parentNode;
1410
+ }
1411
+ });
1412
+ }
1413
+ let K;
1414
+ function We(e) {
1415
+ if (e.Range) return e.Range;
1416
+ const t = e.acequire || e.require;
1417
+ return t ? t("ace/range") : !1;
1418
+ }
1419
+ function X(e = {}) {
1420
+ if (!(this instanceof X)) return new X(e);
1421
+ const t = this, n = () => window ? window.ace : void 0;
1422
+ t.options = J({ ace: n(), mode: null, theme: null, element: null, diffGranularity: D.DIFF_GRANULARITY_BROAD, lockScrolling: !1, showDiffs: !0, showConnectors: !0, maxDiffs: 5e3, left: { id: null, content: null, mode: null, theme: null, editable: !0, copyLinkEnabled: !0 }, right: { id: null, content: null, mode: null, theme: null, editable: !0, copyLinkEnabled: !0 }, classes: { gutterID: "acediff__gutter", diff: "acediff__diffLine", connector: "acediff__connector", newCodeConnectorLink: "acediff__newCodeConnector", newCodeConnectorLinkContent: "&#8594;", deletedCodeConnectorLink: "acediff__deletedCodeConnector", deletedCodeConnectorLinkContent: "&#8592;", copyRightContainer: "acediff__copy--right", copyLeftContainer: "acediff__copy--left" }, connectorYOffset: 0 }, e);
1423
+ const { ace: o } = t.options;
1424
+ if (!o) {
1425
+ const l = "No ace editor found nor supplied - `options.ace` or `window.ace` is missing";
1426
+ return console.error(l), new Error(l);
1427
+ }
1428
+ if (K = We(o), !K) {
1429
+ const l = "Could not require Range module for Ace. Depends on your bundling strategy, but it usually comes with Ace itself. See https://ace.c9.io/api/range.html, open an issue on GitHub ace-diff/ace-diff";
1430
+ return console.error(l), new Error(l);
1431
+ }
1432
+ if (t.options.element === null) {
1433
+ const l = "You need to specify an element for Ace-diff - `options.element` is missing";
1434
+ return console.error(l), new Error(l);
1435
+ }
1436
+ if (t.options.element instanceof HTMLElement ? t.el = t.options.element : t.el = document.body.querySelector(t.options.element), !t.el) {
1437
+ const l = `Can't find the specified element ${t.options.element}`;
1438
+ return console.error(l), new Error(l);
1439
+ }
1440
+ t.options.left.id = W(t.el, "acediff__left"), t.options.classes.gutterID = W(t.el, "acediff__gutter"), t.options.right.id = W(t.el, "acediff__right"), t.el.innerHTML = `<div class="acediff__wrap">${t.el.innerHTML}</div>`, t.editors = { left: { ace: o.edit(t.options.left.id), markers: [], lineLengths: [] }, right: { ace: o.edit(t.options.right.id), markers: [], lineLengths: [] }, editorHeight: null }, t.editors.left.ace.getSession().setMode(te(t, D.EDITOR_LEFT)), t.editors.right.ace.getSession().setMode(te(t, D.EDITOR_RIGHT)), t.editors.left.ace.setReadOnly(!t.options.left.editable), t.editors.right.ace.setReadOnly(!t.options.right.editable), t.editors.left.ace.setTheme(ne(t, D.EDITOR_LEFT)), t.editors.right.ace.setTheme(ne(t, D.EDITOR_RIGHT)), t.editors.left.ace.setValue(Z(t.options.left.content), -1), t.editors.right.ace.setValue(Z(t.options.right.content), -1), t.editors.editorHeight = Xe(t), setTimeout(() => {
1441
+ t.lineHeight = t.editors.left.ace.renderer.lineHeight, Je(t), tt(t), me(t), t.diff();
1442
+ }, 1);
1443
+ }
1444
+ X.prototype = { setOptions(e) {
1445
+ J(this.options, e), this.diff();
1446
+ }, getNumDiffs() {
1447
+ return this.diffs.length;
1448
+ }, getEditors() {
1449
+ return { left: this.editors.left.ace, right: this.editors.right.ace };
1450
+ }, diff() {
1451
+ const e = new h(), t = this.editors.left.ace.getSession().getValue(), n = this.editors.right.ace.getSession().getValue(), o = e.diff_main(n, t);
1452
+ e.diff_cleanupSemantic(o), this.editors.left.lineLengths = se(this.editors.left), this.editors.right.lineLengths = se(this.editors.right);
1453
+ const l = [], i = { left: 0, right: 0 };
1454
+ o.forEach((s) => {
1455
+ const r = s[0];
1456
+ let a = s[1];
1457
+ a.length !== 0 && (r === D.DIFF_EQUAL ? (i.left += a.length, i.right += a.length) : r === D.DIFF_DELETE ? (l.push(fe(this, D.DIFF_DELETE, i.left, i.right, a)), i.right += a.length) : r === D.DIFF_INSERT && (l.push(fe(this, D.DIFF_INSERT, i.left, i.right, a)), i.left += a.length));
1458
+ }, this), this.diffs = ot(this, l), !(this.diffs.length > this.options.maxDiffs) && (pe(this), _e(this));
1459
+ }, destroy() {
1460
+ const e = this.editors.left.ace.getValue();
1461
+ this.editors.left.ace.destroy();
1462
+ let t = this.editors.left.ace.container, n = t.cloneNode(!1);
1463
+ n.textContent = e, t.parentNode.replaceChild(n, t);
1464
+ const o = this.editors.right.ace.getValue();
1465
+ this.editors.right.ace.destroy(), t = this.editors.right.ace.container, n = t.cloneNode(!1), n.textContent = o, t.parentNode.replaceChild(n, t), document.getElementById(this.options.classes.gutterID).innerHTML = "", ge();
1466
+ } };
1467
+ let ge = () => {
1468
+ };
1469
+ function Je(e) {
1470
+ e.editors.left.ace.getSession().on("changeScrollTop", Q(() => {
1471
+ ae(e);
1472
+ }, 16)), e.editors.right.ace.getSession().on("changeScrollTop", Q(() => {
1473
+ ae(e);
1474
+ }, 16));
1475
+ const t = e.diff.bind(e);
1476
+ e.editors.left.ace.on("change", t), e.editors.right.ace.on("change", t), e.options.left.copyLinkEnabled && oe(`#${e.options.classes.gutterID}`, "click", `.${e.options.classes.newCodeConnectorLink}`, (o) => {
1477
+ le(e, o, D.LTR);
1478
+ }), e.options.right.copyLinkEnabled && oe(`#${e.options.classes.gutterID}`, "click", `.${e.options.classes.deletedCodeConnectorLink}`, (o) => {
1479
+ le(e, o, D.RTL);
1480
+ });
1481
+ const n = Ke(() => {
1482
+ e.editors.availableHeight = document.getElementById(e.options.left.id).offsetHeight, e.diff();
1483
+ }, 250);
1484
+ window.addEventListener("resize", n), ge = () => {
1485
+ window.removeEventListener("resize", n);
1486
+ };
1487
+ }
1488
+ function le(e, t, n) {
1489
+ const o = parseInt(t.target.getAttribute("data-diff-index"), 10), l = e.diffs[o];
1490
+ let i, s, r, a, f, u;
1491
+ n === D.LTR ? (i = e.editors.left, s = e.editors.right, r = l.leftStartLine, a = l.leftEndLine, f = l.rightStartLine, u = l.rightEndLine) : (i = e.editors.right, s = e.editors.left, r = l.rightStartLine, a = l.rightEndLine, f = l.leftStartLine, u = l.leftEndLine);
1492
+ let d = "";
1493
+ for (let _ = r; _ < a; _ += 1) d += ce(i, _), _ === r && d === "" && f != 0 && (d += `
1494
+ `), _ < i.ace.getSession().getLength() - 1 && (d += `
1495
+ `);
1496
+ const p = s.ace.getSession().getScrollTop();
1497
+ s.ace.getSession().replace(new K(f, 0, u, 0), d), s.ace.getSession().setScrollTop(parseInt(p, 10)), e.diff();
1498
+ }
1499
+ function se(e) {
1500
+ const t = e.ace.getSession().doc.getAllLines(), n = [];
1501
+ return t.forEach((o) => {
1502
+ n.push(o.length + 1);
1503
+ }), n;
1504
+ }
1505
+ function re(e, t, n, o, l) {
1506
+ const i = e.editors[t];
1507
+ o < n && (o = n);
1508
+ const s = `${l} ${o > n ? "lines" : "targetOnly"}`;
1509
+ o > n && (o -= 1), i.markers.push(i.ace.session.addMarker(new K(n, 0, o, 1), s, "fullLine"));
1510
+ }
1511
+ function ae(e) {
1512
+ pe(e), _e(e), et(e);
1513
+ }
1514
+ function pe(e) {
1515
+ e.editors.left.markers.forEach((t) => {
1516
+ e.editors.left.ace.getSession().removeMarker(t);
1517
+ }, e), e.editors.right.markers.forEach((t) => {
1518
+ e.editors.right.ace.getSession().removeMarker(t);
1519
+ }, e);
1520
+ }
1521
+ function Qe(e, t, n, o, l) {
1522
+ const i = e.editors.left.ace.getSession().getScrollTop(), s = e.editors.right.ace.getSession().getScrollTop();
1523
+ e.connectorYOffset = 1;
1524
+ const r = -1, a = t * e.lineHeight - i + 0.5, f = e.gutterWidth + 1, u = o * e.lineHeight - s + 0.5, d = -1, p = n * e.lineHeight - i + e.connectorYOffset + 0.5, _ = e.gutterWidth + 1, w = l * e.lineHeight - s + e.connectorYOffset + 0.5, C = ee(r, a, f, u), y = ee(_, w, d, p), b = `L${f},${u} ${_},${w}`, E = `L${d},${p} ${r},${a}`, x = `${C} ${b} ${y} ${E}`, v = document.createElementNS(D.SVG_NS, "path");
1525
+ v.setAttribute("d", x), v.setAttribute("class", e.options.classes.connector), e.gutterSVG.appendChild(v);
1526
+ }
1527
+ function Ze(e, t, n) {
1528
+ if (t.leftEndLine > t.leftStartLine && e.options.left.copyLinkEnabled) {
1529
+ const o = ie({ className: e.options.classes.newCodeConnectorLink, topOffset: t.leftStartLine * e.lineHeight, tooltip: "Copy to right", diffIndex: n, arrowContent: e.options.classes.newCodeConnectorLinkContent });
1530
+ e.copyRightContainer.appendChild(o);
1531
+ }
1532
+ if (t.rightEndLine > t.rightStartLine && e.options.right.copyLinkEnabled) {
1533
+ const o = ie({ className: e.options.classes.deletedCodeConnectorLink, topOffset: t.rightStartLine * e.lineHeight, tooltip: "Copy to left", diffIndex: n, arrowContent: e.options.classes.deletedCodeConnectorLinkContent });
1534
+ e.copyLeftContainer.appendChild(o);
1535
+ }
1536
+ }
1537
+ function et(e) {
1538
+ const t = e.editors.left.ace.getSession().getScrollTop(), n = e.editors.right.ace.getSession().getScrollTop();
1539
+ e.copyRightContainer.style.cssText = `top: ${-t}px`, e.copyLeftContainer.style.cssText = `top: ${-n}px`;
1540
+ }
1541
+ function fe(e, t, n, o, l) {
1542
+ let i = {};
1543
+ if (t === D.DIFF_INSERT) {
1544
+ let s = de(e.editors.left, n, l), r = he(e.editors.right, o), a = B(e.editors.right, r);
1545
+ const f = B(e.editors.left, s.startLine);
1546
+ let u = r, d = s.startLine === s.endLine, p = 0;
1547
+ (s.startChar > 0 || d && l.length < f) && a > 0 && s.startChar < f && p++, i = { leftStartLine: s.startLine, leftEndLine: s.endLine + 1, rightStartLine: u, rightEndLine: u + p };
1548
+ } else {
1549
+ let s = de(e.editors.right, o, l), r = he(e.editors.left, n), a = B(e.editors.left, r);
1550
+ const f = B(e.editors.right, s.startLine);
1551
+ let u = r, d = s.startLine === s.endLine, p = 0;
1552
+ (s.startChar > 0 || d && l.length < f) && a > 0 && s.startChar < f && p++, i = { leftStartLine: u, leftEndLine: u + p, rightStartLine: s.startLine, rightEndLine: s.endLine + 1 };
1553
+ }
1554
+ return i;
1555
+ }
1556
+ function de(e, t, n) {
1557
+ const o = { startLine: 0, startChar: 0, endLine: 0, endChar: 0 }, l = t + n.length;
1558
+ let i = 0, s = !1, r = !1;
1559
+ e.lineLengths.forEach((f, u) => {
1560
+ i += f, !s && t < i && (o.startLine = u, o.startChar = t - i + f, s = !0), !r && l <= i && (o.endLine = u, o.endChar = l - i + f, r = !0);
1561
+ }), o.startChar > 0 && B(e, o.startLine) === o.startChar && (o.startLine++, o.startChar = 0), o.endChar === 0 && o.endLine--;
1562
+ const a = /\n$/.test(n);
1563
+ return o.startChar > 0 && a && o.endLine++, o;
1564
+ }
1565
+ function B(e, t) {
1566
+ return ce(e, t).length;
1567
+ }
1568
+ function he(e, t) {
1569
+ const n = e.ace.getSession().doc.getAllLines();
1570
+ let o = 0, l = 0;
1571
+ for (let i = 0; i < n.length; i += 1) if (l += n[i].length + 1, t < l) {
1572
+ o = i;
1573
+ break;
1574
+ }
1575
+ return l > e.ace.getSession().getValue().length && (o += 1), o;
1576
+ }
1577
+ function me(e) {
1578
+ e.gutterHeight = document.getElementById(e.options.classes.gutterID).clientHeight, e.gutterWidth = document.getElementById(e.options.classes.gutterID).clientWidth;
1579
+ const t = ue(e, D.EDITOR_LEFT), n = ue(e, D.EDITOR_RIGHT), o = Math.max(t, n, e.gutterHeight);
1580
+ e.gutterSVG = document.createElementNS(D.SVG_NS, "svg"), e.gutterSVG.setAttribute("width", e.gutterWidth), e.gutterSVG.setAttribute("height", o), document.getElementById(e.options.classes.gutterID).appendChild(e.gutterSVG);
1581
+ }
1582
+ function ue(e, t) {
1583
+ return (t === D.EDITOR_LEFT ? e.editors.left : e.editors.right).ace.getSession().getLength() * e.lineHeight;
1584
+ }
1585
+ function tt(e) {
1586
+ e.copyRightContainer = document.createElement("div"), e.copyRightContainer.setAttribute("class", e.options.classes.copyRightContainer), e.copyLeftContainer = document.createElement("div"), e.copyLeftContainer.setAttribute("class", e.options.classes.copyLeftContainer), document.getElementById(e.options.classes.gutterID).appendChild(e.copyRightContainer), document.getElementById(e.options.classes.gutterID).appendChild(e.copyLeftContainer);
1587
+ }
1588
+ function nt(e) {
1589
+ document.getElementById(e.options.classes.gutterID).removeChild(e.gutterSVG), me(e);
1590
+ }
1591
+ function it(e) {
1592
+ e.copyLeftContainer.innerHTML = "", e.copyRightContainer.innerHTML = "";
1593
+ }
1594
+ function ot(e, t) {
1595
+ const n = [];
1596
+ function o(i) {
1597
+ return e.options.diffGranularity === D.DIFF_GRANULARITY_SPECIFIC ? i < 1 : i <= 1;
1598
+ }
1599
+ t.forEach((i, s) => {
1600
+ if (s === 0) {
1601
+ n.push(i);
1602
+ return;
1603
+ }
1604
+ let r = !1;
1605
+ for (let a = 0; a < n.length; a += 1) if (o(Math.abs(i.leftStartLine - n[a].leftEndLine)) && o(Math.abs(i.rightStartLine - n[a].rightEndLine))) {
1606
+ n[a].leftStartLine = Math.min(i.leftStartLine, n[a].leftStartLine), n[a].rightStartLine = Math.min(i.rightStartLine, n[a].rightStartLine), n[a].leftEndLine = Math.max(i.leftEndLine, n[a].leftEndLine), n[a].rightEndLine = Math.max(i.rightEndLine, n[a].rightEndLine), r = !0;
1607
+ break;
1608
+ }
1609
+ r || n.push(i);
1610
+ });
1611
+ const l = [];
1612
+ return n.forEach((i) => {
1613
+ i.leftStartLine === i.leftEndLine && i.rightStartLine === i.rightEndLine || l.push(i);
1614
+ }), l;
1615
+ }
1616
+ function _e(e) {
1617
+ nt(e), it(e), e.diffs.forEach((t, n) => {
1618
+ e.options.showDiffs && (re(e, D.EDITOR_LEFT, t.leftStartLine, t.leftEndLine, e.options.classes.diff), re(e, D.EDITOR_RIGHT, t.rightStartLine, t.rightEndLine, e.options.classes.diff), e.options.showConnectors && Qe(e, t.leftStartLine, t.leftEndLine, t.rightStartLine, t.rightEndLine), Ze(e, t, n));
1619
+ }, e);
1620
+ }
1621
+ const lt = {
1622
+ props: {
1623
+ pluginName: {
1624
+ type: String,
1625
+ required: !0
1626
+ },
1627
+ variables: {
1628
+ type: Object,
1629
+ required: !0
1630
+ },
1631
+ pluginTxt: {
1632
+ type: String,
1633
+ required: !0
1634
+ },
1635
+ existingPluginTxt: {
1636
+ type: String,
1637
+ required: !1
1638
+ },
1639
+ modelValue: Boolean
1640
+ // modelValue is the default prop when using v-model
1641
+ },
1642
+ data() {
1643
+ return {
1644
+ tab: 0,
1645
+ localVariables: [],
1646
+ localPluginTxt: "",
1647
+ localExistingPluginTxt: null,
1648
+ editor: null,
1649
+ differ: null,
1650
+ contextMenu: !1,
1651
+ menuX: 0,
1652
+ menuY: 0
1653
+ };
1654
+ },
1655
+ mounted() {
1656
+ const e = this.buildPluginMode();
1657
+ this.existingPluginTxt === null ? (this.editor = I.edit(this.$refs.editor), this.editor.setTheme("ace/theme/twilight"), this.editor.session.setMode(new e()), this.editor.session.setTabSize(2), this.editor.session.setUseWrapMode(!0), this.editor.$blockScrolling = 1 / 0, this.editor.setHighlightActiveLine(!1), this.editor.setValue(this.localPluginTxt), this.editor.clearSelection(), U.applyVimModeIfEnabled(this.editor), this.editor.focus()) : (this.tab = 1, this.differ = new X({
1658
+ element: this.$refs.editor,
1659
+ mode: new e(),
1660
+ theme: "ace/theme/twilight",
1661
+ left: {
1662
+ content: this.localExistingPluginTxt,
1663
+ copyLinkEnabled: !1
1664
+ },
1665
+ right: {
1666
+ content: this.localPluginTxt,
1667
+ editable: !1
1668
+ }
1669
+ }), this.differ.getEditors().left.setFontSize(16), this.differ.getEditors().right.setFontSize(16), U.applyVimModeIfEnabled(this.differ.getEditors().left), U.applyVimModeIfEnabled(this.differ.getEditors().right), this.curDiff = -1);
1670
+ },
1671
+ beforeUnmount() {
1672
+ this.editor && this.editor.destroy(), this.differ && this.differ.destroy();
1673
+ },
1674
+ computed: {
1675
+ show: {
1676
+ get() {
1677
+ return this.modelValue;
1678
+ },
1679
+ set(e) {
1680
+ this.$emit("update:modelValue", e);
1681
+ }
1682
+ }
1683
+ },
1684
+ watch: {
1685
+ value: {
1686
+ immediate: !0,
1687
+ handler: function() {
1688
+ this.localVariables = JSON.parse(JSON.stringify(this.variables)), this.localPluginTxt = this.pluginTxt.slice(), this.existingPluginTxt !== null && (this.localExistingPluginTxt = this.existingPluginTxt.slice());
1689
+ }
1690
+ }
1691
+ },
1692
+ methods: {
1693
+ previousDiff() {
1694
+ this.curDiff--, this.curDiff < 0 && (this.curDiff = this.differ.diffs.length - 1), this.scrollToCurDiff();
1695
+ },
1696
+ nextDiff() {
1697
+ this.curDiff++, this.curDiff >= this.differ.diffs.length && (this.curDiff = 0), this.scrollToCurDiff();
1698
+ },
1699
+ scrollToCurDiff() {
1700
+ if (this.differ.diffs.length === 0) return;
1701
+ let e = this.differ.diffs[this.curDiff].leftStartLine, t = this.differ.diffs[this.curDiff].rightStartLine;
1702
+ e > 5 && (e -= 5), t > 5 && (t -= 5), this.differ.getEditors().left.scrollToLine(e), this.differ.getEditors().right.scrollToLine(t);
1703
+ },
1704
+ buildPluginMode() {
1705
+ let e = I.require("ace/lib/oop"), t = I.require(
1706
+ "ace/mode/ruby_highlight_rules"
1707
+ ).RubyHighlightRules, n = ["VARIABLE"], o = new RegExp(`(\\b${n.join("\\b|\\b")}\\b)`), l = function() {
1708
+ t.call(this);
1709
+ for (let u in this.$rules)
1710
+ this.$rules[u].unshift({
1711
+ regex: o,
1712
+ token: "support.function"
1713
+ });
1714
+ };
1715
+ e.inherits(l, t);
1716
+ let i = I.require(
1717
+ "ace/mode/matching_brace_outdent"
1718
+ ).MatchingBraceOutdent, s = I.require(
1719
+ "ace/mode/behaviour/cstyle"
1720
+ ).CstyleBehaviour, r = I.require("ace/mode/folding/ruby").FoldMode, a = function() {
1721
+ this.HighlightRules = l, this.$outdent = new i(), this.$behaviour = new s(), this.foldingRules = new r(), this.indentKeywords = this.foldingRules.indentKeywords;
1722
+ }, f = I.require("ace/mode/ruby").Mode;
1723
+ return e.inherits(a, f), (function() {
1724
+ this.$id = "ace/mode/openc3";
1725
+ }).call(a.prototype), a;
1726
+ },
1727
+ submit: function() {
1728
+ this.existingPluginTxt === null ? this.emitSubmit(this.editor.getValue().split(`
1729
+ `)) : this.differ.diffs.length === 0 ? this.emitSubmit(this.differ.getEditors().left.getValue().split(`
1730
+ `)) : this.$dialog.confirm(
1731
+ "Diffs still detected! Install using 'Existing plugin.txt' (left) and ignore additional changes in the new plugin.txt (right)?",
1732
+ {
1733
+ okText: "Install",
1734
+ cancelText: "Cancel"
1735
+ }
1736
+ ).then((e) => {
1737
+ this.emitSubmit(
1738
+ this.differ.getEditors().left.getValue().split(`
1739
+ `)
1740
+ );
1741
+ }).catch((e) => {
1742
+ });
1743
+ },
1744
+ emitSubmit(e) {
1745
+ let t = {
1746
+ name: this.pluginName,
1747
+ variables: Le(this.localVariables),
1748
+ plugin_txt_lines: e
1749
+ };
1750
+ this.$emit("callback", t);
1751
+ },
1752
+ close: function() {
1753
+ this.show = !this.show;
1754
+ },
1755
+ showContextMenu: function(e) {
1756
+ this.menuX = e.pageX, this.menuY = e.pageY;
1757
+ let t = this.editor.getCursorPosition(), n = this.editor.session.getTokenAt(t.row, t.column);
1758
+ if (n) {
1759
+ let o = n.value.trim();
1760
+ o.includes(" ") ? this.docsKeyword = o.split(" ")[0] : this.docsKeyword = o, this.contextMenu = !0;
1761
+ }
1762
+ },
1763
+ toggleVimMode: function() {
1764
+ this.editor && U.toggleVimMode(this.editor);
1765
+ }
1766
+ }
1767
+ }, st = { style: { flex: "1" } }, rt = { class: "pa-3" }, at = {
1768
+ ref: "editor",
1769
+ class: "editor"
1770
+ }, ft = { key: 0 };
1771
+ function dt(e, t, n, o, l, i) {
1772
+ const s = m("v-card-title"), r = m("v-icon"), a = m("v-row"), f = m("v-tab"), u = m("v-tabs"), d = m("v-text-field"), p = m("v-col"), _ = m("v-window-item"), w = m("v-list-item-title"), C = m("v-list-item"), y = m("v-divider"), b = m("v-list"), E = m("v-menu"), x = m("v-window"), v = m("v-btn"), T = m("v-spacer"), V = m("v-card-actions"), P = m("v-card-text"), O = m("v-card"), F = m("v-dialog");
1773
+ return L(), k(F, {
1774
+ persistent: "",
1775
+ modelValue: i.show,
1776
+ "onUpdate:modelValue": t[5] || (t[5] = (A) => i.show = A),
1777
+ width: "80vw"
1778
+ }, {
1779
+ default: g(() => [
1780
+ c(O, null, {
1781
+ default: g(() => [
1782
+ c(P, null, {
1783
+ default: g(() => [
1784
+ c(s, null, {
1785
+ default: g(() => [
1786
+ S(N(n.pluginName), 1)
1787
+ ]),
1788
+ _: 1
1789
+ }),
1790
+ n.existingPluginTxt !== null ? (L(), k(a, {
1791
+ key: 0,
1792
+ class: "notice d-flex flex-row"
1793
+ }, {
1794
+ default: g(() => [
1795
+ c(r, {
1796
+ size: "x-large",
1797
+ start: "",
1798
+ color: "yellow"
1799
+ }, {
1800
+ default: g(() => t[6] || (t[6] = [
1801
+ S(" mdi-alert-box ")
1802
+ ])),
1803
+ _: 1
1804
+ }),
1805
+ M("div", st, " The existing plugin.txt is different from the " + N(n.pluginName) + "'s plugin.txt. Navigate the diffs making whatever edits you want before installing. You may want to update " + N(n.pluginName) + "'s plugin.txt going forward. ", 1)
1806
+ ]),
1807
+ _: 1
1808
+ })) : j("", !0),
1809
+ c(a, { class: "pb-3 pr-3" }, {
1810
+ default: g(() => [
1811
+ c(u, {
1812
+ modelValue: l.tab,
1813
+ "onUpdate:modelValue": t[0] || (t[0] = (A) => l.tab = A),
1814
+ class: "ml-3"
1815
+ }, {
1816
+ default: g(() => [
1817
+ (L(), k(f, { key: 0 }, {
1818
+ default: g(() => t[7] || (t[7] = [
1819
+ S(" Variables ")
1820
+ ])),
1821
+ _: 1
1822
+ })),
1823
+ (L(), k(f, { key: 1 }, {
1824
+ default: g(() => t[8] || (t[8] = [
1825
+ S(" plugin.txt ")
1826
+ ])),
1827
+ _: 1
1828
+ }))
1829
+ ]),
1830
+ _: 1
1831
+ }, 8, ["modelValue"])
1832
+ ]),
1833
+ _: 1
1834
+ }),
1835
+ M("form", {
1836
+ onSubmit: t[4] || (t[4] = H((...A) => e.onSubmit && e.onSubmit(...A), ["prevent"]))
1837
+ }, [
1838
+ c(x, {
1839
+ modelValue: l.tab,
1840
+ "onUpdate:modelValue": t[3] || (t[3] = (A) => l.tab = A)
1841
+ }, {
1842
+ default: g(() => [
1843
+ (L(), k(_, {
1844
+ key: 0,
1845
+ eager: "true",
1846
+ class: "tab"
1847
+ }, {
1848
+ default: g(() => [
1849
+ M("div", rt, [
1850
+ c(a, { class: "mt-3" }, {
1851
+ default: g(() => [
1852
+ (L(!0), R(G, null, $(l.localVariables, (A, Y) => (L(), R("div", { key: Y }, [
1853
+ c(p, { style: { width: "220px" } }, {
1854
+ default: g(() => [
1855
+ c(d, {
1856
+ clearable: "",
1857
+ type: "text",
1858
+ label: Y,
1859
+ modelValue: l.localVariables[Y],
1860
+ "onUpdate:modelValue": (be) => l.localVariables[Y] = be
1861
+ }, null, 8, ["label", "modelValue", "onUpdate:modelValue"])
1862
+ ]),
1863
+ _: 2
1864
+ }, 1024)
1865
+ ]))), 128))
1866
+ ]),
1867
+ _: 1
1868
+ })
1869
+ ])
1870
+ ]),
1871
+ _: 1
1872
+ })),
1873
+ n.existingPluginTxt === null ? (L(), k(_, {
1874
+ key: "1-new",
1875
+ eager: "true",
1876
+ class: "tab"
1877
+ }, {
1878
+ default: g(() => [
1879
+ c(a, { class: "pa-3" }, {
1880
+ default: g(() => [
1881
+ c(p, null, {
1882
+ default: g(() => t[9] || (t[9] = [
1883
+ S(" This can be edited before installation. ")
1884
+ ])),
1885
+ _: 1
1886
+ })
1887
+ ]),
1888
+ _: 1
1889
+ }),
1890
+ M("pre", {
1891
+ ref: "editor",
1892
+ class: "editor",
1893
+ onContextmenu: t[1] || (t[1] = H((...A) => i.showContextMenu && i.showContextMenu(...A), ["prevent"]))
1894
+ }, null, 544),
1895
+ c(E, {
1896
+ modelValue: l.contextMenu,
1897
+ "onUpdate:modelValue": t[2] || (t[2] = (A) => l.contextMenu = A),
1898
+ target: [l.menuX, l.menuY]
1899
+ }, {
1900
+ default: g(() => [
1901
+ c(b, null, {
1902
+ default: g(() => [
1903
+ c(C, { link: "" }, {
1904
+ default: g(() => [
1905
+ c(w, { onClick: e.openDocumentation }, {
1906
+ default: g(() => [
1907
+ S(N(e.docsKeyword) + " documentation ", 1)
1908
+ ]),
1909
+ _: 1
1910
+ }, 8, ["onClick"])
1911
+ ]),
1912
+ _: 1
1913
+ }),
1914
+ c(y),
1915
+ c(C, {
1916
+ title: "Toggle Vim mode",
1917
+ "prepend-icon": "extras:vim",
1918
+ onClick: i.toggleVimMode
1919
+ }, null, 8, ["onClick"])
1920
+ ]),
1921
+ _: 1
1922
+ })
1923
+ ]),
1924
+ _: 1
1925
+ }, 8, ["modelValue", "target"])
1926
+ ]),
1927
+ _: 1
1928
+ })) : (L(), k(_, {
1929
+ key: "1-existing",
1930
+ eager: "true",
1931
+ class: "tab"
1932
+ }, {
1933
+ default: g(() => [
1934
+ c(a, { class: "pa-3" }, {
1935
+ default: g(() => [
1936
+ c(p, null, {
1937
+ default: g(() => t[10] || (t[10] = [
1938
+ S(" Existing plugin.txt. This can be edited before installation. ")
1939
+ ])),
1940
+ _: 1
1941
+ }),
1942
+ c(p, { class: "ml-6" }, {
1943
+ default: g(() => t[11] || (t[11] = [
1944
+ S(" Uneditable plugin.txt from the new plugin. ")
1945
+ ])),
1946
+ _: 1
1947
+ })
1948
+ ]),
1949
+ _: 1
1950
+ }),
1951
+ M("pre", at, null, 512)
1952
+ ]),
1953
+ _: 1
1954
+ }))
1955
+ ]),
1956
+ _: 1
1957
+ }, 8, ["modelValue"]),
1958
+ c(V, { class: "px-2 mt-2" }, {
1959
+ default: g(() => [
1960
+ n.existingPluginTxt !== null ? (L(), R("div", ft, [
1961
+ c(v, {
1962
+ variant: "text",
1963
+ onClick: i.nextDiff
1964
+ }, {
1965
+ default: g(() => t[12] || (t[12] = [
1966
+ S(" Next Diff ")
1967
+ ])),
1968
+ _: 1
1969
+ }, 8, ["onClick"]),
1970
+ c(v, {
1971
+ variant: "text",
1972
+ onClick: i.previousDiff
1973
+ }, {
1974
+ default: g(() => t[13] || (t[13] = [
1975
+ S(" Previous Diff ")
1976
+ ])),
1977
+ _: 1
1978
+ }, 8, ["onClick"])
1979
+ ])) : j("", !0),
1980
+ c(T),
1981
+ c(v, {
1982
+ variant: "outlined",
1983
+ onClick: H(i.close, ["prevent"]),
1984
+ "data-test": "edit-cancel"
1985
+ }, {
1986
+ default: g(() => t[14] || (t[14] = [
1987
+ S(" Cancel ")
1988
+ ])),
1989
+ _: 1
1990
+ }, 8, ["onClick"]),
1991
+ c(v, {
1992
+ variant: "flat",
1993
+ onClick: i.submit,
1994
+ "data-test": "edit-submit"
1995
+ }, {
1996
+ default: g(() => t[15] || (t[15] = [
1997
+ S(" Install ")
1998
+ ])),
1999
+ _: 1
2000
+ }, 8, ["onClick"])
2001
+ ]),
2002
+ _: 1
2003
+ })
2004
+ ], 32)
2005
+ ]),
2006
+ _: 1
2007
+ })
2008
+ ]),
2009
+ _: 1
2010
+ })
2011
+ ]),
2012
+ _: 1
2013
+ }, 8, ["modelValue"]);
2014
+ }
2015
+ const vt = /* @__PURE__ */ q(lt, [["render", dt], ["__scopeId", "data-v-0c2b3caa"]]);
2016
+ export {
2017
+ _t as DownloadDialog,
2018
+ bt as EditDialog,
2019
+ wt as ModifiedPluginDialog,
2020
+ yt as OpenC3Admin,
2021
+ vt as PluginDialog,
2022
+ qe as TabsList
2023
+ };
2024
+ //# sourceMappingURL=admin.js.map