onbuzz 5.1.0 → 5.4.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 (1949) hide show
  1. package/package.json +1 -1
  2. package/scripts/gen-brand-icons.mjs +21 -0
  3. package/scripts/web-automation-experiment.mjs +112 -0
  4. package/src/core/__tests__/stateManager.test.js +25 -0
  5. package/src/core/__tests__/structuralPreview.test.js +87 -0
  6. package/src/core/__tests__/toolResultOffload.test.js +28 -0
  7. package/src/core/agentPool.js +6 -3
  8. package/src/core/agentScheduler.js +38 -7
  9. package/src/core/stateManager.js +3 -1
  10. package/src/core/structuralPreview.js +79 -0
  11. package/src/core/toolResultOffload.js +23 -2
  12. package/src/interfaces/__tests__/attachmentRoutes.test.js +118 -0
  13. package/src/interfaces/__tests__/imageServing.test.js +88 -0
  14. package/src/interfaces/__tests__/scheduleRoutes.test.js +223 -0
  15. package/src/interfaces/__tests__/transcribeProxy.test.js +85 -0
  16. package/src/interfaces/__tests__/transcribeRoute.test.js +127 -0
  17. package/src/interfaces/attachmentRoutes.js +56 -0
  18. package/src/interfaces/scheduleRoutes.js +128 -0
  19. package/src/interfaces/terminal/config/agentEditorConstants.js +6 -2
  20. package/src/interfaces/transcribeProxy.js +72 -0
  21. package/src/interfaces/transcribeRoute.js +45 -0
  22. package/src/interfaces/webServer.js +81 -120
  23. package/src/services/__tests__/agentActivityService.test.js +18 -5
  24. package/src/services/__tests__/aiService.editImage.test.js +69 -0
  25. package/src/services/__tests__/fileAttachmentService.test.js +33 -0
  26. package/src/services/__tests__/promptService.test.js +21 -0
  27. package/src/services/__tests__/scheduleService.flow.test.js +625 -0
  28. package/src/services/__tests__/scheduleService.missedRuns.test.js +186 -0
  29. package/src/services/agentActivityService.js +25 -6
  30. package/src/services/aiService.js +4 -0
  31. package/src/services/attachments/__tests__/attachmentContextBuilder.test.js +288 -0
  32. package/src/services/attachments/__tests__/attachmentIngestionService.test.js +184 -0
  33. package/src/services/attachments/__tests__/attachmentScope.test.js +26 -0
  34. package/src/services/attachments/__tests__/attachmentStrategy.test.js +85 -0
  35. package/src/services/attachments/attachmentContextBuilder.js +185 -0
  36. package/src/services/attachments/attachmentIngestionService.js +131 -0
  37. package/src/services/attachments/attachmentScope.js +22 -0
  38. package/src/services/attachments/attachmentStrategy.js +87 -0
  39. package/src/services/fileAttachmentService.js +8 -3
  40. package/src/services/promptService.js +13 -7
  41. package/src/services/scheduleService.js +199 -24
  42. package/src/services/vision/__tests__/visionAnalysisService.test.js +160 -0
  43. package/src/services/vision/visionAnalysisService.js +124 -0
  44. package/src/tools/__tests__/baseTool.mustHave.test.js +72 -0
  45. package/src/tools/__tests__/imageTool.coverage.test.js +512 -0
  46. package/src/tools/__tests__/imageTool.edit.test.js +113 -0
  47. package/src/tools/__tests__/imageTool.validator.test.js +37 -0
  48. package/src/tools/__tests__/importAnalyzerTool.test.js +160 -0
  49. package/src/tools/__tests__/openaiFunctionSchemas.mustHave.test.js +37 -0
  50. package/src/tools/__tests__/userPromptTool.test.js +90 -0
  51. package/src/tools/__tests__/webTool.tabReuse.test.js +349 -0
  52. package/src/tools/baseTool.js +20 -2
  53. package/src/tools/imageTool.js +78 -27
  54. package/src/tools/importAnalysis/__tests__/callableChecker.edge.test.js +141 -0
  55. package/src/tools/importAnalysis/__tests__/callableChecker.test.js +356 -0
  56. package/src/tools/importAnalysis/callableChecker.js +599 -0
  57. package/src/tools/importAnalyzerTool.js +103 -3
  58. package/src/tools/openaiFunctionSchemas.js +11 -2
  59. package/src/tools/userPromptTool.js +66 -20
  60. package/src/tools/webTool.js +187 -13
  61. package/src/utilities/__tests__/mustHaveCapabilities.test.js +80 -0
  62. package/src/utilities/mustHaveCapabilities.js +94 -0
  63. package/web-ui/build/index.html +2 -2
  64. package/web-ui/build/static/1c-D_qPvB3V.js +2 -0
  65. package/web-ui/build/static/1c-D_qPvB3V.js.map +1 -0
  66. package/web-ui/build/static/abap-CTac7GuJ.js +2 -0
  67. package/web-ui/build/static/abap-CTac7GuJ.js.map +1 -0
  68. package/web-ui/build/static/abnf-B-eguyQx.js +2 -0
  69. package/web-ui/build/static/abnf-B-eguyQx.js.map +1 -0
  70. package/web-ui/build/static/abnf-DchqkIUY.js +2 -0
  71. package/web-ui/build/static/abnf-DchqkIUY.js.map +1 -0
  72. package/web-ui/build/static/accesslog-Df2QXZJW.js +2 -0
  73. package/web-ui/build/static/accesslog-Df2QXZJW.js.map +1 -0
  74. package/web-ui/build/static/actionscript-DVmdyVvT.js +2 -0
  75. package/web-ui/build/static/actionscript-DVmdyVvT.js.map +1 -0
  76. package/web-ui/build/static/actionscript-UYqAHsow.js +2 -0
  77. package/web-ui/build/static/actionscript-UYqAHsow.js.map +1 -0
  78. package/web-ui/build/static/ada-DI0WZ2bS.js +2 -0
  79. package/web-ui/build/static/ada-DI0WZ2bS.js.map +1 -0
  80. package/web-ui/build/static/ada-offhvrbu.js +2 -0
  81. package/web-ui/build/static/ada-offhvrbu.js.map +1 -0
  82. package/web-ui/build/static/agda-Bhdvz1s5.js +2 -0
  83. package/web-ui/build/static/agda-Bhdvz1s5.js.map +1 -0
  84. package/web-ui/build/static/al-BIZUcZ4_.js +2 -0
  85. package/web-ui/build/static/al-BIZUcZ4_.js.map +1 -0
  86. package/web-ui/build/static/angelscript-CKXFYEKx.js +2 -0
  87. package/web-ui/build/static/angelscript-CKXFYEKx.js.map +1 -0
  88. package/web-ui/build/static/antlr4-CBOfHCbJ.js +2 -0
  89. package/web-ui/build/static/antlr4-CBOfHCbJ.js.map +1 -0
  90. package/web-ui/build/static/apache-B5MDB0nP.js +2 -0
  91. package/web-ui/build/static/apache-B5MDB0nP.js.map +1 -0
  92. package/web-ui/build/static/apacheconf-CPiv7EUZ.js +2 -0
  93. package/web-ui/build/static/apacheconf-CPiv7EUZ.js.map +1 -0
  94. package/web-ui/build/static/apex-0ySlorg9.js +2 -0
  95. package/web-ui/build/static/apex-0ySlorg9.js.map +1 -0
  96. package/web-ui/build/static/apl-DmEChSCP.js +2 -0
  97. package/web-ui/build/static/apl-DmEChSCP.js.map +1 -0
  98. package/web-ui/build/static/applescript-Bhtpf6MR.js +2 -0
  99. package/web-ui/build/static/applescript-Bhtpf6MR.js.map +1 -0
  100. package/web-ui/build/static/applescript-Dg-QTXBp.js +2 -0
  101. package/web-ui/build/static/applescript-Dg-QTXBp.js.map +1 -0
  102. package/web-ui/build/static/aql-Dffhxg7w.js +2 -0
  103. package/web-ui/build/static/aql-Dffhxg7w.js.map +1 -0
  104. package/web-ui/build/static/arcade-DFQwGr_Z.js +2 -0
  105. package/web-ui/build/static/arcade-DFQwGr_Z.js.map +1 -0
  106. package/web-ui/build/static/arduino-BFHvEv-X.js +2 -0
  107. package/web-ui/build/static/arduino-BFHvEv-X.js.map +1 -0
  108. package/web-ui/build/static/arduino-I_Bp9X3I.js +2 -0
  109. package/web-ui/build/static/arduino-I_Bp9X3I.js.map +1 -0
  110. package/web-ui/build/static/arff-BFbh46ZP.js +2 -0
  111. package/web-ui/build/static/arff-BFbh46ZP.js.map +1 -0
  112. package/web-ui/build/static/armasm-DW5_yWoJ.js +2 -0
  113. package/web-ui/build/static/armasm-DW5_yWoJ.js.map +1 -0
  114. package/web-ui/build/static/asciidoc-BOSWbL26.js +2 -0
  115. package/web-ui/build/static/asciidoc-BOSWbL26.js.map +1 -0
  116. package/web-ui/build/static/asciidoc-_FXFf8Hs.js +2 -0
  117. package/web-ui/build/static/asciidoc-_FXFf8Hs.js.map +1 -0
  118. package/web-ui/build/static/asm6502-CVrzJPnR.js +2 -0
  119. package/web-ui/build/static/asm6502-CVrzJPnR.js.map +1 -0
  120. package/web-ui/build/static/asmatmel-BSi9dhD3.js +2 -0
  121. package/web-ui/build/static/asmatmel-BSi9dhD3.js.map +1 -0
  122. package/web-ui/build/static/aspectj-BRwmbD2q.js +2 -0
  123. package/web-ui/build/static/aspectj-BRwmbD2q.js.map +1 -0
  124. package/web-ui/build/static/aspnet-BRwsysB9.js +2 -0
  125. package/web-ui/build/static/aspnet-BRwsysB9.js.map +1 -0
  126. package/web-ui/build/static/autohotkey-6a1jiEBe.js +2 -0
  127. package/web-ui/build/static/autohotkey-6a1jiEBe.js.map +1 -0
  128. package/web-ui/build/static/autohotkey-DR1-q437.js +2 -0
  129. package/web-ui/build/static/autohotkey-DR1-q437.js.map +1 -0
  130. package/web-ui/build/static/autoit-BMqz_Jee.js +2 -0
  131. package/web-ui/build/static/autoit-BMqz_Jee.js.map +1 -0
  132. package/web-ui/build/static/autoit-BvsodKLK.js +2 -0
  133. package/web-ui/build/static/autoit-BvsodKLK.js.map +1 -0
  134. package/web-ui/build/static/avisynth-B-auLfby.js +2 -0
  135. package/web-ui/build/static/avisynth-B-auLfby.js.map +1 -0
  136. package/web-ui/build/static/avrasm-BdAbhVUJ.js +2 -0
  137. package/web-ui/build/static/avrasm-BdAbhVUJ.js.map +1 -0
  138. package/web-ui/build/static/avro-idl-DOTpi7nl.js +2 -0
  139. package/web-ui/build/static/avro-idl-DOTpi7nl.js.map +1 -0
  140. package/web-ui/build/static/awk-CsgMOdUw.js +2 -0
  141. package/web-ui/build/static/awk-CsgMOdUw.js.map +1 -0
  142. package/web-ui/build/static/axapta-C5XrhaN5.js +2 -0
  143. package/web-ui/build/static/axapta-C5XrhaN5.js.map +1 -0
  144. package/web-ui/build/static/bash-C1-r7d7k.js +2 -0
  145. package/web-ui/build/static/bash-C1-r7d7k.js.map +1 -0
  146. package/web-ui/build/static/bash-DEgBrEC2.js +2 -0
  147. package/web-ui/build/static/bash-DEgBrEC2.js.map +1 -0
  148. package/web-ui/build/static/basic-B3R5VALF.js +2 -0
  149. package/web-ui/build/static/basic-B3R5VALF.js.map +1 -0
  150. package/web-ui/build/static/basic-DSfYRx3q.js +2 -0
  151. package/web-ui/build/static/basic-DSfYRx3q.js.map +1 -0
  152. package/web-ui/build/static/batch-C2fYtgqc.js +2 -0
  153. package/web-ui/build/static/batch-C2fYtgqc.js.map +1 -0
  154. package/web-ui/build/static/bbcode-BLM0BQmc.js +2 -0
  155. package/web-ui/build/static/bbcode-BLM0BQmc.js.map +1 -0
  156. package/web-ui/build/static/bicep-B7XNjHHJ.js +2 -0
  157. package/web-ui/build/static/bicep-B7XNjHHJ.js.map +1 -0
  158. package/web-ui/build/static/birb-CjVGlEUy.js +2 -0
  159. package/web-ui/build/static/birb-CjVGlEUy.js.map +1 -0
  160. package/web-ui/build/static/bison-BBYMGwHh.js +2 -0
  161. package/web-ui/build/static/bison-BBYMGwHh.js.map +1 -0
  162. package/web-ui/build/static/bnf-BpAgVggo.js +2 -0
  163. package/web-ui/build/static/bnf-BpAgVggo.js.map +1 -0
  164. package/web-ui/build/static/bnf-CIZRfMim.js +2 -0
  165. package/web-ui/build/static/bnf-CIZRfMim.js.map +1 -0
  166. package/web-ui/build/static/brainfuck-BL8Ck-Uf.js +2 -0
  167. package/web-ui/build/static/brainfuck-BL8Ck-Uf.js.map +1 -0
  168. package/web-ui/build/static/brainfuck-dauodiI3.js +2 -0
  169. package/web-ui/build/static/brainfuck-dauodiI3.js.map +1 -0
  170. package/web-ui/build/static/brightscript-BhJdYpbY.js +2 -0
  171. package/web-ui/build/static/brightscript-BhJdYpbY.js.map +1 -0
  172. package/web-ui/build/static/bro-DcFYnCbi.js +2 -0
  173. package/web-ui/build/static/bro-DcFYnCbi.js.map +1 -0
  174. package/web-ui/build/static/bsl-C9rjiX72.js +2 -0
  175. package/web-ui/build/static/bsl-C9rjiX72.js.map +1 -0
  176. package/web-ui/build/static/c-BsnzJksu.js +2 -0
  177. package/web-ui/build/static/c-BsnzJksu.js.map +1 -0
  178. package/web-ui/build/static/c-DJbroke5.js +2 -0
  179. package/web-ui/build/static/c-DJbroke5.js.map +1 -0
  180. package/web-ui/build/static/c-like-CJEAFsFB.js +2 -0
  181. package/web-ui/build/static/c-like-CJEAFsFB.js.map +1 -0
  182. package/web-ui/build/static/cal-BbfAhea3.js +2 -0
  183. package/web-ui/build/static/cal-BbfAhea3.js.map +1 -0
  184. package/web-ui/build/static/capnproto-cDJtGDOg.js +2 -0
  185. package/web-ui/build/static/capnproto-cDJtGDOg.js.map +1 -0
  186. package/web-ui/build/static/ceylon-a_GdVQ7f.js +2 -0
  187. package/web-ui/build/static/ceylon-a_GdVQ7f.js.map +1 -0
  188. package/web-ui/build/static/cfscript-Dzjty3sd.js +2 -0
  189. package/web-ui/build/static/cfscript-Dzjty3sd.js.map +1 -0
  190. package/web-ui/build/static/chaiscript-yZoEXdeV.js +2 -0
  191. package/web-ui/build/static/chaiscript-yZoEXdeV.js.map +1 -0
  192. package/web-ui/build/static/cil-D1_WHMPv.js +2 -0
  193. package/web-ui/build/static/cil-D1_WHMPv.js.map +1 -0
  194. package/web-ui/build/static/clean-B4O-WBZ-.js +2 -0
  195. package/web-ui/build/static/clean-B4O-WBZ-.js.map +1 -0
  196. package/web-ui/build/static/clike-BbhQMC3v.js +2 -0
  197. package/web-ui/build/static/clike-BbhQMC3v.js.map +1 -0
  198. package/web-ui/build/static/clojure-Bbu93y_6.js +2 -0
  199. package/web-ui/build/static/clojure-Bbu93y_6.js.map +1 -0
  200. package/web-ui/build/static/clojure-BxfqpsEY.js +2 -0
  201. package/web-ui/build/static/clojure-BxfqpsEY.js.map +1 -0
  202. package/web-ui/build/static/clojure-repl-z0AqhltN.js +2 -0
  203. package/web-ui/build/static/clojure-repl-z0AqhltN.js.map +1 -0
  204. package/web-ui/build/static/cmake-BbWAy8j3.js +2 -0
  205. package/web-ui/build/static/cmake-BbWAy8j3.js.map +1 -0
  206. package/web-ui/build/static/cmake-CIByV8ZW.js +2 -0
  207. package/web-ui/build/static/cmake-CIByV8ZW.js.map +1 -0
  208. package/web-ui/build/static/cobol-BydUPHC7.js +2 -0
  209. package/web-ui/build/static/cobol-BydUPHC7.js.map +1 -0
  210. package/web-ui/build/static/coffeescript-BV-bTh1q.js +2 -0
  211. package/web-ui/build/static/coffeescript-BV-bTh1q.js.map +1 -0
  212. package/web-ui/build/static/coffeescript-Dxnf0yRF.js +2 -0
  213. package/web-ui/build/static/coffeescript-Dxnf0yRF.js.map +1 -0
  214. package/web-ui/build/static/concurnas-yGkTkaWa.js +2 -0
  215. package/web-ui/build/static/concurnas-yGkTkaWa.js.map +1 -0
  216. package/web-ui/build/static/coq-AhBDV-0T.js +2 -0
  217. package/web-ui/build/static/coq-AhBDV-0T.js.map +1 -0
  218. package/web-ui/build/static/coq-Do4DDPAT.js +2 -0
  219. package/web-ui/build/static/coq-Do4DDPAT.js.map +1 -0
  220. package/web-ui/build/static/cos-C5QkEIhM.js +2 -0
  221. package/web-ui/build/static/cos-C5QkEIhM.js.map +1 -0
  222. package/web-ui/build/static/cpp-BCySi8iX.js +2 -0
  223. package/web-ui/build/static/cpp-BCySi8iX.js.map +1 -0
  224. package/web-ui/build/static/cpp-BN3K8LuX.js +2 -0
  225. package/web-ui/build/static/cpp-BN3K8LuX.js.map +1 -0
  226. package/web-ui/build/static/crmsh-DFwhwYLF.js +2 -0
  227. package/web-ui/build/static/crmsh-DFwhwYLF.js.map +1 -0
  228. package/web-ui/build/static/crystal-By6Gn7pt.js +2 -0
  229. package/web-ui/build/static/crystal-By6Gn7pt.js.map +1 -0
  230. package/web-ui/build/static/crystal-Du0ZHHT8.js +2 -0
  231. package/web-ui/build/static/crystal-Du0ZHHT8.js.map +1 -0
  232. package/web-ui/build/static/csharp-Cm9Sjsgy.js +2 -0
  233. package/web-ui/build/static/csharp-Cm9Sjsgy.js.map +1 -0
  234. package/web-ui/build/static/csharp-DQZn0AVP.js +2 -0
  235. package/web-ui/build/static/csharp-DQZn0AVP.js.map +1 -0
  236. package/web-ui/build/static/cshtml-Kp9Fmw-K.js +2 -0
  237. package/web-ui/build/static/cshtml-Kp9Fmw-K.js.map +1 -0
  238. package/web-ui/build/static/csp-BX8aZ19A.js +2 -0
  239. package/web-ui/build/static/csp-BX8aZ19A.js.map +1 -0
  240. package/web-ui/build/static/csp-DfWHORpc.js +2 -0
  241. package/web-ui/build/static/csp-DfWHORpc.js.map +1 -0
  242. package/web-ui/build/static/css-CEA2miUi.js +2 -0
  243. package/web-ui/build/static/css-CEA2miUi.js.map +1 -0
  244. package/web-ui/build/static/css-CQf2huHY.js +2 -0
  245. package/web-ui/build/static/css-CQf2huHY.js.map +1 -0
  246. package/web-ui/build/static/css-extras-B9kii9BZ.js +2 -0
  247. package/web-ui/build/static/css-extras-B9kii9BZ.js.map +1 -0
  248. package/web-ui/build/static/csv-8gxezeEm.js +2 -0
  249. package/web-ui/build/static/csv-8gxezeEm.js.map +1 -0
  250. package/web-ui/build/static/cypher-CNQLP3oK.js +2 -0
  251. package/web-ui/build/static/cypher-CNQLP3oK.js.map +1 -0
  252. package/web-ui/build/static/d-CTlyYd24.js +2 -0
  253. package/web-ui/build/static/d-CTlyYd24.js.map +1 -0
  254. package/web-ui/build/static/d-Uo7SffjY.js +2 -0
  255. package/web-ui/build/static/d-Uo7SffjY.js.map +1 -0
  256. package/web-ui/build/static/dart-Bpfc756e.js +2 -0
  257. package/web-ui/build/static/dart-Bpfc756e.js.map +1 -0
  258. package/web-ui/build/static/dart-DfuVI1xC.js +2 -0
  259. package/web-ui/build/static/dart-DfuVI1xC.js.map +1 -0
  260. package/web-ui/build/static/dataweave-DEIeoY1o.js +2 -0
  261. package/web-ui/build/static/dataweave-DEIeoY1o.js.map +1 -0
  262. package/web-ui/build/static/dax-BLtb3ND_.js +2 -0
  263. package/web-ui/build/static/dax-BLtb3ND_.js.map +1 -0
  264. package/web-ui/build/static/delphi-B5yHIpFg.js +2 -0
  265. package/web-ui/build/static/delphi-B5yHIpFg.js.map +1 -0
  266. package/web-ui/build/static/dhall-yr3u71o3.js +2 -0
  267. package/web-ui/build/static/dhall-yr3u71o3.js.map +1 -0
  268. package/web-ui/build/static/diff-BpzLXp_V.js +2 -0
  269. package/web-ui/build/static/diff-BpzLXp_V.js.map +1 -0
  270. package/web-ui/build/static/diff-ByqUXGvr.js +2 -0
  271. package/web-ui/build/static/diff-ByqUXGvr.js.map +1 -0
  272. package/web-ui/build/static/django-CizPT9Sp.js +2 -0
  273. package/web-ui/build/static/django-CizPT9Sp.js.map +1 -0
  274. package/web-ui/build/static/django-YscPDccG.js +2 -0
  275. package/web-ui/build/static/django-YscPDccG.js.map +1 -0
  276. package/web-ui/build/static/dns-C-_Yg_fu.js +2 -0
  277. package/web-ui/build/static/dns-C-_Yg_fu.js.map +1 -0
  278. package/web-ui/build/static/dns-zone-file-CnPa90lC.js +2 -0
  279. package/web-ui/build/static/dns-zone-file-CnPa90lC.js.map +1 -0
  280. package/web-ui/build/static/docker-CavDrVR9.js +2 -0
  281. package/web-ui/build/static/docker-CavDrVR9.js.map +1 -0
  282. package/web-ui/build/static/dockerfile-D2G2mFQS.js +2 -0
  283. package/web-ui/build/static/dockerfile-D2G2mFQS.js.map +1 -0
  284. package/web-ui/build/static/dos-Q_JIOZcH.js +2 -0
  285. package/web-ui/build/static/dos-Q_JIOZcH.js.map +1 -0
  286. package/web-ui/build/static/dot-DD4tMB0R.js +2 -0
  287. package/web-ui/build/static/dot-DD4tMB0R.js.map +1 -0
  288. package/web-ui/build/static/dsconfig-CfhX8vWC.js +2 -0
  289. package/web-ui/build/static/dsconfig-CfhX8vWC.js.map +1 -0
  290. package/web-ui/build/static/dts-Bc0mlEwd.js +2 -0
  291. package/web-ui/build/static/dts-Bc0mlEwd.js.map +1 -0
  292. package/web-ui/build/static/dust-COIwtMNn.js +2 -0
  293. package/web-ui/build/static/dust-COIwtMNn.js.map +1 -0
  294. package/web-ui/build/static/ebnf-3YG7EsMR.js +2 -0
  295. package/web-ui/build/static/ebnf-3YG7EsMR.js.map +1 -0
  296. package/web-ui/build/static/ebnf-CDtil2Mr.js +2 -0
  297. package/web-ui/build/static/ebnf-CDtil2Mr.js.map +1 -0
  298. package/web-ui/build/static/editorconfig-64X2vX1j.js +2 -0
  299. package/web-ui/build/static/editorconfig-64X2vX1j.js.map +1 -0
  300. package/web-ui/build/static/eiffel-CJur1DN4.js +2 -0
  301. package/web-ui/build/static/eiffel-CJur1DN4.js.map +1 -0
  302. package/web-ui/build/static/ejs-Cw7vN60h.js +2 -0
  303. package/web-ui/build/static/ejs-Cw7vN60h.js.map +1 -0
  304. package/web-ui/build/static/elixir-BKo2naZS.js +2 -0
  305. package/web-ui/build/static/elixir-BKo2naZS.js.map +1 -0
  306. package/web-ui/build/static/elixir-CLb0SxeB.js +2 -0
  307. package/web-ui/build/static/elixir-CLb0SxeB.js.map +1 -0
  308. package/web-ui/build/static/elm-CdhSHkyB.js +2 -0
  309. package/web-ui/build/static/elm-CdhSHkyB.js.map +1 -0
  310. package/web-ui/build/static/elm-Dt6hdTOM.js +2 -0
  311. package/web-ui/build/static/elm-Dt6hdTOM.js.map +1 -0
  312. package/web-ui/build/static/erb-BKbC0yOs.js +2 -0
  313. package/web-ui/build/static/erb-BKbC0yOs.js.map +1 -0
  314. package/web-ui/build/static/erb-Dk87pL0R.js +2 -0
  315. package/web-ui/build/static/erb-Dk87pL0R.js.map +1 -0
  316. package/web-ui/build/static/erlang-C2qJ6J5c.js +2 -0
  317. package/web-ui/build/static/erlang-C2qJ6J5c.js.map +1 -0
  318. package/web-ui/build/static/erlang-CHQ5UiBZ.js +2 -0
  319. package/web-ui/build/static/erlang-CHQ5UiBZ.js.map +1 -0
  320. package/web-ui/build/static/erlang-repl-Dl68oiyR.js +2 -0
  321. package/web-ui/build/static/erlang-repl-Dl68oiyR.js.map +1 -0
  322. package/web-ui/build/static/etlua-bzERpDQb.js +2 -0
  323. package/web-ui/build/static/etlua-bzERpDQb.js.map +1 -0
  324. package/web-ui/build/static/excel-__vaweKO.js +2 -0
  325. package/web-ui/build/static/excel-__vaweKO.js.map +1 -0
  326. package/web-ui/build/static/excel-formula-BlYDIi9V.js +2 -0
  327. package/web-ui/build/static/excel-formula-BlYDIi9V.js.map +1 -0
  328. package/web-ui/build/static/factor-Bl5GCkeY.js +2 -0
  329. package/web-ui/build/static/factor-Bl5GCkeY.js.map +1 -0
  330. package/web-ui/build/static/false-QwAAYlpL.js +2 -0
  331. package/web-ui/build/static/false-QwAAYlpL.js.map +1 -0
  332. package/web-ui/build/static/firestore-security-rules-BLu9pgHC.js +2 -0
  333. package/web-ui/build/static/firestore-security-rules-BLu9pgHC.js.map +1 -0
  334. package/web-ui/build/static/fix-DUZ7zbCO.js +2 -0
  335. package/web-ui/build/static/fix-DUZ7zbCO.js.map +1 -0
  336. package/web-ui/build/static/flix-DBpxzY7Q.js +2 -0
  337. package/web-ui/build/static/flix-DBpxzY7Q.js.map +1 -0
  338. package/web-ui/build/static/flow-SbqJPdB5.js +2 -0
  339. package/web-ui/build/static/flow-SbqJPdB5.js.map +1 -0
  340. package/web-ui/build/static/fortran-CFDXA6Sp.js +2 -0
  341. package/web-ui/build/static/fortran-CFDXA6Sp.js.map +1 -0
  342. package/web-ui/build/static/fortran-CUXnp6Ln.js +2 -0
  343. package/web-ui/build/static/fortran-CUXnp6Ln.js.map +1 -0
  344. package/web-ui/build/static/fsharp-Bd0qRNsn.js +2 -0
  345. package/web-ui/build/static/fsharp-Bd0qRNsn.js.map +1 -0
  346. package/web-ui/build/static/fsharp-DrcBdlmg.js +2 -0
  347. package/web-ui/build/static/fsharp-DrcBdlmg.js.map +1 -0
  348. package/web-ui/build/static/ftl-Dq8qawaZ.js +2 -0
  349. package/web-ui/build/static/ftl-Dq8qawaZ.js.map +1 -0
  350. package/web-ui/build/static/gams-CQ4RaBJS.js +2 -0
  351. package/web-ui/build/static/gams-CQ4RaBJS.js.map +1 -0
  352. package/web-ui/build/static/gap-C2sol0R7.js +2 -0
  353. package/web-ui/build/static/gap-C2sol0R7.js.map +1 -0
  354. package/web-ui/build/static/gauss-DuxwVw0Q.js +2 -0
  355. package/web-ui/build/static/gauss-DuxwVw0Q.js.map +1 -0
  356. package/web-ui/build/static/gcode-DPw5b_kg.js +2 -0
  357. package/web-ui/build/static/gcode-DPw5b_kg.js.map +1 -0
  358. package/web-ui/build/static/gcode-DpswyD50.js +2 -0
  359. package/web-ui/build/static/gcode-DpswyD50.js.map +1 -0
  360. package/web-ui/build/static/gdscript-DpMvAvMc.js +2 -0
  361. package/web-ui/build/static/gdscript-DpMvAvMc.js.map +1 -0
  362. package/web-ui/build/static/gedcom-FUv-oL9A.js +2 -0
  363. package/web-ui/build/static/gedcom-FUv-oL9A.js.map +1 -0
  364. package/web-ui/build/static/gherkin-BW6tBj9v.js +2 -0
  365. package/web-ui/build/static/gherkin-BW6tBj9v.js.map +1 -0
  366. package/web-ui/build/static/gherkin-DkCl2nBf.js +2 -0
  367. package/web-ui/build/static/gherkin-DkCl2nBf.js.map +1 -0
  368. package/web-ui/build/static/git-5TLEHhqN.js +2 -0
  369. package/web-ui/build/static/git-5TLEHhqN.js.map +1 -0
  370. package/web-ui/build/static/glsl-BQQPcfMd.js +2 -0
  371. package/web-ui/build/static/glsl-BQQPcfMd.js.map +1 -0
  372. package/web-ui/build/static/glsl-C9s8AnDs.js +2 -0
  373. package/web-ui/build/static/glsl-C9s8AnDs.js.map +1 -0
  374. package/web-ui/build/static/gml-C0DL-oII.js +2 -0
  375. package/web-ui/build/static/gml-C0DL-oII.js.map +1 -0
  376. package/web-ui/build/static/gml-J98uHGl8.js +2 -0
  377. package/web-ui/build/static/gml-J98uHGl8.js.map +1 -0
  378. package/web-ui/build/static/gn-CrZAxzn5.js +2 -0
  379. package/web-ui/build/static/gn-CrZAxzn5.js.map +1 -0
  380. package/web-ui/build/static/go-Dp5jBdf1.js +2 -0
  381. package/web-ui/build/static/go-Dp5jBdf1.js.map +1 -0
  382. package/web-ui/build/static/go-module-Dwc3DMpl.js +2 -0
  383. package/web-ui/build/static/go-module-Dwc3DMpl.js.map +1 -0
  384. package/web-ui/build/static/go-vowsfWNo.js +2 -0
  385. package/web-ui/build/static/go-vowsfWNo.js.map +1 -0
  386. package/web-ui/build/static/golo-Dp6ia9Ay.js +2 -0
  387. package/web-ui/build/static/golo-Dp6ia9Ay.js.map +1 -0
  388. package/web-ui/build/static/gradle-DLwds_jy.js +2 -0
  389. package/web-ui/build/static/gradle-DLwds_jy.js.map +1 -0
  390. package/web-ui/build/static/graphql-DvUOkFUA.js +2 -0
  391. package/web-ui/build/static/graphql-DvUOkFUA.js.map +1 -0
  392. package/web-ui/build/static/groovy-PQ3uh6zb.js +2 -0
  393. package/web-ui/build/static/groovy-PQ3uh6zb.js.map +1 -0
  394. package/web-ui/build/static/groovy-dLrm0ukM.js +2 -0
  395. package/web-ui/build/static/groovy-dLrm0ukM.js.map +1 -0
  396. package/web-ui/build/static/haml-DtEB_xKl.js +2 -0
  397. package/web-ui/build/static/haml-DtEB_xKl.js.map +1 -0
  398. package/web-ui/build/static/haml-Tg-bvLcg.js +2 -0
  399. package/web-ui/build/static/haml-Tg-bvLcg.js.map +1 -0
  400. package/web-ui/build/static/handlebars-BDWmVigh.js +2 -0
  401. package/web-ui/build/static/handlebars-BDWmVigh.js.map +1 -0
  402. package/web-ui/build/static/handlebars-BVRevtKf.js +2 -0
  403. package/web-ui/build/static/handlebars-BVRevtKf.js.map +1 -0
  404. package/web-ui/build/static/haskell-CG_c5wjN.js +2 -0
  405. package/web-ui/build/static/haskell-CG_c5wjN.js.map +1 -0
  406. package/web-ui/build/static/haskell-QJQJ6izh.js +2 -0
  407. package/web-ui/build/static/haskell-QJQJ6izh.js.map +1 -0
  408. package/web-ui/build/static/haxe-0myPSjSX.js +2 -0
  409. package/web-ui/build/static/haxe-0myPSjSX.js.map +1 -0
  410. package/web-ui/build/static/haxe-gS6mo3gt.js +2 -0
  411. package/web-ui/build/static/haxe-gS6mo3gt.js.map +1 -0
  412. package/web-ui/build/static/hcl-DYxtM4tY.js +2 -0
  413. package/web-ui/build/static/hcl-DYxtM4tY.js.map +1 -0
  414. package/web-ui/build/static/hlsl-B3arqne8.js +2 -0
  415. package/web-ui/build/static/hlsl-B3arqne8.js.map +1 -0
  416. package/web-ui/build/static/hoon-C-6EGYk6.js +2 -0
  417. package/web-ui/build/static/hoon-C-6EGYk6.js.map +1 -0
  418. package/web-ui/build/static/hpkp-Bb1DHDNe.js +2 -0
  419. package/web-ui/build/static/hpkp-Bb1DHDNe.js.map +1 -0
  420. package/web-ui/build/static/hsp-CnZ1fkTT.js +2 -0
  421. package/web-ui/build/static/hsp-CnZ1fkTT.js.map +1 -0
  422. package/web-ui/build/static/hsts-BMmSKp3I.js +2 -0
  423. package/web-ui/build/static/hsts-BMmSKp3I.js.map +1 -0
  424. package/web-ui/build/static/htmlbars-OGqT_g-X.js +2 -0
  425. package/web-ui/build/static/htmlbars-OGqT_g-X.js.map +1 -0
  426. package/web-ui/build/static/http-B4OlNKQ0.js +2 -0
  427. package/web-ui/build/static/http-B4OlNKQ0.js.map +1 -0
  428. package/web-ui/build/static/http-C6Z9vrxV.js +2 -0
  429. package/web-ui/build/static/http-C6Z9vrxV.js.map +1 -0
  430. package/web-ui/build/static/hy-BzsO2-2x.js +2 -0
  431. package/web-ui/build/static/hy-BzsO2-2x.js.map +1 -0
  432. package/web-ui/build/static/ichigojam-C6gA8iIp.js +2 -0
  433. package/web-ui/build/static/ichigojam-C6gA8iIp.js.map +1 -0
  434. package/web-ui/build/static/icon-sA7JDIZl.js +2 -0
  435. package/web-ui/build/static/icon-sA7JDIZl.js.map +1 -0
  436. package/web-ui/build/static/icu-message-format-CCgD9Ze3.js +2 -0
  437. package/web-ui/build/static/icu-message-format-CCgD9Ze3.js.map +1 -0
  438. package/web-ui/build/static/idris-CSLJbqrN.js +2 -0
  439. package/web-ui/build/static/idris-CSLJbqrN.js.map +1 -0
  440. package/web-ui/build/static/iecst-C2gvgcos.js +2 -0
  441. package/web-ui/build/static/iecst-C2gvgcos.js.map +1 -0
  442. package/web-ui/build/static/ignore-B2w0UszK.js +2 -0
  443. package/web-ui/build/static/ignore-B2w0UszK.js.map +1 -0
  444. package/web-ui/build/static/index-Cgq4p9_n.js +2 -0
  445. package/web-ui/build/static/index-Cgq4p9_n.js.map +1 -0
  446. package/web-ui/build/static/index-DLkEZgsP.css +1 -0
  447. package/web-ui/build/static/index-Z3yzqwSM.js +1248 -0
  448. package/web-ui/build/static/index-Z3yzqwSM.js.map +1 -0
  449. package/web-ui/build/static/index-u6goNp7m.js +14 -0
  450. package/web-ui/build/static/index-u6goNp7m.js.map +1 -0
  451. package/web-ui/build/static/inform7-BQlCLtCm.js +2 -0
  452. package/web-ui/build/static/inform7-BQlCLtCm.js.map +1 -0
  453. package/web-ui/build/static/inform7-eq3-Fu4X.js +2 -0
  454. package/web-ui/build/static/inform7-eq3-Fu4X.js.map +1 -0
  455. package/web-ui/build/static/ini-4su4UdAy.js +2 -0
  456. package/web-ui/build/static/ini-4su4UdAy.js.map +1 -0
  457. package/web-ui/build/static/ini-Vyi-KSKC.js +2 -0
  458. package/web-ui/build/static/ini-Vyi-KSKC.js.map +1 -0
  459. package/web-ui/build/static/io-cREOEA8o.js +2 -0
  460. package/web-ui/build/static/io-cREOEA8o.js.map +1 -0
  461. package/web-ui/build/static/irpf90-DEAFhQEl.js +2 -0
  462. package/web-ui/build/static/irpf90-DEAFhQEl.js.map +1 -0
  463. package/web-ui/build/static/isbl-B2bb5fgJ.js +2 -0
  464. package/web-ui/build/static/isbl-B2bb5fgJ.js.map +1 -0
  465. package/web-ui/build/static/j-BcTA9QW3.js +2 -0
  466. package/web-ui/build/static/j-BcTA9QW3.js.map +1 -0
  467. package/web-ui/build/static/java-BzxB4j1l.js +2 -0
  468. package/web-ui/build/static/java-BzxB4j1l.js.map +1 -0
  469. package/web-ui/build/static/java-lGU8kY_-.js +2 -0
  470. package/web-ui/build/static/java-lGU8kY_-.js.map +1 -0
  471. package/web-ui/build/static/javadoc-CwVjo-bv.js +2 -0
  472. package/web-ui/build/static/javadoc-CwVjo-bv.js.map +1 -0
  473. package/web-ui/build/static/javadoclike-XVK-uaom.js +2 -0
  474. package/web-ui/build/static/javadoclike-XVK-uaom.js.map +1 -0
  475. package/web-ui/build/static/javascript-Bg4NuaWU.js +2 -0
  476. package/web-ui/build/static/javascript-Bg4NuaWU.js.map +1 -0
  477. package/web-ui/build/static/javascript-Cn0o5KaO.js +2 -0
  478. package/web-ui/build/static/javascript-Cn0o5KaO.js.map +1 -0
  479. package/web-ui/build/static/javastacktrace-Dgm-FqbS.js +2 -0
  480. package/web-ui/build/static/javastacktrace-Dgm-FqbS.js.map +1 -0
  481. package/web-ui/build/static/jboss-cli-Bpo3Ld2C.js +2 -0
  482. package/web-ui/build/static/jboss-cli-Bpo3Ld2C.js.map +1 -0
  483. package/web-ui/build/static/jexl-Dds9NEdz.js +2 -0
  484. package/web-ui/build/static/jexl-Dds9NEdz.js.map +1 -0
  485. package/web-ui/build/static/jolie-BIPNQTvN.js +2 -0
  486. package/web-ui/build/static/jolie-BIPNQTvN.js.map +1 -0
  487. package/web-ui/build/static/jq-CkL1VUPV.js +2 -0
  488. package/web-ui/build/static/jq-CkL1VUPV.js.map +1 -0
  489. package/web-ui/build/static/js-extras-CVhrFzJp.js +2 -0
  490. package/web-ui/build/static/js-extras-CVhrFzJp.js.map +1 -0
  491. package/web-ui/build/static/js-templates-Dp448QdB.js +2 -0
  492. package/web-ui/build/static/js-templates-Dp448QdB.js.map +1 -0
  493. package/web-ui/build/static/jsdoc-BtWQfZav.js +2 -0
  494. package/web-ui/build/static/jsdoc-BtWQfZav.js.map +1 -0
  495. package/web-ui/build/static/json-BDq68koc.js +2 -0
  496. package/web-ui/build/static/json-BDq68koc.js.map +1 -0
  497. package/web-ui/build/static/json-BUjku8kP.js +2 -0
  498. package/web-ui/build/static/json-BUjku8kP.js.map +1 -0
  499. package/web-ui/build/static/json5-S0r0gFFg.js +2 -0
  500. package/web-ui/build/static/json5-S0r0gFFg.js.map +1 -0
  501. package/web-ui/build/static/jsonp-C3L6llwx.js +2 -0
  502. package/web-ui/build/static/jsonp-C3L6llwx.js.map +1 -0
  503. package/web-ui/build/static/jsstacktrace-B2wj7mGI.js +2 -0
  504. package/web-ui/build/static/jsstacktrace-B2wj7mGI.js.map +1 -0
  505. package/web-ui/build/static/jsx-Bf9rCpb9.js +2 -0
  506. package/web-ui/build/static/jsx-Bf9rCpb9.js.map +1 -0
  507. package/web-ui/build/static/julia-CArgWk8G.js +2 -0
  508. package/web-ui/build/static/julia-CArgWk8G.js.map +1 -0
  509. package/web-ui/build/static/julia-repl-BtDcQ2Ic.js +2 -0
  510. package/web-ui/build/static/julia-repl-BtDcQ2Ic.js.map +1 -0
  511. package/web-ui/build/static/julia-yzQYi_0p.js +2 -0
  512. package/web-ui/build/static/julia-yzQYi_0p.js.map +1 -0
  513. package/web-ui/build/static/keepalived-D1JW6F4g.js +2 -0
  514. package/web-ui/build/static/keepalived-D1JW6F4g.js.map +1 -0
  515. package/web-ui/build/static/keyman-BLJFDpvc.js +2 -0
  516. package/web-ui/build/static/keyman-BLJFDpvc.js.map +1 -0
  517. package/web-ui/build/static/kotlin-81QTppC2.js +2 -0
  518. package/web-ui/build/static/kotlin-81QTppC2.js.map +1 -0
  519. package/web-ui/build/static/kotlin-JJiPKQey.js +2 -0
  520. package/web-ui/build/static/kotlin-JJiPKQey.js.map +1 -0
  521. package/web-ui/build/static/kumir-CckpFPkJ.js +2 -0
  522. package/web-ui/build/static/kumir-CckpFPkJ.js.map +1 -0
  523. package/web-ui/build/static/kusto-v3RvJfYj.js +2 -0
  524. package/web-ui/build/static/kusto-v3RvJfYj.js.map +1 -0
  525. package/web-ui/build/static/lasso-DHPAOHJh.js +2 -0
  526. package/web-ui/build/static/lasso-DHPAOHJh.js.map +1 -0
  527. package/web-ui/build/static/latex-6d2h-2ui.js +2 -0
  528. package/web-ui/build/static/latex-6d2h-2ui.js.map +1 -0
  529. package/web-ui/build/static/latex-DMftq-de.js +2 -0
  530. package/web-ui/build/static/latex-DMftq-de.js.map +1 -0
  531. package/web-ui/build/static/latte-BjJy943P.js +2 -0
  532. package/web-ui/build/static/latte-BjJy943P.js.map +1 -0
  533. package/web-ui/build/static/ldif-BnOSPC7n.js +2 -0
  534. package/web-ui/build/static/ldif-BnOSPC7n.js.map +1 -0
  535. package/web-ui/build/static/leaf-9AykRwXa.js +2 -0
  536. package/web-ui/build/static/leaf-9AykRwXa.js.map +1 -0
  537. package/web-ui/build/static/less-B8iajXeG.js +2 -0
  538. package/web-ui/build/static/less-B8iajXeG.js.map +1 -0
  539. package/web-ui/build/static/less-BWSY9EyE.js +2 -0
  540. package/web-ui/build/static/less-BWSY9EyE.js.map +1 -0
  541. package/web-ui/build/static/lilypond-C4co0TPs.js +2 -0
  542. package/web-ui/build/static/lilypond-C4co0TPs.js.map +1 -0
  543. package/web-ui/build/static/liquid-BDYkcgad.js +2 -0
  544. package/web-ui/build/static/liquid-BDYkcgad.js.map +1 -0
  545. package/web-ui/build/static/lisp-CVmuCtmx.js +2 -0
  546. package/web-ui/build/static/lisp-CVmuCtmx.js.map +1 -0
  547. package/web-ui/build/static/lisp-Ch4yAdNs.js +2 -0
  548. package/web-ui/build/static/lisp-Ch4yAdNs.js.map +1 -0
  549. package/web-ui/build/static/livecodeserver-orAMd3qf.js +2 -0
  550. package/web-ui/build/static/livecodeserver-orAMd3qf.js.map +1 -0
  551. package/web-ui/build/static/livescript-CUxtoRDV.js +2 -0
  552. package/web-ui/build/static/livescript-CUxtoRDV.js.map +1 -0
  553. package/web-ui/build/static/livescript-MM8af6u6.js +2 -0
  554. package/web-ui/build/static/livescript-MM8af6u6.js.map +1 -0
  555. package/web-ui/build/static/llvm-BcjUM7yI.js +2 -0
  556. package/web-ui/build/static/llvm-BcjUM7yI.js.map +1 -0
  557. package/web-ui/build/static/llvm-GlARBvKB.js +2 -0
  558. package/web-ui/build/static/llvm-GlARBvKB.js.map +1 -0
  559. package/web-ui/build/static/log-B4zvaowe.js +2 -0
  560. package/web-ui/build/static/log-B4zvaowe.js.map +1 -0
  561. package/web-ui/build/static/lolcode-DQ7YKI14.js +2 -0
  562. package/web-ui/build/static/lolcode-DQ7YKI14.js.map +1 -0
  563. package/web-ui/build/static/lsl-D-PYzrLj.js +2 -0
  564. package/web-ui/build/static/lsl-D-PYzrLj.js.map +1 -0
  565. package/web-ui/build/static/lua-DSmBmn6n.js +2 -0
  566. package/web-ui/build/static/lua-DSmBmn6n.js.map +1 -0
  567. package/web-ui/build/static/lua-aQfMvZ8s.js +2 -0
  568. package/web-ui/build/static/lua-aQfMvZ8s.js.map +1 -0
  569. package/web-ui/build/static/magma-DPDnXrRW.js +2 -0
  570. package/web-ui/build/static/magma-DPDnXrRW.js.map +1 -0
  571. package/web-ui/build/static/makefile-C6WNNyDV.js +2 -0
  572. package/web-ui/build/static/makefile-C6WNNyDV.js.map +1 -0
  573. package/web-ui/build/static/makefile-CDeGikr3.js +2 -0
  574. package/web-ui/build/static/makefile-CDeGikr3.js.map +1 -0
  575. package/web-ui/build/static/markdown-B1rSRMwm.js +2 -0
  576. package/web-ui/build/static/markdown-B1rSRMwm.js.map +1 -0
  577. package/web-ui/build/static/markdown-C6ib1fAR.js +2 -0
  578. package/web-ui/build/static/markdown-C6ib1fAR.js.map +1 -0
  579. package/web-ui/build/static/markup-DtVZGlRL.js +2 -0
  580. package/web-ui/build/static/markup-DtVZGlRL.js.map +1 -0
  581. package/web-ui/build/static/markup-templating-V0gg4i55.js +2 -0
  582. package/web-ui/build/static/markup-templating-V0gg4i55.js.map +1 -0
  583. package/web-ui/build/static/mathematica-LHn4_HLi.js +2 -0
  584. package/web-ui/build/static/mathematica-LHn4_HLi.js.map +1 -0
  585. package/web-ui/build/static/matlab-DVZuEEgZ.js +2 -0
  586. package/web-ui/build/static/matlab-DVZuEEgZ.js.map +1 -0
  587. package/web-ui/build/static/matlab-D_x-HxkR.js +2 -0
  588. package/web-ui/build/static/matlab-D_x-HxkR.js.map +1 -0
  589. package/web-ui/build/static/maxima-CjPAyFkj.js +2 -0
  590. package/web-ui/build/static/maxima-CjPAyFkj.js.map +1 -0
  591. package/web-ui/build/static/maxscript-xoJaLO4t.js +2 -0
  592. package/web-ui/build/static/maxscript-xoJaLO4t.js.map +1 -0
  593. package/web-ui/build/static/mel-Bfau7mRz.js +2 -0
  594. package/web-ui/build/static/mel-Bfau7mRz.js.map +1 -0
  595. package/web-ui/build/static/mel-bgbdOUYk.js +2 -0
  596. package/web-ui/build/static/mel-bgbdOUYk.js.map +1 -0
  597. package/web-ui/build/static/mercury-DS3T1hhG.js +2 -0
  598. package/web-ui/build/static/mercury-DS3T1hhG.js.map +1 -0
  599. package/web-ui/build/static/mermaid-BijvCuRH.js +2 -0
  600. package/web-ui/build/static/mermaid-BijvCuRH.js.map +1 -0
  601. package/web-ui/build/static/mipsasm-D3InDFob.js +2 -0
  602. package/web-ui/build/static/mipsasm-D3InDFob.js.map +1 -0
  603. package/web-ui/build/static/mizar--ggqnf4F.js +2 -0
  604. package/web-ui/build/static/mizar--ggqnf4F.js.map +1 -0
  605. package/web-ui/build/static/mizar-B_kmn3et.js +2 -0
  606. package/web-ui/build/static/mizar-B_kmn3et.js.map +1 -0
  607. package/web-ui/build/static/mojolicious-bcOmiLM2.js +2 -0
  608. package/web-ui/build/static/mojolicious-bcOmiLM2.js.map +1 -0
  609. package/web-ui/build/static/mongodb-BPac3Mz_.js +2 -0
  610. package/web-ui/build/static/mongodb-BPac3Mz_.js.map +1 -0
  611. package/web-ui/build/static/monkey-BKD0nteL.js +2 -0
  612. package/web-ui/build/static/monkey-BKD0nteL.js.map +1 -0
  613. package/web-ui/build/static/monkey-BmbhmOX_.js +2 -0
  614. package/web-ui/build/static/monkey-BmbhmOX_.js.map +1 -0
  615. package/web-ui/build/static/moonscript-BCSmE_te.js +2 -0
  616. package/web-ui/build/static/moonscript-BCSmE_te.js.map +1 -0
  617. package/web-ui/build/static/moonscript-vs8h0Jki.js +2 -0
  618. package/web-ui/build/static/moonscript-vs8h0Jki.js.map +1 -0
  619. package/web-ui/build/static/n1ql-DOTVgCMn.js +2 -0
  620. package/web-ui/build/static/n1ql-DOTVgCMn.js.map +1 -0
  621. package/web-ui/build/static/n1ql-kzK9uNdc.js +2 -0
  622. package/web-ui/build/static/n1ql-kzK9uNdc.js.map +1 -0
  623. package/web-ui/build/static/n4js-DVmYUlTn.js +2 -0
  624. package/web-ui/build/static/n4js-DVmYUlTn.js.map +1 -0
  625. package/web-ui/build/static/nand2tetris-hdl-bkY_BvT2.js +2 -0
  626. package/web-ui/build/static/nand2tetris-hdl-bkY_BvT2.js.map +1 -0
  627. package/web-ui/build/static/naniscript-D2t6sMlP.js +2 -0
  628. package/web-ui/build/static/naniscript-D2t6sMlP.js.map +1 -0
  629. package/web-ui/build/static/nasm-BLSmZGlN.js +2 -0
  630. package/web-ui/build/static/nasm-BLSmZGlN.js.map +1 -0
  631. package/web-ui/build/static/neon-BAN5cxGp.js +2 -0
  632. package/web-ui/build/static/neon-BAN5cxGp.js.map +1 -0
  633. package/web-ui/build/static/nevod-Cz4gGOlU.js +2 -0
  634. package/web-ui/build/static/nevod-Cz4gGOlU.js.map +1 -0
  635. package/web-ui/build/static/nginx-CT0qrPbD.js +2 -0
  636. package/web-ui/build/static/nginx-CT0qrPbD.js.map +1 -0
  637. package/web-ui/build/static/nginx-DC0LaV-N.js +2 -0
  638. package/web-ui/build/static/nginx-DC0LaV-N.js.map +1 -0
  639. package/web-ui/build/static/nim-B_xOVWDt.js +2 -0
  640. package/web-ui/build/static/nim-B_xOVWDt.js.map +1 -0
  641. package/web-ui/build/static/nim-if73Jqy4.js +2 -0
  642. package/web-ui/build/static/nim-if73Jqy4.js.map +1 -0
  643. package/web-ui/build/static/nix-B6rGw2Wr.js +2 -0
  644. package/web-ui/build/static/nix-B6rGw2Wr.js.map +1 -0
  645. package/web-ui/build/static/nix-DIdjmlZ6.js +2 -0
  646. package/web-ui/build/static/nix-DIdjmlZ6.js.map +1 -0
  647. package/web-ui/build/static/node-repl-B1ES3pay.js +2 -0
  648. package/web-ui/build/static/node-repl-B1ES3pay.js.map +1 -0
  649. package/web-ui/build/static/nsis-BFRqZXCA.js +2 -0
  650. package/web-ui/build/static/nsis-BFRqZXCA.js.map +1 -0
  651. package/web-ui/build/static/nsis-Ba4YllFm.js +2 -0
  652. package/web-ui/build/static/nsis-Ba4YllFm.js.map +1 -0
  653. package/web-ui/build/static/objectivec-BxEZsjKj.js +2 -0
  654. package/web-ui/build/static/objectivec-BxEZsjKj.js.map +1 -0
  655. package/web-ui/build/static/objectivec-DyEJWr7T.js +2 -0
  656. package/web-ui/build/static/objectivec-DyEJWr7T.js.map +1 -0
  657. package/web-ui/build/static/ocaml-BZLhoEBj.js +2 -0
  658. package/web-ui/build/static/ocaml-BZLhoEBj.js.map +1 -0
  659. package/web-ui/build/static/ocaml-Xt0ZQw7e.js +2 -0
  660. package/web-ui/build/static/ocaml-Xt0ZQw7e.js.map +1 -0
  661. package/web-ui/build/static/opencl-BgEBP0EM.js +2 -0
  662. package/web-ui/build/static/opencl-BgEBP0EM.js.map +1 -0
  663. package/web-ui/build/static/openqasm-D6BniJ6L.js +2 -0
  664. package/web-ui/build/static/openqasm-D6BniJ6L.js.map +1 -0
  665. package/web-ui/build/static/openscad-Cm9pSOJx.js +2 -0
  666. package/web-ui/build/static/openscad-Cm9pSOJx.js.map +1 -0
  667. package/web-ui/build/static/oxygene-Bp2e80jA.js +2 -0
  668. package/web-ui/build/static/oxygene-Bp2e80jA.js.map +1 -0
  669. package/web-ui/build/static/oz-1fZed9Ln.js +2 -0
  670. package/web-ui/build/static/oz-1fZed9Ln.js.map +1 -0
  671. package/web-ui/build/static/parigp-BAPr0f7r.js +2 -0
  672. package/web-ui/build/static/parigp-BAPr0f7r.js.map +1 -0
  673. package/web-ui/build/static/parser-BQefhI1K.js +2 -0
  674. package/web-ui/build/static/parser-BQefhI1K.js.map +1 -0
  675. package/web-ui/build/static/parser3-elGJSu38.js +2 -0
  676. package/web-ui/build/static/parser3-elGJSu38.js.map +1 -0
  677. package/web-ui/build/static/pascal-CCnW1a0e.js +2 -0
  678. package/web-ui/build/static/pascal-CCnW1a0e.js.map +1 -0
  679. package/web-ui/build/static/pascaligo-CfEaz3yw.js +2 -0
  680. package/web-ui/build/static/pascaligo-CfEaz3yw.js.map +1 -0
  681. package/web-ui/build/static/pcaxis-BDCPPp1_.js +2 -0
  682. package/web-ui/build/static/pcaxis-BDCPPp1_.js.map +1 -0
  683. package/web-ui/build/static/peoplecode-DuGFL0lj.js +2 -0
  684. package/web-ui/build/static/peoplecode-DuGFL0lj.js.map +1 -0
  685. package/web-ui/build/static/perl-BXE6y_xS.js +2 -0
  686. package/web-ui/build/static/perl-BXE6y_xS.js.map +1 -0
  687. package/web-ui/build/static/perl-C_SoFYMv.js +2 -0
  688. package/web-ui/build/static/perl-C_SoFYMv.js.map +1 -0
  689. package/web-ui/build/static/pf-CGlU52CJ.js +2 -0
  690. package/web-ui/build/static/pf-CGlU52CJ.js.map +1 -0
  691. package/web-ui/build/static/pgsql-BlS6GjvG.js +2 -0
  692. package/web-ui/build/static/pgsql-BlS6GjvG.js.map +1 -0
  693. package/web-ui/build/static/php-CdPJ1RGl.js +2 -0
  694. package/web-ui/build/static/php-CdPJ1RGl.js.map +1 -0
  695. package/web-ui/build/static/php-Dcv7SuDT.js +2 -0
  696. package/web-ui/build/static/php-Dcv7SuDT.js.map +1 -0
  697. package/web-ui/build/static/php-extras-DwytT292.js +2 -0
  698. package/web-ui/build/static/php-extras-DwytT292.js.map +1 -0
  699. package/web-ui/build/static/php-template-kKqbhHCA.js +2 -0
  700. package/web-ui/build/static/php-template-kKqbhHCA.js.map +1 -0
  701. package/web-ui/build/static/phpdoc-E5fokUFs.js +2 -0
  702. package/web-ui/build/static/phpdoc-E5fokUFs.js.map +1 -0
  703. package/web-ui/build/static/plaintext-Ct4oE1X4.js +2 -0
  704. package/web-ui/build/static/plaintext-Ct4oE1X4.js.map +1 -0
  705. package/web-ui/build/static/plsql-CWnqoHPE.js +2 -0
  706. package/web-ui/build/static/plsql-CWnqoHPE.js.map +1 -0
  707. package/web-ui/build/static/pony-BaPZQfNU.js +2 -0
  708. package/web-ui/build/static/pony-BaPZQfNU.js.map +1 -0
  709. package/web-ui/build/static/powerquery-C3tXJ2uI.js +2 -0
  710. package/web-ui/build/static/powerquery-C3tXJ2uI.js.map +1 -0
  711. package/web-ui/build/static/powershell-BbPdPSAP.js +2 -0
  712. package/web-ui/build/static/powershell-BbPdPSAP.js.map +1 -0
  713. package/web-ui/build/static/powershell-BcEpDYE4.js +2 -0
  714. package/web-ui/build/static/powershell-BcEpDYE4.js.map +1 -0
  715. package/web-ui/build/static/processing-B0NH30lD.js +2 -0
  716. package/web-ui/build/static/processing-B0NH30lD.js.map +1 -0
  717. package/web-ui/build/static/processing-BFZpjn5e.js +2 -0
  718. package/web-ui/build/static/processing-BFZpjn5e.js.map +1 -0
  719. package/web-ui/build/static/profile-BKNJ_gOd.js +2 -0
  720. package/web-ui/build/static/profile-BKNJ_gOd.js.map +1 -0
  721. package/web-ui/build/static/prolog-Cr5pilQw.js +2 -0
  722. package/web-ui/build/static/prolog-Cr5pilQw.js.map +1 -0
  723. package/web-ui/build/static/prolog-JeNf1WYx.js +2 -0
  724. package/web-ui/build/static/prolog-JeNf1WYx.js.map +1 -0
  725. package/web-ui/build/static/promql-CWoWIhDz.js +2 -0
  726. package/web-ui/build/static/promql-CWoWIhDz.js.map +1 -0
  727. package/web-ui/build/static/properties-35Yy38Ve.js +2 -0
  728. package/web-ui/build/static/properties-35Yy38Ve.js.map +1 -0
  729. package/web-ui/build/static/properties-DXXZ61tT.js +2 -0
  730. package/web-ui/build/static/properties-DXXZ61tT.js.map +1 -0
  731. package/web-ui/build/static/protobuf-nFu9eDLU.js +2 -0
  732. package/web-ui/build/static/protobuf-nFu9eDLU.js.map +1 -0
  733. package/web-ui/build/static/protobuf-yoE2i3OP.js +2 -0
  734. package/web-ui/build/static/protobuf-yoE2i3OP.js.map +1 -0
  735. package/web-ui/build/static/psl-CAKNhaVI.js +2 -0
  736. package/web-ui/build/static/psl-CAKNhaVI.js.map +1 -0
  737. package/web-ui/build/static/pug-CI8RwSHa.js +2 -0
  738. package/web-ui/build/static/pug-CI8RwSHa.js.map +1 -0
  739. package/web-ui/build/static/puppet-DR7az3Wf.js +2 -0
  740. package/web-ui/build/static/puppet-DR7az3Wf.js.map +1 -0
  741. package/web-ui/build/static/puppet-Dx6vC1u-.js +2 -0
  742. package/web-ui/build/static/puppet-Dx6vC1u-.js.map +1 -0
  743. package/web-ui/build/static/pure-BQ01lAOn.js +2 -0
  744. package/web-ui/build/static/pure-BQ01lAOn.js.map +1 -0
  745. package/web-ui/build/static/purebasic-ZsfLhMCb.js +2 -0
  746. package/web-ui/build/static/purebasic-ZsfLhMCb.js.map +1 -0
  747. package/web-ui/build/static/purebasic-xJ6LFMBz.js +2 -0
  748. package/web-ui/build/static/purebasic-xJ6LFMBz.js.map +1 -0
  749. package/web-ui/build/static/purescript-LajiG_jD.js +2 -0
  750. package/web-ui/build/static/purescript-LajiG_jD.js.map +1 -0
  751. package/web-ui/build/static/python-BFhspOyV.js +2 -0
  752. package/web-ui/build/static/python-BFhspOyV.js.map +1 -0
  753. package/web-ui/build/static/python-BtRrADJB.js +2 -0
  754. package/web-ui/build/static/python-BtRrADJB.js.map +1 -0
  755. package/web-ui/build/static/python-repl-DNW7xX3F.js +2 -0
  756. package/web-ui/build/static/python-repl-DNW7xX3F.js.map +1 -0
  757. package/web-ui/build/static/q-DImkSPDX.js +2 -0
  758. package/web-ui/build/static/q-DImkSPDX.js.map +1 -0
  759. package/web-ui/build/static/q-gc8CN775.js +2 -0
  760. package/web-ui/build/static/q-gc8CN775.js.map +1 -0
  761. package/web-ui/build/static/qml-ByOF3YcL.js +2 -0
  762. package/web-ui/build/static/qml-ByOF3YcL.js.map +1 -0
  763. package/web-ui/build/static/qml-DSXJgLbV.js +2 -0
  764. package/web-ui/build/static/qml-DSXJgLbV.js.map +1 -0
  765. package/web-ui/build/static/qore-Bnm9Q_tM.js +2 -0
  766. package/web-ui/build/static/qore-Bnm9Q_tM.js.map +1 -0
  767. package/web-ui/build/static/qsharp-Bwy4Obue.js +2 -0
  768. package/web-ui/build/static/qsharp-Bwy4Obue.js.map +1 -0
  769. package/web-ui/build/static/r-BkRGLx5M.js +2 -0
  770. package/web-ui/build/static/r-BkRGLx5M.js.map +1 -0
  771. package/web-ui/build/static/r-C6pP0_0c.js +2 -0
  772. package/web-ui/build/static/r-C6pP0_0c.js.map +1 -0
  773. package/web-ui/build/static/racket-QGJWcbA6.js +2 -0
  774. package/web-ui/build/static/racket-QGJWcbA6.js.map +1 -0
  775. package/web-ui/build/static/reason-9gny3QTi.js +2 -0
  776. package/web-ui/build/static/reason-9gny3QTi.js.map +1 -0
  777. package/web-ui/build/static/reasonml-DrLDPFZX.js +2 -0
  778. package/web-ui/build/static/reasonml-DrLDPFZX.js.map +1 -0
  779. package/web-ui/build/static/regex-qMRSM9QB.js +2 -0
  780. package/web-ui/build/static/regex-qMRSM9QB.js.map +1 -0
  781. package/web-ui/build/static/rego-DGuTf2b6.js +2 -0
  782. package/web-ui/build/static/rego-DGuTf2b6.js.map +1 -0
  783. package/web-ui/build/static/renpy-ChVyf5sZ.js +2 -0
  784. package/web-ui/build/static/renpy-ChVyf5sZ.js.map +1 -0
  785. package/web-ui/build/static/rest-BblHwMct.js +2 -0
  786. package/web-ui/build/static/rest-BblHwMct.js.map +1 -0
  787. package/web-ui/build/static/rib-CFlTDVqt.js +2 -0
  788. package/web-ui/build/static/rib-CFlTDVqt.js.map +1 -0
  789. package/web-ui/build/static/rip-LD_w9DSd.js +2 -0
  790. package/web-ui/build/static/rip-LD_w9DSd.js.map +1 -0
  791. package/web-ui/build/static/roboconf-Bu5NiP5d.js +2 -0
  792. package/web-ui/build/static/roboconf-Bu5NiP5d.js.map +1 -0
  793. package/web-ui/build/static/roboconf-C5bNJjuR.js +2 -0
  794. package/web-ui/build/static/roboconf-C5bNJjuR.js.map +1 -0
  795. package/web-ui/build/static/robotframework-2eDAxDTe.js +2 -0
  796. package/web-ui/build/static/robotframework-2eDAxDTe.js.map +1 -0
  797. package/web-ui/build/static/routeros-Ccon739j.js +2 -0
  798. package/web-ui/build/static/routeros-Ccon739j.js.map +1 -0
  799. package/web-ui/build/static/rsl-80tdnNlP.js +2 -0
  800. package/web-ui/build/static/rsl-80tdnNlP.js.map +1 -0
  801. package/web-ui/build/static/ruby-BdEyJsJD.js +2 -0
  802. package/web-ui/build/static/ruby-BdEyJsJD.js.map +1 -0
  803. package/web-ui/build/static/ruby-DRIP-eLy.js +2 -0
  804. package/web-ui/build/static/ruby-DRIP-eLy.js.map +1 -0
  805. package/web-ui/build/static/ruleslanguage-BPFhrfFe.js +2 -0
  806. package/web-ui/build/static/ruleslanguage-BPFhrfFe.js.map +1 -0
  807. package/web-ui/build/static/rust-DGOFHfWr.js +2 -0
  808. package/web-ui/build/static/rust-DGOFHfWr.js.map +1 -0
  809. package/web-ui/build/static/rust-sYhKMGAU.js +2 -0
  810. package/web-ui/build/static/rust-sYhKMGAU.js.map +1 -0
  811. package/web-ui/build/static/sas-C9jSKV7l.js +2 -0
  812. package/web-ui/build/static/sas-C9jSKV7l.js.map +1 -0
  813. package/web-ui/build/static/sas-Dw-kwTvd.js +2 -0
  814. package/web-ui/build/static/sas-Dw-kwTvd.js.map +1 -0
  815. package/web-ui/build/static/sass-QanR8d0y.js +2 -0
  816. package/web-ui/build/static/sass-QanR8d0y.js.map +1 -0
  817. package/web-ui/build/static/scala-B_41N8CK.js +2 -0
  818. package/web-ui/build/static/scala-B_41N8CK.js.map +1 -0
  819. package/web-ui/build/static/scala-NhaQtgfI.js +2 -0
  820. package/web-ui/build/static/scala-NhaQtgfI.js.map +1 -0
  821. package/web-ui/build/static/scheme-CdkFg8f2.js +2 -0
  822. package/web-ui/build/static/scheme-CdkFg8f2.js.map +1 -0
  823. package/web-ui/build/static/scheme-D8C6NMBk.js +2 -0
  824. package/web-ui/build/static/scheme-D8C6NMBk.js.map +1 -0
  825. package/web-ui/build/static/scilab-DwHPZxdA.js +2 -0
  826. package/web-ui/build/static/scilab-DwHPZxdA.js.map +1 -0
  827. package/web-ui/build/static/scss-DA3NwUoU.js +2 -0
  828. package/web-ui/build/static/scss-DA3NwUoU.js.map +1 -0
  829. package/web-ui/build/static/scss-xoahYycu.js +2 -0
  830. package/web-ui/build/static/scss-xoahYycu.js.map +1 -0
  831. package/web-ui/build/static/shell-BNCYooEv.js +2 -0
  832. package/web-ui/build/static/shell-BNCYooEv.js.map +1 -0
  833. package/web-ui/build/static/shell-session-BHivd8nO.js +2 -0
  834. package/web-ui/build/static/shell-session-BHivd8nO.js.map +1 -0
  835. package/web-ui/build/static/smali-CQLbUppv.js +2 -0
  836. package/web-ui/build/static/smali-CQLbUppv.js.map +1 -0
  837. package/web-ui/build/static/smali-DfUCwm0R.js +2 -0
  838. package/web-ui/build/static/smali-DfUCwm0R.js.map +1 -0
  839. package/web-ui/build/static/smalltalk-Bwy3_s-9.js +2 -0
  840. package/web-ui/build/static/smalltalk-Bwy3_s-9.js.map +1 -0
  841. package/web-ui/build/static/smalltalk-DUE0NAtJ.js +2 -0
  842. package/web-ui/build/static/smalltalk-DUE0NAtJ.js.map +1 -0
  843. package/web-ui/build/static/smarty-DbGvc9xG.js +2 -0
  844. package/web-ui/build/static/smarty-DbGvc9xG.js.map +1 -0
  845. package/web-ui/build/static/sml-CI5EQ0Qu.js +2 -0
  846. package/web-ui/build/static/sml-CI5EQ0Qu.js.map +1 -0
  847. package/web-ui/build/static/sml-DSxIexhe.js +2 -0
  848. package/web-ui/build/static/sml-DSxIexhe.js.map +1 -0
  849. package/web-ui/build/static/solidity-DCMKFdNo.js +2 -0
  850. package/web-ui/build/static/solidity-DCMKFdNo.js.map +1 -0
  851. package/web-ui/build/static/solution-file-NT8KtQ-w.js +2 -0
  852. package/web-ui/build/static/solution-file-NT8KtQ-w.js.map +1 -0
  853. package/web-ui/build/static/soy-B110XdmA.js +2 -0
  854. package/web-ui/build/static/soy-B110XdmA.js.map +1 -0
  855. package/web-ui/build/static/sparql-BxnUbvHo.js +2 -0
  856. package/web-ui/build/static/sparql-BxnUbvHo.js.map +1 -0
  857. package/web-ui/build/static/splunk-spl-pwxmjPEj.js +2 -0
  858. package/web-ui/build/static/splunk-spl-pwxmjPEj.js.map +1 -0
  859. package/web-ui/build/static/sqf-BXo2Ucnl.js +2 -0
  860. package/web-ui/build/static/sqf-BXo2Ucnl.js.map +1 -0
  861. package/web-ui/build/static/sqf-DOFfGLF3.js +2 -0
  862. package/web-ui/build/static/sqf-DOFfGLF3.js.map +1 -0
  863. package/web-ui/build/static/sql-DBti3yHe.js +2 -0
  864. package/web-ui/build/static/sql-DBti3yHe.js.map +1 -0
  865. package/web-ui/build/static/sql-tKjJECQp.js +2 -0
  866. package/web-ui/build/static/sql-tKjJECQp.js.map +1 -0
  867. package/web-ui/build/static/sql_more-e8p64rgQ.js +2 -0
  868. package/web-ui/build/static/sql_more-e8p64rgQ.js.map +1 -0
  869. package/web-ui/build/static/squirrel-BgryDToh.js +2 -0
  870. package/web-ui/build/static/squirrel-BgryDToh.js.map +1 -0
  871. package/web-ui/build/static/stan-Bp3Ji6gl.js +2 -0
  872. package/web-ui/build/static/stan-Bp3Ji6gl.js.map +1 -0
  873. package/web-ui/build/static/stan-KiJ_x44p.js +2 -0
  874. package/web-ui/build/static/stan-KiJ_x44p.js.map +1 -0
  875. package/web-ui/build/static/stata-Ct8C8WO9.js +2 -0
  876. package/web-ui/build/static/stata-Ct8C8WO9.js.map +1 -0
  877. package/web-ui/build/static/step21-DMjDkTBx.js +2 -0
  878. package/web-ui/build/static/step21-DMjDkTBx.js.map +1 -0
  879. package/web-ui/build/static/stylus-CmKvhQaT.js +2 -0
  880. package/web-ui/build/static/stylus-CmKvhQaT.js.map +1 -0
  881. package/web-ui/build/static/stylus-DBi1AjDZ.js +2 -0
  882. package/web-ui/build/static/stylus-DBi1AjDZ.js.map +1 -0
  883. package/web-ui/build/static/subunit-DfUk55-B.js +2 -0
  884. package/web-ui/build/static/subunit-DfUk55-B.js.map +1 -0
  885. package/web-ui/build/static/swift-B_SThX1_.js +2 -0
  886. package/web-ui/build/static/swift-B_SThX1_.js.map +1 -0
  887. package/web-ui/build/static/swift-DlYKJDzH.js +2 -0
  888. package/web-ui/build/static/swift-DlYKJDzH.js.map +1 -0
  889. package/web-ui/build/static/systemd-BQk3UqOg.js +2 -0
  890. package/web-ui/build/static/systemd-BQk3UqOg.js.map +1 -0
  891. package/web-ui/build/static/t4-cs-CLhFWwmv.js +2 -0
  892. package/web-ui/build/static/t4-cs-CLhFWwmv.js.map +1 -0
  893. package/web-ui/build/static/t4-templating-9ygezJzV.js +2 -0
  894. package/web-ui/build/static/t4-templating-9ygezJzV.js.map +1 -0
  895. package/web-ui/build/static/t4-vb-B17jU_4m.js +2 -0
  896. package/web-ui/build/static/t4-vb-B17jU_4m.js.map +1 -0
  897. package/web-ui/build/static/taggerscript-DFTkn-cd.js +2 -0
  898. package/web-ui/build/static/taggerscript-DFTkn-cd.js.map +1 -0
  899. package/web-ui/build/static/tap-DiTGXlEA.js +2 -0
  900. package/web-ui/build/static/tap-DiTGXlEA.js.map +1 -0
  901. package/web-ui/build/static/tap-ytAGuQzI.js +2 -0
  902. package/web-ui/build/static/tap-ytAGuQzI.js.map +1 -0
  903. package/web-ui/build/static/tcl-B8fFBHry.js +2 -0
  904. package/web-ui/build/static/tcl-B8fFBHry.js.map +1 -0
  905. package/web-ui/build/static/tcl-D8AopmOP.js +2 -0
  906. package/web-ui/build/static/tcl-D8AopmOP.js.map +1 -0
  907. package/web-ui/build/static/textile-COphc5sd.js +2 -0
  908. package/web-ui/build/static/textile-COphc5sd.js.map +1 -0
  909. package/web-ui/build/static/thrift-DZ7DTn1f.js +2 -0
  910. package/web-ui/build/static/thrift-DZ7DTn1f.js.map +1 -0
  911. package/web-ui/build/static/toml-DTUiF9Km.js +2 -0
  912. package/web-ui/build/static/toml-DTUiF9Km.js.map +1 -0
  913. package/web-ui/build/static/tp-CE4XvH5p.js +2 -0
  914. package/web-ui/build/static/tp-CE4XvH5p.js.map +1 -0
  915. package/web-ui/build/static/tremor-C77yMHA3.js +2 -0
  916. package/web-ui/build/static/tremor-C77yMHA3.js.map +1 -0
  917. package/web-ui/build/static/tsx-C7MW58r5.js +2 -0
  918. package/web-ui/build/static/tsx-C7MW58r5.js.map +1 -0
  919. package/web-ui/build/static/tt2-5O1-qC4O.js +2 -0
  920. package/web-ui/build/static/tt2-5O1-qC4O.js.map +1 -0
  921. package/web-ui/build/static/turtle-BSGDucZJ.js +2 -0
  922. package/web-ui/build/static/turtle-BSGDucZJ.js.map +1 -0
  923. package/web-ui/build/static/twig-Ck8WO3xA.js +2 -0
  924. package/web-ui/build/static/twig-Ck8WO3xA.js.map +1 -0
  925. package/web-ui/build/static/twig-do5vUUyw.js +2 -0
  926. package/web-ui/build/static/twig-do5vUUyw.js.map +1 -0
  927. package/web-ui/build/static/typescript-BLsAxuVG.js +2 -0
  928. package/web-ui/build/static/typescript-BLsAxuVG.js.map +1 -0
  929. package/web-ui/build/static/typescript-nM_dxKP9.js +2 -0
  930. package/web-ui/build/static/typescript-nM_dxKP9.js.map +1 -0
  931. package/web-ui/build/static/typoscript-BvcgqSqY.js +2 -0
  932. package/web-ui/build/static/typoscript-BvcgqSqY.js.map +1 -0
  933. package/web-ui/build/static/unrealscript-CTWC-bVY.js +2 -0
  934. package/web-ui/build/static/unrealscript-CTWC-bVY.js.map +1 -0
  935. package/web-ui/build/static/uorazor-Dilz5RNV.js +2 -0
  936. package/web-ui/build/static/uorazor-Dilz5RNV.js.map +1 -0
  937. package/web-ui/build/static/uri-Bmls2-DT.js +2 -0
  938. package/web-ui/build/static/uri-Bmls2-DT.js.map +1 -0
  939. package/web-ui/build/static/v-BgLQ9Ycc.js +2 -0
  940. package/web-ui/build/static/v-BgLQ9Ycc.js.map +1 -0
  941. package/web-ui/build/static/vala-Cm3y_G3H.js +2 -0
  942. package/web-ui/build/static/vala-Cm3y_G3H.js.map +1 -0
  943. package/web-ui/build/static/vala-TZsbQ-Zc.js +2 -0
  944. package/web-ui/build/static/vala-TZsbQ-Zc.js.map +1 -0
  945. package/web-ui/build/static/vbnet-CUR-ZLCX.js +2 -0
  946. package/web-ui/build/static/vbnet-CUR-ZLCX.js.map +1 -0
  947. package/web-ui/build/static/vbnet-DSoNQ2XW.js +2 -0
  948. package/web-ui/build/static/vbnet-DSoNQ2XW.js.map +1 -0
  949. package/web-ui/build/static/vbscript-BartKsJT.js +2 -0
  950. package/web-ui/build/static/vbscript-BartKsJT.js.map +1 -0
  951. package/web-ui/build/static/vbscript-html-0hiakhFr.js +2 -0
  952. package/web-ui/build/static/vbscript-html-0hiakhFr.js.map +1 -0
  953. package/web-ui/build/static/velocity-D3j90RKr.js +2 -0
  954. package/web-ui/build/static/velocity-D3j90RKr.js.map +1 -0
  955. package/web-ui/build/static/verilog-Cq1a8DdU.js +2 -0
  956. package/web-ui/build/static/verilog-Cq1a8DdU.js.map +1 -0
  957. package/web-ui/build/static/verilog-OBAeWcRM.js +2 -0
  958. package/web-ui/build/static/verilog-OBAeWcRM.js.map +1 -0
  959. package/web-ui/build/static/vhdl-CtePii6W.js +2 -0
  960. package/web-ui/build/static/vhdl-CtePii6W.js.map +1 -0
  961. package/web-ui/build/static/vhdl-DxAm5hhA.js +2 -0
  962. package/web-ui/build/static/vhdl-DxAm5hhA.js.map +1 -0
  963. package/web-ui/build/static/vim-Bnpwnm1H.js +2 -0
  964. package/web-ui/build/static/vim-Bnpwnm1H.js.map +1 -0
  965. package/web-ui/build/static/vim-DOPRcHbu.js +2 -0
  966. package/web-ui/build/static/vim-DOPRcHbu.js.map +1 -0
  967. package/web-ui/build/static/visual-basic-CmvWs8Y4.js +2 -0
  968. package/web-ui/build/static/visual-basic-CmvWs8Y4.js.map +1 -0
  969. package/web-ui/build/static/warpscript-C7JXAeCX.js +2 -0
  970. package/web-ui/build/static/warpscript-C7JXAeCX.js.map +1 -0
  971. package/web-ui/build/static/wasm-Dg1iRB1P.js +2 -0
  972. package/web-ui/build/static/wasm-Dg1iRB1P.js.map +1 -0
  973. package/web-ui/build/static/web-idl-312gICJ_.js +2 -0
  974. package/web-ui/build/static/web-idl-312gICJ_.js.map +1 -0
  975. package/web-ui/build/static/wiki-CETWrb77.js +2 -0
  976. package/web-ui/build/static/wiki-CETWrb77.js.map +1 -0
  977. package/web-ui/build/static/wolfram-CChr8eAu.js +2 -0
  978. package/web-ui/build/static/wolfram-CChr8eAu.js.map +1 -0
  979. package/web-ui/build/static/wren-CNDfGy-a.js +2 -0
  980. package/web-ui/build/static/wren-CNDfGy-a.js.map +1 -0
  981. package/web-ui/build/static/x86asm-KOsBAi6G.js +2 -0
  982. package/web-ui/build/static/x86asm-KOsBAi6G.js.map +1 -0
  983. package/web-ui/build/static/xeora-DiFTTjrx.js +2 -0
  984. package/web-ui/build/static/xeora-DiFTTjrx.js.map +1 -0
  985. package/web-ui/build/static/xl-C4U3E450.js +2 -0
  986. package/web-ui/build/static/xl-C4U3E450.js.map +1 -0
  987. package/web-ui/build/static/xml-XTmTOewe.js +2 -0
  988. package/web-ui/build/static/xml-XTmTOewe.js.map +1 -0
  989. package/web-ui/build/static/xml-doc-BWJd7KnA.js +2 -0
  990. package/web-ui/build/static/xml-doc-BWJd7KnA.js.map +1 -0
  991. package/web-ui/build/static/xojo-DGqISLW2.js +2 -0
  992. package/web-ui/build/static/xojo-DGqISLW2.js.map +1 -0
  993. package/web-ui/build/static/xquery-CKOwjxR8.js +2 -0
  994. package/web-ui/build/static/xquery-CKOwjxR8.js.map +1 -0
  995. package/web-ui/build/static/xquery-DRRK5ve6.js +2 -0
  996. package/web-ui/build/static/xquery-DRRK5ve6.js.map +1 -0
  997. package/web-ui/build/static/yaml-BsesZJLa.js +2 -0
  998. package/web-ui/build/static/yaml-BsesZJLa.js.map +1 -0
  999. package/web-ui/build/static/yaml-lmNFW8ON.js +2 -0
  1000. package/web-ui/build/static/yaml-lmNFW8ON.js.map +1 -0
  1001. package/web-ui/build/static/yang-D2XecjdJ.js +2 -0
  1002. package/web-ui/build/static/yang-D2XecjdJ.js.map +1 -0
  1003. package/web-ui/build/static/zephir-B1iL3iT8.js +2 -0
  1004. package/web-ui/build/static/zephir-B1iL3iT8.js.map +1 -0
  1005. package/web-ui/build/static/zig-D4xcy35B.js +2 -0
  1006. package/web-ui/build/static/zig-D4xcy35B.js.map +1 -0
  1007. package/web-ui/build/static/1c-D8W1sRwM.js +0 -2
  1008. package/web-ui/build/static/1c-D8W1sRwM.js.map +0 -1
  1009. package/web-ui/build/static/abap-Djdnfe00.js +0 -2
  1010. package/web-ui/build/static/abap-Djdnfe00.js.map +0 -1
  1011. package/web-ui/build/static/abnf-DiNkfJH0.js +0 -2
  1012. package/web-ui/build/static/abnf-DiNkfJH0.js.map +0 -1
  1013. package/web-ui/build/static/abnf-DrQfqE1w.js +0 -2
  1014. package/web-ui/build/static/abnf-DrQfqE1w.js.map +0 -1
  1015. package/web-ui/build/static/accesslog-LS0BPqal.js +0 -2
  1016. package/web-ui/build/static/accesslog-LS0BPqal.js.map +0 -1
  1017. package/web-ui/build/static/actionscript-CjdRibJO.js +0 -2
  1018. package/web-ui/build/static/actionscript-CjdRibJO.js.map +0 -1
  1019. package/web-ui/build/static/actionscript-T9PAgL9Q.js +0 -2
  1020. package/web-ui/build/static/actionscript-T9PAgL9Q.js.map +0 -1
  1021. package/web-ui/build/static/ada-B_sCqmFZ.js +0 -2
  1022. package/web-ui/build/static/ada-B_sCqmFZ.js.map +0 -1
  1023. package/web-ui/build/static/ada-MwpGt67z.js +0 -2
  1024. package/web-ui/build/static/ada-MwpGt67z.js.map +0 -1
  1025. package/web-ui/build/static/agda-Bn3P1fEl.js +0 -2
  1026. package/web-ui/build/static/agda-Bn3P1fEl.js.map +0 -1
  1027. package/web-ui/build/static/al-CViNat7T.js +0 -2
  1028. package/web-ui/build/static/al-CViNat7T.js.map +0 -1
  1029. package/web-ui/build/static/angelscript-DZJHSuK2.js +0 -2
  1030. package/web-ui/build/static/angelscript-DZJHSuK2.js.map +0 -1
  1031. package/web-ui/build/static/antlr4-BF6Ru3w6.js +0 -2
  1032. package/web-ui/build/static/antlr4-BF6Ru3w6.js.map +0 -1
  1033. package/web-ui/build/static/apache-BW-IG-gS.js +0 -2
  1034. package/web-ui/build/static/apache-BW-IG-gS.js.map +0 -1
  1035. package/web-ui/build/static/apacheconf-a4cNRFtJ.js +0 -2
  1036. package/web-ui/build/static/apacheconf-a4cNRFtJ.js.map +0 -1
  1037. package/web-ui/build/static/apex-CQ4HfhbZ.js +0 -2
  1038. package/web-ui/build/static/apex-CQ4HfhbZ.js.map +0 -1
  1039. package/web-ui/build/static/apl-CnT4JYZ1.js +0 -2
  1040. package/web-ui/build/static/apl-CnT4JYZ1.js.map +0 -1
  1041. package/web-ui/build/static/applescript-C23_oUe_.js +0 -2
  1042. package/web-ui/build/static/applescript-C23_oUe_.js.map +0 -1
  1043. package/web-ui/build/static/applescript-DJ9YZ-50.js +0 -2
  1044. package/web-ui/build/static/applescript-DJ9YZ-50.js.map +0 -1
  1045. package/web-ui/build/static/aql-DMmLo3vQ.js +0 -2
  1046. package/web-ui/build/static/aql-DMmLo3vQ.js.map +0 -1
  1047. package/web-ui/build/static/arcade-DEJakPcT.js +0 -2
  1048. package/web-ui/build/static/arcade-DEJakPcT.js.map +0 -1
  1049. package/web-ui/build/static/arduino-DHnQE00P.js +0 -2
  1050. package/web-ui/build/static/arduino-DHnQE00P.js.map +0 -1
  1051. package/web-ui/build/static/arduino-DLpl_oLR.js +0 -2
  1052. package/web-ui/build/static/arduino-DLpl_oLR.js.map +0 -1
  1053. package/web-ui/build/static/arff-weXOyvNW.js +0 -2
  1054. package/web-ui/build/static/arff-weXOyvNW.js.map +0 -1
  1055. package/web-ui/build/static/armasm-DCB7KNse.js +0 -2
  1056. package/web-ui/build/static/armasm-DCB7KNse.js.map +0 -1
  1057. package/web-ui/build/static/asciidoc-B_B2NVRX.js +0 -2
  1058. package/web-ui/build/static/asciidoc-B_B2NVRX.js.map +0 -1
  1059. package/web-ui/build/static/asciidoc-G7xTDND0.js +0 -2
  1060. package/web-ui/build/static/asciidoc-G7xTDND0.js.map +0 -1
  1061. package/web-ui/build/static/asm6502-BrKCcGNC.js +0 -2
  1062. package/web-ui/build/static/asm6502-BrKCcGNC.js.map +0 -1
  1063. package/web-ui/build/static/asmatmel-CRKp6Tqd.js +0 -2
  1064. package/web-ui/build/static/asmatmel-CRKp6Tqd.js.map +0 -1
  1065. package/web-ui/build/static/aspectj-uz9oTTlb.js +0 -2
  1066. package/web-ui/build/static/aspectj-uz9oTTlb.js.map +0 -1
  1067. package/web-ui/build/static/aspnet-imOpVk6g.js +0 -2
  1068. package/web-ui/build/static/aspnet-imOpVk6g.js.map +0 -1
  1069. package/web-ui/build/static/autohotkey-BavzDLcC.js +0 -2
  1070. package/web-ui/build/static/autohotkey-BavzDLcC.js.map +0 -1
  1071. package/web-ui/build/static/autohotkey-BpzhuqUy.js +0 -2
  1072. package/web-ui/build/static/autohotkey-BpzhuqUy.js.map +0 -1
  1073. package/web-ui/build/static/autoit-ClwmKiya.js +0 -2
  1074. package/web-ui/build/static/autoit-ClwmKiya.js.map +0 -1
  1075. package/web-ui/build/static/autoit-DmSiHu-b.js +0 -2
  1076. package/web-ui/build/static/autoit-DmSiHu-b.js.map +0 -1
  1077. package/web-ui/build/static/avisynth-BFu3vCJb.js +0 -2
  1078. package/web-ui/build/static/avisynth-BFu3vCJb.js.map +0 -1
  1079. package/web-ui/build/static/avrasm-83oHwG-q.js +0 -2
  1080. package/web-ui/build/static/avrasm-83oHwG-q.js.map +0 -1
  1081. package/web-ui/build/static/avro-idl-DiRKaEvV.js +0 -2
  1082. package/web-ui/build/static/avro-idl-DiRKaEvV.js.map +0 -1
  1083. package/web-ui/build/static/awk-iZMR3_8x.js +0 -2
  1084. package/web-ui/build/static/awk-iZMR3_8x.js.map +0 -1
  1085. package/web-ui/build/static/axapta-DLMQP0F7.js +0 -2
  1086. package/web-ui/build/static/axapta-DLMQP0F7.js.map +0 -1
  1087. package/web-ui/build/static/bash-BbQP8uAk.js +0 -2
  1088. package/web-ui/build/static/bash-BbQP8uAk.js.map +0 -1
  1089. package/web-ui/build/static/bash-CA1KH2HF.js +0 -2
  1090. package/web-ui/build/static/bash-CA1KH2HF.js.map +0 -1
  1091. package/web-ui/build/static/basic-CoGxcg6N.js +0 -2
  1092. package/web-ui/build/static/basic-CoGxcg6N.js.map +0 -1
  1093. package/web-ui/build/static/basic-THXg16hl.js +0 -2
  1094. package/web-ui/build/static/basic-THXg16hl.js.map +0 -1
  1095. package/web-ui/build/static/batch-BH6boO98.js +0 -2
  1096. package/web-ui/build/static/batch-BH6boO98.js.map +0 -1
  1097. package/web-ui/build/static/bbcode-BTGw_qH7.js +0 -2
  1098. package/web-ui/build/static/bbcode-BTGw_qH7.js.map +0 -1
  1099. package/web-ui/build/static/bicep-Bi1c-1zY.js +0 -2
  1100. package/web-ui/build/static/bicep-Bi1c-1zY.js.map +0 -1
  1101. package/web-ui/build/static/birb-CGWbZNtm.js +0 -2
  1102. package/web-ui/build/static/birb-CGWbZNtm.js.map +0 -1
  1103. package/web-ui/build/static/bison-D6OjwxnS.js +0 -2
  1104. package/web-ui/build/static/bison-D6OjwxnS.js.map +0 -1
  1105. package/web-ui/build/static/bnf-9IKznhA0.js +0 -2
  1106. package/web-ui/build/static/bnf-9IKznhA0.js.map +0 -1
  1107. package/web-ui/build/static/bnf-CbkqJRVY.js +0 -2
  1108. package/web-ui/build/static/bnf-CbkqJRVY.js.map +0 -1
  1109. package/web-ui/build/static/brainfuck-BgYZYhEp.js +0 -2
  1110. package/web-ui/build/static/brainfuck-BgYZYhEp.js.map +0 -1
  1111. package/web-ui/build/static/brainfuck-zVhAjPbX.js +0 -2
  1112. package/web-ui/build/static/brainfuck-zVhAjPbX.js.map +0 -1
  1113. package/web-ui/build/static/brightscript-CbCD1YHl.js +0 -2
  1114. package/web-ui/build/static/brightscript-CbCD1YHl.js.map +0 -1
  1115. package/web-ui/build/static/bro-Buj4rUAa.js +0 -2
  1116. package/web-ui/build/static/bro-Buj4rUAa.js.map +0 -1
  1117. package/web-ui/build/static/bsl-CmP7I2uR.js +0 -2
  1118. package/web-ui/build/static/bsl-CmP7I2uR.js.map +0 -1
  1119. package/web-ui/build/static/c-C2_jZZLQ.js +0 -2
  1120. package/web-ui/build/static/c-C2_jZZLQ.js.map +0 -1
  1121. package/web-ui/build/static/c-CaclqMiY.js +0 -2
  1122. package/web-ui/build/static/c-CaclqMiY.js.map +0 -1
  1123. package/web-ui/build/static/c-like-CkUfEzQe.js +0 -2
  1124. package/web-ui/build/static/c-like-CkUfEzQe.js.map +0 -1
  1125. package/web-ui/build/static/cal-B-4SR7Q-.js +0 -2
  1126. package/web-ui/build/static/cal-B-4SR7Q-.js.map +0 -1
  1127. package/web-ui/build/static/capnproto-Cdruuu2P.js +0 -2
  1128. package/web-ui/build/static/capnproto-Cdruuu2P.js.map +0 -1
  1129. package/web-ui/build/static/ceylon-CCqQIdQd.js +0 -2
  1130. package/web-ui/build/static/ceylon-CCqQIdQd.js.map +0 -1
  1131. package/web-ui/build/static/cfscript-eRPxdtiN.js +0 -2
  1132. package/web-ui/build/static/cfscript-eRPxdtiN.js.map +0 -1
  1133. package/web-ui/build/static/chaiscript-BtxrPNU2.js +0 -2
  1134. package/web-ui/build/static/chaiscript-BtxrPNU2.js.map +0 -1
  1135. package/web-ui/build/static/cil-CFnPIYJ1.js +0 -2
  1136. package/web-ui/build/static/cil-CFnPIYJ1.js.map +0 -1
  1137. package/web-ui/build/static/clean-g1s0onSy.js +0 -2
  1138. package/web-ui/build/static/clean-g1s0onSy.js.map +0 -1
  1139. package/web-ui/build/static/clike-CMkV91WO.js +0 -2
  1140. package/web-ui/build/static/clike-CMkV91WO.js.map +0 -1
  1141. package/web-ui/build/static/clojure--DL927lh.js +0 -2
  1142. package/web-ui/build/static/clojure--DL927lh.js.map +0 -1
  1143. package/web-ui/build/static/clojure-BiCeUNI2.js +0 -2
  1144. package/web-ui/build/static/clojure-BiCeUNI2.js.map +0 -1
  1145. package/web-ui/build/static/clojure-repl-BjvBwR87.js +0 -2
  1146. package/web-ui/build/static/clojure-repl-BjvBwR87.js.map +0 -1
  1147. package/web-ui/build/static/cmake-DrTm3aKq.js +0 -2
  1148. package/web-ui/build/static/cmake-DrTm3aKq.js.map +0 -1
  1149. package/web-ui/build/static/cmake-GeF56i1U.js +0 -2
  1150. package/web-ui/build/static/cmake-GeF56i1U.js.map +0 -1
  1151. package/web-ui/build/static/cobol-1HP5zYCO.js +0 -2
  1152. package/web-ui/build/static/cobol-1HP5zYCO.js.map +0 -1
  1153. package/web-ui/build/static/coffeescript-Blo33pas.js +0 -2
  1154. package/web-ui/build/static/coffeescript-Blo33pas.js.map +0 -1
  1155. package/web-ui/build/static/coffeescript-DcjjvE-o.js +0 -2
  1156. package/web-ui/build/static/coffeescript-DcjjvE-o.js.map +0 -1
  1157. package/web-ui/build/static/concurnas-v4Jnl0ul.js +0 -2
  1158. package/web-ui/build/static/concurnas-v4Jnl0ul.js.map +0 -1
  1159. package/web-ui/build/static/coq-CRkxt8ze.js +0 -2
  1160. package/web-ui/build/static/coq-CRkxt8ze.js.map +0 -1
  1161. package/web-ui/build/static/coq-D8yQ0eFA.js +0 -2
  1162. package/web-ui/build/static/coq-D8yQ0eFA.js.map +0 -1
  1163. package/web-ui/build/static/cos-CULCPeqh.js +0 -2
  1164. package/web-ui/build/static/cos-CULCPeqh.js.map +0 -1
  1165. package/web-ui/build/static/cpp-Cr9yLGb2.js +0 -2
  1166. package/web-ui/build/static/cpp-Cr9yLGb2.js.map +0 -1
  1167. package/web-ui/build/static/cpp-lQCIGJbk.js +0 -2
  1168. package/web-ui/build/static/cpp-lQCIGJbk.js.map +0 -1
  1169. package/web-ui/build/static/crmsh-CyAVekhy.js +0 -2
  1170. package/web-ui/build/static/crmsh-CyAVekhy.js.map +0 -1
  1171. package/web-ui/build/static/crystal-BA-AEBCZ.js +0 -2
  1172. package/web-ui/build/static/crystal-BA-AEBCZ.js.map +0 -1
  1173. package/web-ui/build/static/crystal-DjLdpX4G.js +0 -2
  1174. package/web-ui/build/static/crystal-DjLdpX4G.js.map +0 -1
  1175. package/web-ui/build/static/csharp-BgsVr3am.js +0 -2
  1176. package/web-ui/build/static/csharp-BgsVr3am.js.map +0 -1
  1177. package/web-ui/build/static/csharp-Ddcce4Tz.js +0 -2
  1178. package/web-ui/build/static/csharp-Ddcce4Tz.js.map +0 -1
  1179. package/web-ui/build/static/cshtml-D3A_A1c8.js +0 -2
  1180. package/web-ui/build/static/cshtml-D3A_A1c8.js.map +0 -1
  1181. package/web-ui/build/static/csp-BnhKagIU.js +0 -2
  1182. package/web-ui/build/static/csp-BnhKagIU.js.map +0 -1
  1183. package/web-ui/build/static/csp-F_jalQhT.js +0 -2
  1184. package/web-ui/build/static/csp-F_jalQhT.js.map +0 -1
  1185. package/web-ui/build/static/css-DVMf6_KD.js +0 -2
  1186. package/web-ui/build/static/css-DVMf6_KD.js.map +0 -1
  1187. package/web-ui/build/static/css-R3pt5BqW.js +0 -2
  1188. package/web-ui/build/static/css-R3pt5BqW.js.map +0 -1
  1189. package/web-ui/build/static/css-extras-_Jhxmi5g.js +0 -2
  1190. package/web-ui/build/static/css-extras-_Jhxmi5g.js.map +0 -1
  1191. package/web-ui/build/static/csv-07dd6nid.js +0 -2
  1192. package/web-ui/build/static/csv-07dd6nid.js.map +0 -1
  1193. package/web-ui/build/static/cypher-CWOAtvya.js +0 -2
  1194. package/web-ui/build/static/cypher-CWOAtvya.js.map +0 -1
  1195. package/web-ui/build/static/d-BssimD6g.js +0 -2
  1196. package/web-ui/build/static/d-BssimD6g.js.map +0 -1
  1197. package/web-ui/build/static/d-DPGmH978.js +0 -2
  1198. package/web-ui/build/static/d-DPGmH978.js.map +0 -1
  1199. package/web-ui/build/static/dart-4GjuRCoR.js +0 -2
  1200. package/web-ui/build/static/dart-4GjuRCoR.js.map +0 -1
  1201. package/web-ui/build/static/dart-BwUSj6WF.js +0 -2
  1202. package/web-ui/build/static/dart-BwUSj6WF.js.map +0 -1
  1203. package/web-ui/build/static/dataweave-DBRqAneY.js +0 -2
  1204. package/web-ui/build/static/dataweave-DBRqAneY.js.map +0 -1
  1205. package/web-ui/build/static/dax-DtWLU1EI.js +0 -2
  1206. package/web-ui/build/static/dax-DtWLU1EI.js.map +0 -1
  1207. package/web-ui/build/static/delphi-BO99tkex.js +0 -2
  1208. package/web-ui/build/static/delphi-BO99tkex.js.map +0 -1
  1209. package/web-ui/build/static/dhall-d-2D6-ii.js +0 -2
  1210. package/web-ui/build/static/dhall-d-2D6-ii.js.map +0 -1
  1211. package/web-ui/build/static/diff-C44tbvx2.js +0 -2
  1212. package/web-ui/build/static/diff-C44tbvx2.js.map +0 -1
  1213. package/web-ui/build/static/diff-DQwg1JbJ.js +0 -2
  1214. package/web-ui/build/static/diff-DQwg1JbJ.js.map +0 -1
  1215. package/web-ui/build/static/django-BQCMCfan.js +0 -2
  1216. package/web-ui/build/static/django-BQCMCfan.js.map +0 -1
  1217. package/web-ui/build/static/django-CXps4i7I.js +0 -2
  1218. package/web-ui/build/static/django-CXps4i7I.js.map +0 -1
  1219. package/web-ui/build/static/dns-BvF6PI2w.js +0 -2
  1220. package/web-ui/build/static/dns-BvF6PI2w.js.map +0 -1
  1221. package/web-ui/build/static/dns-zone-file-CbriADmN.js +0 -2
  1222. package/web-ui/build/static/dns-zone-file-CbriADmN.js.map +0 -1
  1223. package/web-ui/build/static/docker-CxjEVBpp.js +0 -2
  1224. package/web-ui/build/static/docker-CxjEVBpp.js.map +0 -1
  1225. package/web-ui/build/static/dockerfile-RzCjDV-7.js +0 -2
  1226. package/web-ui/build/static/dockerfile-RzCjDV-7.js.map +0 -1
  1227. package/web-ui/build/static/dos-COBCJf7T.js +0 -2
  1228. package/web-ui/build/static/dos-COBCJf7T.js.map +0 -1
  1229. package/web-ui/build/static/dot-_66YaIps.js +0 -2
  1230. package/web-ui/build/static/dot-_66YaIps.js.map +0 -1
  1231. package/web-ui/build/static/dsconfig-TBAHc50O.js +0 -2
  1232. package/web-ui/build/static/dsconfig-TBAHc50O.js.map +0 -1
  1233. package/web-ui/build/static/dts-DngybEr2.js +0 -2
  1234. package/web-ui/build/static/dts-DngybEr2.js.map +0 -1
  1235. package/web-ui/build/static/dust-UAgesbZS.js +0 -2
  1236. package/web-ui/build/static/dust-UAgesbZS.js.map +0 -1
  1237. package/web-ui/build/static/ebnf-CGUhEP6Q.js +0 -2
  1238. package/web-ui/build/static/ebnf-CGUhEP6Q.js.map +0 -1
  1239. package/web-ui/build/static/ebnf-DsA_L72f.js +0 -2
  1240. package/web-ui/build/static/ebnf-DsA_L72f.js.map +0 -1
  1241. package/web-ui/build/static/editorconfig-zeVdPRbi.js +0 -2
  1242. package/web-ui/build/static/editorconfig-zeVdPRbi.js.map +0 -1
  1243. package/web-ui/build/static/eiffel-CBQ_JqtW.js +0 -2
  1244. package/web-ui/build/static/eiffel-CBQ_JqtW.js.map +0 -1
  1245. package/web-ui/build/static/ejs-CcCw6N4i.js +0 -2
  1246. package/web-ui/build/static/ejs-CcCw6N4i.js.map +0 -1
  1247. package/web-ui/build/static/elixir-4ji3F_5S.js +0 -2
  1248. package/web-ui/build/static/elixir-4ji3F_5S.js.map +0 -1
  1249. package/web-ui/build/static/elixir-C92YnUMX.js +0 -2
  1250. package/web-ui/build/static/elixir-C92YnUMX.js.map +0 -1
  1251. package/web-ui/build/static/elm-BwzUxH6Q.js +0 -2
  1252. package/web-ui/build/static/elm-BwzUxH6Q.js.map +0 -1
  1253. package/web-ui/build/static/elm-D47CZdBg.js +0 -2
  1254. package/web-ui/build/static/elm-D47CZdBg.js.map +0 -1
  1255. package/web-ui/build/static/erb-CUL4-BAu.js +0 -2
  1256. package/web-ui/build/static/erb-CUL4-BAu.js.map +0 -1
  1257. package/web-ui/build/static/erb-CsrAUhBg.js +0 -2
  1258. package/web-ui/build/static/erb-CsrAUhBg.js.map +0 -1
  1259. package/web-ui/build/static/erlang-BTgnIzat.js +0 -2
  1260. package/web-ui/build/static/erlang-BTgnIzat.js.map +0 -1
  1261. package/web-ui/build/static/erlang-D7FUoEMX.js +0 -2
  1262. package/web-ui/build/static/erlang-D7FUoEMX.js.map +0 -1
  1263. package/web-ui/build/static/erlang-repl-DnzpgilL.js +0 -2
  1264. package/web-ui/build/static/erlang-repl-DnzpgilL.js.map +0 -1
  1265. package/web-ui/build/static/etlua-W4Q6OTFN.js +0 -2
  1266. package/web-ui/build/static/etlua-W4Q6OTFN.js.map +0 -1
  1267. package/web-ui/build/static/excel-ByF6DtKb.js +0 -2
  1268. package/web-ui/build/static/excel-ByF6DtKb.js.map +0 -1
  1269. package/web-ui/build/static/excel-formula-DiiC4IKS.js +0 -2
  1270. package/web-ui/build/static/excel-formula-DiiC4IKS.js.map +0 -1
  1271. package/web-ui/build/static/factor-Md974-Zt.js +0 -2
  1272. package/web-ui/build/static/factor-Md974-Zt.js.map +0 -1
  1273. package/web-ui/build/static/false-BStM_TSY.js +0 -2
  1274. package/web-ui/build/static/false-BStM_TSY.js.map +0 -1
  1275. package/web-ui/build/static/firestore-security-rules-B-MvymVJ.js +0 -2
  1276. package/web-ui/build/static/firestore-security-rules-B-MvymVJ.js.map +0 -1
  1277. package/web-ui/build/static/fix-i60eW9tm.js +0 -2
  1278. package/web-ui/build/static/fix-i60eW9tm.js.map +0 -1
  1279. package/web-ui/build/static/flix-CFU97vc-.js +0 -2
  1280. package/web-ui/build/static/flix-CFU97vc-.js.map +0 -1
  1281. package/web-ui/build/static/flow-AjvMWI2h.js +0 -2
  1282. package/web-ui/build/static/flow-AjvMWI2h.js.map +0 -1
  1283. package/web-ui/build/static/fortran-BOB8oIMl.js +0 -2
  1284. package/web-ui/build/static/fortran-BOB8oIMl.js.map +0 -1
  1285. package/web-ui/build/static/fortran-Bih66WCM.js +0 -2
  1286. package/web-ui/build/static/fortran-Bih66WCM.js.map +0 -1
  1287. package/web-ui/build/static/fsharp-QvHjKL2i.js +0 -2
  1288. package/web-ui/build/static/fsharp-QvHjKL2i.js.map +0 -1
  1289. package/web-ui/build/static/fsharp-z5vijz4F.js +0 -2
  1290. package/web-ui/build/static/fsharp-z5vijz4F.js.map +0 -1
  1291. package/web-ui/build/static/ftl-CjBAXEWL.js +0 -2
  1292. package/web-ui/build/static/ftl-CjBAXEWL.js.map +0 -1
  1293. package/web-ui/build/static/gams-BsM75SSp.js +0 -2
  1294. package/web-ui/build/static/gams-BsM75SSp.js.map +0 -1
  1295. package/web-ui/build/static/gap-ZTcmejIP.js +0 -2
  1296. package/web-ui/build/static/gap-ZTcmejIP.js.map +0 -1
  1297. package/web-ui/build/static/gauss-BMJuvjw7.js +0 -2
  1298. package/web-ui/build/static/gauss-BMJuvjw7.js.map +0 -1
  1299. package/web-ui/build/static/gcode-CIcFs_u5.js +0 -2
  1300. package/web-ui/build/static/gcode-CIcFs_u5.js.map +0 -1
  1301. package/web-ui/build/static/gcode-D88o0GPm.js +0 -2
  1302. package/web-ui/build/static/gcode-D88o0GPm.js.map +0 -1
  1303. package/web-ui/build/static/gdscript-fzJaqkh5.js +0 -2
  1304. package/web-ui/build/static/gdscript-fzJaqkh5.js.map +0 -1
  1305. package/web-ui/build/static/gedcom-CBuBjrtk.js +0 -2
  1306. package/web-ui/build/static/gedcom-CBuBjrtk.js.map +0 -1
  1307. package/web-ui/build/static/gherkin-C2hL4TTh.js +0 -2
  1308. package/web-ui/build/static/gherkin-C2hL4TTh.js.map +0 -1
  1309. package/web-ui/build/static/gherkin-DlxAIXy6.js +0 -2
  1310. package/web-ui/build/static/gherkin-DlxAIXy6.js.map +0 -1
  1311. package/web-ui/build/static/git-CV96TF4K.js +0 -2
  1312. package/web-ui/build/static/git-CV96TF4K.js.map +0 -1
  1313. package/web-ui/build/static/glsl-BltXieYW.js +0 -2
  1314. package/web-ui/build/static/glsl-BltXieYW.js.map +0 -1
  1315. package/web-ui/build/static/glsl-nNhozo4g.js +0 -2
  1316. package/web-ui/build/static/glsl-nNhozo4g.js.map +0 -1
  1317. package/web-ui/build/static/gml-B66JSp-3.js +0 -2
  1318. package/web-ui/build/static/gml-B66JSp-3.js.map +0 -1
  1319. package/web-ui/build/static/gml-DWMUzuXl.js +0 -2
  1320. package/web-ui/build/static/gml-DWMUzuXl.js.map +0 -1
  1321. package/web-ui/build/static/gn-N1W-ge1_.js +0 -2
  1322. package/web-ui/build/static/gn-N1W-ge1_.js.map +0 -1
  1323. package/web-ui/build/static/go-D4o690sU.js +0 -2
  1324. package/web-ui/build/static/go-D4o690sU.js.map +0 -1
  1325. package/web-ui/build/static/go-kn5rYBtt.js +0 -2
  1326. package/web-ui/build/static/go-kn5rYBtt.js.map +0 -1
  1327. package/web-ui/build/static/go-module-_W1iQFdn.js +0 -2
  1328. package/web-ui/build/static/go-module-_W1iQFdn.js.map +0 -1
  1329. package/web-ui/build/static/golo-BVoyBzWP.js +0 -2
  1330. package/web-ui/build/static/golo-BVoyBzWP.js.map +0 -1
  1331. package/web-ui/build/static/gradle-whfYK8DO.js +0 -2
  1332. package/web-ui/build/static/gradle-whfYK8DO.js.map +0 -1
  1333. package/web-ui/build/static/graphql-CKvXIdND.js +0 -2
  1334. package/web-ui/build/static/graphql-CKvXIdND.js.map +0 -1
  1335. package/web-ui/build/static/groovy-BsRxjsvH.js +0 -2
  1336. package/web-ui/build/static/groovy-BsRxjsvH.js.map +0 -1
  1337. package/web-ui/build/static/groovy-DkH8TSE1.js +0 -2
  1338. package/web-ui/build/static/groovy-DkH8TSE1.js.map +0 -1
  1339. package/web-ui/build/static/haml-CuKB0vAR.js +0 -2
  1340. package/web-ui/build/static/haml-CuKB0vAR.js.map +0 -1
  1341. package/web-ui/build/static/haml-QfcLet_s.js +0 -2
  1342. package/web-ui/build/static/haml-QfcLet_s.js.map +0 -1
  1343. package/web-ui/build/static/handlebars-CY5nVYGX.js +0 -2
  1344. package/web-ui/build/static/handlebars-CY5nVYGX.js.map +0 -1
  1345. package/web-ui/build/static/handlebars-e_Mh5_el.js +0 -2
  1346. package/web-ui/build/static/handlebars-e_Mh5_el.js.map +0 -1
  1347. package/web-ui/build/static/haskell-D6ps1c-R.js +0 -2
  1348. package/web-ui/build/static/haskell-D6ps1c-R.js.map +0 -1
  1349. package/web-ui/build/static/haskell-DEx0cxVJ.js +0 -2
  1350. package/web-ui/build/static/haskell-DEx0cxVJ.js.map +0 -1
  1351. package/web-ui/build/static/haxe-CkwbqUuZ.js +0 -2
  1352. package/web-ui/build/static/haxe-CkwbqUuZ.js.map +0 -1
  1353. package/web-ui/build/static/haxe-CxfRWWhq.js +0 -2
  1354. package/web-ui/build/static/haxe-CxfRWWhq.js.map +0 -1
  1355. package/web-ui/build/static/hcl-DcbwTsRv.js +0 -2
  1356. package/web-ui/build/static/hcl-DcbwTsRv.js.map +0 -1
  1357. package/web-ui/build/static/hlsl-C1SfhzDE.js +0 -2
  1358. package/web-ui/build/static/hlsl-C1SfhzDE.js.map +0 -1
  1359. package/web-ui/build/static/hoon-CbmHFnKP.js +0 -2
  1360. package/web-ui/build/static/hoon-CbmHFnKP.js.map +0 -1
  1361. package/web-ui/build/static/hpkp-j7cFnmDW.js +0 -2
  1362. package/web-ui/build/static/hpkp-j7cFnmDW.js.map +0 -1
  1363. package/web-ui/build/static/hsp-RT-HCpNq.js +0 -2
  1364. package/web-ui/build/static/hsp-RT-HCpNq.js.map +0 -1
  1365. package/web-ui/build/static/hsts-BjVzpve_.js +0 -2
  1366. package/web-ui/build/static/hsts-BjVzpve_.js.map +0 -1
  1367. package/web-ui/build/static/htmlbars--_7OAeSt.js +0 -2
  1368. package/web-ui/build/static/htmlbars--_7OAeSt.js.map +0 -1
  1369. package/web-ui/build/static/http-DoLz9Pk8.js +0 -2
  1370. package/web-ui/build/static/http-DoLz9Pk8.js.map +0 -1
  1371. package/web-ui/build/static/http-Dqr7Ji-D.js +0 -2
  1372. package/web-ui/build/static/http-Dqr7Ji-D.js.map +0 -1
  1373. package/web-ui/build/static/hy-QicHjYb0.js +0 -2
  1374. package/web-ui/build/static/hy-QicHjYb0.js.map +0 -1
  1375. package/web-ui/build/static/ichigojam-BEJIsr_Z.js +0 -2
  1376. package/web-ui/build/static/ichigojam-BEJIsr_Z.js.map +0 -1
  1377. package/web-ui/build/static/icon-xEX_XLIT.js +0 -2
  1378. package/web-ui/build/static/icon-xEX_XLIT.js.map +0 -1
  1379. package/web-ui/build/static/icu-message-format-C-UlmY9O.js +0 -2
  1380. package/web-ui/build/static/icu-message-format-C-UlmY9O.js.map +0 -1
  1381. package/web-ui/build/static/idris-Cj9P2Aop.js +0 -2
  1382. package/web-ui/build/static/idris-Cj9P2Aop.js.map +0 -1
  1383. package/web-ui/build/static/iecst-BBP9U8bp.js +0 -2
  1384. package/web-ui/build/static/iecst-BBP9U8bp.js.map +0 -1
  1385. package/web-ui/build/static/ignore-Cu0Kcgs1.js +0 -2
  1386. package/web-ui/build/static/ignore-Cu0Kcgs1.js.map +0 -1
  1387. package/web-ui/build/static/index-BHMQAcV2.js +0 -2
  1388. package/web-ui/build/static/index-BHMQAcV2.js.map +0 -1
  1389. package/web-ui/build/static/index-CVDnr_xo.js +0 -14
  1390. package/web-ui/build/static/index-CVDnr_xo.js.map +0 -1
  1391. package/web-ui/build/static/index-ClcLJ2_J.js +0 -1237
  1392. package/web-ui/build/static/index-ClcLJ2_J.js.map +0 -1
  1393. package/web-ui/build/static/index-Dc7XzG09.css +0 -1
  1394. package/web-ui/build/static/inform7-4j82XkeQ.js +0 -2
  1395. package/web-ui/build/static/inform7-4j82XkeQ.js.map +0 -1
  1396. package/web-ui/build/static/inform7-B1uFngz8.js +0 -2
  1397. package/web-ui/build/static/inform7-B1uFngz8.js.map +0 -1
  1398. package/web-ui/build/static/ini-DZVcWUpc.js +0 -2
  1399. package/web-ui/build/static/ini-DZVcWUpc.js.map +0 -1
  1400. package/web-ui/build/static/ini-y53RRk59.js +0 -2
  1401. package/web-ui/build/static/ini-y53RRk59.js.map +0 -1
  1402. package/web-ui/build/static/io-CbHJzbIv.js +0 -2
  1403. package/web-ui/build/static/io-CbHJzbIv.js.map +0 -1
  1404. package/web-ui/build/static/irpf90-DDfH-RBm.js +0 -2
  1405. package/web-ui/build/static/irpf90-DDfH-RBm.js.map +0 -1
  1406. package/web-ui/build/static/isbl-Bf3VTXOw.js +0 -2
  1407. package/web-ui/build/static/isbl-Bf3VTXOw.js.map +0 -1
  1408. package/web-ui/build/static/j-CGWYy2Vf.js +0 -2
  1409. package/web-ui/build/static/j-CGWYy2Vf.js.map +0 -1
  1410. package/web-ui/build/static/java-BPteeSaj.js +0 -2
  1411. package/web-ui/build/static/java-BPteeSaj.js.map +0 -1
  1412. package/web-ui/build/static/java-C3fzftmK.js +0 -2
  1413. package/web-ui/build/static/java-C3fzftmK.js.map +0 -1
  1414. package/web-ui/build/static/javadoc--RgQlrG7.js +0 -2
  1415. package/web-ui/build/static/javadoc--RgQlrG7.js.map +0 -1
  1416. package/web-ui/build/static/javadoclike-CAQVkHyg.js +0 -2
  1417. package/web-ui/build/static/javadoclike-CAQVkHyg.js.map +0 -1
  1418. package/web-ui/build/static/javascript-DwdsKsa_.js +0 -2
  1419. package/web-ui/build/static/javascript-DwdsKsa_.js.map +0 -1
  1420. package/web-ui/build/static/javascript-ytuRAqIs.js +0 -2
  1421. package/web-ui/build/static/javascript-ytuRAqIs.js.map +0 -1
  1422. package/web-ui/build/static/javastacktrace-Bp3HQUyp.js +0 -2
  1423. package/web-ui/build/static/javastacktrace-Bp3HQUyp.js.map +0 -1
  1424. package/web-ui/build/static/jboss-cli-kD6k8uhG.js +0 -2
  1425. package/web-ui/build/static/jboss-cli-kD6k8uhG.js.map +0 -1
  1426. package/web-ui/build/static/jexl-FRT5uVWt.js +0 -2
  1427. package/web-ui/build/static/jexl-FRT5uVWt.js.map +0 -1
  1428. package/web-ui/build/static/jolie-Cs_gZNLl.js +0 -2
  1429. package/web-ui/build/static/jolie-Cs_gZNLl.js.map +0 -1
  1430. package/web-ui/build/static/jq-c2y0ZBBB.js +0 -2
  1431. package/web-ui/build/static/jq-c2y0ZBBB.js.map +0 -1
  1432. package/web-ui/build/static/js-extras-PzcNCbC_.js +0 -2
  1433. package/web-ui/build/static/js-extras-PzcNCbC_.js.map +0 -1
  1434. package/web-ui/build/static/js-templates-DsObPicH.js +0 -2
  1435. package/web-ui/build/static/js-templates-DsObPicH.js.map +0 -1
  1436. package/web-ui/build/static/jsdoc-D0IDG4ZK.js +0 -2
  1437. package/web-ui/build/static/jsdoc-D0IDG4ZK.js.map +0 -1
  1438. package/web-ui/build/static/json-BP6yjU-m.js +0 -2
  1439. package/web-ui/build/static/json-BP6yjU-m.js.map +0 -1
  1440. package/web-ui/build/static/json-BrKEgjty.js +0 -2
  1441. package/web-ui/build/static/json-BrKEgjty.js.map +0 -1
  1442. package/web-ui/build/static/json5-BVzxbELL.js +0 -2
  1443. package/web-ui/build/static/json5-BVzxbELL.js.map +0 -1
  1444. package/web-ui/build/static/jsonp-TafwNSuu.js +0 -2
  1445. package/web-ui/build/static/jsonp-TafwNSuu.js.map +0 -1
  1446. package/web-ui/build/static/jsstacktrace-Y2EoWSFK.js +0 -2
  1447. package/web-ui/build/static/jsstacktrace-Y2EoWSFK.js.map +0 -1
  1448. package/web-ui/build/static/jsx-BLG534ST.js +0 -2
  1449. package/web-ui/build/static/jsx-BLG534ST.js.map +0 -1
  1450. package/web-ui/build/static/julia-DUOcPawH.js +0 -2
  1451. package/web-ui/build/static/julia-DUOcPawH.js.map +0 -1
  1452. package/web-ui/build/static/julia-Drbp9sTS.js +0 -2
  1453. package/web-ui/build/static/julia-Drbp9sTS.js.map +0 -1
  1454. package/web-ui/build/static/julia-repl-DCZcN63m.js +0 -2
  1455. package/web-ui/build/static/julia-repl-DCZcN63m.js.map +0 -1
  1456. package/web-ui/build/static/keepalived-BxzY6TYR.js +0 -2
  1457. package/web-ui/build/static/keepalived-BxzY6TYR.js.map +0 -1
  1458. package/web-ui/build/static/keyman-VhT31Y02.js +0 -2
  1459. package/web-ui/build/static/keyman-VhT31Y02.js.map +0 -1
  1460. package/web-ui/build/static/kotlin-CTGH-dM1.js +0 -2
  1461. package/web-ui/build/static/kotlin-CTGH-dM1.js.map +0 -1
  1462. package/web-ui/build/static/kotlin-D2gugIHV.js +0 -2
  1463. package/web-ui/build/static/kotlin-D2gugIHV.js.map +0 -1
  1464. package/web-ui/build/static/kumir-CG5X4bfu.js +0 -2
  1465. package/web-ui/build/static/kumir-CG5X4bfu.js.map +0 -1
  1466. package/web-ui/build/static/kusto-tWpO9tDy.js +0 -2
  1467. package/web-ui/build/static/kusto-tWpO9tDy.js.map +0 -1
  1468. package/web-ui/build/static/lasso-vaxNjZNB.js +0 -2
  1469. package/web-ui/build/static/lasso-vaxNjZNB.js.map +0 -1
  1470. package/web-ui/build/static/latex-BEW74dsv.js +0 -2
  1471. package/web-ui/build/static/latex-BEW74dsv.js.map +0 -1
  1472. package/web-ui/build/static/latex-hyVdLWMi.js +0 -2
  1473. package/web-ui/build/static/latex-hyVdLWMi.js.map +0 -1
  1474. package/web-ui/build/static/latte-BqUssf9p.js +0 -2
  1475. package/web-ui/build/static/latte-BqUssf9p.js.map +0 -1
  1476. package/web-ui/build/static/ldif-bW_bMeUV.js +0 -2
  1477. package/web-ui/build/static/ldif-bW_bMeUV.js.map +0 -1
  1478. package/web-ui/build/static/leaf-MaN6nRDs.js +0 -2
  1479. package/web-ui/build/static/leaf-MaN6nRDs.js.map +0 -1
  1480. package/web-ui/build/static/less-BE_23GiU.js +0 -2
  1481. package/web-ui/build/static/less-BE_23GiU.js.map +0 -1
  1482. package/web-ui/build/static/less-D2vy_5ce.js +0 -2
  1483. package/web-ui/build/static/less-D2vy_5ce.js.map +0 -1
  1484. package/web-ui/build/static/lilypond-DsmtQF-B.js +0 -2
  1485. package/web-ui/build/static/lilypond-DsmtQF-B.js.map +0 -1
  1486. package/web-ui/build/static/liquid-UIkmcuYo.js +0 -2
  1487. package/web-ui/build/static/liquid-UIkmcuYo.js.map +0 -1
  1488. package/web-ui/build/static/lisp-BZUBiQlf.js +0 -2
  1489. package/web-ui/build/static/lisp-BZUBiQlf.js.map +0 -1
  1490. package/web-ui/build/static/lisp-CK0S2cfW.js +0 -2
  1491. package/web-ui/build/static/lisp-CK0S2cfW.js.map +0 -1
  1492. package/web-ui/build/static/livecodeserver-CP2R-4T2.js +0 -2
  1493. package/web-ui/build/static/livecodeserver-CP2R-4T2.js.map +0 -1
  1494. package/web-ui/build/static/livescript-CL4wIgPQ.js +0 -2
  1495. package/web-ui/build/static/livescript-CL4wIgPQ.js.map +0 -1
  1496. package/web-ui/build/static/livescript-CqrcDvUR.js +0 -2
  1497. package/web-ui/build/static/livescript-CqrcDvUR.js.map +0 -1
  1498. package/web-ui/build/static/llvm-CFmvjrni.js +0 -2
  1499. package/web-ui/build/static/llvm-CFmvjrni.js.map +0 -1
  1500. package/web-ui/build/static/llvm-dLVzCvnX.js +0 -2
  1501. package/web-ui/build/static/llvm-dLVzCvnX.js.map +0 -1
  1502. package/web-ui/build/static/log-CyFdteAn.js +0 -2
  1503. package/web-ui/build/static/log-CyFdteAn.js.map +0 -1
  1504. package/web-ui/build/static/lolcode-BklGdR_u.js +0 -2
  1505. package/web-ui/build/static/lolcode-BklGdR_u.js.map +0 -1
  1506. package/web-ui/build/static/lsl-CdQYVKS6.js +0 -2
  1507. package/web-ui/build/static/lsl-CdQYVKS6.js.map +0 -1
  1508. package/web-ui/build/static/lua-C3o0FPO9.js +0 -2
  1509. package/web-ui/build/static/lua-C3o0FPO9.js.map +0 -1
  1510. package/web-ui/build/static/lua-D5Uol3rD.js +0 -2
  1511. package/web-ui/build/static/lua-D5Uol3rD.js.map +0 -1
  1512. package/web-ui/build/static/magma-Ba7HOCdR.js +0 -2
  1513. package/web-ui/build/static/magma-Ba7HOCdR.js.map +0 -1
  1514. package/web-ui/build/static/makefile-bLWkuLhb.js +0 -2
  1515. package/web-ui/build/static/makefile-bLWkuLhb.js.map +0 -1
  1516. package/web-ui/build/static/makefile-gODlaynT.js +0 -2
  1517. package/web-ui/build/static/makefile-gODlaynT.js.map +0 -1
  1518. package/web-ui/build/static/markdown-Cg5YbPFY.js +0 -2
  1519. package/web-ui/build/static/markdown-Cg5YbPFY.js.map +0 -1
  1520. package/web-ui/build/static/markdown-CwFQnpc5.js +0 -2
  1521. package/web-ui/build/static/markdown-CwFQnpc5.js.map +0 -1
  1522. package/web-ui/build/static/markup-Bh4rPwoF.js +0 -2
  1523. package/web-ui/build/static/markup-Bh4rPwoF.js.map +0 -1
  1524. package/web-ui/build/static/markup-templating-DBdA2pQ-.js +0 -2
  1525. package/web-ui/build/static/markup-templating-DBdA2pQ-.js.map +0 -1
  1526. package/web-ui/build/static/mathematica-C0uT97gW.js +0 -2
  1527. package/web-ui/build/static/mathematica-C0uT97gW.js.map +0 -1
  1528. package/web-ui/build/static/matlab-Bhwuyeli.js +0 -2
  1529. package/web-ui/build/static/matlab-Bhwuyeli.js.map +0 -1
  1530. package/web-ui/build/static/matlab-DLw9ueAc.js +0 -2
  1531. package/web-ui/build/static/matlab-DLw9ueAc.js.map +0 -1
  1532. package/web-ui/build/static/maxima-B8DljU5H.js +0 -2
  1533. package/web-ui/build/static/maxima-B8DljU5H.js.map +0 -1
  1534. package/web-ui/build/static/maxscript-g_gaMtmV.js +0 -2
  1535. package/web-ui/build/static/maxscript-g_gaMtmV.js.map +0 -1
  1536. package/web-ui/build/static/mel-CfVQggBB.js +0 -2
  1537. package/web-ui/build/static/mel-CfVQggBB.js.map +0 -1
  1538. package/web-ui/build/static/mel-DY3cdbQi.js +0 -2
  1539. package/web-ui/build/static/mel-DY3cdbQi.js.map +0 -1
  1540. package/web-ui/build/static/mercury-QMKJsOLz.js +0 -2
  1541. package/web-ui/build/static/mercury-QMKJsOLz.js.map +0 -1
  1542. package/web-ui/build/static/mermaid-DKxNOrjN.js +0 -2
  1543. package/web-ui/build/static/mermaid-DKxNOrjN.js.map +0 -1
  1544. package/web-ui/build/static/mipsasm-B8zWpc47.js +0 -2
  1545. package/web-ui/build/static/mipsasm-B8zWpc47.js.map +0 -1
  1546. package/web-ui/build/static/mizar-Ck7tzbQm.js +0 -2
  1547. package/web-ui/build/static/mizar-Ck7tzbQm.js.map +0 -1
  1548. package/web-ui/build/static/mizar-oerGI3kg.js +0 -2
  1549. package/web-ui/build/static/mizar-oerGI3kg.js.map +0 -1
  1550. package/web-ui/build/static/mojolicious-MlbeBczS.js +0 -2
  1551. package/web-ui/build/static/mojolicious-MlbeBczS.js.map +0 -1
  1552. package/web-ui/build/static/mongodb-Cx9YgX8D.js +0 -2
  1553. package/web-ui/build/static/mongodb-Cx9YgX8D.js.map +0 -1
  1554. package/web-ui/build/static/monkey-COlUbh56.js +0 -2
  1555. package/web-ui/build/static/monkey-COlUbh56.js.map +0 -1
  1556. package/web-ui/build/static/monkey-CUhbRmbV.js +0 -2
  1557. package/web-ui/build/static/monkey-CUhbRmbV.js.map +0 -1
  1558. package/web-ui/build/static/moonscript-BJgtoJow.js +0 -2
  1559. package/web-ui/build/static/moonscript-BJgtoJow.js.map +0 -1
  1560. package/web-ui/build/static/moonscript-CUlTR7rh.js +0 -2
  1561. package/web-ui/build/static/moonscript-CUlTR7rh.js.map +0 -1
  1562. package/web-ui/build/static/n1ql-B2hrOm-B.js +0 -2
  1563. package/web-ui/build/static/n1ql-B2hrOm-B.js.map +0 -1
  1564. package/web-ui/build/static/n1ql-DvmkMU_A.js +0 -2
  1565. package/web-ui/build/static/n1ql-DvmkMU_A.js.map +0 -1
  1566. package/web-ui/build/static/n4js-CKxBpRWt.js +0 -2
  1567. package/web-ui/build/static/n4js-CKxBpRWt.js.map +0 -1
  1568. package/web-ui/build/static/nand2tetris-hdl-DBMpE93F.js +0 -2
  1569. package/web-ui/build/static/nand2tetris-hdl-DBMpE93F.js.map +0 -1
  1570. package/web-ui/build/static/naniscript-CtevBkcX.js +0 -2
  1571. package/web-ui/build/static/naniscript-CtevBkcX.js.map +0 -1
  1572. package/web-ui/build/static/nasm-DlhEVDk4.js +0 -2
  1573. package/web-ui/build/static/nasm-DlhEVDk4.js.map +0 -1
  1574. package/web-ui/build/static/neon-C1cmdzQ7.js +0 -2
  1575. package/web-ui/build/static/neon-C1cmdzQ7.js.map +0 -1
  1576. package/web-ui/build/static/nevod-dgqbEcTa.js +0 -2
  1577. package/web-ui/build/static/nevod-dgqbEcTa.js.map +0 -1
  1578. package/web-ui/build/static/nginx-D97dKf5M.js +0 -2
  1579. package/web-ui/build/static/nginx-D97dKf5M.js.map +0 -1
  1580. package/web-ui/build/static/nginx-DQn56Nat.js +0 -2
  1581. package/web-ui/build/static/nginx-DQn56Nat.js.map +0 -1
  1582. package/web-ui/build/static/nim-5m2GuMSS.js +0 -2
  1583. package/web-ui/build/static/nim-5m2GuMSS.js.map +0 -1
  1584. package/web-ui/build/static/nim-Bbyj2OHB.js +0 -2
  1585. package/web-ui/build/static/nim-Bbyj2OHB.js.map +0 -1
  1586. package/web-ui/build/static/nix-fkWKc0tU.js +0 -2
  1587. package/web-ui/build/static/nix-fkWKc0tU.js.map +0 -1
  1588. package/web-ui/build/static/nix-pKx8hfGt.js +0 -2
  1589. package/web-ui/build/static/nix-pKx8hfGt.js.map +0 -1
  1590. package/web-ui/build/static/node-repl-Dgut3ERf.js +0 -2
  1591. package/web-ui/build/static/node-repl-Dgut3ERf.js.map +0 -1
  1592. package/web-ui/build/static/nsis-Bp2rflkW.js +0 -2
  1593. package/web-ui/build/static/nsis-Bp2rflkW.js.map +0 -1
  1594. package/web-ui/build/static/nsis-tn104hXr.js +0 -2
  1595. package/web-ui/build/static/nsis-tn104hXr.js.map +0 -1
  1596. package/web-ui/build/static/objectivec-CJPpf3kd.js +0 -2
  1597. package/web-ui/build/static/objectivec-CJPpf3kd.js.map +0 -1
  1598. package/web-ui/build/static/objectivec-DnAZa1rv.js +0 -2
  1599. package/web-ui/build/static/objectivec-DnAZa1rv.js.map +0 -1
  1600. package/web-ui/build/static/ocaml-CZz3i9EB.js +0 -2
  1601. package/web-ui/build/static/ocaml-CZz3i9EB.js.map +0 -1
  1602. package/web-ui/build/static/ocaml-yN_PYkXl.js +0 -2
  1603. package/web-ui/build/static/ocaml-yN_PYkXl.js.map +0 -1
  1604. package/web-ui/build/static/opencl-CapeXxSJ.js +0 -2
  1605. package/web-ui/build/static/opencl-CapeXxSJ.js.map +0 -1
  1606. package/web-ui/build/static/openqasm-aED1A6xF.js +0 -2
  1607. package/web-ui/build/static/openqasm-aED1A6xF.js.map +0 -1
  1608. package/web-ui/build/static/openscad-DdgNB5Dd.js +0 -2
  1609. package/web-ui/build/static/openscad-DdgNB5Dd.js.map +0 -1
  1610. package/web-ui/build/static/oxygene-BclunzrN.js +0 -2
  1611. package/web-ui/build/static/oxygene-BclunzrN.js.map +0 -1
  1612. package/web-ui/build/static/oz-DMavFbqw.js +0 -2
  1613. package/web-ui/build/static/oz-DMavFbqw.js.map +0 -1
  1614. package/web-ui/build/static/parigp-SI8cSF8o.js +0 -2
  1615. package/web-ui/build/static/parigp-SI8cSF8o.js.map +0 -1
  1616. package/web-ui/build/static/parser-pN0_g7UE.js +0 -2
  1617. package/web-ui/build/static/parser-pN0_g7UE.js.map +0 -1
  1618. package/web-ui/build/static/parser3-DRSPoR0d.js +0 -2
  1619. package/web-ui/build/static/parser3-DRSPoR0d.js.map +0 -1
  1620. package/web-ui/build/static/pascal-CzIwspSP.js +0 -2
  1621. package/web-ui/build/static/pascal-CzIwspSP.js.map +0 -1
  1622. package/web-ui/build/static/pascaligo-B0-tsCHJ.js +0 -2
  1623. package/web-ui/build/static/pascaligo-B0-tsCHJ.js.map +0 -1
  1624. package/web-ui/build/static/pcaxis-D1kwKUAL.js +0 -2
  1625. package/web-ui/build/static/pcaxis-D1kwKUAL.js.map +0 -1
  1626. package/web-ui/build/static/peoplecode-C8XuYU_O.js +0 -2
  1627. package/web-ui/build/static/peoplecode-C8XuYU_O.js.map +0 -1
  1628. package/web-ui/build/static/perl-Ca2FDxCS.js +0 -2
  1629. package/web-ui/build/static/perl-Ca2FDxCS.js.map +0 -1
  1630. package/web-ui/build/static/perl-KR25WPfJ.js +0 -2
  1631. package/web-ui/build/static/perl-KR25WPfJ.js.map +0 -1
  1632. package/web-ui/build/static/pf-Bx1uwoaw.js +0 -2
  1633. package/web-ui/build/static/pf-Bx1uwoaw.js.map +0 -1
  1634. package/web-ui/build/static/pgsql-CVaF77hw.js +0 -2
  1635. package/web-ui/build/static/pgsql-CVaF77hw.js.map +0 -1
  1636. package/web-ui/build/static/php-Blx0YiWi.js +0 -2
  1637. package/web-ui/build/static/php-Blx0YiWi.js.map +0 -1
  1638. package/web-ui/build/static/php-BncT2Zz9.js +0 -2
  1639. package/web-ui/build/static/php-BncT2Zz9.js.map +0 -1
  1640. package/web-ui/build/static/php-extras-D6lfFhFv.js +0 -2
  1641. package/web-ui/build/static/php-extras-D6lfFhFv.js.map +0 -1
  1642. package/web-ui/build/static/php-template-CFLIm9z9.js +0 -2
  1643. package/web-ui/build/static/php-template-CFLIm9z9.js.map +0 -1
  1644. package/web-ui/build/static/phpdoc-BJ4GsuFg.js +0 -2
  1645. package/web-ui/build/static/phpdoc-BJ4GsuFg.js.map +0 -1
  1646. package/web-ui/build/static/plaintext-Bb-0Il1J.js +0 -2
  1647. package/web-ui/build/static/plaintext-Bb-0Il1J.js.map +0 -1
  1648. package/web-ui/build/static/plsql-BsXYTQka.js +0 -2
  1649. package/web-ui/build/static/plsql-BsXYTQka.js.map +0 -1
  1650. package/web-ui/build/static/pony-AgPTXht6.js +0 -2
  1651. package/web-ui/build/static/pony-AgPTXht6.js.map +0 -1
  1652. package/web-ui/build/static/powerquery-BLdDcLiC.js +0 -2
  1653. package/web-ui/build/static/powerquery-BLdDcLiC.js.map +0 -1
  1654. package/web-ui/build/static/powershell-BlpdkHw6.js +0 -2
  1655. package/web-ui/build/static/powershell-BlpdkHw6.js.map +0 -1
  1656. package/web-ui/build/static/powershell-DTmFM6fi.js +0 -2
  1657. package/web-ui/build/static/powershell-DTmFM6fi.js.map +0 -1
  1658. package/web-ui/build/static/processing-COTmOJVu.js +0 -2
  1659. package/web-ui/build/static/processing-COTmOJVu.js.map +0 -1
  1660. package/web-ui/build/static/processing-o1IuAuSS.js +0 -2
  1661. package/web-ui/build/static/processing-o1IuAuSS.js.map +0 -1
  1662. package/web-ui/build/static/profile-xtxHa-Up.js +0 -2
  1663. package/web-ui/build/static/profile-xtxHa-Up.js.map +0 -1
  1664. package/web-ui/build/static/prolog-B-c1eAWA.js +0 -2
  1665. package/web-ui/build/static/prolog-B-c1eAWA.js.map +0 -1
  1666. package/web-ui/build/static/prolog-DbZCUyV7.js +0 -2
  1667. package/web-ui/build/static/prolog-DbZCUyV7.js.map +0 -1
  1668. package/web-ui/build/static/promql-CgnPH9yj.js +0 -2
  1669. package/web-ui/build/static/promql-CgnPH9yj.js.map +0 -1
  1670. package/web-ui/build/static/properties-CKnFby_U.js +0 -2
  1671. package/web-ui/build/static/properties-CKnFby_U.js.map +0 -1
  1672. package/web-ui/build/static/properties-Dd7EH8Ku.js +0 -2
  1673. package/web-ui/build/static/properties-Dd7EH8Ku.js.map +0 -1
  1674. package/web-ui/build/static/protobuf-B-_F7v12.js +0 -2
  1675. package/web-ui/build/static/protobuf-B-_F7v12.js.map +0 -1
  1676. package/web-ui/build/static/protobuf-CcW5SlZb.js +0 -2
  1677. package/web-ui/build/static/protobuf-CcW5SlZb.js.map +0 -1
  1678. package/web-ui/build/static/psl-DIKicPGo.js +0 -2
  1679. package/web-ui/build/static/psl-DIKicPGo.js.map +0 -1
  1680. package/web-ui/build/static/pug-DPy5FgBG.js +0 -2
  1681. package/web-ui/build/static/pug-DPy5FgBG.js.map +0 -1
  1682. package/web-ui/build/static/puppet-CO8XUhcc.js +0 -2
  1683. package/web-ui/build/static/puppet-CO8XUhcc.js.map +0 -1
  1684. package/web-ui/build/static/puppet-D-9m8ldY.js +0 -2
  1685. package/web-ui/build/static/puppet-D-9m8ldY.js.map +0 -1
  1686. package/web-ui/build/static/pure-DVUfyF_2.js +0 -2
  1687. package/web-ui/build/static/pure-DVUfyF_2.js.map +0 -1
  1688. package/web-ui/build/static/purebasic-C6kq7P4r.js +0 -2
  1689. package/web-ui/build/static/purebasic-C6kq7P4r.js.map +0 -1
  1690. package/web-ui/build/static/purebasic-D_UdSQjW.js +0 -2
  1691. package/web-ui/build/static/purebasic-D_UdSQjW.js.map +0 -1
  1692. package/web-ui/build/static/purescript-B_Fjig8A.js +0 -2
  1693. package/web-ui/build/static/purescript-B_Fjig8A.js.map +0 -1
  1694. package/web-ui/build/static/python-CIzUlHLt.js +0 -2
  1695. package/web-ui/build/static/python-CIzUlHLt.js.map +0 -1
  1696. package/web-ui/build/static/python-VX5rTaVs.js +0 -2
  1697. package/web-ui/build/static/python-VX5rTaVs.js.map +0 -1
  1698. package/web-ui/build/static/python-repl--mNQPseb.js +0 -2
  1699. package/web-ui/build/static/python-repl--mNQPseb.js.map +0 -1
  1700. package/web-ui/build/static/q-D2ouIXTV.js +0 -2
  1701. package/web-ui/build/static/q-D2ouIXTV.js.map +0 -1
  1702. package/web-ui/build/static/q-DK-O5ZIG.js +0 -2
  1703. package/web-ui/build/static/q-DK-O5ZIG.js.map +0 -1
  1704. package/web-ui/build/static/qml-4kVMsyFK.js +0 -2
  1705. package/web-ui/build/static/qml-4kVMsyFK.js.map +0 -1
  1706. package/web-ui/build/static/qml-DrPhJSIm.js +0 -2
  1707. package/web-ui/build/static/qml-DrPhJSIm.js.map +0 -1
  1708. package/web-ui/build/static/qore-DfWU-1-k.js +0 -2
  1709. package/web-ui/build/static/qore-DfWU-1-k.js.map +0 -1
  1710. package/web-ui/build/static/qsharp-DcM_GRYK.js +0 -2
  1711. package/web-ui/build/static/qsharp-DcM_GRYK.js.map +0 -1
  1712. package/web-ui/build/static/r-DNtDT6aX.js +0 -2
  1713. package/web-ui/build/static/r-DNtDT6aX.js.map +0 -1
  1714. package/web-ui/build/static/r-dwYzD1L9.js +0 -2
  1715. package/web-ui/build/static/r-dwYzD1L9.js.map +0 -1
  1716. package/web-ui/build/static/racket-Df84j74i.js +0 -2
  1717. package/web-ui/build/static/racket-Df84j74i.js.map +0 -1
  1718. package/web-ui/build/static/reason-CN4Oo0e6.js +0 -2
  1719. package/web-ui/build/static/reason-CN4Oo0e6.js.map +0 -1
  1720. package/web-ui/build/static/reasonml-DfnyPdtk.js +0 -2
  1721. package/web-ui/build/static/reasonml-DfnyPdtk.js.map +0 -1
  1722. package/web-ui/build/static/regex-Dwf2vk_x.js +0 -2
  1723. package/web-ui/build/static/regex-Dwf2vk_x.js.map +0 -1
  1724. package/web-ui/build/static/rego-DKsrRaLm.js +0 -2
  1725. package/web-ui/build/static/rego-DKsrRaLm.js.map +0 -1
  1726. package/web-ui/build/static/renpy-CwbXL3ll.js +0 -2
  1727. package/web-ui/build/static/renpy-CwbXL3ll.js.map +0 -1
  1728. package/web-ui/build/static/rest-C8fnirwj.js +0 -2
  1729. package/web-ui/build/static/rest-C8fnirwj.js.map +0 -1
  1730. package/web-ui/build/static/rib-CoubKiCe.js +0 -2
  1731. package/web-ui/build/static/rib-CoubKiCe.js.map +0 -1
  1732. package/web-ui/build/static/rip-CFcKHWOI.js +0 -2
  1733. package/web-ui/build/static/rip-CFcKHWOI.js.map +0 -1
  1734. package/web-ui/build/static/roboconf-CsXzxEf0.js +0 -2
  1735. package/web-ui/build/static/roboconf-CsXzxEf0.js.map +0 -1
  1736. package/web-ui/build/static/roboconf-CznEW0IS.js +0 -2
  1737. package/web-ui/build/static/roboconf-CznEW0IS.js.map +0 -1
  1738. package/web-ui/build/static/robotframework-G2SO947n.js +0 -2
  1739. package/web-ui/build/static/robotframework-G2SO947n.js.map +0 -1
  1740. package/web-ui/build/static/routeros-BetZLoWk.js +0 -2
  1741. package/web-ui/build/static/routeros-BetZLoWk.js.map +0 -1
  1742. package/web-ui/build/static/rsl-D6aqK1xR.js +0 -2
  1743. package/web-ui/build/static/rsl-D6aqK1xR.js.map +0 -1
  1744. package/web-ui/build/static/ruby-B3rtMcxn.js +0 -2
  1745. package/web-ui/build/static/ruby-B3rtMcxn.js.map +0 -1
  1746. package/web-ui/build/static/ruby-BYqglBLE.js +0 -2
  1747. package/web-ui/build/static/ruby-BYqglBLE.js.map +0 -1
  1748. package/web-ui/build/static/ruleslanguage-BAHKvB94.js +0 -2
  1749. package/web-ui/build/static/ruleslanguage-BAHKvB94.js.map +0 -1
  1750. package/web-ui/build/static/rust-BlWuNAp3.js +0 -2
  1751. package/web-ui/build/static/rust-BlWuNAp3.js.map +0 -1
  1752. package/web-ui/build/static/rust-bKrIjHnj.js +0 -2
  1753. package/web-ui/build/static/rust-bKrIjHnj.js.map +0 -1
  1754. package/web-ui/build/static/sas-BgygXlqP.js +0 -2
  1755. package/web-ui/build/static/sas-BgygXlqP.js.map +0 -1
  1756. package/web-ui/build/static/sas-Dgl5gez5.js +0 -2
  1757. package/web-ui/build/static/sas-Dgl5gez5.js.map +0 -1
  1758. package/web-ui/build/static/sass-DcGTLm5M.js +0 -2
  1759. package/web-ui/build/static/sass-DcGTLm5M.js.map +0 -1
  1760. package/web-ui/build/static/scala-CHQyIgY9.js +0 -2
  1761. package/web-ui/build/static/scala-CHQyIgY9.js.map +0 -1
  1762. package/web-ui/build/static/scala-D4yMIuvM.js +0 -2
  1763. package/web-ui/build/static/scala-D4yMIuvM.js.map +0 -1
  1764. package/web-ui/build/static/scheme-DyscENY0.js +0 -2
  1765. package/web-ui/build/static/scheme-DyscENY0.js.map +0 -1
  1766. package/web-ui/build/static/scheme-kby1HJxJ.js +0 -2
  1767. package/web-ui/build/static/scheme-kby1HJxJ.js.map +0 -1
  1768. package/web-ui/build/static/scilab-DA1ZiDIv.js +0 -2
  1769. package/web-ui/build/static/scilab-DA1ZiDIv.js.map +0 -1
  1770. package/web-ui/build/static/scss-BZjFVzSt.js +0 -2
  1771. package/web-ui/build/static/scss-BZjFVzSt.js.map +0 -1
  1772. package/web-ui/build/static/scss-DuedndOH.js +0 -2
  1773. package/web-ui/build/static/scss-DuedndOH.js.map +0 -1
  1774. package/web-ui/build/static/shell-BJeROUFU.js +0 -2
  1775. package/web-ui/build/static/shell-BJeROUFU.js.map +0 -1
  1776. package/web-ui/build/static/shell-session-BlxhqJSB.js +0 -2
  1777. package/web-ui/build/static/shell-session-BlxhqJSB.js.map +0 -1
  1778. package/web-ui/build/static/smali-DvdZkAJm.js +0 -2
  1779. package/web-ui/build/static/smali-DvdZkAJm.js.map +0 -1
  1780. package/web-ui/build/static/smali-r27CmYFc.js +0 -2
  1781. package/web-ui/build/static/smali-r27CmYFc.js.map +0 -1
  1782. package/web-ui/build/static/smalltalk-B0RRdtPe.js +0 -2
  1783. package/web-ui/build/static/smalltalk-B0RRdtPe.js.map +0 -1
  1784. package/web-ui/build/static/smalltalk-D82eQw7I.js +0 -2
  1785. package/web-ui/build/static/smalltalk-D82eQw7I.js.map +0 -1
  1786. package/web-ui/build/static/smarty-C4I_cvUR.js +0 -2
  1787. package/web-ui/build/static/smarty-C4I_cvUR.js.map +0 -1
  1788. package/web-ui/build/static/sml-D2Nfmg_6.js +0 -2
  1789. package/web-ui/build/static/sml-D2Nfmg_6.js.map +0 -1
  1790. package/web-ui/build/static/sml-DYOA2vUN.js +0 -2
  1791. package/web-ui/build/static/sml-DYOA2vUN.js.map +0 -1
  1792. package/web-ui/build/static/solidity-B-Xcx_MF.js +0 -2
  1793. package/web-ui/build/static/solidity-B-Xcx_MF.js.map +0 -1
  1794. package/web-ui/build/static/solution-file-Ce5YrgXb.js +0 -2
  1795. package/web-ui/build/static/solution-file-Ce5YrgXb.js.map +0 -1
  1796. package/web-ui/build/static/soy-BUZbhpt5.js +0 -2
  1797. package/web-ui/build/static/soy-BUZbhpt5.js.map +0 -1
  1798. package/web-ui/build/static/sparql-sAp9ai5y.js +0 -2
  1799. package/web-ui/build/static/sparql-sAp9ai5y.js.map +0 -1
  1800. package/web-ui/build/static/splunk-spl-CLS1A2J4.js +0 -2
  1801. package/web-ui/build/static/splunk-spl-CLS1A2J4.js.map +0 -1
  1802. package/web-ui/build/static/sqf-DHTUbNlx.js +0 -2
  1803. package/web-ui/build/static/sqf-DHTUbNlx.js.map +0 -1
  1804. package/web-ui/build/static/sqf-DZBxBgOh.js +0 -2
  1805. package/web-ui/build/static/sqf-DZBxBgOh.js.map +0 -1
  1806. package/web-ui/build/static/sql-CV7wELE7.js +0 -2
  1807. package/web-ui/build/static/sql-CV7wELE7.js.map +0 -1
  1808. package/web-ui/build/static/sql-D0xXAIEP.js +0 -2
  1809. package/web-ui/build/static/sql-D0xXAIEP.js.map +0 -1
  1810. package/web-ui/build/static/sql_more-BNWiWg5y.js +0 -2
  1811. package/web-ui/build/static/sql_more-BNWiWg5y.js.map +0 -1
  1812. package/web-ui/build/static/squirrel-CUcEAmX-.js +0 -2
  1813. package/web-ui/build/static/squirrel-CUcEAmX-.js.map +0 -1
  1814. package/web-ui/build/static/stan-DizpP3cm.js +0 -2
  1815. package/web-ui/build/static/stan-DizpP3cm.js.map +0 -1
  1816. package/web-ui/build/static/stan-I_fkJJoh.js +0 -2
  1817. package/web-ui/build/static/stan-I_fkJJoh.js.map +0 -1
  1818. package/web-ui/build/static/stata-Csa4nKie.js +0 -2
  1819. package/web-ui/build/static/stata-Csa4nKie.js.map +0 -1
  1820. package/web-ui/build/static/step21-C44HwHl-.js +0 -2
  1821. package/web-ui/build/static/step21-C44HwHl-.js.map +0 -1
  1822. package/web-ui/build/static/stylus-3b5m0Cir.js +0 -2
  1823. package/web-ui/build/static/stylus-3b5m0Cir.js.map +0 -1
  1824. package/web-ui/build/static/stylus-8hUNgNgp.js +0 -2
  1825. package/web-ui/build/static/stylus-8hUNgNgp.js.map +0 -1
  1826. package/web-ui/build/static/subunit-C1D3XSRf.js +0 -2
  1827. package/web-ui/build/static/subunit-C1D3XSRf.js.map +0 -1
  1828. package/web-ui/build/static/swift-CNWTU_F-.js +0 -2
  1829. package/web-ui/build/static/swift-CNWTU_F-.js.map +0 -1
  1830. package/web-ui/build/static/swift-CUHVKPEa.js +0 -2
  1831. package/web-ui/build/static/swift-CUHVKPEa.js.map +0 -1
  1832. package/web-ui/build/static/systemd-DDRNHvgX.js +0 -2
  1833. package/web-ui/build/static/systemd-DDRNHvgX.js.map +0 -1
  1834. package/web-ui/build/static/t4-cs-MV4OZ1n5.js +0 -2
  1835. package/web-ui/build/static/t4-cs-MV4OZ1n5.js.map +0 -1
  1836. package/web-ui/build/static/t4-templating-CTZifPR2.js +0 -2
  1837. package/web-ui/build/static/t4-templating-CTZifPR2.js.map +0 -1
  1838. package/web-ui/build/static/t4-vb-UUs-rMbd.js +0 -2
  1839. package/web-ui/build/static/t4-vb-UUs-rMbd.js.map +0 -1
  1840. package/web-ui/build/static/taggerscript-DqTzC4fm.js +0 -2
  1841. package/web-ui/build/static/taggerscript-DqTzC4fm.js.map +0 -1
  1842. package/web-ui/build/static/tap-BToCdE2N.js +0 -2
  1843. package/web-ui/build/static/tap-BToCdE2N.js.map +0 -1
  1844. package/web-ui/build/static/tap-CaOWNm0o.js +0 -2
  1845. package/web-ui/build/static/tap-CaOWNm0o.js.map +0 -1
  1846. package/web-ui/build/static/tcl-CJO-Ym3c.js +0 -2
  1847. package/web-ui/build/static/tcl-CJO-Ym3c.js.map +0 -1
  1848. package/web-ui/build/static/tcl-CXCCempr.js +0 -2
  1849. package/web-ui/build/static/tcl-CXCCempr.js.map +0 -1
  1850. package/web-ui/build/static/textile-CHeZaje2.js +0 -2
  1851. package/web-ui/build/static/textile-CHeZaje2.js.map +0 -1
  1852. package/web-ui/build/static/thrift-CA5E4lJi.js +0 -2
  1853. package/web-ui/build/static/thrift-CA5E4lJi.js.map +0 -1
  1854. package/web-ui/build/static/toml-HZDoIKyD.js +0 -2
  1855. package/web-ui/build/static/toml-HZDoIKyD.js.map +0 -1
  1856. package/web-ui/build/static/tp-D5aWnREj.js +0 -2
  1857. package/web-ui/build/static/tp-D5aWnREj.js.map +0 -1
  1858. package/web-ui/build/static/tremor-CYDMiNB_.js +0 -2
  1859. package/web-ui/build/static/tremor-CYDMiNB_.js.map +0 -1
  1860. package/web-ui/build/static/tsx-BYnsHFJW.js +0 -2
  1861. package/web-ui/build/static/tsx-BYnsHFJW.js.map +0 -1
  1862. package/web-ui/build/static/tt2-ByQIdaAN.js +0 -2
  1863. package/web-ui/build/static/tt2-ByQIdaAN.js.map +0 -1
  1864. package/web-ui/build/static/turtle-iRysXQZ7.js +0 -2
  1865. package/web-ui/build/static/turtle-iRysXQZ7.js.map +0 -1
  1866. package/web-ui/build/static/twig-PVhTDTMB.js +0 -2
  1867. package/web-ui/build/static/twig-PVhTDTMB.js.map +0 -1
  1868. package/web-ui/build/static/twig-mSyGn5y_.js +0 -2
  1869. package/web-ui/build/static/twig-mSyGn5y_.js.map +0 -1
  1870. package/web-ui/build/static/typescript-BhKlIa27.js +0 -2
  1871. package/web-ui/build/static/typescript-BhKlIa27.js.map +0 -1
  1872. package/web-ui/build/static/typescript-CcCqg2Ij.js +0 -2
  1873. package/web-ui/build/static/typescript-CcCqg2Ij.js.map +0 -1
  1874. package/web-ui/build/static/typoscript-Cb_EMgbj.js +0 -2
  1875. package/web-ui/build/static/typoscript-Cb_EMgbj.js.map +0 -1
  1876. package/web-ui/build/static/unrealscript-CsHWC3iS.js +0 -2
  1877. package/web-ui/build/static/unrealscript-CsHWC3iS.js.map +0 -1
  1878. package/web-ui/build/static/uorazor-xAmV-Utw.js +0 -2
  1879. package/web-ui/build/static/uorazor-xAmV-Utw.js.map +0 -1
  1880. package/web-ui/build/static/uri-wfuNuEzb.js +0 -2
  1881. package/web-ui/build/static/uri-wfuNuEzb.js.map +0 -1
  1882. package/web-ui/build/static/v-UWy09hH1.js +0 -2
  1883. package/web-ui/build/static/v-UWy09hH1.js.map +0 -1
  1884. package/web-ui/build/static/vala-CGdabItU.js +0 -2
  1885. package/web-ui/build/static/vala-CGdabItU.js.map +0 -1
  1886. package/web-ui/build/static/vala-DkjA157E.js +0 -2
  1887. package/web-ui/build/static/vala-DkjA157E.js.map +0 -1
  1888. package/web-ui/build/static/vbnet-BW0_2BDq.js +0 -2
  1889. package/web-ui/build/static/vbnet-BW0_2BDq.js.map +0 -1
  1890. package/web-ui/build/static/vbnet-wRDbvdTB.js +0 -2
  1891. package/web-ui/build/static/vbnet-wRDbvdTB.js.map +0 -1
  1892. package/web-ui/build/static/vbscript-Kq-giwfC.js +0 -2
  1893. package/web-ui/build/static/vbscript-Kq-giwfC.js.map +0 -1
  1894. package/web-ui/build/static/vbscript-html-CN9MRyjc.js +0 -2
  1895. package/web-ui/build/static/vbscript-html-CN9MRyjc.js.map +0 -1
  1896. package/web-ui/build/static/velocity-CbfCiTy8.js +0 -2
  1897. package/web-ui/build/static/velocity-CbfCiTy8.js.map +0 -1
  1898. package/web-ui/build/static/verilog-BXu9V06a.js +0 -2
  1899. package/web-ui/build/static/verilog-BXu9V06a.js.map +0 -1
  1900. package/web-ui/build/static/verilog-CDsJYNV0.js +0 -2
  1901. package/web-ui/build/static/verilog-CDsJYNV0.js.map +0 -1
  1902. package/web-ui/build/static/vhdl-DqFHm35G.js +0 -2
  1903. package/web-ui/build/static/vhdl-DqFHm35G.js.map +0 -1
  1904. package/web-ui/build/static/vhdl-ZBVe-G7o.js +0 -2
  1905. package/web-ui/build/static/vhdl-ZBVe-G7o.js.map +0 -1
  1906. package/web-ui/build/static/vim-C9t0OqUm.js +0 -2
  1907. package/web-ui/build/static/vim-C9t0OqUm.js.map +0 -1
  1908. package/web-ui/build/static/vim-CK3NDA2b.js +0 -2
  1909. package/web-ui/build/static/vim-CK3NDA2b.js.map +0 -1
  1910. package/web-ui/build/static/visual-basic-5VzpWXap.js +0 -2
  1911. package/web-ui/build/static/visual-basic-5VzpWXap.js.map +0 -1
  1912. package/web-ui/build/static/warpscript-DRnf-QIs.js +0 -2
  1913. package/web-ui/build/static/warpscript-DRnf-QIs.js.map +0 -1
  1914. package/web-ui/build/static/wasm-CJDFrN_6.js +0 -2
  1915. package/web-ui/build/static/wasm-CJDFrN_6.js.map +0 -1
  1916. package/web-ui/build/static/web-idl-Bi7tOKF3.js +0 -2
  1917. package/web-ui/build/static/web-idl-Bi7tOKF3.js.map +0 -1
  1918. package/web-ui/build/static/wiki-CunYRQhT.js +0 -2
  1919. package/web-ui/build/static/wiki-CunYRQhT.js.map +0 -1
  1920. package/web-ui/build/static/wolfram-D9UFIPPp.js +0 -2
  1921. package/web-ui/build/static/wolfram-D9UFIPPp.js.map +0 -1
  1922. package/web-ui/build/static/wren-CToJZ9Ce.js +0 -2
  1923. package/web-ui/build/static/wren-CToJZ9Ce.js.map +0 -1
  1924. package/web-ui/build/static/x86asm-B-AElpbb.js +0 -2
  1925. package/web-ui/build/static/x86asm-B-AElpbb.js.map +0 -1
  1926. package/web-ui/build/static/xeora-BcRTdkG2.js +0 -2
  1927. package/web-ui/build/static/xeora-BcRTdkG2.js.map +0 -1
  1928. package/web-ui/build/static/xl-Cwu2I1yC.js +0 -2
  1929. package/web-ui/build/static/xl-Cwu2I1yC.js.map +0 -1
  1930. package/web-ui/build/static/xml-doc-BtR7IdrW.js +0 -2
  1931. package/web-ui/build/static/xml-doc-BtR7IdrW.js.map +0 -1
  1932. package/web-ui/build/static/xml-mZ7PgkAO.js +0 -2
  1933. package/web-ui/build/static/xml-mZ7PgkAO.js.map +0 -1
  1934. package/web-ui/build/static/xojo-Cb3WMgE0.js +0 -2
  1935. package/web-ui/build/static/xojo-Cb3WMgE0.js.map +0 -1
  1936. package/web-ui/build/static/xquery-BUPccOak.js +0 -2
  1937. package/web-ui/build/static/xquery-BUPccOak.js.map +0 -1
  1938. package/web-ui/build/static/xquery-vTV6QmEN.js +0 -2
  1939. package/web-ui/build/static/xquery-vTV6QmEN.js.map +0 -1
  1940. package/web-ui/build/static/yaml-C1tzs4lC.js +0 -2
  1941. package/web-ui/build/static/yaml-C1tzs4lC.js.map +0 -1
  1942. package/web-ui/build/static/yaml-Dc5uId9V.js +0 -2
  1943. package/web-ui/build/static/yaml-Dc5uId9V.js.map +0 -1
  1944. package/web-ui/build/static/yang-C52DJGPY.js +0 -2
  1945. package/web-ui/build/static/yang-C52DJGPY.js.map +0 -1
  1946. package/web-ui/build/static/zephir-pB3vIR1F.js +0 -2
  1947. package/web-ui/build/static/zephir-pB3vIR1F.js.map +0 -1
  1948. package/web-ui/build/static/zig-CSRbdGmK.js +0 -2
  1949. package/web-ui/build/static/zig-CSRbdGmK.js.map +0 -1
@@ -0,0 +1,512 @@
1
+ /**
2
+ * Full-coverage tests for imageTool.js — the async queue-processing,
3
+ * persistence, broadcast, file/URL plumbing, and helper surface that the
4
+ * focused validator/edit suites don't reach.
5
+ *
6
+ * fs, the gallery service, and imageFormat are mocked so the save/transcode
7
+ * paths are deterministic and never touch disk or sharp. The WebSocket server
8
+ * (global.loxiaWebServer) and agentPool are fakes whose calls we assert.
9
+ */
10
+ import { jest, describe, test, expect, beforeEach, afterEach } from '@jest/globals';
11
+ import path from 'path';
12
+
13
+ const fsp = {
14
+ readFile: jest.fn(),
15
+ writeFile: jest.fn(),
16
+ mkdir: jest.fn(),
17
+ stat: jest.fn(),
18
+ unlink: jest.fn(),
19
+ };
20
+ jest.unstable_mockModule('fs', () => ({ promises: fsp }));
21
+
22
+ const saveImage = jest.fn().mockResolvedValue(undefined);
23
+ jest.unstable_mockModule('../../services/galleryService.js', () => ({
24
+ getGalleryService: () => ({ saveImage }),
25
+ }));
26
+
27
+ // Deterministic format helpers (no sharp).
28
+ jest.unstable_mockModule('../imageFormat.js', () => ({
29
+ resolveTargetFormat: jest.fn(() => ({ format: 'webp' })),
30
+ transcodeIfNeeded: jest.fn(async (buf) => ({ buffer: buf, transcoded: false, inputFormat: 'png', outputFormat: 'webp' })),
31
+ extensionFor: jest.fn(() => 'webp'),
32
+ ensureExtension: jest.fn((p) => (p.endsWith('.webp') ? p : `${p}.webp`)),
33
+ DEFAULT_FORMAT: 'webp',
34
+ }));
35
+
36
+ const { ImageTool } = await import('../imageTool.js');
37
+ const imgFmt = await import('../imageFormat.js'); // mocked — for per-test transcode overrides
38
+
39
+ const logger = { info() {}, warn() {}, error() {}, debug() {} };
40
+
41
+ function makeTool() {
42
+ const tool = new ImageTool({}, logger);
43
+ tool.aiService = {
44
+ generateImage: jest.fn().mockResolvedValue({ b64_json: Buffer.from('img').toString('base64'), model: 'flux' }),
45
+ editImage: jest.fn().mockResolvedValue({ b64_json: Buffer.from('img').toString('base64'), model: 'gpt-image-1.5' }),
46
+ };
47
+ return tool;
48
+ }
49
+
50
+ function fakeAgent() {
51
+ return {
52
+ name: 'Agent', currentModel: null, lastActivity: null,
53
+ conversations: { full: { messages: [], lastUpdated: null } },
54
+ };
55
+ }
56
+ function fakeAgentPool() {
57
+ return {
58
+ getAgent: jest.fn().mockResolvedValue(fakeAgent()),
59
+ persistAgentState: jest.fn().mockResolvedValue(undefined),
60
+ addToolResult: jest.fn().mockResolvedValue(undefined),
61
+ };
62
+ }
63
+
64
+ let origWebServer;
65
+ beforeEach(() => {
66
+ jest.clearAllMocks();
67
+ fsp.readFile.mockResolvedValue(Buffer.from('src'));
68
+ fsp.writeFile.mockResolvedValue(undefined);
69
+ fsp.mkdir.mockResolvedValue(undefined);
70
+ fsp.stat.mockResolvedValue({ size: 100 });
71
+ fsp.unlink.mockResolvedValue(undefined);
72
+ origWebServer = global.loxiaWebServer;
73
+ global.loxiaWebServer = { broadcastToSession: jest.fn(), port: 8080, host: 'localhost' };
74
+ });
75
+ afterEach(() => { global.loxiaWebServer = origWebServer; });
76
+
77
+ // ───────────────────────── simple helpers ─────────────────────────
78
+
79
+ describe('description + small helpers', () => {
80
+ test('getDescription returns the tool spec', () => {
81
+ expect(makeTool().getDescription()).toContain('image-gen');
82
+ });
83
+ test('setAIService / setAgentPool wire dependencies', () => {
84
+ const t = new ImageTool({}, logger);
85
+ const ai = {}; const ap = {};
86
+ t.setAIService(ai); t.setAgentPool(ap);
87
+ expect(t.aiService).toBe(ai);
88
+ expect(t.agentPool).toBe(ap);
89
+ });
90
+ test('_generateJobId is unique-ish and prefixed', () => {
91
+ const t = makeTool();
92
+ expect(t._generateJobId()).toMatch(/^img-/);
93
+ });
94
+ test('_estimateWaitTime across queue depths', () => {
95
+ const t = makeTool();
96
+ expect(t._estimateWaitTime()).toBe('~30 seconds');
97
+ t.queue = [1, 2]; // 2 * 30 = 60s → "1m 0s"
98
+ expect(t._estimateWaitTime()).toMatch(/1m 0s/);
99
+ t.queue = [1]; // 30s
100
+ expect(t._estimateWaitTime()).toMatch(/30s/);
101
+ });
102
+ test('_convertToWebUrl builds a server url and maps 0.0.0.0 → localhost', () => {
103
+ const t = makeTool();
104
+ expect(t._convertToWebUrl('/a/b/pic.webp', 'sess')).toBe('http://localhost:8080/api/images/sess/pic.webp');
105
+ global.loxiaWebServer.host = '0.0.0.0';
106
+ expect(t._convertToWebUrl('/a/b/pic.webp', 'sess')).toContain('localhost:8080');
107
+ });
108
+ });
109
+
110
+ describe('getJobStatus', () => {
111
+ test('returns completed, current, queued, or not_found', () => {
112
+ const t = makeTool();
113
+ expect(t.getJobStatus('x')).toEqual({ jobId: 'x', status: 'not_found' });
114
+ t.queue.push({ jobId: 'q', status: 'queued' });
115
+ expect(t.getJobStatus('q').status).toBe('queued');
116
+ t.currentJob = { jobId: 'c', status: 'processing' };
117
+ expect(t.getJobStatus('c').status).toBe('processing');
118
+ t.completedJobs.set('d', { jobId: 'd', status: 'completed' });
119
+ expect(t.getJobStatus('d').status).toBe('completed');
120
+ });
121
+ });
122
+
123
+ // ───────────────────────── _resolveOutputPath ─────────────────────────
124
+
125
+ describe('_resolveOutputPath', () => {
126
+ test('project save with an explicit relative path', async () => {
127
+ const t = makeTool();
128
+ const job = { saveToProject: true, projectDir: process.cwd(), outputPath: 'images/pic' };
129
+ const p = await t._resolveOutputPath(job);
130
+ expect(p).toContain('images');
131
+ expect(job._targetFormat).toBe('webp');
132
+ });
133
+ test('project save with no path auto-generates a filename', async () => {
134
+ const t = makeTool();
135
+ const p = await t._resolveOutputPath({ saveToProject: true, projectDir: process.cwd() });
136
+ expect(p).toMatch(/generated-\d+\.webp$/);
137
+ });
138
+ test('rejects path traversal', async () => {
139
+ const t = makeTool();
140
+ const job = { saveToProject: true, projectDir: process.cwd(), outputPath: '../'.repeat(12) + 'evil' };
141
+ await expect(t._resolveOutputPath(job)).rejects.toThrow(/traversal/i);
142
+ });
143
+ test('with directoryAccess set, a valid in-project path is allowed', async () => {
144
+ const t = makeTool();
145
+ const job = { saveToProject: true, projectDir: process.cwd(), outputPath: 'images/ok', directoryAccess: {} };
146
+ await expect(t._resolveOutputPath(job)).resolves.toContain('images');
147
+ });
148
+ test('directoryAccess denies a sibling dir that shares a name prefix', async () => {
149
+ // The string-prefix traversal guard passes for `…/projXX` vs `…/proj`,
150
+ // but path.relative yields a `..` path → the directoryAccess check catches it.
151
+ const t = makeTool();
152
+ const base = process.cwd();
153
+ const job = {
154
+ saveToProject: true,
155
+ projectDir: path.join(base, 'proj'),
156
+ outputPath: path.join(base, 'projXX', 'evil.webp'),
157
+ directoryAccess: {},
158
+ };
159
+ await expect(t._resolveOutputPath(job)).rejects.toThrow(/Access denied/);
160
+ });
161
+ test('temp save (no project) with and without an output name', async () => {
162
+ const t = makeTool();
163
+ expect(await t._resolveOutputPath({ saveToProject: false, jobId: 'j1' })).toContain('generated-j1');
164
+ expect(await t._resolveOutputPath({ saveToProject: false, jobId: 'j2', outputPath: 'custom' })).toContain('custom');
165
+ });
166
+ });
167
+
168
+ // ───────────────────────── _downloadImage ─────────────────────────
169
+
170
+ describe('_downloadImage', () => {
171
+ afterEach(() => { delete global.fetch; });
172
+
173
+ test('downloads and writes on a 2xx', async () => {
174
+ global.fetch = jest.fn().mockResolvedValue({ ok: true, arrayBuffer: async () => new Uint8Array([1, 2]).buffer });
175
+ await makeTool()._downloadImage('http://x/img.png', '/out.webp', 'webp');
176
+ expect(fsp.writeFile).toHaveBeenCalled();
177
+ });
178
+ test('throws on a non-2xx', async () => {
179
+ global.fetch = jest.fn().mockResolvedValue({ ok: false, status: 500 });
180
+ await expect(makeTool()._downloadImage('http://x', '/o', 'webp')).rejects.toThrow(/HTTP 500/);
181
+ });
182
+ test('maps a timeout error', async () => {
183
+ global.fetch = jest.fn().mockRejectedValue(Object.assign(new Error('to'), { name: 'TimeoutError' }));
184
+ await expect(makeTool()._downloadImage('http://x', '/o', 'webp')).rejects.toThrow(/timeout/i);
185
+ });
186
+ test('maps a network (TypeError)', async () => {
187
+ global.fetch = jest.fn().mockRejectedValue(Object.assign(new Error('net'), { name: 'TypeError' }));
188
+ await expect(makeTool()._downloadImage('http://x', '/o', 'webp')).rejects.toThrow(/Network error/);
189
+ });
190
+ test('maps a generic error', async () => {
191
+ global.fetch = jest.fn().mockRejectedValue(new Error('boom'));
192
+ await expect(makeTool()._downloadImage('http://x', '/o', 'webp')).rejects.toThrow(/Download failed/);
193
+ });
194
+ });
195
+
196
+ // ───────────────────────── cleanup / timers ─────────────────────────
197
+
198
+ describe('cleanup + scheduled temp removal', () => {
199
+ beforeEach(() => jest.useFakeTimers());
200
+ afterEach(() => jest.useRealTimers());
201
+
202
+ test('_scheduleCleanup unlinks the temp file after the delay', async () => {
203
+ const t = makeTool();
204
+ t._scheduleCleanup('/tmp/x.webp', 'job1');
205
+ await jest.advanceTimersByTimeAsync(3600000);
206
+ expect(fsp.unlink).toHaveBeenCalledWith('/tmp/x.webp');
207
+ });
208
+ test('cleanup clears timers and cancels queued jobs', async () => {
209
+ const t = makeTool();
210
+ t._scheduleCleanup('/tmp/y.webp', 'job2');
211
+ t.queue.push({ jobId: 'q', status: 'queued' });
212
+ await t.cleanup();
213
+ expect(t.queue).toHaveLength(0);
214
+ });
215
+ });
216
+
217
+ // ───────────────────────── _generateImage save paths ─────────────────────────
218
+
219
+ describe('_generateImage save paths', () => {
220
+ const job = (over = {}) => ({ jobId: 'g', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', ...over });
221
+
222
+ test('throws when no AI service', async () => {
223
+ const t = new ImageTool({}, logger); // aiService null
224
+ await expect(t._generateImage(job())).rejects.toThrow(/AI service not available/);
225
+ });
226
+ test('b64 success → savedToDisk + resolvedOutputPath', async () => {
227
+ const t = makeTool();
228
+ const res = await t._generateImage(job());
229
+ expect(res.savedToDisk).toBe(true);
230
+ expect(res.resolvedOutputPath).toBeTruthy();
231
+ });
232
+ test('b64 but empty file → savedToDisk false', async () => {
233
+ const t = makeTool();
234
+ fsp.stat.mockResolvedValueOnce({ size: 0 });
235
+ const res = await t._generateImage(job());
236
+ expect(res.savedToDisk).toBe(false);
237
+ });
238
+ test('URL response → downloads, savedToDisk true', async () => {
239
+ const t = makeTool();
240
+ t.aiService.generateImage.mockResolvedValueOnce({ url: 'http://x/img.png', model: 'flux' });
241
+ global.fetch = jest.fn().mockResolvedValue({ ok: true, arrayBuffer: async () => new Uint8Array([1]).buffer });
242
+ const res = await t._generateImage(job());
243
+ expect(res.savedToDisk).toBe(true);
244
+ delete global.fetch;
245
+ });
246
+ test('no url and no b64 → throws', async () => {
247
+ const t = makeTool();
248
+ t.aiService.generateImage.mockResolvedValueOnce({ model: 'flux' });
249
+ await expect(t._generateImage(job())).rejects.toThrow(/No image data/);
250
+ });
251
+ test('save failure WITH a url falls back (downloadError, no throw)', async () => {
252
+ const t = makeTool();
253
+ t.aiService.generateImage.mockResolvedValueOnce({ url: 'http://x/i.png', model: 'flux' });
254
+ global.fetch = jest.fn().mockResolvedValue({ ok: false, status: 503 }); // download throws inside save
255
+ const res = await t._generateImage(job());
256
+ expect(res.savedToDisk).toBe(false);
257
+ expect(res.downloadError).toBeTruthy();
258
+ delete global.fetch;
259
+ });
260
+ test('save failure with NO url (b64 write fails) → throws', async () => {
261
+ const t = makeTool();
262
+ fsp.writeFile.mockRejectedValueOnce(new Error('disk full'));
263
+ await expect(t._generateImage(job())).rejects.toThrow(/Failed to save image/);
264
+ });
265
+ });
266
+
267
+ // ───────────────────────── _processQueue ─────────────────────────
268
+
269
+ describe('_processQueue', () => {
270
+ function queued(tool, over = {}) {
271
+ tool.queue.push({
272
+ jobId: 'j', sessionId: 'sess', agentId: 'a1', prompt: 'p',
273
+ saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024',
274
+ outputPath: 'images/out', status: 'queued', createdAt: 'now', ...over,
275
+ });
276
+ }
277
+
278
+ test('success → broadcasts, saves to gallery, records tool result', async () => {
279
+ const t = makeTool();
280
+ t.agentPool = fakeAgentPool();
281
+ queued(t);
282
+ await t._processQueue();
283
+ expect(global.loxiaWebServer.broadcastToSession).toHaveBeenCalledWith('sess', expect.objectContaining({ type: 'imageGenerated', success: true }));
284
+ expect(saveImage).toHaveBeenCalled();
285
+ expect(t.agentPool.addToolResult).toHaveBeenCalledWith('a1', expect.objectContaining({ status: 'completed' }));
286
+ expect(t.completedJobs.get('j').status).toBe('completed');
287
+ });
288
+
289
+ test('saveToGallery=false skips the gallery copy', async () => {
290
+ const t = makeTool();
291
+ t.agentPool = fakeAgentPool();
292
+ queued(t, { toolConfig: { saveToGallery: false } });
293
+ await t._processQueue();
294
+ expect(saveImage).not.toHaveBeenCalled();
295
+ });
296
+
297
+ test('temporary-url path (disk save failed but url present) broadcasts isTemporary', async () => {
298
+ const t = makeTool();
299
+ t.agentPool = fakeAgentPool();
300
+ // URL result + failing download → savedToDisk false, temporaryUrl set
301
+ t.aiService.generateImage.mockResolvedValueOnce({ url: 'http://x/i.png', model: 'flux' });
302
+ global.fetch = jest.fn().mockResolvedValue({ ok: false, status: 500 });
303
+ queued(t);
304
+ await t._processQueue();
305
+ expect(global.loxiaWebServer.broadcastToSession).toHaveBeenCalledWith('sess', expect.objectContaining({ isTemporary: true }));
306
+ delete global.fetch;
307
+ });
308
+
309
+ test('error path → broadcasts failure and records a failed tool result', async () => {
310
+ const t = makeTool();
311
+ t.agentPool = fakeAgentPool();
312
+ t.aiService.generateImage.mockRejectedValueOnce(new Error('content moderation blocked'));
313
+ queued(t);
314
+ await t._processQueue();
315
+ expect(t.completedJobs.get('j').status).toBe('failed');
316
+ expect(global.loxiaWebServer.broadcastToSession).toHaveBeenCalledWith('sess', expect.objectContaining({ success: false }));
317
+ expect(t.agentPool.addToolResult).toHaveBeenCalledWith('a1', expect.objectContaining({ status: 'failed' }));
318
+ });
319
+
320
+ test('runs without a web server / agentPool without throwing', async () => {
321
+ const t = makeTool();
322
+ global.loxiaWebServer = undefined;
323
+ queued(t, { sessionId: null });
324
+ await expect(t._processQueue()).resolves.toBeUndefined();
325
+ });
326
+ });
327
+
328
+ // ───────────────────────── execute() ─────────────────────────
329
+
330
+ describe('execute', () => {
331
+ test('queues a single image and reports queue length', async () => {
332
+ const t = makeTool();
333
+ t._processQueue = jest.fn().mockResolvedValue(); // don't run
334
+ const res = await t.execute({ prompt: 'a cat' });
335
+ expect(res.success).toBe(true);
336
+ expect(res.jobIds).toHaveLength(1);
337
+ });
338
+
339
+ test('batch mode queues each image', async () => {
340
+ const t = makeTool();
341
+ t._processQueue = jest.fn().mockResolvedValue();
342
+ const res = await t.execute({ batch: [{ prompt: 'one' }, { prompt: 'two' }] });
343
+ expect(res.jobIds).toHaveLength(2);
344
+ expect(res.message).toMatch(/2 images queued/);
345
+ });
346
+
347
+ test('validation error → success:false', async () => {
348
+ const res = await makeTool().execute({ prompt: '' });
349
+ expect(res.success).toBe(false);
350
+ expect(res.error).toMatch(/prompt is required/i);
351
+ });
352
+
353
+ test('queue limit reached → success:false', async () => {
354
+ const t = makeTool();
355
+ t._processQueue = jest.fn().mockResolvedValue();
356
+ for (let i = 0; i < 10; i++) t.queue.push({ jobId: `x${i}` });
357
+ const res = await t.execute({ prompt: 'overflow' });
358
+ expect(res.success).toBe(false);
359
+ expect(res.error).toMatch(/Queue limit/);
360
+ });
361
+
362
+ test('parses an XML string input', async () => {
363
+ const t = makeTool();
364
+ t._processQueue = jest.fn().mockResolvedValue();
365
+ const res = await t.execute('<prompt>from xml</prompt>');
366
+ expect(res.success).toBe(true);
367
+ expect(t.queue[0].prompt).toBe('from xml');
368
+ });
369
+ });
370
+
371
+ // ───────────────────────── parser edge cases ─────────────────────────
372
+
373
+ describe('parseParameters edge cases', () => {
374
+ test('XML batch with multiple <image> blocks', () => {
375
+ const t = makeTool();
376
+ const parsed = t.parseParameters('<batch><image><prompt>a</prompt></image><image><prompt>b</prompt></image></batch>');
377
+ expect(parsed.batch).toBe(true);
378
+ expect(parsed.images).toHaveLength(2);
379
+ });
380
+ test('invalid (non-string/object) input throws', () => {
381
+ expect(() => makeTool().parseParameters(42)).toThrow(/Invalid parameter format/);
382
+ });
383
+ test('empty XML (no image content) throws', () => {
384
+ expect(() => makeTool().parseParameters('<batch></batch>')).toThrow(/No valid image parameters/);
385
+ });
386
+ test('JSON string input is parsed', () => {
387
+ expect(makeTool().parseParameters('{"prompt":"x"}').images[0].prompt).toBe('x');
388
+ });
389
+ test('a {parameters:{…}} wrapper is unwrapped', () => {
390
+ expect(makeTool().parseParameters({ parameters: { prompt: 'wrapped' } }).images[0].prompt).toBe('wrapped');
391
+ });
392
+ });
393
+
394
+ // ───────────────────────── remaining branches ─────────────────────────
395
+
396
+ describe('validator — Flux height rules', () => {
397
+ const bad = (size, re) => expect(() => makeTool()._validateParameters({ images: [{ prompt: 'p', model: 'flux-1.1-pro', size }] })).toThrow(re);
398
+ test('width out of range', () => bad('2048x1024', /Width 2048 out of range/));
399
+ test('height out of range', () => bad('1024x2048', /Height 2048 out of range/));
400
+ test('height not a multiple of 32', () => bad('1024x1000', /Height 1000 must be a multiple/));
401
+ test('unparseable size (not WxH, not a preset, not auto)', () => bad('garbage', /Invalid size format/));
402
+ });
403
+
404
+ describe('_processQueue / execute extra branches', () => {
405
+ test('re-entrancy guard: returns immediately when already processing', async () => {
406
+ const t = makeTool();
407
+ t.isProcessing = true;
408
+ await expect(t._processQueue()).resolves.toBeUndefined();
409
+ });
410
+
411
+ test('execute logs (does not throw) when the async queue rejects', async () => {
412
+ const t = makeTool();
413
+ t._processQueue = jest.fn().mockRejectedValue(new Error('queue boom'));
414
+ const res = await t.execute({ prompt: 'x' });
415
+ expect(res.success).toBe(true);
416
+ await new Promise((r) => setImmediate(r)); // let the .catch run
417
+ });
418
+
419
+ test('no image url available (disk save failed, no temp url) still broadcasts', async () => {
420
+ const t = makeTool();
421
+ t.agentPool = fakeAgentPool();
422
+ fsp.stat.mockResolvedValue({ size: 0 }); // b64 write produces empty file → savedToDisk false, no url
423
+ t.queue.push({ jobId: 'j', sessionId: 'sess', agentId: 'a1', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', outputPath: 'images/o', status: 'queued' });
424
+ await t._processQueue();
425
+ expect(global.loxiaWebServer.broadcastToSession).toHaveBeenCalledWith('sess', expect.objectContaining({ type: 'imageGenerated' }));
426
+ });
427
+
428
+ test('gallery save failure is non-fatal (warns, still completes)', async () => {
429
+ const t = makeTool();
430
+ t.agentPool = fakeAgentPool();
431
+ saveImage.mockRejectedValueOnce(new Error('gallery down'));
432
+ t.queue.push({ jobId: 'j', sessionId: 'sess', agentId: 'a1', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', outputPath: 'images/o', status: 'queued' });
433
+ await t._processQueue();
434
+ expect(t.completedJobs.get('j').status).toBe('completed');
435
+ });
436
+
437
+ test('history-save failure (getAgent throws) is caught on both success and error paths', async () => {
438
+ // success path
439
+ const t1 = makeTool();
440
+ t1.agentPool = { getAgent: jest.fn().mockRejectedValue(new Error('no agent')), persistAgentState: jest.fn(), addToolResult: jest.fn() };
441
+ t1.queue.push({ jobId: 'j', sessionId: 'sess', agentId: 'a1', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', outputPath: 'images/o', status: 'queued' });
442
+ await expect(t1._processQueue()).resolves.toBeUndefined();
443
+
444
+ // error path
445
+ const t2 = makeTool();
446
+ t2.aiService.generateImage.mockRejectedValueOnce(new Error('gen fail'));
447
+ t2.agentPool = { getAgent: jest.fn().mockRejectedValue(new Error('no agent')), persistAgentState: jest.fn(), addToolResult: jest.fn() };
448
+ t2.queue.push({ jobId: 'j2', sessionId: 'sess', agentId: 'a1', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', outputPath: 'images/o', status: 'queued' });
449
+ await expect(t2._processQueue()).resolves.toBeUndefined();
450
+ });
451
+
452
+ test('pushes into the current-model conversation when one is active (success + error)', async () => {
453
+ const agentWithModel = () => ({ name: 'A', currentModel: 'm', lastActivity: null, conversations: { full: { messages: [] }, m: { messages: [] } } });
454
+ const t = makeTool();
455
+ t.agentPool = { getAgent: jest.fn().mockResolvedValue(agentWithModel()), persistAgentState: jest.fn().mockResolvedValue(), addToolResult: jest.fn().mockResolvedValue() };
456
+ t.queue.push({ jobId: 'j', sessionId: 'sess', agentId: 'a1', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', outputPath: 'images/o', status: 'queued' });
457
+ await t._processQueue();
458
+
459
+ const t2 = makeTool();
460
+ t2.aiService.generateImage.mockRejectedValueOnce(new Error('boom'));
461
+ t2.agentPool = { getAgent: jest.fn().mockResolvedValue(agentWithModel()), persistAgentState: jest.fn().mockResolvedValue(), addToolResult: jest.fn().mockResolvedValue() };
462
+ t2.queue.push({ jobId: 'j2', sessionId: 'sess', agentId: 'a1', prompt: 'p', saveToProject: true, projectDir: process.cwd(), model: 'flux', size: '1024x1024', outputPath: 'images/o', status: 'queued' });
463
+ await t2._processQueue();
464
+ expect(t2.completedJobs.get('j2').status).toBe('failed');
465
+ });
466
+ });
467
+
468
+ describe('_generateImage extra branches', () => {
469
+ const projJob = (over = {}) => ({ jobId: 'g', prompt: 'p', saveToProject: true, projectDir: process.cwd(), size: '1024x1024', ...over });
470
+
471
+ test('transparency auto-selects gpt-image-1.5 when no model', async () => {
472
+ const t = makeTool();
473
+ const job = projJob({ transparency: true });
474
+ await t._generateImage(job);
475
+ expect(job.model).toBe('gpt-image-1.5');
476
+ });
477
+
478
+ test('a source image auto-selects gpt-image-1.5 and reads the mask', async () => {
479
+ const t = makeTool();
480
+ const job = projJob({ sourceImage: 'a.png', mask: 'm.png' });
481
+ await t._generateImage(job);
482
+ expect(job.model).toBe('gpt-image-1.5');
483
+ expect(t.aiService.editImage).toHaveBeenCalled();
484
+ });
485
+
486
+ test('logs a transcode on the b64 save path', async () => {
487
+ const t = makeTool();
488
+ imgFmt.transcodeIfNeeded.mockResolvedValueOnce({ buffer: Buffer.from('x'), transcoded: true, inputFormat: 'png', outputFormat: 'webp' });
489
+ const res = await t._generateImage(projJob());
490
+ expect(res.savedToDisk).toBe(true);
491
+ });
492
+
493
+ test('URL download: empty file is warned (savedToDisk false)', async () => {
494
+ const t = makeTool();
495
+ t.aiService.generateImage.mockResolvedValueOnce({ url: 'http://x/i.png', model: 'flux' });
496
+ global.fetch = jest.fn().mockResolvedValue({ ok: true, arrayBuffer: async () => new Uint8Array([1]).buffer });
497
+ fsp.stat.mockResolvedValueOnce({ size: 0 });
498
+ const res = await t._generateImage(projJob());
499
+ expect(res.savedToDisk).toBe(false);
500
+ delete global.fetch;
501
+ });
502
+ });
503
+
504
+ describe('_downloadImage transcode log', () => {
505
+ afterEach(() => { delete global.fetch; });
506
+ test('logs when the downloaded bytes are transcoded', async () => {
507
+ imgFmt.transcodeIfNeeded.mockResolvedValueOnce({ buffer: Buffer.from('x'), transcoded: true, inputFormat: 'png', outputFormat: 'webp' });
508
+ global.fetch = jest.fn().mockResolvedValue({ ok: true, arrayBuffer: async () => new Uint8Array([1]).buffer });
509
+ await makeTool()._downloadImage('http://x/i.png', '/o.webp', 'webp');
510
+ expect(fsp.writeFile).toHaveBeenCalled();
511
+ });
512
+ });
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Edit-mode + multi-reference tests for imageTool.
3
+ *
4
+ * Covers:
5
+ * - the latent bug fix: execute() now carries sourceImage / sourceImages /
6
+ * mask / transparency onto the queued job (previously dropped, so edit
7
+ * mode never triggered);
8
+ * - resolveEffectiveImageModel auto-switching on sourceImages;
9
+ * - parser support for sourceImages (JSON array + XML comma list);
10
+ * - _generateImage reading every source and forwarding imagesBase64 to
11
+ * aiService.editImage for multi-reference edits, while keeping the
12
+ * single-image path (no imagesBase64) intact.
13
+ */
14
+ import { jest, describe, test, expect, beforeEach } from '@jest/globals';
15
+
16
+ jest.unstable_mockModule('fs', () => ({
17
+ promises: {
18
+ readFile: jest.fn((p) => Promise.resolve(Buffer.from(`bytes:${p}`))),
19
+ writeFile: jest.fn().mockResolvedValue(undefined),
20
+ mkdir: jest.fn().mockResolvedValue(undefined),
21
+ stat: jest.fn().mockResolvedValue({ size: 42 }),
22
+ unlink: jest.fn().mockResolvedValue(undefined),
23
+ },
24
+ }));
25
+
26
+ const { ImageTool, resolveEffectiveImageModel } = await import('../imageTool.js');
27
+
28
+ const logger = { info() {}, warn() {}, error() {}, debug() {} };
29
+ function makeTool() {
30
+ const tool = new ImageTool({}, logger);
31
+ tool.aiService = {
32
+ editImage: jest.fn().mockResolvedValue({ b64_json: Buffer.from('out').toString('base64'), model: 'gpt-image-1.5' }),
33
+ generateImage: jest.fn().mockResolvedValue({ b64_json: Buffer.from('out').toString('base64'), model: 'flux' }),
34
+ };
35
+ return tool;
36
+ }
37
+
38
+ beforeEach(() => jest.clearAllMocks());
39
+
40
+ describe('resolveEffectiveImageModel', () => {
41
+ test('auto-switches to gpt-image-1.5 when sourceImages is non-empty', () => {
42
+ expect(resolveEffectiveImageModel({ sourceImages: ['a.png', 'b.png'] })).toBe('gpt-image-1.5');
43
+ });
44
+ test('explicit model still wins over the sourceImages auto-switch', () => {
45
+ expect(resolveEffectiveImageModel({ model: 'gpt-image-2', sourceImages: ['a.png'] })).toBe('gpt-image-2');
46
+ });
47
+ test('empty sourceImages does not force a model', () => {
48
+ expect(resolveEffectiveImageModel({ sourceImages: [] })).toBe('');
49
+ });
50
+ });
51
+
52
+ describe('parser carries edit inputs', () => {
53
+ test('JSON: sourceImages array is parsed', () => {
54
+ const tool = makeTool();
55
+ const parsed = tool.parseParameters({ prompt: 'x', sourceImages: ['a.png', 'b.png', ''] });
56
+ expect(parsed.images[0].sourceImages).toEqual(['a.png', 'b.png']); // falsy filtered
57
+ });
58
+ test('XML: <source-images> comma list is parsed', () => {
59
+ const tool = makeTool();
60
+ const parsed = tool.parseParameters('<prompt>x</prompt><source-images>a.png, b.png</source-images>');
61
+ expect(parsed.images[0].sourceImages).toEqual(['a.png', 'b.png']);
62
+ });
63
+ });
64
+
65
+ describe('execute() carries edit fields onto the queued job (bug fix)', () => {
66
+ test('sourceImage / mask / transparency reach the job', async () => {
67
+ const tool = makeTool();
68
+ tool._processQueue = jest.fn(); // don't actually run generation
69
+ await tool.execute({ prompt: 'edit it', sourceImage: 'photo.png', mask: 'm.png', transparency: true });
70
+ expect(tool.queue).toHaveLength(1);
71
+ expect(tool.queue[0]).toMatchObject({ sourceImage: 'photo.png', mask: 'm.png', transparency: true });
72
+ });
73
+
74
+ test('sourceImages reaches the job', async () => {
75
+ const tool = makeTool();
76
+ tool._processQueue = jest.fn();
77
+ await tool.execute({ prompt: 'compose', sourceImages: ['a.png', 'b.png'] });
78
+ expect(tool.queue[0].sourceImages).toEqual(['a.png', 'b.png']);
79
+ });
80
+ });
81
+
82
+ describe('_generateImage edit dispatch', () => {
83
+ const baseJob = { jobId: 'j', prompt: 'compose', saveToProject: false, projectDir: '/proj', model: 'gpt-image-1.5' };
84
+
85
+ test('multiple sources → editImage receives the imagesBase64 array', async () => {
86
+ const tool = makeTool();
87
+ await tool._generateImage({ ...baseJob, sourceImages: ['a.png', 'b.png'] });
88
+
89
+ expect(tool.aiService.editImage).toHaveBeenCalledTimes(1);
90
+ const [prompt, firstImg, opts] = tool.aiService.editImage.mock.calls[0];
91
+ expect(prompt).toBe('compose');
92
+ expect(opts.imagesBase64).toHaveLength(2);
93
+ expect(firstImg).toBe(opts.imagesBase64[0]); // first positional = first of array
94
+ expect(tool.aiService.generateImage).not.toHaveBeenCalled();
95
+ });
96
+
97
+ test('single source → editImage receives no imagesBase64 (legacy single path)', async () => {
98
+ const tool = makeTool();
99
+ await tool._generateImage({ ...baseJob, sourceImage: 'only.png' });
100
+
101
+ expect(tool.aiService.editImage).toHaveBeenCalledTimes(1);
102
+ const [, firstImg, opts] = tool.aiService.editImage.mock.calls[0];
103
+ expect(opts.imagesBase64).toBeUndefined();
104
+ expect(typeof firstImg).toBe('string');
105
+ });
106
+
107
+ test('no source → standard generation path (no editImage)', async () => {
108
+ const tool = makeTool();
109
+ await tool._generateImage({ ...baseJob, model: 'flux-1.1-pro', size: '1024x1024' });
110
+ expect(tool.aiService.editImage).not.toHaveBeenCalled();
111
+ expect(tool.aiService.generateImage).toHaveBeenCalledTimes(1);
112
+ });
113
+ });
@@ -80,6 +80,43 @@ describe('_validateParameters — gpt-image-1.5 explicit', () => {
80
80
  });
81
81
  });
82
82
 
83
+ // ── gpt-image-2 (explicit) ──────────────────────────────────────────────
84
+
85
+ describe('_validateParameters — gpt-image-2 explicit', () => {
86
+ test.each(['1024x1024', '1024x1536', '1536x1024', 'auto'])('accepts %s', (size) => {
87
+ expectValidates({ images: [{ prompt: 'cat', model: 'gpt-image-2', size }] });
88
+ });
89
+
90
+ test('rejects a Flux-shaped size with the gpt-image enum hint', () => {
91
+ expectRejects(
92
+ { images: [{ prompt: 'cat', model: 'gpt-image-2', size: '1024x1440' }] },
93
+ /not supported by gpt-image-2.*Valid sizes/
94
+ );
95
+ });
96
+
97
+ test('rejects an out-of-enum size and lists the valid options', () => {
98
+ try {
99
+ makeTool()._validateParameters({ images: [{ prompt: 'x', model: 'gpt-image-2', size: '1280x720' }] });
100
+ throw new Error('expected throw');
101
+ } catch (err) {
102
+ expect(err.message).toContain('1024x1024');
103
+ expect(err.message).toContain('1536x1024');
104
+ }
105
+ });
106
+
107
+ test('presets remap to the gpt-image enum (portrait → 1024x1536)', () => {
108
+ const params = { images: [{ prompt: 'p', model: 'gpt-image-2', size: 'portrait' }] };
109
+ makeTool()._validateParameters(params);
110
+ expect(params.images[0].size).toBe('1024x1536');
111
+ });
112
+
113
+ test('"square_hd" remaps to 1024x1024 (no 1440 enum value)', () => {
114
+ const params = { images: [{ prompt: 'p', model: 'gpt-image-2', size: 'square_hd' }] };
115
+ makeTool()._validateParameters(params);
116
+ expect(params.images[0].size).toBe('1024x1024');
117
+ });
118
+ });
119
+
83
120
  // ── Auto-switch: transparency / sourceImage ─────────────────────────────
84
121
 
85
122
  describe('_validateParameters — auto-switch to gpt-image-1.5', () => {