@openc3/vue-common 5.21.0-beta0

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 (399) hide show
  1. package/LICENSE.txt +729 -0
  2. package/README.md +25 -0
  3. package/dist/ArrayWidget-ChaMDaRA.js +105 -0
  4. package/dist/ArrayWidget-ChaMDaRA.js.map +1 -0
  5. package/dist/ArrayWidget-x7le0X73.cjs +3 -0
  6. package/dist/ArrayWidget-x7le0X73.cjs.map +1 -0
  7. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  8. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  9. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  10. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  11. package/dist/BarColumn-CqXfFAQ9.js +106 -0
  12. package/dist/BarColumn-CqXfFAQ9.js.map +1 -0
  13. package/dist/BarColumn-Ct4izXqV.cjs +2 -0
  14. package/dist/BarColumn-Ct4izXqV.cjs.map +1 -0
  15. package/dist/BlockWidget-BPefRY_h.cjs +3 -0
  16. package/dist/BlockWidget-BPefRY_h.cjs.map +1 -0
  17. package/dist/BlockWidget-DjiPs6ID.js +111 -0
  18. package/dist/BlockWidget-DjiPs6ID.js.map +1 -0
  19. package/dist/ButtonWidget-Dd80CjGt.js +165 -0
  20. package/dist/ButtonWidget-Dd80CjGt.js.map +1 -0
  21. package/dist/ButtonWidget-SoiP15gH.cjs +3 -0
  22. package/dist/ButtonWidget-SoiP15gH.cjs.map +1 -0
  23. package/dist/CanvasWidget-ALHiDq5o.js +39 -0
  24. package/dist/CanvasWidget-ALHiDq5o.js.map +1 -0
  25. package/dist/CanvasWidget-JapjwSXd.cjs +2 -0
  26. package/dist/CanvasWidget-JapjwSXd.cjs.map +1 -0
  27. package/dist/CanvasdotWidget-BU42MGW6.cjs +2 -0
  28. package/dist/CanvasdotWidget-BU42MGW6.cjs.map +1 -0
  29. package/dist/CanvasdotWidget-JkDXGoHm.js +19 -0
  30. package/dist/CanvasdotWidget-JkDXGoHm.js.map +1 -0
  31. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs +2 -0
  32. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-CTXlEJgA.js +58 -0
  34. package/dist/CanvasimageWidget-CTXlEJgA.js.map +1 -0
  35. package/dist/CanvasimagevalueWidget-CihOXOHH.js +107 -0
  36. package/dist/CanvasimagevalueWidget-CihOXOHH.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs +2 -0
  38. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs.map +1 -0
  39. package/dist/CanvaslabelWidget-2uD1FRT0.js +23 -0
  40. package/dist/CanvaslabelWidget-2uD1FRT0.js.map +1 -0
  41. package/dist/CanvaslabelWidget-zKoAOaaE.cjs +2 -0
  42. package/dist/CanvaslabelWidget-zKoAOaaE.cjs.map +1 -0
  43. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js +42 -0
  44. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs +2 -0
  46. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs.map +1 -0
  47. package/dist/CanvaslineWidget-BRFrT-9r.cjs +2 -0
  48. package/dist/CanvaslineWidget-BRFrT-9r.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-Cc8vj_vu.js +28 -0
  50. package/dist/CanvaslineWidget-Cc8vj_vu.js.map +1 -0
  51. package/dist/CanvaslinevalueWidget-CJTmkXEr.js +44 -0
  52. package/dist/CanvaslinevalueWidget-CJTmkXEr.js.map +1 -0
  53. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs.map +1 -0
  55. package/dist/CheckbuttonWidget-BrUBiJWn.cjs +2 -0
  56. package/dist/CheckbuttonWidget-BrUBiJWn.cjs.map +1 -0
  57. package/dist/CheckbuttonWidget-lZD4wLcB.js +37 -0
  58. package/dist/CheckbuttonWidget-lZD4wLcB.js.map +1 -0
  59. package/dist/ComboboxWidget-BUMleWlR.cjs +2 -0
  60. package/dist/ComboboxWidget-BUMleWlR.cjs.map +1 -0
  61. package/dist/ComboboxWidget-D-nVY2Zf.js +37 -0
  62. package/dist/ComboboxWidget-D-nVY2Zf.js.map +1 -0
  63. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs +2 -0
  64. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs.map +1 -0
  65. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js +10 -0
  66. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js.map +1 -0
  67. package/dist/CriticalCmdDialog-BvPQYRie.cjs +2 -0
  68. package/dist/CriticalCmdDialog-BvPQYRie.cjs.map +1 -0
  69. package/dist/CriticalCmdDialog-ChYR9_7n.js +270 -0
  70. package/dist/CriticalCmdDialog-ChYR9_7n.js.map +1 -0
  71. package/dist/DateWidget-3e2qqqxw.cjs +2 -0
  72. package/dist/DateWidget-3e2qqqxw.cjs.map +1 -0
  73. package/dist/DateWidget-Bs2NufYI.js +40 -0
  74. package/dist/DateWidget-Bs2NufYI.js.map +1 -0
  75. package/dist/DetailsDialog-8ixZ1oPd.cjs +2 -0
  76. package/dist/DetailsDialog-8ixZ1oPd.cjs.map +1 -0
  77. package/dist/DetailsDialog-ScKx0N2e.js +767 -0
  78. package/dist/DetailsDialog-ScKx0N2e.js.map +1 -0
  79. package/dist/DynamicWidget-3wHr6Ng-.cjs +2 -0
  80. package/dist/DynamicWidget-3wHr6Ng-.cjs.map +1 -0
  81. package/dist/DynamicWidget-m9EliUR2.js +35 -0
  82. package/dist/DynamicWidget-m9EliUR2.js.map +1 -0
  83. package/dist/FormatvalueWidget-DEj59HDj.js +44 -0
  84. package/dist/FormatvalueWidget-DEj59HDj.js.map +1 -0
  85. package/dist/FormatvalueWidget-DK0tTvcs.cjs +2 -0
  86. package/dist/FormatvalueWidget-DK0tTvcs.cjs.map +1 -0
  87. package/dist/Graph-D2frd7mZ.js +1999 -0
  88. package/dist/Graph-D2frd7mZ.js.map +1 -0
  89. package/dist/Graph-DFEMzAGq.cjs +2 -0
  90. package/dist/Graph-DFEMzAGq.cjs.map +1 -0
  91. package/dist/GraphWidget-CbyYREVa.cjs +2 -0
  92. package/dist/GraphWidget-CbyYREVa.cjs.map +1 -0
  93. package/dist/GraphWidget-CvlfqTgn.js +129 -0
  94. package/dist/GraphWidget-CvlfqTgn.js.map +1 -0
  95. package/dist/HorizontalWidget-BEOYwm8D.js +41 -0
  96. package/dist/HorizontalWidget-BEOYwm8D.js.map +1 -0
  97. package/dist/HorizontalWidget-xEd4ZLsc.cjs +2 -0
  98. package/dist/HorizontalWidget-xEd4ZLsc.cjs.map +1 -0
  99. package/dist/HorizontalboxWidget-C2wA9_HA.js +38 -0
  100. package/dist/HorizontalboxWidget-C2wA9_HA.js.map +1 -0
  101. package/dist/HorizontalboxWidget-xwLnkDXf.cjs +2 -0
  102. package/dist/HorizontalboxWidget-xwLnkDXf.cjs.map +1 -0
  103. package/dist/HorizontallineWidget-BCKOQase.cjs +2 -0
  104. package/dist/HorizontallineWidget-BCKOQase.cjs.map +1 -0
  105. package/dist/HorizontallineWidget-BdlNB951.js +11 -0
  106. package/dist/HorizontallineWidget-BdlNB951.js.map +1 -0
  107. package/dist/IframeWidget-C42hZbe_.cjs +2 -0
  108. package/dist/IframeWidget-C42hZbe_.cjs.map +1 -0
  109. package/dist/IframeWidget-qwGlLyoS.js +29 -0
  110. package/dist/IframeWidget-qwGlLyoS.js.map +1 -0
  111. package/dist/ImageLoader-BSTQyLlJ.cjs +2 -0
  112. package/dist/ImageLoader-BSTQyLlJ.cjs.map +1 -0
  113. package/dist/ImageLoader-CQAyutzR.js +36 -0
  114. package/dist/ImageLoader-CQAyutzR.js.map +1 -0
  115. package/dist/ImageviewerWidget-B0HJk4Tf.cjs +2 -0
  116. package/dist/ImageviewerWidget-B0HJk4Tf.cjs.map +1 -0
  117. package/dist/ImageviewerWidget-CDeYB2QG.js +37 -0
  118. package/dist/ImageviewerWidget-CDeYB2QG.js.map +1 -0
  119. package/dist/InterfacesTab-D-VIrHHf.js +92 -0
  120. package/dist/InterfacesTab-D-VIrHHf.js.map +1 -0
  121. package/dist/InterfacesTab-NTrgd1dN.cjs +2 -0
  122. package/dist/InterfacesTab-NTrgd1dN.cjs.map +1 -0
  123. package/dist/LabelWidget-B1-se7_B.cjs +2 -0
  124. package/dist/LabelWidget-B1-se7_B.cjs.map +1 -0
  125. package/dist/LabelWidget-C5_cj8pA.js +48 -0
  126. package/dist/LabelWidget-C5_cj8pA.js.map +1 -0
  127. package/dist/LabelledWidget-3aDkVYzF.cjs +2 -0
  128. package/dist/LabelledWidget-3aDkVYzF.cjs.map +1 -0
  129. package/dist/LabelledWidget-DWOPmkyP.js +42 -0
  130. package/dist/LabelledWidget-DWOPmkyP.js.map +1 -0
  131. package/dist/LabelprogressbarWidget-DFPXYOTH.js +43 -0
  132. package/dist/LabelprogressbarWidget-DFPXYOTH.js.map +1 -0
  133. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs +2 -0
  134. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs.map +1 -0
  135. package/dist/LabelsparklineWidget-DG_Q8WOZ.js +44 -0
  136. package/dist/LabelsparklineWidget-DG_Q8WOZ.js.map +1 -0
  137. package/dist/LabelsparklineWidget-w6pdf_eu.cjs +2 -0
  138. package/dist/LabelsparklineWidget-w6pdf_eu.cjs.map +1 -0
  139. package/dist/LabelvalueWidget-CRtYLZfm.cjs +2 -0
  140. package/dist/LabelvalueWidget-CRtYLZfm.cjs.map +1 -0
  141. package/dist/LabelvalueWidget-CxL0zxQr.js +58 -0
  142. package/dist/LabelvalueWidget-CxL0zxQr.js.map +1 -0
  143. package/dist/LabelvaluedescWidget-CF9py8m9.cjs +2 -0
  144. package/dist/LabelvaluedescWidget-CF9py8m9.cjs.map +1 -0
  145. package/dist/LabelvaluedescWidget-ClWPSOeN.js +59 -0
  146. package/dist/LabelvaluedescWidget-ClWPSOeN.js.map +1 -0
  147. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs +2 -0
  148. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs.map +1 -0
  149. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js +55 -0
  150. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js.map +1 -0
  151. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js +45 -0
  152. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js.map +1 -0
  153. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs +2 -0
  154. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs.map +1 -0
  155. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs +2 -0
  156. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs.map +1 -0
  157. package/dist/LabelvaluerangebarWidget-DGJv44i4.js +79 -0
  158. package/dist/LabelvaluerangebarWidget-DGJv44i4.js.map +1 -0
  159. package/dist/Layout-C1uMy2Sd.js +14 -0
  160. package/dist/Layout-C1uMy2Sd.js.map +1 -0
  161. package/dist/Layout-C2VWUn33.cjs +2 -0
  162. package/dist/Layout-C2VWUn33.cjs.map +1 -0
  163. package/dist/LedWidget-C8LEesIO.js +69 -0
  164. package/dist/LedWidget-C8LEesIO.js.map +1 -0
  165. package/dist/LedWidget-tnHC12fA.cjs +2 -0
  166. package/dist/LedWidget-tnHC12fA.cjs.map +1 -0
  167. package/dist/LimitsbarWidget-DSJvR91d.cjs +2 -0
  168. package/dist/LimitsbarWidget-DSJvR91d.cjs.map +1 -0
  169. package/dist/LimitsbarWidget-DV94AaXX.js +52 -0
  170. package/dist/LimitsbarWidget-DV94AaXX.js.map +1 -0
  171. package/dist/LimitscolorWidget-BWfffXvj.cjs +2 -0
  172. package/dist/LimitscolorWidget-BWfffXvj.cjs.map +1 -0
  173. package/dist/LimitscolorWidget-DT_WG8Jb.js +59 -0
  174. package/dist/LimitscolorWidget-DT_WG8Jb.js.map +1 -0
  175. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs +2 -0
  176. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs.map +1 -0
  177. package/dist/LimitscolumnWidget-yGBCsGuc.js +49 -0
  178. package/dist/LimitscolumnWidget-yGBCsGuc.js.map +1 -0
  179. package/dist/LinegraphWidget-BG43_kkA.js +38 -0
  180. package/dist/LinegraphWidget-BG43_kkA.js.map +1 -0
  181. package/dist/LinegraphWidget-ByTUdpDj.cjs +2 -0
  182. package/dist/LinegraphWidget-ByTUdpDj.cjs.map +1 -0
  183. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js +56 -0
  184. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js.map +1 -0
  185. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs +2 -0
  186. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs.map +1 -0
  187. package/dist/MicroservicesTab-BuIftbHc.js +159 -0
  188. package/dist/MicroservicesTab-BuIftbHc.js.map +1 -0
  189. package/dist/MicroservicesTab-CdCozCVI.cjs +2 -0
  190. package/dist/MicroservicesTab-CdCozCVI.cjs.map +1 -0
  191. package/dist/OutputDialog-CjFsDUYh.js +244 -0
  192. package/dist/OutputDialog-CjFsDUYh.js.map +1 -0
  193. package/dist/OutputDialog-Dkn9Fli9.cjs +2 -0
  194. package/dist/OutputDialog-Dkn9Fli9.cjs.map +1 -0
  195. package/dist/PackagesTab-BwTViRcm.js +339 -0
  196. package/dist/PackagesTab-BwTViRcm.js.map +1 -0
  197. package/dist/PackagesTab-DPaJ_JbE.cjs +2 -0
  198. package/dist/PackagesTab-DPaJ_JbE.cjs.map +1 -0
  199. package/dist/PluginsTab-C7GizpA1.cjs +6 -0
  200. package/dist/PluginsTab-C7GizpA1.cjs.map +1 -0
  201. package/dist/PluginsTab-fld_-DT-.js +598 -0
  202. package/dist/PluginsTab-fld_-DT-.js.map +1 -0
  203. package/dist/ProgressbarWidget-BSPuQNU_.js +46 -0
  204. package/dist/ProgressbarWidget-BSPuQNU_.js.map +1 -0
  205. package/dist/ProgressbarWidget-D1wbbnow.cjs +2 -0
  206. package/dist/ProgressbarWidget-D1wbbnow.cjs.map +1 -0
  207. package/dist/RadiobuttonWidget-B4rrjT9j.js +34 -0
  208. package/dist/RadiobuttonWidget-B4rrjT9j.js.map +1 -0
  209. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs +2 -0
  210. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs.map +1 -0
  211. package/dist/RadiogroupWidget-CQrEv3Qs.cjs +2 -0
  212. package/dist/RadiogroupWidget-CQrEv3Qs.cjs.map +1 -0
  213. package/dist/RadiogroupWidget-VncDKxiZ.js +48 -0
  214. package/dist/RadiogroupWidget-VncDKxiZ.js.map +1 -0
  215. package/dist/RangebarWidget-Btu0oj_O.js +67 -0
  216. package/dist/RangebarWidget-Btu0oj_O.js.map +1 -0
  217. package/dist/RangebarWidget-CKmh0GEh.cjs +2 -0
  218. package/dist/RangebarWidget-CKmh0GEh.cjs.map +1 -0
  219. package/dist/RedisTab-BPFEQDx-.js +135 -0
  220. package/dist/RedisTab-BPFEQDx-.js.map +1 -0
  221. package/dist/RedisTab-DpbDcxH5.cjs +2 -0
  222. package/dist/RedisTab-DpbDcxH5.cjs.map +1 -0
  223. package/dist/RollupWidget-Bh-Gpi5l.cjs +2 -0
  224. package/dist/RollupWidget-Bh-Gpi5l.cjs.map +1 -0
  225. package/dist/RollupWidget-CIp8Akqq.js +81 -0
  226. package/dist/RollupWidget-CIp8Akqq.js.map +1 -0
  227. package/dist/RoutersTab-CTpmfcgq.js +94 -0
  228. package/dist/RoutersTab-CTpmfcgq.js.map +1 -0
  229. package/dist/RoutersTab-DLQ-_xsb.cjs +2 -0
  230. package/dist/RoutersTab-DLQ-_xsb.cjs.map +1 -0
  231. package/dist/ScriptChooser-Cku5i9C6.cjs +2 -0
  232. package/dist/ScriptChooser-Cku5i9C6.cjs.map +1 -0
  233. package/dist/ScriptChooser-Cx985GFr.js +199 -0
  234. package/dist/ScriptChooser-Cx985GFr.js.map +1 -0
  235. package/dist/ScrollwindowWidget-BIYEL78X.js +45 -0
  236. package/dist/ScrollwindowWidget-BIYEL78X.js.map +1 -0
  237. package/dist/ScrollwindowWidget-DWBLVHz1.cjs +2 -0
  238. package/dist/ScrollwindowWidget-DWBLVHz1.cjs.map +1 -0
  239. package/dist/SecretsTab-CV5WYD3N.cjs +2 -0
  240. package/dist/SecretsTab-CV5WYD3N.cjs.map +1 -0
  241. package/dist/SecretsTab-DfBaqZw2.js +202 -0
  242. package/dist/SecretsTab-DfBaqZw2.js.map +1 -0
  243. package/dist/SettingsTab-B1DNmvM5.js +1282 -0
  244. package/dist/SettingsTab-B1DNmvM5.js.map +1 -0
  245. package/dist/SettingsTab-BKD5vVwv.cjs +2 -0
  246. package/dist/SettingsTab-BKD5vVwv.cjs.map +1 -0
  247. package/dist/SignalWidget-f_2K-phy.js +61 -0
  248. package/dist/SignalWidget-f_2K-phy.js.map +1 -0
  249. package/dist/SignalWidget-vsx411XW.cjs +2 -0
  250. package/dist/SignalWidget-vsx411XW.cjs.map +1 -0
  251. package/dist/SimpleTextDialog-BLlux8b4.js +108 -0
  252. package/dist/SimpleTextDialog-BLlux8b4.js.map +1 -0
  253. package/dist/SimpleTextDialog-D2R3WQXD.cjs +2 -0
  254. package/dist/SimpleTextDialog-D2R3WQXD.cjs.map +1 -0
  255. package/dist/SpacerWidget-DGo6ZjYn.cjs +2 -0
  256. package/dist/SpacerWidget-DGo6ZjYn.cjs.map +1 -0
  257. package/dist/SpacerWidget-YhsM7srQ.js +19 -0
  258. package/dist/SpacerWidget-YhsM7srQ.js.map +1 -0
  259. package/dist/SparklineWidget-Bkx8nwqY.cjs +2 -0
  260. package/dist/SparklineWidget-Bkx8nwqY.cjs.map +1 -0
  261. package/dist/SparklineWidget-CuGChXzf.js +47 -0
  262. package/dist/SparklineWidget-CuGChXzf.js.map +1 -0
  263. package/dist/TabbookWidget-BlDW3n54.js +66 -0
  264. package/dist/TabbookWidget-BlDW3n54.js.map +1 -0
  265. package/dist/TabbookWidget-CDUj7RHp.cjs +2 -0
  266. package/dist/TabbookWidget-CDUj7RHp.cjs.map +1 -0
  267. package/dist/TargetsTab-B2Jw5Kec.js +128 -0
  268. package/dist/TargetsTab-B2Jw5Kec.js.map +1 -0
  269. package/dist/TargetsTab-fON6-iJc.cjs +2 -0
  270. package/dist/TargetsTab-fON6-iJc.cjs.map +1 -0
  271. package/dist/TextBoxDialog-CZ3h4LP-.js +110 -0
  272. package/dist/TextBoxDialog-CZ3h4LP-.js.map +1 -0
  273. package/dist/TextBoxDialog-DvUf3Cak.cjs +2 -0
  274. package/dist/TextBoxDialog-DvUf3Cak.cjs.map +1 -0
  275. package/dist/TextboxWidget-CWXCNL8K.js +92 -0
  276. package/dist/TextboxWidget-CWXCNL8K.js.map +1 -0
  277. package/dist/TextboxWidget-LhNzbjQI.cjs +2 -0
  278. package/dist/TextboxWidget-LhNzbjQI.cjs.map +1 -0
  279. package/dist/TextfieldWidget-AbalSObh.cjs +2 -0
  280. package/dist/TextfieldWidget-AbalSObh.cjs.map +1 -0
  281. package/dist/TextfieldWidget-CRVUO3wk.js +37 -0
  282. package/dist/TextfieldWidget-CRVUO3wk.js.map +1 -0
  283. package/dist/TimeWidget-BUMtokM-.cjs +2 -0
  284. package/dist/TimeWidget-BUMtokM-.cjs.map +1 -0
  285. package/dist/TimeWidget-CDo0yWlB.js +40 -0
  286. package/dist/TimeWidget-CDo0yWlB.js.map +1 -0
  287. package/dist/TitleWidget-Cvjndegg.js +26 -0
  288. package/dist/TitleWidget-Cvjndegg.js.map +1 -0
  289. package/dist/TitleWidget-DWieiIfq.cjs +2 -0
  290. package/dist/TitleWidget-DWieiIfq.cjs.map +1 -0
  291. package/dist/ToolsTab-Bu4syVrX.js +1519 -0
  292. package/dist/ToolsTab-Bu4syVrX.js.map +1 -0
  293. package/dist/ToolsTab-rS3KG7M5.cjs +7 -0
  294. package/dist/ToolsTab-rS3KG7M5.cjs.map +1 -0
  295. package/dist/TopBar-B1dOQ1W9.js +253 -0
  296. package/dist/TopBar-B1dOQ1W9.js.map +1 -0
  297. package/dist/TopBar-_j4ndwSi.cjs +2 -0
  298. package/dist/TopBar-_j4ndwSi.cjs.map +1 -0
  299. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs +2 -0
  300. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs.map +1 -0
  301. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js +95 -0
  302. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js.map +1 -0
  303. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js +25215 -0
  304. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js.map +1 -0
  305. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs +1416 -0
  306. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs.map +1 -0
  307. package/dist/VWidget-BRkvqAVS.cjs +2 -0
  308. package/dist/VWidget-BRkvqAVS.cjs.map +1 -0
  309. package/dist/VWidget-D9Wk0N9r.js +323 -0
  310. package/dist/VWidget-D9Wk0N9r.js.map +1 -0
  311. package/dist/ValueWidget-D3EJcN4C.js +115 -0
  312. package/dist/ValueWidget-D3EJcN4C.js.map +1 -0
  313. package/dist/ValueWidget-DxY7IZvc.cjs +2 -0
  314. package/dist/ValueWidget-DxY7IZvc.cjs.map +1 -0
  315. package/dist/ValuelimitsbarWidget-C5revcun.js +39 -0
  316. package/dist/ValuelimitsbarWidget-C5revcun.js.map +1 -0
  317. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs +2 -0
  318. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs.map +1 -0
  319. package/dist/ValuelimitscolumnWidget-BBEGOlON.js +38 -0
  320. package/dist/ValuelimitscolumnWidget-BBEGOlON.js.map +1 -0
  321. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs +2 -0
  322. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs.map +1 -0
  323. package/dist/ValuerangebarWidget-BtoenJky.cjs +2 -0
  324. package/dist/ValuerangebarWidget-BtoenJky.cjs.map +1 -0
  325. package/dist/ValuerangebarWidget-D70Xk8rM.js +65 -0
  326. package/dist/ValuerangebarWidget-D70Xk8rM.js.map +1 -0
  327. package/dist/VerticalWidget-Dw11Ey1R.cjs +2 -0
  328. package/dist/VerticalWidget-Dw11Ey1R.cjs.map +1 -0
  329. package/dist/VerticalWidget-RIOu-NI3.js +41 -0
  330. package/dist/VerticalWidget-RIOu-NI3.js.map +1 -0
  331. package/dist/VerticalboxWidget-BUjeAxtO.js +37 -0
  332. package/dist/VerticalboxWidget-BUjeAxtO.js.map +1 -0
  333. package/dist/VerticalboxWidget-DT-OCuyc.cjs +2 -0
  334. package/dist/VerticalboxWidget-DT-OCuyc.cjs.map +1 -0
  335. package/dist/Widget-C-EiCtmV.cjs +2 -0
  336. package/dist/Widget-C-EiCtmV.cjs.map +1 -0
  337. package/dist/Widget-C5V53T-a.js +197 -0
  338. package/dist/Widget-C5V53T-a.js.map +1 -0
  339. package/dist/addMonths-Be4oiWXO.js +19 -0
  340. package/dist/addMonths-Be4oiWXO.js.map +1 -0
  341. package/dist/addMonths-foItT0GW.cjs +2 -0
  342. package/dist/addMonths-foItT0GW.cjs.map +1 -0
  343. package/dist/axios-CXDYiOMX.js +1705 -0
  344. package/dist/axios-CXDYiOMX.js.map +1 -0
  345. package/dist/axios-tuVKNgv9.cjs +7 -0
  346. package/dist/axios-tuVKNgv9.cjs.map +1 -0
  347. package/dist/components.cjs +7 -0
  348. package/dist/components.cjs.map +1 -0
  349. package/dist/components.js +2936 -0
  350. package/dist/components.js.map +1 -0
  351. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  352. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  353. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  354. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  355. package/dist/format-BDZ4AOJt.cjs +2 -0
  356. package/dist/format-BDZ4AOJt.cjs.map +1 -0
  357. package/dist/format-Da42caYw.js +1229 -0
  358. package/dist/format-Da42caYw.js.map +1 -0
  359. package/dist/icons/status-dark.png +0 -0
  360. package/dist/icons/status-dark.xcf +0 -0
  361. package/dist/icons/status-light.png +0 -0
  362. package/dist/icons.cjs +2 -0
  363. package/dist/icons.cjs.map +1 -0
  364. package/dist/icons.js +157 -0
  365. package/dist/icons.js.map +1 -0
  366. package/dist/parse-BO9ihK1v.cjs +2 -0
  367. package/dist/parse-BO9ihK1v.cjs.map +1 -0
  368. package/dist/parse-dDr1Btat.js +1556 -0
  369. package/dist/parse-dDr1Btat.js.map +1 -0
  370. package/dist/plugins.cjs +9 -0
  371. package/dist/plugins.cjs.map +1 -0
  372. package/dist/plugins.js +771 -0
  373. package/dist/plugins.js.map +1 -0
  374. package/dist/style.css +1 -0
  375. package/dist/timeFilters-CN3Tdo2Z.js +607 -0
  376. package/dist/timeFilters-CN3Tdo2Z.js.map +1 -0
  377. package/dist/timeFilters-DwWhNG4a.cjs +2 -0
  378. package/dist/timeFilters-DwWhNG4a.cjs.map +1 -0
  379. package/dist/tools/admin.cjs +13 -0
  380. package/dist/tools/admin.cjs.map +1 -0
  381. package/dist/tools/admin.js +1909 -0
  382. package/dist/tools/admin.js.map +1 -0
  383. package/dist/tools/base.cjs +2 -0
  384. package/dist/tools/base.cjs.map +1 -0
  385. package/dist/tools/base.js +1580 -0
  386. package/dist/tools/base.js.map +1 -0
  387. package/dist/tools/calendar.cjs +2 -0
  388. package/dist/tools/calendar.cjs.map +1 -0
  389. package/dist/tools/calendar.js +1591 -0
  390. package/dist/tools/calendar.js.map +1 -0
  391. package/dist/util.cjs +2 -0
  392. package/dist/util.cjs.map +1 -0
  393. package/dist/util.js +9 -0
  394. package/dist/util.js.map +1 -0
  395. package/dist/widgets.cjs +2 -0
  396. package/dist/widgets.cjs.map +1 -0
  397. package/dist/widgets.js +130 -0
  398. package/dist/widgets.js.map +1 -0
  399. package/package.json +95 -0
@@ -0,0 +1,1416 @@
1
+ "use strict";const be=require("vue"),G0=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),K0=require("./format-BDZ4AOJt.cjs");var Wi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Wa(f){return f&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f}var af={exports:{}};(function(f,g){(function(){var o="ace",h=function(){return this}();!h&&typeof window<"u"&&(h=window);var R=function(s,r,n){if(typeof s!="string"){R.original?R.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(n=r),R.modules[s]||(R.payloads[s]=n,R.modules[s]=null)};R.modules={},R.payloads={};var x=function(s,r,n){if(typeof r=="string"){var i=u(s,r);if(i!=null)return n&&n(),i}else if(Object.prototype.toString.call(r)==="[object Array]"){for(var t=[],a=0,c=r.length;a<c;++a){var p=u(s,r[a]);if(p==null&&y.original)return;t.push(p)}return n&&n.apply(null,t)||!0}},y=function(s,r){var n=x("",s,r);return n==null&&y.original?y.original.apply(this,arguments):n},_=function(s,r){if(r.indexOf("!")!==-1){var n=r.split("!");return _(s,n[0])+"!"+_(s,n[1])}if(r.charAt(0)=="."){var i=s.split("/").slice(0,-1).join("/");for(r=i+"/"+r;r.indexOf(".")!==-1&&t!=r;){var t=r;r=r.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return r},u=function(s,r){r=_(s,r);var n=R.modules[r];if(!n){if(n=R.payloads[r],typeof n=="function"){var i={},t={id:r,uri:"",exports:i,packaged:!0},a=function(p,v){return x(r,p,v)},c=n(a,i,t);i=c||t.exports,R.modules[r]=i,delete R.payloads[r]}n=R.modules[r]=i||n}return n};function d(s){var r=h;h[s]||(h[s]={}),r=h[s],(!r.define||!r.define.packaged)&&(R.original=r.define,r.define=R,r.define.packaged=!0),(!r.require||!r.require.packaged)&&(y.original=r.require,r.require=y,r.require.packaged=!0)}d(o)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(o,h,R){function x(y,_,u){Object.defineProperty(y,_,{value:u,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||x(String.prototype,"startsWith",function(y,_){return _=_||0,this.lastIndexOf(y,_)===_}),String.prototype.endsWith||x(String.prototype,"endsWith",function(y,_){var u=this;(_===void 0||_>u.length)&&(_=u.length),_-=y.length;var d=u.indexOf(y,_);return d!==-1&&d===_}),String.prototype.repeat||x(String.prototype,"repeat",function(y){for(var _="",u=this;y>0;)y&1&&(_+=u),(y>>=1)&&(u+=u);return _}),String.prototype.includes||x(String.prototype,"includes",function(y,_){return this.indexOf(y,_)!=-1}),Object.assign||(Object.assign=function(y){if(y==null)throw new TypeError("Cannot convert undefined or null to object");for(var _=Object(y),u=1;u<arguments.length;u++){var d=arguments[u];d!=null&&Object.keys(d).forEach(function(s){_[s]=d[s]})}return _}),Object.values||(Object.values=function(y){return Object.keys(y).map(function(_){return y[_]})}),Array.prototype.find||x(Array.prototype,"find",function(y){for(var _=this.length,u=arguments[1],d=0;d<_;d++){var s=this[d];if(y.call(u,s,d,this))return s}}),Array.prototype.findIndex||x(Array.prototype,"findIndex",function(y){for(var _=this.length,u=arguments[1],d=0;d<_;d++){var s=this[d];if(y.call(u,s,d,this))return d}}),Array.prototype.includes||x(Array.prototype,"includes",function(y,_){return this.indexOf(y,_)!=-1}),Array.prototype.fill||x(Array.prototype,"fill",function(y){for(var _=this,u=_.length>>>0,d=arguments[1],s=d>>0,r=s<0?Math.max(u+s,0):Math.min(s,u),n=arguments[2],i=n===void 0?u:n>>0,t=i<0?Math.max(u+i,0):Math.min(i,u);r<t;)_[r]=y,r++;return _}),Array.of||x(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(o,h,R){o("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(o,h,R){h.deepCopy=function x(y){if(typeof y!="object"||!y)return y;var _;if(Array.isArray(y)){_=[];for(var u=0;u<y.length;u++)_[u]=x(y[u]);return _}if(Object.prototype.toString.call(y)!=="[object Object]")return y;_={};for(var u in y)_[u]=x(y[u]);return _}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(o,h,R){h.last=function(_){return _[_.length-1]},h.stringReverse=function(_){return _.split("").reverse().join("")},h.stringRepeat=function(_,u){for(var d="";u>0;)u&1&&(d+=_),(u>>=1)&&(_+=_);return d};var x=/^\s\s*/,y=/\s\s*$/;h.stringTrimLeft=function(_){return _.replace(x,"")},h.stringTrimRight=function(_){return _.replace(y,"")},h.copyObject=function(_){var u={};for(var d in _)u[d]=_[d];return u},h.copyArray=function(_){for(var u=[],d=0,s=_.length;d<s;d++)_[d]&&typeof _[d]=="object"?u[d]=this.copyObject(_[d]):u[d]=_[d];return u},h.deepCopy=o("./deep_copy").deepCopy,h.arrayToMap=function(_){for(var u={},d=0;d<_.length;d++)u[_[d]]=1;return u},h.createMap=function(_){var u=Object.create(null);for(var d in _)u[d]=_[d];return u},h.arrayRemove=function(_,u){for(var d=0;d<=_.length;d++)u===_[d]&&_.splice(d,1)},h.escapeRegExp=function(_){return _.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},h.escapeHTML=function(_){return(""+_).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},h.getMatchOffsets=function(_,u){var d=[];return _.replace(u,function(s){d.push({offset:arguments[arguments.length-2],length:s.length})}),d},h.deferredCall=function(_){var u=null,d=function(){u=null,_()},s=function(r){return s.cancel(),u=setTimeout(d,r||0),s};return s.schedule=s,s.call=function(){return this.cancel(),_(),s},s.cancel=function(){return clearTimeout(u),u=null,s},s.isPending=function(){return u},s},h.delayedCall=function(_,u){var d=null,s=function(){d=null,_()},r=function(n){d==null&&(d=setTimeout(s,n||u))};return r.delay=function(n){d&&clearTimeout(d),d=setTimeout(s,n||u)},r.schedule=r,r.call=function(){this.cancel(),_()},r.cancel=function(){d&&clearTimeout(d),d=null},r.isPending=function(){return d},r},h.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},h.skipEmptyMatch=function(_,u,d){return d&&_.codePointAt(u)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(o,h,R){h.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},h.getOS=function(){return h.isMac?h.OS.MAC:h.isLinux?h.OS.LINUX:h.OS.WINDOWS};var x=typeof navigator=="object"?navigator:{},y=(/mac|win|linux/i.exec(x.platform)||["other"])[0].toLowerCase(),_=x.userAgent||"",u=x.appName||"";h.isWin=y=="win",h.isMac=y=="mac",h.isLinux=y=="linux",h.isIE=u=="Microsoft Internet Explorer"||u.indexOf("MSAppHost")>=0?parseFloat((_.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((_.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),h.isOldIE=h.isIE&&h.isIE<9,h.isGecko=h.isMozilla=_.match(/ Gecko\/\d+/),h.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",h.isWebKit=parseFloat(_.split("WebKit/")[1])||void 0,h.isChrome=parseFloat(_.split(" Chrome/")[1])||void 0,h.isSafari=parseFloat(_.split(" Safari/")[1])&&!h.isChrome||void 0,h.isEdge=parseFloat(_.split(" Edge/")[1])||void 0,h.isAIR=_.indexOf("AdobeAIR")>=0,h.isAndroid=_.indexOf("Android")>=0,h.isChromeOS=_.indexOf(" CrOS ")>=0,h.isIOS=/iPad|iPhone|iPod/.test(_)&&!window.MSStream,h.isIOS&&(h.isMac=!0),h.isMobile=h.isIOS||h.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(o,h,R){var x=o("./useragent"),y="http://www.w3.org/1999/xhtml";h.buildDom=function n(i,t,a){if(typeof i=="string"&&i){var c=document.createTextNode(i);return t&&t.appendChild(c),c}if(!Array.isArray(i))return i&&i.appendChild&&t&&t.appendChild(i),i;if(typeof i[0]!="string"||!i[0]){for(var p=[],v=0;v<i.length;v++){var I=n(i[v],t,a);I&&p.push(I)}return p}var C=document.createElement(i[0]),b=i[1],m=1;b&&typeof b=="object"&&!Array.isArray(b)&&(m=2);for(var v=m;v<i.length;v++)n(i[v],C,a);return m==2&&Object.keys(b).forEach(function($){var L=b[$];$==="class"?C.className=Array.isArray(L)?L.join(" "):L:typeof L=="function"||$=="value"||$[0]=="$"?C[$]=L:$==="ref"?a&&(a[L]=C):$==="style"?typeof L=="string"&&(C.style.cssText=L):L!=null&&C.setAttribute($,L)}),t&&t.appendChild(C),C},h.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},h.createElement=function(n,i){return document.createElementNS?document.createElementNS(i||y,n):document.createElement(n)},h.removeChildren=function(n){n.innerHTML=""},h.createTextNode=function(n,i){var t=i?i.ownerDocument:document;return t.createTextNode(n)},h.createFragment=function(n){var i=n?n.ownerDocument:document;return i.createDocumentFragment()},h.hasCssClass=function(n,i){var t=(n.className+"").split(/\s+/g);return t.indexOf(i)!==-1},h.addCssClass=function(n,i){h.hasCssClass(n,i)||(n.className+=" "+i)},h.removeCssClass=function(n,i){for(var t=n.className.split(/\s+/g);;){var a=t.indexOf(i);if(a==-1)break;t.splice(a,1)}n.className=t.join(" ")},h.toggleCssClass=function(n,i){for(var t=n.className.split(/\s+/g),a=!0;;){var c=t.indexOf(i);if(c==-1)break;a=!1,t.splice(c,1)}return a&&t.push(i),n.className=t.join(" "),a},h.setCssClass=function(n,i,t){t?h.addCssClass(n,i):h.removeCssClass(n,i)},h.hasCssString=function(n,i){var t=0,a;if(i=i||document,a=i.querySelectorAll("style")){for(;t<a.length;)if(a[t++].id===n)return!0}},h.removeElementById=function(n,i){i=i||document,i.getElementById(n)&&i.getElementById(n).remove()};var _,u=[];h.useStrictCSP=function(n){_=n,n==!1?d():u||(u=[])};function d(){var n=u;u=null,n&&n.forEach(function(i){s(i[0],i[1])})}function s(n,i,t){if(!(typeof document>"u")){if(u){if(t)d();else if(t===!1)return u.push([n,i])}if(!_){var a=t;!t||!t.getRootNode?a=document:(a=t.getRootNode(),(!a||a==t)&&(a=document));var c=a.ownerDocument||a;if(i&&h.hasCssString(i,a))return null;i&&(n+=`
2
+ /*# sourceURL=ace/css/`+i+" */");var p=h.createElement("style");p.appendChild(c.createTextNode(n)),i&&(p.id=i),a==c&&(a=h.getDocumentHead(c)),a.insertBefore(p,a.firstChild)}}}if(h.importCssString=s,h.importCssStylsheet=function(n,i){h.buildDom(["link",{rel:"stylesheet",href:n}],h.getDocumentHead(i))},h.scrollbarWidth=function(n){var i=h.createElement("ace_inner");i.style.width="100%",i.style.minWidth="0px",i.style.height="200px",i.style.display="block";var t=h.createElement("ace_outer"),a=t.style;a.position="absolute",a.left="-10000px",a.overflow="hidden",a.width="200px",a.minWidth="0px",a.height="150px",a.display="block",t.appendChild(i);var c=n&&n.documentElement||document&&document.documentElement;if(!c)return 0;c.appendChild(t);var p=i.offsetWidth;a.overflow="scroll";var v=i.offsetWidth;return p===v&&(v=t.clientWidth),c.removeChild(t),p-v},h.computedStyle=function(n,i){return window.getComputedStyle(n,"")||{}},h.setStyle=function(n,i,t){n[i]!==t&&(n[i]=t)},h.HAS_CSS_ANIMATION=!1,h.HAS_CSS_TRANSFORMS=!1,h.HI_DPI=x.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,x.isChromeOS&&(h.HI_DPI=!1),typeof document<"u"){var r=document.createElement("div");h.HI_DPI&&r.style.transform!==void 0&&(h.HAS_CSS_TRANSFORMS=!0),!x.isEdge&&typeof r.style.animationName<"u"&&(h.HAS_CSS_ANIMATION=!0),r=null}h.HAS_CSS_TRANSFORMS?h.translate=function(n,i,t){n.style.transform="translate("+Math.round(i)+"px, "+Math.round(t)+"px)"}:h.translate=function(n,i,t){n.style.top=Math.round(t)+"px",n.style.left=Math.round(i)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(o,h,R){/*
3
+ * based on code from:
4
+ *
5
+ * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
6
+ * Available via the MIT or new BSD license.
7
+ * see: http://github.com/jrburke/requirejs for details
8
+ */var x=o("./dom");h.get=function(y,_){var u=new XMLHttpRequest;u.open("GET",y,!0),u.onreadystatechange=function(){u.readyState===4&&_(u.responseText)},u.send(null)},h.loadScript=function(y,_){var u=x.getDocumentHead(),d=document.createElement("script");d.src=y,u.appendChild(d),d.onload=d.onreadystatechange=function(s,r){(r||!d.readyState||d.readyState=="loaded"||d.readyState=="complete")&&(d=d.onload=d.onreadystatechange=null,r||_())}},h.qualifyURL=function(y){var _=document.createElement("a");return _.href=y,_.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(o,h,R){h.inherits=function(x,y){x.super_=y,x.prototype=Object.create(y.prototype,{constructor:{value:x,enumerable:!1,writable:!0,configurable:!0}})},h.mixin=function(x,y){for(var _ in y)x[_]=y[_];return x},h.implement=function(x,y){h.mixin(x,y)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(o,h,R){var x={},y=function(){this.propagationStopped=!0},_=function(){this.defaultPrevented=!0};x._emit=x._dispatchEvent=function(u,d){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var s=this._eventRegistry[u]||[],r=this._defaultHandlers[u];if(!(!s.length&&!r)){(typeof d!="object"||!d)&&(d={}),d.type||(d.type=u),d.stopPropagation||(d.stopPropagation=y),d.preventDefault||(d.preventDefault=_),s=s.slice();for(var n=0;n<s.length&&(s[n](d,this),!d.propagationStopped);n++);if(r&&!d.defaultPrevented)return r(d,this)}},x._signal=function(u,d){var s=(this._eventRegistry||{})[u];if(s){s=s.slice();for(var r=0;r<s.length;r++)s[r](d,this)}},x.once=function(u,d){var s=this;if(this.on(u,function r(){s.off(u,r),d.apply(null,arguments)}),!d)return new Promise(function(r){d=r})},x.setDefaultHandler=function(u,d){var s=this._defaultHandlers;if(s||(s=this._defaultHandlers={_disabled_:{}}),s[u]){var r=s[u],n=s._disabled_[u];n||(s._disabled_[u]=n=[]),n.push(r);var i=n.indexOf(d);i!=-1&&n.splice(i,1)}s[u]=d},x.removeDefaultHandler=function(u,d){var s=this._defaultHandlers;if(s){var r=s._disabled_[u];if(s[u]==d)r&&this.setDefaultHandler(u,r.pop());else if(r){var n=r.indexOf(d);n!=-1&&r.splice(n,1)}}},x.on=x.addEventListener=function(u,d,s){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[u];return r||(r=this._eventRegistry[u]=[]),r.indexOf(d)==-1&&r[s?"unshift":"push"](d),d},x.off=x.removeListener=x.removeEventListener=function(u,d){this._eventRegistry=this._eventRegistry||{};var s=this._eventRegistry[u];if(s){var r=s.indexOf(d);r!==-1&&s.splice(r,1)}},x.removeAllListeners=function(u){u||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[u]=void 0),this._defaultHandlers&&(this._defaultHandlers[u]=void 0)},h.EventEmitter=x}),ace.define("ace/lib/report_error",["require","exports","module"],function(o,h,R){h.reportError=function(y,_){var u=new Error(y);u.data=_,typeof console=="object"&&console.error&&console.error(u),setTimeout(function(){throw u})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(o,h,R){var x={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions"};h.defaultEnglishMessages=x}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(o,h,R){"no use strict";var x=o("./oop"),y=o("./event_emitter").EventEmitter,_=o("./report_error").reportError,u=o("./default_english_messages").defaultEnglishMessages,d={setOptions:function(t){Object.keys(t).forEach(function(a){this.setOption(a,t[a])},this)},getOptions:function(t){var a={};if(t)Array.isArray(t)||(a=t,t=Object.keys(a));else{var c=this.$options;t=Object.keys(c).filter(function(p){return!c[p].hidden})}return t.forEach(function(p){a[p]=this.getOption(p)},this),a},setOption:function(t,a){if(this["$"+t]!==a){var c=this.$options[t];if(!c)return s('misspelled option "'+t+'"');if(c.forwardTo)return this[c.forwardTo]&&this[c.forwardTo].setOption(t,a);c.handlesSet||(this["$"+t]=a),c&&c.set&&c.set.call(this,a)}},getOption:function(t){var a=this.$options[t];return a?a.forwardTo?this[a.forwardTo]&&this[a.forwardTo].getOption(t):a&&a.get?a.get.call(this):this["$"+t]:s('misspelled option "'+t+'"')}};function s(t){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var r,n,i=function(){function t(){this.$defaultOptions={},r=u,n="dollarSigns"}return t.prototype.defineOptions=function(a,c,p){return a.$options||(this.$defaultOptions[c]=a.$options={}),Object.keys(p).forEach(function(v){var I=p[v];typeof I=="string"&&(I={forwardTo:I}),I.name||(I.name=v),a.$options[I.name]=I,"initialValue"in I&&(a["$"+I.name]=I.initialValue)}),x.implement(a,d),this},t.prototype.resetOptions=function(a){Object.keys(a.$options).forEach(function(c){var p=a.$options[c];"value"in p&&a.setOption(c,p.value)})},t.prototype.setDefaultValue=function(a,c,p){if(!a){for(a in this.$defaultOptions)if(this.$defaultOptions[a][c])break;if(!this.$defaultOptions[a][c])return!1}var v=this.$defaultOptions[a]||(this.$defaultOptions[a]={});v[c]&&(v.forwardTo?this.setDefaultValue(v.forwardTo,c,p):v[c].value=p)},t.prototype.setDefaultValues=function(a,c){Object.keys(c).forEach(function(p){this.setDefaultValue(a,p,c[p])},this)},t.prototype.setMessages=function(a,c){r=a,c&&c.placeholders&&(n=c.placeholders)},t.prototype.nls=function(a,c,p){r[a]||(s("No message found for the key '"+a+"' in the provided messages, trying to find a translation for the default string '"+c+"'."),r[c]||s("No message found for the default string '"+c+"' in the provided messages. Falling back to the default English message."));var v=r[a]||r[c]||c;return p&&(n==="dollarSigns"&&(v=v.replace(/\$(\$|[\d]+)/g,function(I,C){return C=="$"?"$":p[C]})),n==="curlyBrackets"&&(v=v.replace(/\{([^\}]+)\}/g,function(I,C){return p[C]}))),v},t}();i.prototype.warn=s,i.prototype.reportError=_,x.implement(i.prototype,y),h.AppConfig=i}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(o,h,R){R.exports=`.ace-tm .ace_gutter {
9
+ background: #f0f0f0;
10
+ color: #333;
11
+ }
12
+
13
+ .ace-tm .ace_print-margin {
14
+ width: 1px;
15
+ background: #e8e8e8;
16
+ }
17
+
18
+ .ace-tm .ace_fold {
19
+ background-color: #6B72E6;
20
+ }
21
+
22
+ .ace-tm {
23
+ background-color: #FFFFFF;
24
+ color: black;
25
+ }
26
+
27
+ .ace-tm .ace_cursor {
28
+ color: black;
29
+ }
30
+
31
+ .ace-tm .ace_invisible {
32
+ color: rgb(191, 191, 191);
33
+ }
34
+
35
+ .ace-tm .ace_storage,
36
+ .ace-tm .ace_keyword {
37
+ color: blue;
38
+ }
39
+
40
+ .ace-tm .ace_constant {
41
+ color: rgb(197, 6, 11);
42
+ }
43
+
44
+ .ace-tm .ace_constant.ace_buildin {
45
+ color: rgb(88, 72, 246);
46
+ }
47
+
48
+ .ace-tm .ace_constant.ace_language {
49
+ color: rgb(88, 92, 246);
50
+ }
51
+
52
+ .ace-tm .ace_constant.ace_library {
53
+ color: rgb(6, 150, 14);
54
+ }
55
+
56
+ .ace-tm .ace_invalid {
57
+ background-color: rgba(255, 0, 0, 0.1);
58
+ color: red;
59
+ }
60
+
61
+ .ace-tm .ace_support.ace_function {
62
+ color: rgb(60, 76, 114);
63
+ }
64
+
65
+ .ace-tm .ace_support.ace_constant {
66
+ color: rgb(6, 150, 14);
67
+ }
68
+
69
+ .ace-tm .ace_support.ace_type,
70
+ .ace-tm .ace_support.ace_class {
71
+ color: rgb(109, 121, 222);
72
+ }
73
+
74
+ .ace-tm .ace_keyword.ace_operator {
75
+ color: rgb(104, 118, 135);
76
+ }
77
+
78
+ .ace-tm .ace_string {
79
+ color: rgb(3, 106, 7);
80
+ }
81
+
82
+ .ace-tm .ace_comment {
83
+ color: rgb(76, 136, 107);
84
+ }
85
+
86
+ .ace-tm .ace_comment.ace_doc {
87
+ color: rgb(0, 102, 255);
88
+ }
89
+
90
+ .ace-tm .ace_comment.ace_doc.ace_tag {
91
+ color: rgb(128, 159, 191);
92
+ }
93
+
94
+ .ace-tm .ace_constant.ace_numeric {
95
+ color: rgb(0, 0, 205);
96
+ }
97
+
98
+ .ace-tm .ace_variable {
99
+ color: rgb(49, 132, 149);
100
+ }
101
+
102
+ .ace-tm .ace_xml-pe {
103
+ color: rgb(104, 104, 91);
104
+ }
105
+
106
+ .ace-tm .ace_entity.ace_name.ace_function {
107
+ color: #0000A2;
108
+ }
109
+
110
+
111
+ .ace-tm .ace_heading {
112
+ color: rgb(12, 7, 255);
113
+ }
114
+
115
+ .ace-tm .ace_list {
116
+ color:rgb(185, 6, 144);
117
+ }
118
+
119
+ .ace-tm .ace_meta.ace_tag {
120
+ color:rgb(0, 22, 142);
121
+ }
122
+
123
+ .ace-tm .ace_string.ace_regex {
124
+ color: rgb(255, 0, 0)
125
+ }
126
+
127
+ .ace-tm .ace_marker-layer .ace_selection {
128
+ background: rgb(181, 213, 255);
129
+ }
130
+ .ace-tm.ace_multiselect .ace_selection.ace_start {
131
+ box-shadow: 0 0 3px 0px white;
132
+ }
133
+ .ace-tm .ace_marker-layer .ace_step {
134
+ background: rgb(252, 255, 0);
135
+ }
136
+
137
+ .ace-tm .ace_marker-layer .ace_stack {
138
+ background: rgb(164, 229, 101);
139
+ }
140
+
141
+ .ace-tm .ace_marker-layer .ace_bracket {
142
+ margin: -1px 0 0 -1px;
143
+ border: 1px solid rgb(192, 192, 192);
144
+ }
145
+
146
+ .ace-tm .ace_marker-layer .ace_active-line {
147
+ background: rgba(0, 0, 0, 0.07);
148
+ }
149
+
150
+ .ace-tm .ace_gutter-active-line {
151
+ background-color : #dcdcdc;
152
+ }
153
+
154
+ .ace-tm .ace_marker-layer .ace_selected-word {
155
+ background: rgb(250, 250, 255);
156
+ border: 1px solid rgb(200, 200, 250);
157
+ }
158
+
159
+ .ace-tm .ace_indent-guide {
160
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
161
+ }
162
+
163
+ .ace-tm .ace_indent-guide-active {
164
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
165
+ }
166
+ `}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(o,h,R){h.isDark=!1,h.cssClass="ace-tm",h.cssText=o("./textmate-css"),h.$id="ace/theme/textmate";var x=o("../lib/dom");x.importCssString(h.cssText,h.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(o,h,R){"no use strict";var x=o("./lib/lang"),y=o("./lib/net"),_=o("./lib/dom"),u=o("./lib/app_config").AppConfig;R.exports=h=new u;var d={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};h.get=function(i){if(!d.hasOwnProperty(i))throw new Error("Unknown config key: "+i);return d[i]},h.set=function(i,t){if(d.hasOwnProperty(i))d[i]=t;else if(this.setDefaultValue("",i,t)==!1)throw new Error("Unknown config key: "+i);i=="useStrictCSP"&&_.useStrictCSP(t)},h.all=function(){return x.copyObject(d)},h.$modes={},h.moduleUrl=function(i,t){if(d.$moduleUrls[i])return d.$moduleUrls[i];var a=i.split("/");t=t||a[a.length-2]||"";var c=t=="snippets"?"/":"-",p=a[a.length-1];if(t=="worker"&&c=="-"){var v=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");p=p.replace(v,"")}(!p||p==t)&&a.length>1&&(p=a[a.length-2]);var I=d[t+"Path"];return I==null?I=d.basePath:c=="/"&&(t=c=""),I&&I.slice(-1)!="/"&&(I+="/"),I+t+c+p+this.get("suffix")},h.setModuleUrl=function(i,t){return d.$moduleUrls[i]=t};var s=function(i,t){if(i==="ace/theme/textmate"||i==="./theme/textmate")return t(null,o("./theme/textmate"));if(r)return r(i,t);console.error("loader is not configured")},r;h.setLoader=function(i){r=i},h.dynamicModules=Object.create(null),h.$loading={},h.$loaded={},h.loadModule=function(i,t){var a;if(Array.isArray(i))var c=i[0],p=i[1];else if(typeof i=="string")var p=i;var v=function(I){if(I&&!h.$loading[p])return t&&t(I);if(h.$loading[p]||(h.$loading[p]=[]),h.$loading[p].push(t),!(h.$loading[p].length>1)){var C=function(){s(p,function(b,m){m&&(h.$loaded[p]=m),h._emit("load.module",{name:p,module:m});var $=h.$loading[p];h.$loading[p]=null,$.forEach(function(L){L&&L(m)})})};if(!h.get("packaged"))return C();y.loadScript(h.moduleUrl(p,c),C),n()}};if(h.dynamicModules[p])h.dynamicModules[p]().then(function(I){I.default?v(I.default):v(I)});else{try{a=this.$require(p)}catch{}v(a||h.$loaded[p])}},h.$require=function(i){if(typeof R.require=="function"){var t="require";return R[t](i)}},h.setModuleLoader=function(i,t){h.dynamicModules[i]=t};var n=function(){!d.basePath&&!d.workerPath&&!d.modePath&&!d.themePath&&!Object.keys(d.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),n=function(){})};h.version="1.36.3"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(o,h,R){o("./lib/fixoldbrowsers");var x=o("./config");x.setLoader(function(d,s){o([d],function(r){s(null,r)})});var y=function(){return this||typeof window<"u"&&window}();R.exports=function(d){x.init=_,x.$require=o,d.require=o},_(!0);function _(d){if(!(!y||!y.document)){x.set("packaged",d||o.packaged||R.packaged||y.define&&(void 0).packaged);var s={},r="",n=document.currentScript||document._currentScript,i=n&&n.ownerDocument||document;n&&n.src&&(r=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var t=i.getElementsByTagName("script"),a=0;a<t.length;a++){var c=t[a],p=c.src||c.getAttribute("src");if(p){for(var v=c.attributes,I=0,C=v.length;I<C;I++){var b=v[I];b.name.indexOf("data-ace-")===0&&(s[u(b.name.replace(/^data-ace-/,""))]=b.value)}var m=p.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);m&&(r=m[1])}}r&&(s.base=s.base||r,s.packaged=!0),s.basePath=s.base,s.workerPath=s.workerPath||s.base,s.modePath=s.modePath||s.base,s.themePath=s.themePath||s.base,delete s.base;for(var $ in s)typeof s[$]<"u"&&x.set($,s[$])}}function u(d){return d.replace(/-(.)/g,function(s,r){return r.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(o,h,R){var x=function(){function y(_,u,d,s){this.start={row:_,column:u},this.end={row:d,column:s}}return y.prototype.isEqual=function(_){return this.start.row===_.start.row&&this.end.row===_.end.row&&this.start.column===_.start.column&&this.end.column===_.end.column},y.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},y.prototype.contains=function(_,u){return this.compare(_,u)==0},y.prototype.compareRange=function(_){var u,d=_.end,s=_.start;return u=this.compare(d.row,d.column),u==1?(u=this.compare(s.row,s.column),u==1?2:u==0?1:0):u==-1?-2:(u=this.compare(s.row,s.column),u==-1?-1:u==1?42:0)},y.prototype.comparePoint=function(_){return this.compare(_.row,_.column)},y.prototype.containsRange=function(_){return this.comparePoint(_.start)==0&&this.comparePoint(_.end)==0},y.prototype.intersects=function(_){var u=this.compareRange(_);return u==-1||u==0||u==1},y.prototype.isEnd=function(_,u){return this.end.row==_&&this.end.column==u},y.prototype.isStart=function(_,u){return this.start.row==_&&this.start.column==u},y.prototype.setStart=function(_,u){typeof _=="object"?(this.start.column=_.column,this.start.row=_.row):(this.start.row=_,this.start.column=u)},y.prototype.setEnd=function(_,u){typeof _=="object"?(this.end.column=_.column,this.end.row=_.row):(this.end.row=_,this.end.column=u)},y.prototype.inside=function(_,u){return this.compare(_,u)==0?!(this.isEnd(_,u)||this.isStart(_,u)):!1},y.prototype.insideStart=function(_,u){return this.compare(_,u)==0?!this.isEnd(_,u):!1},y.prototype.insideEnd=function(_,u){return this.compare(_,u)==0?!this.isStart(_,u):!1},y.prototype.compare=function(_,u){return!this.isMultiLine()&&_===this.start.row?u<this.start.column?-1:u>this.end.column?1:0:_<this.start.row?-1:_>this.end.row?1:this.start.row===_?u>=this.start.column?0:-1:this.end.row===_?u<=this.end.column?0:1:0},y.prototype.compareStart=function(_,u){return this.start.row==_&&this.start.column==u?-1:this.compare(_,u)},y.prototype.compareEnd=function(_,u){return this.end.row==_&&this.end.column==u?1:this.compare(_,u)},y.prototype.compareInside=function(_,u){return this.end.row==_&&this.end.column==u?1:this.start.row==_&&this.start.column==u?-1:this.compare(_,u)},y.prototype.clipRows=function(_,u){if(this.end.row>u)var d={row:u+1,column:0};else if(this.end.row<_)var d={row:_,column:0};if(this.start.row>u)var s={row:u+1,column:0};else if(this.start.row<_)var s={row:_,column:0};return y.fromPoints(s||this.start,d||this.end)},y.prototype.extend=function(_,u){var d=this.compare(_,u);if(d==0)return this;if(d==-1)var s={row:_,column:u};else var r={row:_,column:u};return y.fromPoints(s||this.start,r||this.end)},y.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},y.prototype.isMultiLine=function(){return this.start.row!==this.end.row},y.prototype.clone=function(){return y.fromPoints(this.start,this.end)},y.prototype.collapseRows=function(){return this.end.column==0?new y(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new y(this.start.row,0,this.end.row,0)},y.prototype.toScreenRange=function(_){var u=_.documentToScreenPosition(this.start),d=_.documentToScreenPosition(this.end);return new y(u.row,u.column,d.row,d.column)},y.prototype.moveBy=function(_,u){this.start.row+=_,this.start.column+=u,this.end.row+=_,this.end.column+=u},y}();x.fromPoints=function(y,_){return new x(y.row,y.column,_.row,_.column)},x.comparePoints=function(y,_){return y.row-_.row||y.column-_.column},h.Range=x}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(o,h,R){for(var x=o("./oop"),y={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},_={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},u=0;u<10;u++)_["Digit"+u]=48+u,_["Numpad"+u]=96+u,y.PRINTABLE_KEYS[48+u]=""+u,y.FUNCTION_KEYS[96+u]="Numpad"+u;for(var u=65;u<91;u++){var d=String.fromCharCode(u+32);_["Key"+d.toUpperCase()]=u,y.PRINTABLE_KEYS[u]=d}for(var u=1;u<13;u++)_["F"+u]=111+u,y.FUNCTION_KEYS[111+u]="F"+u;var s={Shift:16,Control:17,Alt:18,Meta:224};for(var r in s)_[r]=_[r+"Left"]=_[r+"Right"]=s[r];h.$codeToKeyCode=_,y.PRINTABLE_KEYS[173]="-";for(var n in y.FUNCTION_KEYS){var i=y.FUNCTION_KEYS[n].toLowerCase();y[i]=parseInt(n,10)}for(var n in y.PRINTABLE_KEYS){var i=y.PRINTABLE_KEYS[n].toLowerCase();y[i]=parseInt(n,10)}x.mixin(y,y.MODIFIER_KEYS),x.mixin(y,y.PRINTABLE_KEYS),x.mixin(y,y.FUNCTION_KEYS),y.enter=y.return,y.escape=y.esc,y.del=y.delete,function(){for(var t=["cmd","ctrl","alt","shift"],a=Math.pow(2,t.length);a--;)y.KEY_MODS[a]=t.filter(function(c){return a&y.KEY_MODS[c]}).join("-")+"-"}(),y.KEY_MODS[0]="",y.KEY_MODS[-1]="input-",x.mixin(h,y),h.default=h,h.keyCodeToString=function(t){var a=y[t];return typeof a!="string"&&(a=String.fromCharCode(t)),a.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(o,h,R){var x=o("./keys"),y=o("./useragent"),_=null,u=0,d;function s(){d=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return d={passive:!1},!0}})}catch{}}function r(){return d==null&&s(),d}function n(I,C,b){this.elem=I,this.type=C,this.callback=b}n.prototype.destroy=function(){t(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var i=h.addListener=function(I,C,b,m){I.addEventListener(C,b,r()),m&&m.$toDestroy.push(new n(I,C,b))},t=h.removeListener=function(I,C,b){I.removeEventListener(C,b,r())};h.stopEvent=function(I){return h.stopPropagation(I),h.preventDefault(I),!1},h.stopPropagation=function(I){I.stopPropagation&&I.stopPropagation()},h.preventDefault=function(I){I.preventDefault&&I.preventDefault()},h.getButton=function(I){return I.type=="dblclick"?0:I.type=="contextmenu"||y.isMac&&I.ctrlKey&&!I.altKey&&!I.shiftKey?2:I.button},h.capture=function(I,C,b){var m=I&&I.ownerDocument||document;function $(L){C&&C(L),b&&b(L),t(m,"mousemove",C),t(m,"mouseup",$),t(m,"dragstart",$)}return i(m,"mousemove",C),i(m,"mouseup",$),i(m,"dragstart",$),$},h.addMouseWheelListener=function(I,C,b){i(I,"wheel",function(m){var $=.15,L=m.deltaX||0,O=m.deltaY||0;switch(m.deltaMode){case m.DOM_DELTA_PIXEL:m.wheelX=L*$,m.wheelY=O*$;break;case m.DOM_DELTA_LINE:var A=15;m.wheelX=L*A,m.wheelY=O*A;break;case m.DOM_DELTA_PAGE:var E=150;m.wheelX=L*E,m.wheelY=O*E;break}C(m)},b)},h.addMultiMouseDownListener=function(I,C,b,m,$){var L=0,O,A,E,k={2:"dblclick",3:"tripleclick",4:"quadclick"};function T(w){if(h.getButton(w)!==0?L=0:w.detail>1?(L++,L>4&&(L=1)):L=1,y.isIE){var M=Math.abs(w.clientX-O)>5||Math.abs(w.clientY-A)>5;(!E||M)&&(L=1),E&&clearTimeout(E),E=setTimeout(function(){E=null},C[L-1]||600),L==1&&(O=w.clientX,A=w.clientY)}if(w._clicks=L,b[m]("mousedown",w),L>4)L=0;else if(L>1)return b[m](k[L],w)}Array.isArray(I)||(I=[I]),I.forEach(function(w){i(w,"mousedown",T,$)})};function a(I){return 0|(I.ctrlKey?1:0)|(I.altKey?2:0)|(I.shiftKey?4:0)|(I.metaKey?8:0)}h.getModifierString=function(I){return x.KEY_MODS[a(I)]};function c(I,C,b){var m=a(C);if(!b&&C.code&&(b=x.$codeToKeyCode[C.code]||b),!y.isMac&&_){if(C.getModifierState&&(C.getModifierState("OS")||C.getModifierState("Win"))&&(m|=8),_.altGr)if((3&m)!=3)_.altGr=0;else return;if(b===18||b===17){var $=C.location;if(b===17&&$===1)_[b]==1&&(u=C.timeStamp);else if(b===18&&m===3&&$===2){var L=C.timeStamp-u;L<50&&(_.altGr=!0)}}}if(b in x.MODIFIER_KEYS&&(b=-1),!(!m&&b===13&&C.location===3&&(I(C,m,-b),C.defaultPrevented))){if(y.isChromeOS&&m&8){if(I(C,m,b),C.defaultPrevented)return;m&=-9}return!m&&!(b in x.FUNCTION_KEYS)&&!(b in x.PRINTABLE_KEYS)?!1:I(C,m,b)}}h.addCommandKeyListener=function(I,C,b){var m=null;i(I,"keydown",function($){_[$.keyCode]=(_[$.keyCode]||0)+1;var L=c(C,$,$.keyCode);return m=$.defaultPrevented,L},b),i(I,"keypress",function($){m&&($.ctrlKey||$.altKey||$.shiftKey||$.metaKey)&&(h.stopEvent($),m=null)},b),i(I,"keyup",function($){_[$.keyCode]=null},b),_||(p(),i(window,"focus",p))};function p(){_=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!y.isOldIE){var v=1;h.nextTick=function(I,C){C=C||window;var b="zero-timeout-message-"+v++,m=function($){$.data==b&&(h.stopPropagation($),t(C,"message",m),I())};i(C,"message",m),C.postMessage(b,"*")}}h.$idleBlocked=!1,h.onIdle=function(I,C){return setTimeout(function b(){h.$idleBlocked?setTimeout(b,100):I()},C)},h.$idleBlockId=null,h.blockIdle=function(I){h.$idleBlockId&&clearTimeout(h.$idleBlockId),h.$idleBlocked=!0,h.$idleBlockId=setTimeout(function(){h.$idleBlocked=!1},I||100)},h.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),h.nextFrame?h.nextFrame=h.nextFrame.bind(window):h.nextFrame=function(I){setTimeout(I,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(o,h,R){var x;R.exports={lineMode:!1,pasteCancelled:function(){return x&&x>Date.now()-50?!0:x=!1},cancel:function(){x=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(o,h,R){var x=o("../lib/event"),y=o("../config").nls,_=o("../lib/useragent"),u=o("../lib/dom"),d=o("../lib/lang"),s=o("../clipboard"),r=_.isChrome<18,n=_.isIE,i=_.isChrome>63,t=400,a=o("../lib/keys"),c=a.KEY_MODS,p=_.isIOS,v=p?/\s/:/\n/,I=_.isMobile,C;C=function(b,m){var $=u.createElement("textarea");$.className="ace_text-input",$.setAttribute("wrap","off"),$.setAttribute("autocorrect","off"),$.setAttribute("autocapitalize","off"),$.setAttribute("spellcheck","false"),$.style.opacity="0",b.insertBefore($,b.firstChild);var L=!1,O=!1,A=!1,E=!1,k="";I||($.style.fontSize="1px");var T=!1,w=!1,M="",D=0,F=0,B=0,H=Number.MAX_SAFE_INTEGER,j=Number.MIN_SAFE_INTEGER,Y=0;try{var X=document.activeElement===$}catch{}this.setNumberOfExtraLines=function(ue){if(H=Number.MAX_SAFE_INTEGER,j=Number.MIN_SAFE_INTEGER,ue<0){Y=0;return}Y=ue},this.setAriaOptions=function(ue){if(ue.activeDescendant?($.setAttribute("aria-haspopup","true"),$.setAttribute("aria-autocomplete",ue.inline?"both":"list"),$.setAttribute("aria-activedescendant",ue.activeDescendant)):($.setAttribute("aria-haspopup","false"),$.setAttribute("aria-autocomplete","both"),$.removeAttribute("aria-activedescendant")),ue.role&&$.setAttribute("role",ue.role),ue.setLabel){$.setAttribute("aria-roledescription",y("text-input.aria-roledescription","editor"));var Se="";if(m.$textInputAriaLabel&&(Se+="".concat(m.$textInputAriaLabel,", ")),m.session){var $e=m.session.selection.cursor.row;Se+=y("text-input.aria-label","Cursor at row $0",[$e+1])}$.setAttribute("aria-label",Se)}},this.setAriaOptions({role:"textbox"}),x.addListener($,"blur",function(ue){w||(m.onBlur(ue),X=!1)},m),x.addListener($,"focus",function(ue){if(!w){if(X=!0,_.isEdge)try{if(!document.hasFocus())return}catch{}m.onFocus(ue),_.isEdge?setTimeout(q):q()}},m),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:m.renderer.enableKeyboardAccessibility}),k||i||this.$focusScroll=="browser")return $.focus({preventScroll:!0});var ue=$.style.top;$.style.position="fixed",$.style.top="0px";try{var Se=$.getBoundingClientRect().top!=0}catch{return}var $e=[];if(Se)for(var He=$.parentElement;He&&He.nodeType==1;)$e.push(He),He.setAttribute("ace_nocontext","true"),!He.parentElement&&He.getRootNode?He=He.getRootNode().host:He=He.parentElement;$.focus({preventScroll:!0}),Se&&$e.forEach(function(Ue){Ue.removeAttribute("ace_nocontext")}),setTimeout(function(){$.style.position="",$.style.top=="0px"&&($.style.top=ue)},0)},this.blur=function(){$.blur()},this.isFocused=function(){return X},m.on("beforeEndOperation",function(){var ue=m.curOp,Se=ue&&ue.command&&ue.command.name;if(Se!="insertstring"){var $e=Se&&(ue.docChanged||ue.selectionChanged);A&&$e&&(M=$.value="",It()),q()}});var Q=function(ue,Se){for(var $e=Se,He=1;He<=ue-H&&He<2*Y+1;He++)$e+=m.session.getLine(ue-He).length+1;return $e},q=p?function(ue){if(!(!X||L&&!ue||E)){ue||(ue="");var Se=`
167
+ ab`+ue+`cde fg
168
+ `;Se!=$.value&&($.value=M=Se);var $e=4,He=4+(ue.length||(m.selection.isEmpty()?0:1));(D!=$e||F!=He)&&$.setSelectionRange($e,He),D=$e,F=He}}:function(){if(!(A||E)&&!(!X&&!he)){A=!0;var ue=0,Se=0,$e="";if(m.session){var He=m.selection,Ue=He.getRange(),rt=He.cursor.row;rt===j+1?(H=j+1,j=H+2*Y):rt===H-1?(j=H-1,H=j-2*Y):(rt<H-1||rt>j+1)&&(H=rt>Y?rt-Y:0,j=rt>Y?rt+Y:2*Y);for(var ot=[],et=H;et<=j;et++)ot.push(m.session.getLine(et));if($e=ot.join(`
169
+ `),ue=Q(Ue.start.row,Ue.start.column),Se=Q(Ue.end.row,Ue.end.column),Ue.start.row<H){var tt=m.session.getLine(H-1);ue=Ue.start.row<H-1?0:ue,Se+=tt.length+1,$e=tt+`
170
+ `+$e}else if(Ue.end.row>j){var qe=m.session.getLine(j+1);Se=Ue.end.row>j+1?qe.length:Ue.end.column,Se+=$e.length+1,$e=$e+`
171
+ `+qe}else I&&rt>0&&($e=`
172
+ `+$e,Se+=1,ue+=1);$e.length>t&&(ue<t&&Se<t?$e=$e.slice(0,t):($e=`
173
+ `,ue==Se?ue=Se=0:(ue=0,Se=1)));var Mt=$e+`
174
+
175
+ `;Mt!=M&&($.value=M=Mt,D=F=Mt.length)}if(he&&(D=$.selectionStart,F=$.selectionEnd),F!=Se||D!=ue||$.selectionEnd!=F)try{$.setSelectionRange(ue,Se),D=ue,F=Se}catch{}A=!1}};this.resetSelection=q,X&&m.onFocus();var ee=function(ue){return ue.selectionStart===0&&ue.selectionEnd>=M.length&&ue.value===M&&M&&ue.selectionEnd!==F},ie=function(ue){A||(L?L=!1:ee($)?(m.selectAll(),q()):I&&$.selectionStart!=D&&q())},ae=null;this.setInputHandler=function(ue){ae=ue},this.getInputHandler=function(){return ae};var he=!1,de=function(ue,Se){if(he&&(he=!1),O)return q(),ue&&m.onPaste(ue),O=!1,"";for(var $e=$.selectionStart,He=$.selectionEnd,Ue=D,rt=M.length-F,ot=ue,et=ue.length-$e,tt=ue.length-He,qe=0;Ue>0&&M[qe]==ue[qe];)qe++,Ue--;for(ot=ot.slice(qe),qe=1;rt>0&&M.length-qe>D-1&&M[M.length-qe]==ue[ue.length-qe];)qe++,rt--;et-=qe-1,tt-=qe-1;var Mt=ot.length-qe+1;if(Mt<0&&(Ue=-Mt,Mt=0),ot=ot.slice(0,Mt),!Se&&!ot&&!et&&!Ue&&!rt&&!tt)return"";E=!0;var hn=!1;return _.isAndroid&&ot==". "&&(ot=" ",hn=!0),ot&&!Ue&&!rt&&!et&&!tt||T?m.onTextInput(ot):m.onTextInput(ot,{extendLeft:Ue,extendRight:rt,restoreStart:et,restoreEnd:tt}),E=!1,M=ue,D=$e,F=He,B=tt,hn?`
176
+ `:ot},ye=function(ue){if(A)return xt();if(ue&&ue.inputType){if(ue.inputType=="historyUndo")return m.execCommand("undo");if(ue.inputType=="historyRedo")return m.execCommand("redo")}var Se=$.value,$e=de(Se,!0);(Se.length>t+100||v.test($e)||I&&D<1&&D==F)&&q()},Ae=function(ue,Se,$e){var He=ue.clipboardData||window.clipboardData;if(!(!He||r)){var Ue=n||$e?"Text":"text/plain";try{return Se?He.setData(Ue,Se)!==!1:He.getData(Ue)}catch(rt){if(!$e)return Ae(rt,Se,!0)}}},ze=function(ue,Se){var $e=m.getCopyText();if(!$e)return x.preventDefault(ue);Ae(ue,$e)?(p&&(q($e),L=$e,setTimeout(function(){L=!1},10)),Se?m.onCut():m.onCopy(),x.preventDefault(ue)):(L=!0,$.value=$e,$.select(),setTimeout(function(){L=!1,q(),Se?m.onCut():m.onCopy()}))},$t=function(ue){ze(ue,!0)},it=function(ue){ze(ue,!1)},st=function(ue){var Se=Ae(ue);s.pasteCancelled()||(typeof Se=="string"?(Se&&m.onPaste(Se,ue),_.isIE&&setTimeout(q),x.preventDefault(ue)):($.value="",O=!0))};x.addCommandKeyListener($,function(ue,Se,$e){if(!A)return m.onCommandKey(ue,Se,$e)},m),x.addListener($,"select",ie,m),x.addListener($,"input",ye,m),x.addListener($,"cut",$t,m),x.addListener($,"copy",it,m),x.addListener($,"paste",st,m),(!("oncut"in $)||!("oncopy"in $)||!("onpaste"in $))&&x.addListener(b,"keydown",function(ue){if(!(_.isMac&&!ue.metaKey||!ue.ctrlKey))switch(ue.keyCode){case 67:it(ue);break;case 86:st(ue);break;case 88:$t(ue);break}},m);var Ht=function(ue){if(!(A||!m.onCompositionStart||m.$readOnly)&&(A={},!T)){ue.data&&(A.useTextareaForIME=!1),setTimeout(xt,0),m._signal("compositionStart"),m.on("mousedown",hi);var Se=m.getSelectionRange();Se.end.row=Se.start.row,Se.end.column=Se.start.column,A.markerRange=Se,A.selectionStart=D,m.onCompositionStart(A),A.useTextareaForIME?(M=$.value="",D=0,F=0):($.msGetInputContext&&(A.context=$.msGetInputContext()),$.getInputContext&&(A.context=$.getInputContext()))}},xt=function(){if(!(!A||!m.onCompositionUpdate||m.$readOnly)){if(T)return hi();if(A.useTextareaForIME)m.onCompositionUpdate($.value);else{var ue=$.value;de(ue),A.markerRange&&(A.context&&(A.markerRange.start.column=A.selectionStart=A.context.compositionStartOffset),A.markerRange.end.column=A.markerRange.start.column+F-A.selectionStart+B)}}},It=function(ue){!m.onCompositionEnd||m.$readOnly||(A=!1,m.onCompositionEnd(),m.off("mousedown",hi),ue&&ye())};function hi(){w=!0,$.blur(),$.focus(),w=!1}var Qt=d.delayedCall(xt,50).schedule.bind(null,null);function Pt(ue){ue.keyCode==27&&$.value.length<$.selectionStart&&(A||(M=$.value),D=F=-1,q()),Qt()}x.addListener($,"compositionstart",Ht,m),x.addListener($,"compositionupdate",xt,m),x.addListener($,"keyup",Pt,m),x.addListener($,"keydown",Qt,m),x.addListener($,"compositionend",It,m),this.getElement=function(){return $},this.setCommandMode=function(ue){T=ue,$.readOnly=!1},this.setReadOnly=function(ue){T||($.readOnly=ue)},this.setCopyWithEmptySelection=function(ue){},this.onContextMenu=function(ue){he=!0,q(),m._emit("nativecontextmenu",{target:m,domEvent:ue}),this.moveToMouse(ue,!0)},this.moveToMouse=function(ue,Se){k||(k=$.style.cssText),$.style.cssText=(Se?"z-index:100000;":"")+(_.isIE?"opacity:0.1;":"")+"text-indent: -"+(D+F)*m.renderer.characterWidth*.5+"px;";var $e=m.container.getBoundingClientRect(),He=u.computedStyle(m.container),Ue=$e.top+(parseInt(He.borderTopWidth)||0),rt=$e.left+(parseInt($e.borderLeftWidth)||0),ot=$e.bottom-Ue-$.clientHeight-2,et=function(tt){u.translate($,tt.clientX-rt-2,Math.min(tt.clientY-Ue-2,ot))};et(ue),ue.type=="mousedown"&&(m.renderer.$isMousePressed=!0,clearTimeout(Re),_.isWin&&x.capture(m.container,et,De))},this.onContextMenuClose=De;var Re;function De(){clearTimeout(Re),Re=setTimeout(function(){k&&($.style.cssText=k,k=""),m.renderer.$isMousePressed=!1,m.renderer.$keepTextAreaAtCursor&&m.renderer.$moveTextAreaToCursor()},0)}var Wt=function(ue){m.textInput.onContextMenu(ue),De()};x.addListener($,"mouseup",Wt,m),x.addListener($,"mousedown",function(ue){ue.preventDefault(),De()},m),x.addListener(m.renderer.scroller,"contextmenu",Wt,m),x.addListener($,"contextmenu",Wt,m),p&&Ne(b,m,$);function Ne(ue,Se,$e){var He=null,Ue=!1;$e.addEventListener("keydown",function(ot){He&&clearTimeout(He),Ue=!0},!0),$e.addEventListener("keyup",function(ot){He=setTimeout(function(){Ue=!1},100)},!0);var rt=function(ot){if(document.activeElement===$e&&!(Ue||A||Se.$mouseHandler.isMousePressed)&&!L){var et=$e.selectionStart,tt=$e.selectionEnd,qe=null,Mt=0;if(et==0?qe=a.up:et==1?qe=a.home:tt>F&&M[tt]==`
177
+ `?qe=a.end:et<D&&M[et-1]==" "?(qe=a.left,Mt=c.option):et<D||et==D&&F!=D&&et==tt?qe=a.left:tt>F&&M.slice(0,tt).split(`
178
+ `).length>2?qe=a.down:tt>F&&M[tt-1]==" "?(qe=a.right,Mt=c.option):(tt>F||tt==F&&F!=D&&et==tt)&&(qe=a.right),et!==tt&&(Mt|=c.shift),qe){var hn=Se.onCommandKey({},Mt,qe);if(!hn&&Se.commands){qe=a.keyCodeToString(qe);var Si=Se.commands.findKeyCommand(Mt,qe);Si&&Se.execCommand(Si)}D=et,F=tt,q("")}}};document.addEventListener("selectionchange",rt),Se.on("destroy",function(){document.removeEventListener("selectionchange",rt)})}this.destroy=function(){$.parentElement&&$.parentElement.removeChild($)}},h.TextInput=C,h.$setUserAgentForTests=function(b,m){I=b,p=m}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(o,h,R){var x=o("../lib/useragent"),y=0,_=550,u=function(){function r(n){n.$clickSelection=null;var i=n.editor;i.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),i.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),i.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),i.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),i.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));var t=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];t.forEach(function(a){n[a]=this[a]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return r.prototype.onMouseDown=function(n){var i=n.inSelection(),t=n.getDocumentPosition();this.mousedownEvent=n;var a=this.editor,c=n.getButton();if(c!==0){var p=a.getSelectionRange(),v=p.isEmpty();(v||c==1)&&a.selection.moveToPosition(t),c==2&&(a.textInput.onContextMenu(n.domEvent),x.isMozilla||n.preventDefault());return}if(this.mousedownEvent.time=Date.now(),i&&!a.isFocused()&&(a.focus(),this.$focusTimeout&&!this.$clickSelection&&!a.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(t,n.domEvent._clicks>1),n.preventDefault()},r.prototype.startSelect=function(n,i){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var t=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?t.selection.selectToPosition(n):i||t.selection.moveToPosition(n),i||this.select(),t.setStyle("ace_selecting"),this.setState("select"))},r.prototype.select=function(){var n,i=this.editor,t=i.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var a=this.$clickSelection.comparePoint(t);if(a==-1)n=this.$clickSelection.end;else if(a==1)n=this.$clickSelection.start;else{var c=s(this.$clickSelection,t);t=c.cursor,n=c.anchor}i.selection.setSelectionAnchor(n.row,n.column)}i.selection.selectToPosition(t),i.renderer.scrollCursorIntoView()},r.prototype.extendSelectionBy=function(n){var i,t=this.editor,a=t.renderer.screenToTextCoordinates(this.x,this.y),c=t.selection[n](a.row,a.column);if(this.$clickSelection){var p=this.$clickSelection.comparePoint(c.start),v=this.$clickSelection.comparePoint(c.end);if(p==-1&&v<=0)i=this.$clickSelection.end,(c.end.row!=a.row||c.end.column!=a.column)&&(a=c.start);else if(v==1&&p>=0)i=this.$clickSelection.start,(c.start.row!=a.row||c.start.column!=a.column)&&(a=c.end);else if(p==-1&&v==1)a=c.end,i=c.start;else{var I=s(this.$clickSelection,a);a=I.cursor,i=I.anchor}t.selection.setSelectionAnchor(i.row,i.column)}t.selection.selectToPosition(a),t.renderer.scrollCursorIntoView()},r.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},r.prototype.focusWait=function(){var n=d(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),i=Date.now();(n>y||i-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},r.prototype.onDoubleClick=function(n){var i=n.getDocumentPosition(),t=this.editor,a=t.session,c=a.getBracketRange(i);c?(c.isEmpty()&&(c.start.column--,c.end.column++),this.setState("select")):(c=t.selection.getWordRange(i.row,i.column),this.setState("selectByWords")),this.$clickSelection=c,this.select()},r.prototype.onTripleClick=function(n){var i=n.getDocumentPosition(),t=this.editor;this.setState("selectByLines");var a=t.getSelectionRange();a.isMultiLine()&&a.contains(i.row,i.column)?(this.$clickSelection=t.selection.getLineRange(a.start.row),this.$clickSelection.end=t.selection.getLineRange(a.end.row).end):this.$clickSelection=t.selection.getLineRange(i.row),this.select()},r.prototype.onQuadClick=function(n){var i=this.editor;i.selectAll(),this.$clickSelection=i.getSelectionRange(),this.setState("selectAll")},r.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var i=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var t=this.$lastScroll,a=n.domEvent.timeStamp,c=a-t.t,p=c?n.wheelX/c:t.vx,v=c?n.wheelY/c:t.vy;c<_&&(p=(p+t.vx)/2,v=(v+t.vy)/2);var I=Math.abs(p/v),C=!1;if(I>=1&&i.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(C=!0),I<=1&&i.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(C=!0),C)t.allowed=a;else if(a-t.allowed<_){var b=Math.abs(p)<=1.5*Math.abs(t.vx)&&Math.abs(v)<=1.5*Math.abs(t.vy);b?(C=!0,t.allowed=a):t.allowed=0}if(t.t=a,t.vx=p,t.vy=v,C)return i.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},r}();u.prototype.selectEnd=u.prototype.selectByLinesEnd,u.prototype.selectAllEnd=u.prototype.selectByLinesEnd,u.prototype.selectByWordsEnd=u.prototype.selectByLinesEnd,h.DefaultHandlers=u;function d(r,n,i,t){return Math.sqrt(Math.pow(i-r,2)+Math.pow(t-n,2))}function s(r,n){if(r.start.row==r.end.row)var i=2*n.column-r.start.column-r.end.column;else if(r.start.row==r.end.row-1&&!r.start.column&&!r.end.column)var i=n.column-4;else var i=2*n.row-r.start.row-r.end.row;return i<0?{cursor:r.start,anchor:r.end}:{cursor:r.end,anchor:r.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(o,h,R){h.preventParentScroll=function(y){y.stopPropagation();var _=y.currentTarget,u=_.scrollHeight>_.clientHeight;u||y.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(o,h,R){var x=this&&this.__extends||function(){var a=function(c,p){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,I){v.__proto__=I}||function(v,I){for(var C in I)Object.prototype.hasOwnProperty.call(I,C)&&(v[C]=I[C])},a(c,p)};return function(c,p){if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");a(c,p);function v(){this.constructor=c}c.prototype=p===null?Object.create(p):(v.prototype=p.prototype,new v)}}(),y=this&&this.__values||function(a){var c=typeof Symbol=="function"&&Symbol.iterator,p=c&&a[c],v=0;if(p)return p.call(a);if(a&&typeof a.length=="number")return{next:function(){return a&&v>=a.length&&(a=void 0),{value:a&&a[v++],done:!a}}};throw new TypeError(c?"Object is not iterable.":"Symbol.iterator is not defined.")},_=o("./lib/dom");o("./lib/event");var u=o("./range").Range,d=o("./lib/scroll").preventParentScroll,s="ace_tooltip",r=function(){function a(c){this.isOpen=!1,this.$element=null,this.$parentNode=c}return a.prototype.$init=function(){return this.$element=_.createElement("div"),this.$element.className=s,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},a.prototype.getElement=function(){return this.$element||this.$init()},a.prototype.setText=function(c){this.getElement().textContent=c},a.prototype.setHtml=function(c){this.getElement().innerHTML=c},a.prototype.setPosition=function(c,p){this.getElement().style.left=c+"px",this.getElement().style.top=p+"px"},a.prototype.setClassName=function(c){_.addCssClass(this.getElement(),c)},a.prototype.setTheme=function(c){this.$element.className=s+" "+(c.isDark?"ace_dark ":"")+(c.cssClass||"")},a.prototype.show=function(c,p,v){c!=null&&this.setText(c),p!=null&&v!=null&&this.setPosition(p,v),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},a.prototype.hide=function(c){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=s,this.isOpen=!1)},a.prototype.getHeight=function(){return this.getElement().offsetHeight},a.prototype.getWidth=function(){return this.getElement().offsetWidth},a.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},a}(),n=function(){function a(){this.popups=[]}return a.prototype.addPopup=function(c){this.popups.push(c),this.updatePopups()},a.prototype.removePopup=function(c){var p=this.popups.indexOf(c);p!==-1&&(this.popups.splice(p,1),this.updatePopups())},a.prototype.updatePopups=function(){var c,p,v,I;this.popups.sort(function(k,T){return T.priority-k.priority});var C=[];try{for(var b=y(this.popups),m=b.next();!m.done;m=b.next()){var $=m.value,L=!0;try{for(var O=(v=void 0,y(C)),A=O.next();!A.done;A=O.next()){var E=A.value;if(this.doPopupsOverlap(E,$)){L=!1;break}}}catch(k){v={error:k}}finally{try{A&&!A.done&&(I=O.return)&&I.call(O)}finally{if(v)throw v.error}}L?C.push($):$.hide()}}catch(k){c={error:k}}finally{try{m&&!m.done&&(p=b.return)&&p.call(b)}finally{if(c)throw c.error}}},a.prototype.doPopupsOverlap=function(c,p){var v=c.getElement().getBoundingClientRect(),I=p.getElement().getBoundingClientRect();return v.left<I.right&&v.right>I.left&&v.top<I.bottom&&v.bottom>I.top},a}(),i=new n;h.popupManager=i,h.Tooltip=r;var t=function(a){x(c,a);function c(p){p===void 0&&(p=document.body);var v=a.call(this,p)||this;v.timeout=void 0,v.lastT=0,v.idleTime=350,v.lastEvent=void 0,v.onMouseOut=v.onMouseOut.bind(v),v.onMouseMove=v.onMouseMove.bind(v),v.waitForHover=v.waitForHover.bind(v),v.hide=v.hide.bind(v);var I=v.getElement();return I.style.whiteSpace="pre-wrap",I.style.pointerEvents="auto",I.addEventListener("mouseout",v.onMouseOut),I.tabIndex=-1,I.addEventListener("blur",(function(){I.contains(document.activeElement)||this.hide()}).bind(v)),I.addEventListener("wheel",d),v}return c.prototype.addToEditor=function(p){p.on("mousemove",this.onMouseMove),p.on("mousedown",this.hide),p.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},c.prototype.removeFromEditor=function(p){p.off("mousemove",this.onMouseMove),p.off("mousedown",this.hide),p.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},c.prototype.onMouseMove=function(p,v){this.lastEvent=p,this.lastT=Date.now();var I=v.$mouseHandler.isMousePressed;if(this.isOpen){var C=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(C.row,C.column)||I||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||I||(this.lastEvent=p,this.timeout=setTimeout(this.waitForHover,this.idleTime))},c.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var p=Date.now()-this.lastT;if(this.idleTime-p>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-p);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},c.prototype.isOutsideOfText=function(p){var v=p.editor,I=p.getDocumentPosition(),C=v.session.getLine(I.row);if(I.column==C.length){var b=v.renderer.pixelToScreenCoordinates(p.clientX,p.clientY),m=v.session.documentToScreenPosition(I.row,I.column);if(m.column!=b.column||m.row!=b.row)return!0}return!1},c.prototype.setDataProvider=function(p){this.$gatherData=p},c.prototype.showForRange=function(p,v,I,C){var b=10;if(!(C&&C!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var m=p.renderer;this.isOpen||(i.addPopup(this),this.$registerCloseEvents(),this.setTheme(m.theme)),this.isOpen=!0,this.addMarker(v,p.session),this.range=u.fromPoints(v.start,v.end);var $=m.textToScreenCoordinates(v.start.row,v.start.column),L=m.scroller.getBoundingClientRect();$.pageX<L.left&&($.pageX=L.left);var O=this.getElement();O.innerHTML="",O.appendChild(I),O.style.maxHeight="",O.style.display="block";var A=O.clientHeight,E=O.clientWidth,k=window.innerHeight-$.pageY-m.lineHeight,T=!0;$.pageY-A<0&&$.pageY<k&&(T=!1),O.style.maxHeight=(T?$.pageY:k)-b+"px",O.style.top=T?"":$.pageY+m.lineHeight+"px",O.style.bottom=T?window.innerHeight-$.pageY+"px":"",O.style.left=Math.min($.pageX,window.innerWidth-E-b)+"px"}},c.prototype.addMarker=function(p,v){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=v,this.marker=v&&v.addMarker(p,"ace_highlight-marker","text")},c.prototype.hide=function(p){!p&&document.activeElement==this.getElement()||p&&p.target&&(p.type!="keydown"||p.ctrlKey||p.metaKey)&&this.$element.contains(p.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,i.removePopup(this)))},c.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},c.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},c.prototype.onMouseOut=function(p){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!p.relatedTarget||this.getElement().contains(p.relatedTarget)||p&&p.currentTarget.contains(p.relatedTarget)||p.relatedTarget.classList.contains("ace_content")||this.hide())},c}(r);h.HoverTooltip=t}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config","ace/lib/lang"],function(o,h,R){var x=this&&this.__extends||function(){var i=function(t,a){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,p){c.__proto__=p}||function(c,p){for(var v in p)Object.prototype.hasOwnProperty.call(p,v)&&(c[v]=p[v])},i(t,a)};return function(t,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");i(t,a);function c(){this.constructor=t}t.prototype=a===null?Object.create(a):(c.prototype=a.prototype,new c)}}(),y=this&&this.__values||function(i){var t=typeof Symbol=="function"&&Symbol.iterator,a=t&&i[t],c=0;if(a)return a.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&c>=i.length&&(i=void 0),{value:i&&i[c++],done:!i}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},_=o("../lib/dom"),u=o("../lib/event"),d=o("../tooltip").Tooltip,s=o("../config").nls;o("../lib/lang");function r(i){var t=i.editor,a=t.renderer.$gutterLayer,c=new n(t);i.editor.setDefaultHandler("guttermousedown",function(m){if(!(!t.isFocused()||m.getButton()!=0)){var $=a.getRegion(m);if($!="foldWidgets"){var L=m.getDocumentPosition().row,O=t.session.selection;if(m.getShiftKey())O.selectTo(L,0);else{if(m.domEvent.detail==2)return t.selectAll(),m.preventDefault();i.$clickSelection=t.selection.getLineRange(L)}return i.setState("selectByLines"),i.captureMouse(m),m.preventDefault()}}});var p,v;function I(){var m=v.getDocumentPosition().row,$=t.session.getLength();if(m==$){var L=t.renderer.pixelToScreenCoordinates(0,v.y).row,O=v.$pos;if(L>t.session.documentToScreenRow(O.row,O.column))return C()}if(c.showTooltip(m),!!c.isOpen)if(t.on("mousewheel",C),i.$tooltipFollowsMouse)b(v);else{var A=v.getGutterRow(),E=a.$lines.get(A);if(E){var k=E.element.querySelector(".ace_gutter_annotation"),T=k.getBoundingClientRect(),w=c.getElement().style;w.left=T.right+"px",w.top=T.bottom+"px"}else b(v)}}function C(){p&&(p=clearTimeout(p)),c.isOpen&&(c.hideTooltip(),t.off("mousewheel",C))}function b(m){c.setPosition(m.x,m.y)}i.editor.setDefaultHandler("guttermousemove",function(m){var $=m.domEvent.target||m.domEvent.srcElement;if(_.hasCssClass($,"ace_fold-widget"))return C();c.isOpen&&i.$tooltipFollowsMouse&&b(m),v=m,!p&&(p=setTimeout(function(){p=null,v&&!i.isMousePressed?I():C()},50))}),u.addListener(t.renderer.$gutter,"mouseout",function(m){v=null,!(!c.isOpen||p)&&(p=setTimeout(function(){p=null,C()},50))},t),t.on("changeSession",C),t.on("input",C)}h.GutterHandler=r;var n=function(i){x(t,i);function t(a){var c=i.call(this,a.container)||this;return c.editor=a,c}return t.prototype.setPosition=function(a,c){var p=window.innerWidth||document.documentElement.clientWidth,v=window.innerHeight||document.documentElement.clientHeight,I=this.getWidth(),C=this.getHeight();a+=15,c+=15,a+I>p&&(a-=a+I-p),c+C>v&&(c-=20+C),d.prototype.setPosition.call(this,a,c)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:s("gutter-tooltip.aria-label.error.singular","error"),plural:s("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:s("gutter-tooltip.aria-label.security.singular","security finding"),plural:s("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:s("gutter-tooltip.aria-label.warning.singular","warning"),plural:s("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:s("gutter-tooltip.aria-label.info.singular","information message"),plural:s("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:s("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:s("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(a){var c,p=this.editor.renderer.$gutterLayer,v=p.$annotations[a],I;v?I={displayText:Array.from(v.displayText),type:Array.from(v.type)}:I={displayText:[],type:[]};var C=p.session.getFoldLine(a);if(C&&p.$showFoldedAnnotations){for(var b={error:[],security:[],warning:[],info:[],hint:[]},m={error:1,security:2,warning:3,info:4,hint:5},$,L=a+1;L<=C.end.row;L++)if(p.$annotations[L])for(var O=0;O<p.$annotations[L].text.length;O++){var A=p.$annotations[L].type[O];b[A].push(p.$annotations[L].text[O]),(!$||m[A]<m[$])&&($=A)}if(["error","security","warning"].includes($)){var E="".concat(t.annotationsToSummaryString(b)," in folded code.");I.displayText.push(E),I.type.push($+"_fold")}}if(I.displayText.length===0)return this.hide();for(var k={error:[],security:[],warning:[],info:[],hint:[]},T=p.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",L=0;L<I.displayText.length;L++){var w=_.createElement("span"),M=_.createElement("span");(c=M.classList).add.apply(c,["ace_".concat(I.type[L]),T]),M.setAttribute("aria-label","".concat(t.annotationLabels[I.type[L].replace("_fold","")].singular)),M.setAttribute("role","img"),M.appendChild(_.createTextNode(" ")),w.appendChild(M),w.appendChild(_.createTextNode(I.displayText[L])),w.appendChild(_.createElement("br")),k[I.type[L].replace("_fold","")].push(w)}var D=this.getElement();_.removeChildren(D),k.error.forEach(function(F){return D.appendChild(F)}),k.security.forEach(function(F){return D.appendChild(F)}),k.warning.forEach(function(F){return D.appendChild(F)}),k.info.forEach(function(F){return D.appendChild(F)}),k.hint.forEach(function(F){return D.appendChild(F)}),D.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.editor._signal("showGutterTooltip",this)},t.prototype.hideTooltip=function(){this.$element.removeAttribute("aria-live"),this.hide(),this.editor._signal("hideGutterTooltip",this)},t.annotationsToSummaryString=function(a){var c,p,v=[],I=["error","security","warning","info","hint"];try{for(var C=y(I),b=C.next();!b.done;b=C.next()){var m=b.value;if(a[m].length){var $=a[m].length===1?t.annotationLabels[m].singular:t.annotationLabels[m].plural;v.push("".concat(a[m].length," ").concat($))}}}catch(L){c={error:L}}finally{try{b&&!b.done&&(p=C.return)&&p.call(C)}finally{if(c)throw c.error}}return v.join(", ")},t}(d);h.GutterTooltip=n}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(o,h,R){var x=o("../lib/event"),y=o("../lib/useragent"),_=function(){function u(d,s){this.speed,this.wheelX,this.wheelY,this.domEvent=d,this.editor=s,this.x=this.clientX=d.clientX,this.y=this.clientY=d.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return u.prototype.stopPropagation=function(){x.stopPropagation(this.domEvent),this.propagationStopped=!0},u.prototype.preventDefault=function(){x.preventDefault(this.domEvent),this.defaultPrevented=!0},u.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},u.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},u.prototype.getGutterRow=function(){var d=this.getDocumentPosition().row,s=this.editor.session.documentToScreenRow(d,0),r=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return s-r},u.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var d=this.editor,s=d.getSelectionRange();if(s.isEmpty())this.$inSelection=!1;else{var r=this.getDocumentPosition();this.$inSelection=s.contains(r.row,r.column)}return this.$inSelection},u.prototype.getButton=function(){return x.getButton(this.domEvent)},u.prototype.getShiftKey=function(){return this.domEvent.shiftKey},u.prototype.getAccelKey=function(){return y.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},u}();h.MouseEvent=_}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(o,h,R){var x=o("../lib/dom"),y=o("../lib/event"),_=o("../lib/useragent"),u=200,d=200,s=5;function r(i){var t=i.editor,a=x.createElement("div");a.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",a.textContent=" ";var c=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];c.forEach(function(Q){i[Q]=this[Q]},this),t.on("mousedown",this.onMouseDown.bind(i));var p=t.container,v,I,C,b,m,$,L=0,O,A,E,k,T;this.onDragStart=function(Q){if(this.cancelDrag||!p.draggable){var q=this;return setTimeout(function(){q.startSelect(),q.captureMouse(Q)},0),Q.preventDefault()}m=t.getSelectionRange();var ee=Q.dataTransfer;ee.effectAllowed=t.getReadOnly()?"copy":"copyMove",t.container.appendChild(a),ee.setDragImage&&ee.setDragImage(a,0,0),setTimeout(function(){t.container.removeChild(a)}),ee.clearData(),ee.setData("Text",t.session.getTextRange()),A=!0,this.setState("drag")},this.onDragEnd=function(Q){if(p.draggable=!1,A=!1,this.setState(null),!t.getReadOnly()){var q=Q.dataTransfer.dropEffect;!O&&q=="move"&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(Q){if(!(t.getReadOnly()||!Y(Q.dataTransfer)))return I=Q.clientX,C=Q.clientY,v||F(),L++,Q.dataTransfer.dropEffect=O=X(Q),y.preventDefault(Q)},this.onDragOver=function(Q){if(!(t.getReadOnly()||!Y(Q.dataTransfer)))return I=Q.clientX,C=Q.clientY,v||(F(),L++),H!==null&&(H=null),Q.dataTransfer.dropEffect=O=X(Q),y.preventDefault(Q)},this.onDragLeave=function(Q){if(L--,L<=0&&v)return B(),O=null,y.preventDefault(Q)},this.onDrop=function(Q){if($){var q=Q.dataTransfer;if(A)switch(O){case"move":m.contains($.row,$.column)?m={start:$,end:$}:m=t.moveText(m,$);break;case"copy":m=t.moveText(m,$,!0);break}else{var ee=q.getData("Text");m={start:$,end:t.session.insert($,ee)},t.focus(),O=null}return B(),y.preventDefault(Q)}},y.addListener(p,"dragstart",this.onDragStart.bind(i),t),y.addListener(p,"dragend",this.onDragEnd.bind(i),t),y.addListener(p,"dragenter",this.onDragEnter.bind(i),t),y.addListener(p,"dragover",this.onDragOver.bind(i),t),y.addListener(p,"dragleave",this.onDragLeave.bind(i),t),y.addListener(p,"drop",this.onDrop.bind(i),t);function w(Q,q){var ee=Date.now(),ie=!q||Q.row!=q.row,ae=!q||Q.column!=q.column;if(!k||ie||ae)t.moveCursorToPosition(Q),k=ee,T={x:I,y:C};else{var he=n(T.x,T.y,I,C);he>s?k=null:ee-k>=d&&(t.renderer.scrollCursorIntoView(),k=null)}}function M(Q,q){var ee=Date.now(),ie=t.renderer.layerConfig.lineHeight,ae=t.renderer.layerConfig.characterWidth,he=t.renderer.scroller.getBoundingClientRect(),de={x:{left:I-he.left,right:he.right-I},y:{top:C-he.top,bottom:he.bottom-C}},ye=Math.min(de.x.left,de.x.right),Ae=Math.min(de.y.top,de.y.bottom),ze={row:Q.row,column:Q.column};ye/ae<=2&&(ze.column+=de.x.left<de.x.right?-3:2),Ae/ie<=1&&(ze.row+=de.y.top<de.y.bottom?-1:1);var $t=Q.row!=ze.row,it=Q.column!=ze.column,st=!q||Q.row!=q.row;$t||it&&!st?E?ee-E>=u&&t.renderer.scrollCursorIntoView(ze):E=ee:E=null}function D(){var Q=$;$=t.renderer.screenToTextCoordinates(I,C),w($,Q),M($,Q)}function F(){m=t.selection.toOrientedRange(),v=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),D(),b=setInterval(D,20),L=0,y.addListener(document,"mousemove",j)}function B(){clearInterval(b),t.session.removeMarker(v),v=null,t.selection.fromOrientedRange(m),t.isFocused()&&!A&&t.$resetCursorStyle(),m=null,$=null,L=0,E=null,k=null,y.removeListener(document,"mousemove",j)}var H=null;function j(){H==null&&(H=setTimeout(function(){H!=null&&v&&B()},20))}function Y(Q){var q=Q.types;return!q||Array.prototype.some.call(q,function(ee){return ee=="text/plain"||ee=="Text"})}function X(Q){var q=["copy","copymove","all","uninitialized"],ee=["move","copymove","linkmove","all","uninitialized"],ie=_.isMac?Q.altKey:Q.ctrlKey,ae="uninitialized";try{ae=Q.dataTransfer.effectAllowed.toLowerCase()}catch{}var he="none";return ie&&q.indexOf(ae)>=0?he="copy":ee.indexOf(ae)>=0?he="move":q.indexOf(ae)>=0&&(he="copy"),he}}(function(){this.dragWait=function(){var i=Date.now()-this.mousedownEvent.time;i>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var i=this.editor.container;i.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(i){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var i=this.editor,t=i.container;t.draggable=!0,i.renderer.$cursorLayer.setBlinking(!1),i.setStyle("ace_dragging");var a=_.isWin?"default":"move";i.renderer.setCursorStyle(a),this.setState("dragReady")},this.onMouseDrag=function(i){var t=this.editor.container;if(_.isIE&&this.state=="dragReady"){var a=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);a>3&&t.dragDrop()}if(this.state==="dragWait"){var a=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);a>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(i){if(this.$dragEnabled){this.mousedownEvent=i;var t=this.editor,a=i.inSelection(),c=i.getButton(),p=i.domEvent.detail||1;if(p===1&&c===0&&a){if(i.editor.inMultiSelectMode&&(i.getAccelKey()||i.getShiftKey()))return;this.mousedownEvent.time=Date.now();var v=i.domEvent.target||i.domEvent.srcElement;if("unselectable"in v&&(v.unselectable="on"),t.getDragDelay()){if(_.isWebKit){this.cancelDrag=!0;var I=t.container;I.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(i,this.onMouseDrag.bind(this)),i.defaultPrevented=!0}}}}).call(r.prototype);function n(i,t,a,c){return Math.sqrt(Math.pow(a-i,2)+Math.pow(c-t,2))}h.DragdropHandler=r}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(o,h,R){var x=o("./mouse_event").MouseEvent,y=o("../lib/event"),_=o("../lib/dom");h.addTouchListeners=function(u,d){var s="scroll",r,n,i,t,a,c,p=0,v,I=0,C=0,b=0,m,$;function L(){var w=window.navigator&&window.navigator.clipboard,M=!1,D=function(){var H=d.getCopyText(),j=d.session.getUndoManager().hasUndo();$.replaceChild(_.buildDom(M?["span",!H&&F("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],H&&F("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],H&&F("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],w&&F("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],j&&F("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],F("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],F("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),$.firstChild)},F=function(H){return d.commands.canExecute(H,d)},B=function(H){var j=H.target.getAttribute("action");if(j=="more"||!M)return M=!M,D();j=="paste"?w.readText().then(function(Y){d.execCommand(j,Y)}):j&&((j=="cut"||j=="copy")&&(w?w.writeText(d.getCopyText()):document.execCommand("copy")),d.execCommand(j)),$.firstChild.style.display="none",M=!1,j!="openCommandPalette"&&d.focus()};$=_.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(H){s="menu",H.stopPropagation(),H.preventDefault(),d.textInput.focus()},ontouchend:function(H){H.stopPropagation(),H.preventDefault(),B(H)},onclick:B},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],d.container)}function O(){if(!d.getOption("enableMobileMenu")){$&&A();return}$||L();var w=d.selection.cursor,M=d.renderer.textToScreenCoordinates(w.row,w.column),D=d.renderer.textToScreenCoordinates(0,0).pageX,F=d.renderer.scrollLeft,B=d.container.getBoundingClientRect();$.style.top=M.pageY-B.top-3+"px",M.pageX-B.left<B.width-70?($.style.left="",$.style.right="10px"):($.style.right="",$.style.left=D+F-B.left+"px"),$.style.display="",$.firstChild.style.display="none",d.on("input",A)}function A(w){$&&($.style.display="none"),d.off("input",A)}function E(){a=null,clearTimeout(a);var w=d.selection.getRange(),M=w.contains(v.row,v.column);(w.isEmpty()||!M)&&(d.selection.moveToPosition(v),d.selection.selectWord()),s="wait",O()}function k(){a=null,clearTimeout(a),d.selection.moveToPosition(v);var w=I>=2?d.selection.getLineRange(v.row):d.session.getBracketRange(v);w&&!w.isEmpty()?d.selection.setRange(w):d.selection.selectWord(),s="wait"}y.addListener(u,"contextmenu",function(w){if(m){var M=d.textInput.getElement();M.focus()}},d),y.addListener(u,"touchstart",function(w){var M=w.touches;if(a||M.length>1){clearTimeout(a),a=null,i=-1,s="zoom";return}m=d.$mouseHandler.isMousePressed=!0;var D=d.renderer.layerConfig.lineHeight,F=d.renderer.layerConfig.lineHeight,B=w.timeStamp;t=B;var H=M[0],j=H.clientX,Y=H.clientY;Math.abs(r-j)+Math.abs(n-Y)>D&&(i=-1),r=w.clientX=j,n=w.clientY=Y,C=b=0;var X=new x(w,d);if(v=X.getDocumentPosition(),B-i<500&&M.length==1&&!p)I++,w.preventDefault(),w.button=0,k();else{I=0;var Q=d.selection.cursor,q=d.selection.isEmpty()?Q:d.selection.anchor,ee=d.renderer.$cursorLayer.getPixelPosition(Q,!0),ie=d.renderer.$cursorLayer.getPixelPosition(q,!0),ae=d.renderer.scroller.getBoundingClientRect(),he=d.renderer.layerConfig.offset,de=d.renderer.scrollLeft,ye=function($t,it){return $t=$t/F,it=it/D-.75,$t*$t+it*it};if(w.clientX<ae.left){s="zoom";return}var Ae=ye(w.clientX-ae.left-ee.left+de,w.clientY-ae.top-ee.top+he),ze=ye(w.clientX-ae.left-ie.left+de,w.clientY-ae.top-ie.top+he);Ae<3.5&&ze<3.5&&(s=Ae>ze?"cursor":"anchor"),ze<3.5?s="anchor":Ae<3.5?s="cursor":s="scroll",a=setTimeout(E,450)}i=B},d),y.addListener(u,"touchend",function(w){m=d.$mouseHandler.isMousePressed=!1,c&&clearInterval(c),s=="zoom"?(s="",p=0):a?(d.selection.moveToPosition(v),p=0,O()):s=="scroll"?(T(),A()):O(),clearTimeout(a),a=null},d),y.addListener(u,"touchmove",function(w){a&&(clearTimeout(a),a=null);var M=w.touches;if(!(M.length>1||s=="zoom")){var D=M[0],F=r-D.clientX,B=n-D.clientY;if(s=="wait")if(F*F+B*B>4)s="cursor";else return w.preventDefault();r=D.clientX,n=D.clientY,w.clientX=D.clientX,w.clientY=D.clientY;var H=w.timeStamp,j=H-t;if(t=H,s=="scroll"){var Y=new x(w,d);Y.speed=1,Y.wheelX=F,Y.wheelY=B,10*Math.abs(F)<Math.abs(B)&&(F=0),10*Math.abs(B)<Math.abs(F)&&(B=0),j!=0&&(C=F/j,b=B/j),d._emit("mousewheel",Y),Y.propagationStopped||(C=b=0)}else{var X=new x(w,d),Q=X.getDocumentPosition();s=="cursor"?d.selection.moveCursorToPosition(Q):s=="anchor"&&d.selection.setSelectionAnchor(Q.row,Q.column),d.renderer.scrollCursorIntoView(Q),w.preventDefault()}}},d);function T(){p+=60,c=setInterval(function(){p--<=0&&(clearInterval(c),c=null),Math.abs(C)<.01&&(C=0),Math.abs(b)<.01&&(b=0),p<20&&(C=.9*C),p<20&&(b=.9*b);var w=d.session.getScrollTop();d.renderer.scrollBy(10*C,10*b),w==d.session.getScrollTop()&&(p=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(o,h,R){var x=o("../lib/event"),y=o("../lib/useragent"),_=o("./default_handlers").DefaultHandlers,u=o("./default_gutter_handler").GutterHandler,d=o("./mouse_event").MouseEvent,s=o("./dragdrop_handler").DragdropHandler,r=o("./touch_handler").addTouchListeners,n=o("../config"),i=function(){function t(a){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var c=this;this.editor=a,new _(this),new u(this),new s(this);var p=function(C){var b=!document.hasFocus||!document.hasFocus()||!a.isFocused()&&document.activeElement==(a.textInput&&a.textInput.getElement());b&&window.focus(),a.focus(),setTimeout(function(){a.isFocused()||a.focus()})},v=a.renderer.getMouseEventTarget();x.addListener(v,"click",this.onMouseEvent.bind(this,"click"),a),x.addListener(v,"mousemove",this.onMouseMove.bind(this,"mousemove"),a),x.addMultiMouseDownListener([v,a.renderer.scrollBarV&&a.renderer.scrollBarV.inner,a.renderer.scrollBarH&&a.renderer.scrollBarH.inner,a.textInput&&a.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",a),x.addMouseWheelListener(a.container,this.onMouseWheel.bind(this,"mousewheel"),a),r(a.container,a);var I=a.renderer.$gutter;x.addListener(I,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),a),x.addListener(I,"click",this.onMouseEvent.bind(this,"gutterclick"),a),x.addListener(I,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),a),x.addListener(I,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),a),x.addListener(v,"mousedown",p,a),x.addListener(I,"mousedown",p,a),y.isIE&&a.renderer.scrollBarV&&(x.addListener(a.renderer.scrollBarV.element,"mousedown",p,a),x.addListener(a.renderer.scrollBarH.element,"mousedown",p,a)),a.on("mousemove",function(C){if(!(c.state||c.$dragDelay||!c.$dragEnabled)){var b=a.renderer.screenToTextCoordinates(C.x,C.y),m=a.session.selection.getRange(),$=a.renderer;!m.isEmpty()&&m.insideStart(b.row,b.column)?$.setCursorStyle("default"):$.setCursorStyle("")}},a)}return t.prototype.onMouseEvent=function(a,c){this.editor.session&&this.editor._emit(a,new d(c,this.editor))},t.prototype.onMouseMove=function(a,c){var p=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!p||!p.length||this.editor._emit(a,new d(c,this.editor))},t.prototype.onMouseWheel=function(a,c){var p=new d(c,this.editor);p.speed=this.$scrollSpeed*2,p.wheelX=c.wheelX,p.wheelY=c.wheelY,this.editor._emit(a,p)},t.prototype.setState=function(a){this.state=a},t.prototype.captureMouse=function(a,c){this.x=a.x,this.y=a.y,this.isMousePressed=!0;var p=this.editor,v=this.editor.renderer;v.$isMousePressed=!0;var I=this,C=function(O){if(O){if(y.isWebKit&&!O.which&&I.releaseMouse)return I.releaseMouse();I.x=O.clientX,I.y=O.clientY,c&&c(O),I.mouseEvent=new d(O,I.editor),I.$mouseMoved=!0}},b=function(O){p.off("beforeEndOperation",$),clearInterval(L),p.session&&m(),I[I.state+"End"]&&I[I.state+"End"](O),I.state="",I.isMousePressed=v.$isMousePressed=!1,v.$keepTextAreaAtCursor&&v.$moveTextAreaToCursor(),I.$onCaptureMouseMove=I.releaseMouse=null,O&&I.onMouseEvent("mouseup",O),p.endOperation()},m=function(){I[I.state]&&I[I.state](),I.$mouseMoved=!1};if(y.isOldIE&&a.domEvent.type=="dblclick")return setTimeout(function(){b(a)});var $=function(O){I.releaseMouse&&p.curOp.command.name&&p.curOp.selectionChanged&&(I[I.state+"End"]&&I[I.state+"End"](),I.state="",I.releaseMouse())};p.on("beforeEndOperation",$),p.startOperation({command:{name:"mouse"}}),I.$onCaptureMouseMove=C,I.releaseMouse=x.capture(this.editor.container,C,b);var L=setInterval(m,20)},t.prototype.cancelContextMenu=function(){var a=(function(c){c&&c.domEvent&&c.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",a),c&&c.domEvent&&x.stopEvent(c.domEvent))}).bind(this);setTimeout(a,10),this.editor.on("nativecontextmenu",a)},t.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},t}();i.prototype.releaseMouse=null,n.defineOptions(i.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:y.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),h.MouseHandler=i}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(o,h,R){var x=o("../lib/dom"),y=function(){function _(u){u.on("click",function(d){var s=d.getDocumentPosition(),r=u.session,n=r.getFoldAt(s.row,s.column,1);n&&(d.getAccelKey()?r.removeFold(n):r.expandFold(n),d.stop());var i=d.domEvent&&d.domEvent.target;i&&x.hasCssClass(i,"ace_inline_button")&&x.hasCssClass(i,"ace_toggle_wrap")&&(r.setOption("wrap",!r.getUseWrapMode()),u.renderer.scrollCursorIntoView())}),u.on("gutterclick",function(d){var s=u.renderer.$gutterLayer.getRegion(d);if(s=="foldWidgets"){var r=d.getDocumentPosition().row,n=u.session;n.foldWidgets&&n.foldWidgets[r]&&u.session.onFoldWidgetClick(r,d),u.isFocused()||u.focus(),d.stop()}}),u.on("gutterdblclick",function(d){var s=u.renderer.$gutterLayer.getRegion(d);if(s=="foldWidgets"){var r=d.getDocumentPosition().row,n=u.session,i=n.getParentFoldRangeData(r,!0),t=i.range||i.firstRange;if(t){r=t.start.row;var a=n.getFoldAt(r,n.getLine(r).length,1);a?n.removeFold(a):(n.addFold("...",t),u.renderer.scrollCursorIntoView({row:t.start.row,column:0}))}d.stop()}})}return _}();h.FoldHandler=y}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(o,h,R){var x=o("../lib/keys"),y=o("../lib/event"),_=function(){function u(d){this.$editor=d,this.$data={editor:d},this.$handlers=[],this.setDefaultHandler(d.commands)}return u.prototype.setDefaultHandler=function(d){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=d,this.addKeyboardHandler(d,0)},u.prototype.setKeyboardHandler=function(d){var s=this.$handlers;if(s[s.length-1]!=d){for(;s[s.length-1]&&s[s.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(s[s.length-1]);this.addKeyboardHandler(d,1)}},u.prototype.addKeyboardHandler=function(d,s){if(d){typeof d=="function"&&!d.handleKeyboard&&(d.handleKeyboard=d);var r=this.$handlers.indexOf(d);r!=-1&&this.$handlers.splice(r,1),s==null?this.$handlers.push(d):this.$handlers.splice(s,0,d),r==-1&&d.attach&&d.attach(this.$editor)}},u.prototype.removeKeyboardHandler=function(d){var s=this.$handlers.indexOf(d);return s==-1?!1:(this.$handlers.splice(s,1),d.detach&&d.detach(this.$editor),!0)},u.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},u.prototype.getStatusText=function(){var d=this.$data,s=d.editor;return this.$handlers.map(function(r){return r.getStatusText&&r.getStatusText(s,d)||""}).filter(Boolean).join(" ")},u.prototype.$callKeyboardHandlers=function(d,s,r,n){for(var i,t=!1,a=this.$editor.commands,c=this.$handlers.length;c--&&(i=this.$handlers[c].handleKeyboard(this.$data,d,s,r,n),!(!(!i||!i.command)&&(i.command=="null"?t=!0:t=a.exec(i.command,this.$editor,i.args,n),t&&n&&d!=-1&&i.passEvent!=!0&&i.command.passEvent!=!0&&y.stopEvent(n),t))););return!t&&d==-1&&(i={command:"insertstring"},t=a.exec("insertstring",this.$editor,s)),t&&this.$editor._signal&&this.$editor._signal("keyboardActivity",i),t},u.prototype.onCommandKey=function(d,s,r){var n=x.keyCodeToString(r);return this.$callKeyboardHandlers(s,n,r,d)},u.prototype.onTextInput=function(d){return this.$callKeyboardHandlers(-1,d)},u}();h.KeyBinding=_}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(o,h,R){var x=0,y=0,_=!1,u=!1,d=!1,s=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],r=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],n=0,i=1,t=0,a=1,c=2,p=3,v=4,I=5,C=6,b=7,m=8,$=9,L=10,O=11,A=12,E=13,k=14,T=15,w=16,M=17,D=18,F=[D,D,D,D,D,D,D,D,D,C,I,C,m,I,D,D,D,D,D,D,D,D,D,D,D,D,D,D,I,I,I,C,m,v,v,O,O,O,v,v,v,v,v,L,$,L,$,$,c,c,c,c,c,c,c,c,c,c,$,v,v,v,v,v,v,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,v,v,v,v,v,v,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,v,v,v,v,D,D,D,D,D,D,I,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,D,$,v,O,O,O,O,v,v,v,v,t,v,v,D,v,v,O,O,c,c,v,t,v,v,v,c,t,v,v,v,v,v],B=[m,m,m,m,m,m,m,m,m,m,m,D,D,D,t,a,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,m,I,E,k,T,w,M,$,O,O,O,O,O,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,$,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,m];function H(Q,q,ee,ie){var ae=x?r:s,he=null,de=null,ye=null,Ae=0,ze=null,$t=null,it=-1,st=null,Ht=null,xt=[];if(!ie)for(st=0,ie=[];st<ee;st++)ie[st]=X(Q[st]);for(y=x,_=!1,u=!1,d=!1,Ht=0;Ht<ee;Ht++){if(he=Ae,xt[Ht]=de=Y(Q,ie,xt,Ht),Ae=ae[he][de],ze=Ae&240,Ae&=15,q[Ht]=ye=ae[Ae][5],ze>0)if(ze==16){for(st=it;st<Ht;st++)q[st]=1;it=-1}else it=-1;if($t=ae[Ae][6],$t)it==-1&&(it=Ht);else if(it>-1){for(st=it;st<Ht;st++)q[st]=ye;it=-1}ie[Ht]==I&&(q[Ht]=0),y|=ye}if(d){for(st=0;st<ee;st++)if(ie[st]==C){q[st]=x;for(var It=st-1;It>=0&&ie[It]==m;It--)q[It]=x}}}function j(Q,q,ee){if(!(y<Q)){if(Q==1&&x==i&&!u){ee.reverse();return}for(var ie=ee.length,ae=0,he,de,ye,Ae;ae<ie;){if(q[ae]>=Q){for(he=ae+1;he<ie&&q[he]>=Q;)he++;for(de=ae,ye=he-1;de<ye;de++,ye--)Ae=ee[de],ee[de]=ee[ye],ee[ye]=Ae;ae=he}ae++}}}function Y(Q,q,ee,ie){var ae=q[ie],he,de,ye,Ae;switch(ae){case t:case a:_=!1;case v:case p:return ae;case c:return _?p:c;case b:return _=!0,a;case m:return v;case $:return ie<1||ie+1>=q.length||(he=ee[ie-1])!=c&&he!=p||(de=q[ie+1])!=c&&de!=p?v:(_&&(de=p),de==he?de:v);case L:return he=ie>0?ee[ie-1]:I,he==c&&ie+1<q.length&&q[ie+1]==c?c:v;case O:if(ie>0&&ee[ie-1]==c)return c;if(_)return v;for(Ae=ie+1,ye=q.length;Ae<ye&&q[Ae]==O;)Ae++;return Ae<ye&&q[Ae]==c?c:v;case A:for(ye=q.length,Ae=ie+1;Ae<ye&&q[Ae]==A;)Ae++;if(Ae<ye){var ze=Q[ie],$t=ze>=1425&&ze<=2303||ze==64286;if(he=q[Ae],$t&&(he==a||he==b))return a}return ie<1||(he=q[ie-1])==I?v:ee[ie-1];case I:return _=!1,u=!0,x;case C:return d=!0,v;case E:case k:case w:case M:case T:_=!1;case D:return v}}function X(Q){var q=Q.charCodeAt(0),ee=q>>8;return ee==0?q>191?t:F[q]:ee==5?/[\u0591-\u05f4]/.test(Q)?a:t:ee==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(Q)?A:/[\u0660-\u0669\u066b-\u066c]/.test(Q)?p:q==1642?O:/[\u06f0-\u06f9]/.test(Q)?c:b:ee==32&&q<=8287?B[q&255]:ee==254&&q>=65136?b:v}h.L=t,h.R=a,h.EN=c,h.ON_R=3,h.AN=4,h.R_H=5,h.B=6,h.RLE=7,h.DOT="·",h.doBidiReorder=function(Q,q,ee){if(Q.length<2)return{};var ie=Q.split(""),ae=new Array(ie.length),he=new Array(ie.length),de=[];x=ee?i:n,H(ie,de,ie.length,q);for(var ye=0;ye<ae.length;ae[ye]=ye,ye++);j(2,de,ae),j(1,de,ae);for(var ye=0;ye<ae.length-1;ye++)q[ye]===p?de[ye]=h.AN:de[ye]===a&&(q[ye]>b&&q[ye]<E||q[ye]===v||q[ye]===D)?de[ye]=h.ON_R:ye>0&&ie[ye-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(ie[ye])&&(de[ye-1]=de[ye]=h.R_H,ye++);ie[ie.length-1]===h.DOT&&(de[ie.length-1]=h.B),ie[0]==="‫"&&(de[0]=h.RLE);for(var ye=0;ye<ae.length;ye++)he[ye]=de[ae[ye]];return{logicalFromVisual:ae,bidiLevels:he}},h.hasBidiCharacters=function(Q,q){for(var ee=!1,ie=0;ie<Q.length;ie++)q[ie]=X(Q.charAt(ie)),!ee&&(q[ie]==a||q[ie]==b||q[ie]==p)&&(ee=!0);return ee},h.getVisualFromLogicalIdx=function(Q,q){for(var ee=0;ee<q.logicalFromVisual.length;ee++)if(q.logicalFromVisual[ee]==Q)return ee;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(o,h,R){var x=o("./lib/bidiutil"),y=o("./lib/lang"),_=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,u=function(){function d(s){this.session=s,this.bidiMap={},this.currentRow=null,this.bidiUtil=x,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="‫",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=_.test(s.getValue())}return d.prototype.isBidiRow=function(s,r,n){return this.seenBidi?(s!==this.currentRow&&(this.currentRow=s,this.updateRowLine(r,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},d.prototype.onChange=function(s){this.seenBidi?this.currentRow=null:s.action=="insert"&&_.test(s.lines.join(`
179
+ `))&&(this.seenBidi=!0,this.currentRow=null)},d.prototype.getDocumentRow=function(){var s=0,r=this.session.$screenRowCache;if(r.length){var n=this.session.$getRowCacheIndex(r,this.currentRow);n>=0&&(s=this.session.$docRowCache[n])}return s},d.prototype.getSplitIndex=function(){var s=0,r=this.session.$screenRowCache;if(r.length)for(var n,i=this.session.$getRowCacheIndex(r,this.currentRow);this.currentRow-s>0&&(n=this.session.$getRowCacheIndex(r,this.currentRow-s-1),n===i);)i=n,s++;else s=this.currentRow;return s},d.prototype.updateRowLine=function(s,r){s===void 0&&(s=this.getDocumentRow());var n=s===this.session.getLength()-1,i=n?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(s),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var t=this.session.$wrapData[s];t&&(r===void 0&&(r=this.getSplitIndex()),r>0&&t.length?(this.wrapIndent=t.indent,this.wrapOffset=this.wrapIndent*this.charWidths[x.L],this.line=r<t.length?this.line.substring(t[r-1],t[r]):this.line.substring(t[t.length-1])):this.line=this.line.substring(0,t[r]),r==t.length&&(this.line+=this.showInvisibles?i:x.DOT))}else this.line+=this.showInvisibles?i:x.DOT;var a=this.session,c=0,p;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(v,I){return v===" "||a.isFullWidth(v.charCodeAt(0))?(p=v===" "?a.getScreenTabSize(I+c):2,c+=p-1,y.stringRepeat(x.DOT,p)):v}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==x.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},d.prototype.updateBidiMap=function(){var s=[];x.hasBidiCharacters(this.line,s)||this.isRtlDir?this.bidiMap=x.doBidiReorder(this.line,s,this.isRtlDir):this.bidiMap={}},d.prototype.markAsDirty=function(){this.currentRow=null},d.prototype.updateCharacterWidths=function(s){if(this.characterWidth!==s.$characterSize.width){this.fontMetrics=s;var r=this.characterWidth=s.$characterSize.width,n=s.$measureCharWidth("ה");this.charWidths[x.L]=this.charWidths[x.EN]=this.charWidths[x.ON_R]=r,this.charWidths[x.R]=this.charWidths[x.AN]=n,this.charWidths[x.R_H]=n*.45,this.charWidths[x.B]=this.charWidths[x.RLE]=0,this.currentRow=null}},d.prototype.setShowInvisibles=function(s){this.showInvisibles=s,this.currentRow=null},d.prototype.setEolChar=function(s){this.EOL=s},d.prototype.setContentWidth=function(s){this.contentWidth=s},d.prototype.isRtlLine=function(s){return this.$isRtl?!0:s!=null?this.session.getLine(s).charAt(0)==this.RLE:this.isRtlDir},d.prototype.setRtlDirection=function(s,r){for(var n=s.getCursorPosition(),i=s.selection.getSelectionAnchor().row;i<=n.row;i++)!r&&s.session.getLine(i).charAt(0)===s.session.$bidiHandler.RLE?s.session.doc.removeInLine(i,0,1):r&&s.session.getLine(i).charAt(0)!==s.session.$bidiHandler.RLE&&s.session.doc.insert({column:0,row:i},s.session.$bidiHandler.RLE)},d.prototype.getPosLeft=function(s){s-=this.wrapIndent;var r=this.line.charAt(0)===this.RLE?1:0,n=s>r?this.session.getOverwrite()?s:s-1:r,i=x.getVisualFromLogicalIdx(n,this.bidiMap),t=this.bidiMap.bidiLevels,a=0;!this.session.getOverwrite()&&s<=r&&t[i]%2!==0&&i++;for(var c=0;c<i;c++)a+=this.charWidths[t[c]];return!this.session.getOverwrite()&&s>r&&t[i]%2===0&&(a+=this.charWidths[t[i]]),this.wrapIndent&&(a+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(a+=this.rtlLineOffset),a},d.prototype.getSelections=function(s,r){var n=this.bidiMap,i=n.bidiLevels,t,a=[],c=0,p=Math.min(s,r)-this.wrapIndent,v=Math.max(s,r)-this.wrapIndent,I=!1,C=!1,b=0;this.wrapIndent&&(c+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var m,$=0;$<i.length;$++)m=n.logicalFromVisual[$],t=i[$],I=m>=p&&m<v,I&&!C?b=c:!I&&C&&a.push({left:b,width:c-b}),c+=this.charWidths[t],C=I;if(I&&$===i.length&&a.push({left:b,width:c-b}),this.isRtlDir)for(var L=0;L<a.length;L++)a[L].left+=this.rtlLineOffset;return a},d.prototype.offsetToCol=function(n){this.isRtlDir&&(n-=this.rtlLineOffset);var r=0,n=Math.max(n,0),i=0,t=0,a=this.bidiMap.bidiLevels,c=this.charWidths[a[t]];for(this.wrapIndent&&(n-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);n>i+c/2;){if(i+=c,t===a.length-1){c=0;break}c=this.charWidths[a[++t]]}return t>0&&a[t-1]%2!==0&&a[t]%2===0?(n<i&&t--,r=this.bidiMap.logicalFromVisual[t]):t>0&&a[t-1]%2===0&&a[t]%2!==0?r=1+(n>i?this.bidiMap.logicalFromVisual[t]:this.bidiMap.logicalFromVisual[t-1]):this.isRtlDir&&t===a.length-1&&c===0&&a[t-1]%2===0||!this.isRtlDir&&t===0&&a[t]%2!==0?r=1+this.bidiMap.logicalFromVisual[t]:(t>0&&a[t-1]%2!==0&&c!==0&&t--,r=this.bidiMap.logicalFromVisual[t]),r===0&&this.isRtlDir&&r++,r+this.wrapIndent},d}();h.BidiHandler=u}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(o,h,R){var x=o("./lib/oop"),y=o("./lib/lang"),_=o("./lib/event_emitter").EventEmitter,u=o("./range").Range,d=function(){function s(r){this.session=r,this.doc=r.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var n=this;this.cursor.on("change",function(i){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&i.old.column!=i.value.column&&(n.$desiredColumn=null)}),this.anchor.on("change",function(){n.$anchorChanged=!0,!n.$isEmpty&&!n.$silent&&n._emit("changeSelection")})}return s.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},s.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},s.prototype.getCursor=function(){return this.lead.getPosition()},s.prototype.setAnchor=function(r,n){this.$isEmpty=!1,this.anchor.setPosition(r,n)},s.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},s.prototype.getSelectionLead=function(){return this.lead.getPosition()},s.prototype.isBackwards=function(){var r=this.anchor,n=this.lead;return r.row>n.row||r.row==n.row&&r.column>n.column},s.prototype.getRange=function(){var r=this.anchor,n=this.lead;return this.$isEmpty?u.fromPoints(n,n):this.isBackwards()?u.fromPoints(n,r):u.fromPoints(r,n)},s.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},s.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},s.prototype.setRange=function(r,n){var i=n?r.end:r.start,t=n?r.start:r.end;this.$setSelection(i.row,i.column,t.row,t.column)},s.prototype.$setSelection=function(r,n,i,t){if(!this.$silent){var a=this.$isEmpty,c=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(r,n),this.cursor.setPosition(i,t),this.$isEmpty=!u.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||a!=this.$isEmpty||c)&&this._emit("changeSelection")}},s.prototype.$moveSelection=function(r){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),r.call(this)},s.prototype.selectTo=function(r,n){this.$moveSelection(function(){this.moveCursorTo(r,n)})},s.prototype.selectToPosition=function(r){this.$moveSelection(function(){this.moveCursorToPosition(r)})},s.prototype.moveTo=function(r,n){this.clearSelection(),this.moveCursorTo(r,n)},s.prototype.moveToPosition=function(r){this.clearSelection(),this.moveCursorToPosition(r)},s.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},s.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},s.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},s.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},s.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},s.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},s.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},s.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},s.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},s.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},s.prototype.getWordRange=function(r,n){if(typeof n>"u"){var i=r||this.lead;r=i.row,n=i.column}return this.session.getWordRange(r,n)},s.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},s.prototype.selectAWord=function(){var r=this.getCursor(),n=this.session.getAWordRange(r.row,r.column);this.setSelectionRange(n)},s.prototype.getLineRange=function(r,n){var i=typeof r=="number"?r:this.lead.row,t,a=this.session.getFoldLine(i);return a?(i=a.start.row,t=a.end.row):t=i,n===!0?new u(i,0,t,this.session.getLine(t).length):new u(i,0,t+1,0)},s.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},s.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},s.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},s.prototype.wouldMoveIntoSoftTab=function(r,n,i){var t=r.column,a=r.column+n;return i<0&&(t=r.column-n,a=r.column),this.session.isTabStop(r)&&this.doc.getLine(r.row).slice(t,a).split(" ").length-1==n},s.prototype.moveCursorLeft=function(){var r=this.lead.getPosition(),n;if(n=this.session.getFoldAt(r.row,r.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(r.column===0)r.row>0&&this.moveCursorTo(r.row-1,this.doc.getLine(r.row-1).length);else{var i=this.session.getTabSize();this.wouldMoveIntoSoftTab(r,i,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},s.prototype.moveCursorRight=function(){var r=this.lead.getPosition(),n;if(n=this.session.getFoldAt(r.row,r.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var i=this.session.getTabSize(),r=this.lead;this.wouldMoveIntoSoftTab(r,i,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,i):this.moveCursorBy(0,1)}},s.prototype.moveCursorLineStart=function(){var r=this.lead.row,n=this.lead.column,i=this.session.documentToScreenRow(r,n),t=this.session.screenToDocumentPosition(i,0),a=this.session.getDisplayLine(r,null,t.row,t.column),c=a.match(/^\s*/);c[0].length!=n&&!this.session.$useEmacsStyleLineStart&&(t.column+=c[0].length),this.moveCursorToPosition(t)},s.prototype.moveCursorLineEnd=function(){var r=this.lead,n=this.session.getDocumentLastRowColumnPosition(r.row,r.column);if(this.lead.column==n.column){var i=this.session.getLine(n.row);if(n.column==i.length){var t=i.search(/\s+$/);t>0&&(n.column=t)}}this.moveCursorTo(n.row,n.column)},s.prototype.moveCursorFileEnd=function(){var r=this.doc.getLength()-1,n=this.doc.getLine(r).length;this.moveCursorTo(r,n)},s.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},s.prototype.moveCursorLongWordRight=function(){var r=this.lead.row,n=this.lead.column,i=this.doc.getLine(r),t=i.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var a=this.session.getFoldAt(r,n,1);if(a){this.moveCursorTo(a.end.row,a.end.column);return}if(this.session.nonTokenRe.exec(t)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,t=i.substring(n)),n>=i.length){this.moveCursorTo(r,i.length),this.moveCursorRight(),r<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(t)&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(r,n)},s.prototype.moveCursorLongWordLeft=function(){var r=this.lead.row,n=this.lead.column,i;if(i=this.session.getFoldAt(r,n,-1)){this.moveCursorTo(i.start.row,i.start.column);return}var t=this.session.getFoldStringAt(r,n,-1);t==null&&(t=this.doc.getLine(r).substring(0,n));var a=y.stringReverse(t);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(a)&&(n-=this.session.nonTokenRe.lastIndex,a=a.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(r,0),this.moveCursorLeft(),r>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(a)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(r,n)},s.prototype.$shortWordEndIndex=function(r){var n=0,i,t=/\s/,a=this.session.tokenRe;if(a.lastIndex=0,this.session.tokenRe.exec(r))n=this.session.tokenRe.lastIndex;else{for(;(i=r[n])&&t.test(i);)n++;if(n<1){for(a.lastIndex=0;(i=r[n])&&!a.test(i);)if(a.lastIndex=0,n++,t.test(i))if(n>2){n--;break}else{for(;(i=r[n])&&t.test(i);)n++;if(n>2)break}}}return a.lastIndex=0,n},s.prototype.moveCursorShortWordRight=function(){var r=this.lead.row,n=this.lead.column,i=this.doc.getLine(r),t=i.substring(n),a=this.session.getFoldAt(r,n,1);if(a)return this.moveCursorTo(a.end.row,a.end.column);if(n==i.length){var c=this.doc.getLength();do r++,t=this.doc.getLine(r);while(r<c&&/^\s*$/.test(t));/^\s+/.test(t)||(t=""),n=0}var p=this.$shortWordEndIndex(t);this.moveCursorTo(r,n+p)},s.prototype.moveCursorShortWordLeft=function(){var r=this.lead.row,n=this.lead.column,i;if(i=this.session.getFoldAt(r,n,-1))return this.moveCursorTo(i.start.row,i.start.column);var t=this.session.getLine(r).substring(0,n);if(n===0){do r--,t=this.doc.getLine(r);while(r>0&&/^\s*$/.test(t));n=t.length,/\s+$/.test(t)||(t="")}var a=y.stringReverse(t),c=this.$shortWordEndIndex(a);return this.moveCursorTo(r,n-c)},s.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},s.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},s.prototype.moveCursorBy=function(r,n){var i=this.session.documentToScreenPosition(this.lead.row,this.lead.column),t;if(n===0&&(r!==0&&(this.session.$bidiHandler.isBidiRow(i.row,this.lead.row)?(t=this.session.$bidiHandler.getPosLeft(i.column),i.column=Math.round(t/this.session.$bidiHandler.charWidths[0])):t=i.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?i.column=this.$desiredColumn:this.$desiredColumn=i.column),r!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var a=this.session.lineWidgets[this.lead.row];r<0?r-=a.rowsAbove||0:r>0&&(r+=a.rowCount-(a.rowsAbove||0))}var c=this.session.screenToDocumentPosition(i.row+r,i.column,t);r!==0&&n===0&&c.row===this.lead.row&&(c.column,this.lead.column),this.moveCursorTo(c.row,c.column+n,n===0)},s.prototype.moveCursorToPosition=function(r){this.moveCursorTo(r.row,r.column)},s.prototype.moveCursorTo=function(r,n,i){var t=this.session.getFoldAt(r,n,1);t&&(r=t.start.row,n=t.start.column),this.$keepDesiredColumnOnChange=!0;var a=this.session.getLine(r);/[\uDC00-\uDFFF]/.test(a.charAt(n))&&a.charAt(n-1)&&(this.lead.row==r&&this.lead.column==n+1?n=n-1:n=n+1),this.lead.setPosition(r,n),this.$keepDesiredColumnOnChange=!1,i||(this.$desiredColumn=null)},s.prototype.moveCursorToScreen=function(r,n,i){var t=this.session.screenToDocumentPosition(r,n);this.moveCursorTo(t.row,t.column,i)},s.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},s.prototype.fromOrientedRange=function(r){this.setSelectionRange(r,r.cursor==r.start),this.$desiredColumn=r.desiredColumn||this.$desiredColumn},s.prototype.toOrientedRange=function(r){var n=this.getRange();return r?(r.start.column=n.start.column,r.start.row=n.start.row,r.end.column=n.end.column,r.end.row=n.end.row):r=n,r.cursor=this.isBackwards()?r.start:r.end,r.desiredColumn=this.$desiredColumn,r},s.prototype.getRangeOfMovements=function(r){var n=this.getCursor();try{r(this);var i=this.getCursor();return u.fromPoints(n,i)}catch{return u.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},s.prototype.toJSON=function(){if(this.rangeCount)var r=this.ranges.map(function(n){var i=n.clone();return i.isBackwards=n.cursor==n.start,i});else{var r=this.getRange();r.isBackwards=this.isBackwards()}return r},s.prototype.fromJSON=function(r){if(r.start==null)if(this.rangeList&&r.length>1){this.toSingleRange(r[0]);for(var n=r.length;n--;){var i=u.fromPoints(r[n].start,r[n].end);r[n].isBackwards&&(i.cursor=i.start),this.addRange(i,!0)}return}else r=r[0];this.rangeList&&this.toSingleRange(r),this.setSelectionRange(r,r.isBackwards)},s.prototype.isEqual=function(r){if((r.length||this.rangeCount)&&r.length!=this.rangeCount)return!1;if(!r.length||!this.ranges)return this.getRange().isEqual(r);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(r[n]))return!1;return!0},s}();d.prototype.setSelectionAnchor=d.prototype.setAnchor,d.prototype.getSelectionAnchor=d.prototype.getAnchor,d.prototype.setSelectionRange=d.prototype.setRange,x.implement(d.prototype,_),h.Selection=d}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(o,h,R){var x=o("./lib/report_error").reportError,y=2e3,_=function(){function u(d){this.splitRegex,this.states=d,this.regExps={},this.matchMappings={};for(var s in this.states){for(var r=this.states[s],n=[],i=0,t=this.matchMappings[s]={defaultToken:"text"},a="g",c=[],p=0;p<r.length;p++){var v=r[p];if(v.defaultToken&&(t.defaultToken=v.defaultToken),v.caseInsensitive&&a.indexOf("i")===-1&&(a+="i"),v.unicode&&a.indexOf("u")===-1&&(a+="u"),v.regex!=null){v.regex instanceof RegExp&&(v.regex=v.regex.toString().slice(1,-1));var I=v.regex,C=new RegExp("(?:("+I+")|(.))").exec("a").length-2;Array.isArray(v.token)?v.token.length==1||C==1?v.token=v.token[0]:C-1!=v.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:v,groupCount:C-1}),v.token=v.token[0]):(v.tokenArray=v.token,v.token=null,v.onMatch=this.$arrayTokens):typeof v.token=="function"&&!v.onMatch&&(C>1?v.onMatch=this.$applyToken:v.onMatch=v.token),C>1&&(/\\\d/.test(v.regex)?I=v.regex.replace(/\\([0-9]+)/g,function(b,m){return"\\"+(parseInt(m,10)+i+1)}):(C=1,I=this.removeCapturingGroups(v.regex)),!v.splitRegex&&typeof v.token!="string"&&c.push(v)),t[i]=p,i+=C,n.push(I),v.onMatch||(v.onMatch=null)}}n.length||(t[0]=0,n.push("$")),c.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,a)},this),this.regExps[s]=new RegExp("("+n.join(")|(")+")|($)",a)}}return u.prototype.$setMaxTokenCount=function(d){y=d|0},u.prototype.$applyToken=function(d){var s=this.splitRegex.exec(d).slice(1),r=this.token.apply(this,s);if(typeof r=="string")return[{type:r,value:d}];for(var n=[],i=0,t=r.length;i<t;i++)s[i]&&(n[n.length]={type:r[i],value:s[i]});return n},u.prototype.$arrayTokens=function(d){if(!d)return[];var s=this.splitRegex.exec(d);if(!s)return"text";for(var r=[],n=this.tokenArray,i=0,t=n.length;i<t;i++)s[i+1]&&(r[r.length]={type:n[i],value:s[i+1]});return r},u.prototype.removeCapturingGroups=function(d){var s=d.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(r,n){return n?"(?:":r});return s},u.prototype.createSplitterRegexp=function(d,s){if(d.indexOf("(?=")!=-1){var r=0,n=!1,i={};d.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(t,a,c,p,v,I){return n?n=v!="]":v?n=!0:p?(r==i.stack&&(i.end=I+1,i.stack=-1),r--):c&&(r++,c.length!=1&&(i.stack=r,i.start=I)),t}),i.end!=null&&/^\)*$/.test(d.substr(i.end))&&(d=d.substring(0,i.start)+d.substr(i.end))}return d.charAt(0)!="^"&&(d="^"+d),d.charAt(d.length-1)!="$"&&(d+="$"),new RegExp(d,(s||"").replace("g",""))},u.prototype.getLineTokens=function(d,s){if(s&&typeof s!="string"){var r=s.slice(0);s=r[0],s==="#tmp"&&(r.shift(),s=r.shift())}else var r=[];var n=s||"start",i=this.states[n];i||(n="start",i=this.states[n]);var t=this.matchMappings[n],a=this.regExps[n];a.lastIndex=0;for(var c,p=[],v=0,I=0,C={type:null,value:""};c=a.exec(d);){var b=t.defaultToken,m=null,$=c[0],L=a.lastIndex;if(L-$.length>v){var O=d.substring(v,L-$.length);C.type==b?C.value+=O:(C.type&&p.push(C),C={type:b,value:O})}for(var A=0;A<c.length-2;A++)if(c[A+1]!==void 0){m=i[t[A]],m.onMatch?b=m.onMatch($,n,r,d):b=m.token,m.next&&(typeof m.next=="string"?n=m.next:n=m.next(n,r),i=this.states[n],i||(this.reportError("state doesn't exist",n),n="start",i=this.states[n]),t=this.matchMappings[n],v=L,a=this.regExps[n],a.lastIndex=L),m.consumeLineEnd&&(v=L);break}if($){if(typeof b=="string")(!m||m.merge!==!1)&&C.type===b?C.value+=$:(C.type&&p.push(C),C={type:b,value:$});else if(b){C.type&&p.push(C),C={type:null,value:""};for(var A=0;A<b.length;A++)p.push(b[A])}}if(v==d.length)break;if(v=L,I++>y){for(I>2*d.length&&this.reportError("infinite loop with in ace tokenizer",{startState:s,line:d});v<d.length;)C.type&&p.push(C),C={value:d.substring(v,v+=500),type:"overflow"};n="start",r=[];break}}return C.type&&p.push(C),r.length>1&&r[0]!==n&&r.unshift("#tmp",n),{tokens:p,state:r.length?r:n}},u}();_.prototype.reportError=x,h.Tokenizer=_}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(o,h,R){var x=o("../lib/deep_copy").deepCopy,y;y=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(d,s){if(!s){for(var r in d)this.$rules[r]=d[r];return}for(var r in d){for(var n=d[r],i=0;i<n.length;i++){var t=n[i];(t.next||t.onMatch)&&(typeof t.next=="string"&&t.next.indexOf(s)!==0&&(t.next=s+t.next),t.nextState&&t.nextState.indexOf(s)!==0&&(t.nextState=s+t.nextState))}this.$rules[s+r]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(d,s,r,n,i){var t=typeof d=="function"?new d().getRules():d;if(n)for(var a=0;a<n.length;a++)n[a]=s+n[a];else{n=[];for(var c in t)n.push(s+c)}if(this.addRules(t,s),r)for(var p=Array.prototype[i?"push":"unshift"],a=0;a<n.length;a++)p.apply(this.$rules[n[a]],x(r));this.$embeds||(this.$embeds=[]),this.$embeds.push(s)},this.getEmbeds=function(){return this.$embeds};var _=function(d,s){return(d!="start"||s.length)&&s.unshift(this.nextState,d),this.nextState},u=function(d,s){return s.shift(),s.shift()||"start"};this.normalizeRules=function(){var d=0,s=this.$rules;function r(n){var i=s[n];i.processed=!0;for(var t=0;t<i.length;t++){var a=i[t],c=null;Array.isArray(a)&&(c=a,a={}),!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var p=a.next||a.push;if(p&&Array.isArray(p)){var v=a.stateName;v||(v=a.token,typeof v!="string"&&(v=v[0]||""),s[v]&&(v+=d++)),s[v]=p,a.next=v,r(v)}else p=="pop"&&(a.next=u);if(a.push&&(a.nextState=a.next||a.push,a.next=_,delete a.push),a.rules)for(var I in a.rules)s[I]?s[I].push&&s[I].push.apply(s[I],a.rules[I]):s[I]=a.rules[I];var C=typeof a=="string"?a:a.include;if(C&&(C==="$self"&&(C="start"),Array.isArray(C)?c=C.map(function(m){return s[m]}):c=s[C]),c){var b=[t,1].concat(c);a.noEscape&&(b=b.filter(function(m){return!m.next})),i.splice.apply(i,b),t--}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}Object.keys(s).forEach(r,this)},this.createKeywordMapper=function(d,s,r,n){var i=Object.create(null);return this.$keywordList=[],Object.keys(d).forEach(function(t){for(var a=d[t],c=a.split(n||"|"),p=c.length;p--;){var v=c[p];this.$keywordList.push(v),r&&(v=v.toLowerCase()),i[v]=t}},this),d=null,r?function(t){return i[t.toLowerCase()]||s}:function(t){return i[t]||s}},this.getKeywords=function(){return this.$keywords}}).call(y.prototype),h.TextHighlightRules=y}),ace.define("ace/mode/behaviour",["require","exports","module"],function(o,h,R){var x;x=function(){this.$behaviours={}},(function(){this.add=function(y,_,u){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[y]:this.$behaviours[y]={}}this.$behaviours[y][_]=u},this.addBehaviours=function(y){for(var _ in y)for(var u in y[_])this.add(_,u,y[_][u])},this.remove=function(y){this.$behaviours&&this.$behaviours[y]&&delete this.$behaviours[y]},this.inherit=function(y,_){if(typeof y=="function")var u=new y().getBehaviours(_);else var u=y.getBehaviours(_);this.addBehaviours(u)},this.getBehaviours=function(y){if(y){for(var _={},u=0;u<y.length;u++)this.$behaviours[y[u]]&&(_[y[u]]=this.$behaviours[y[u]]);return _}else return this.$behaviours}}).call(x.prototype),h.Behaviour=x}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(o,h,R){var x=o("./range").Range,y=function(){function _(u,d,s){this.$session=u,this.$row=d,this.$rowTokens=u.getTokens(d);var r=u.getTokenAt(d,s);this.$tokenIndex=r?r.index:-1}return _.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},_.prototype.stepForward=function(){this.$tokenIndex+=1;for(var u;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,u||(u=this.$session.getLength()),this.$row>=u)return this.$row=u-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},_.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},_.prototype.getCurrentTokenRow=function(){return this.$row},_.prototype.getCurrentTokenColumn=function(){var u=this.$rowTokens,d=this.$tokenIndex,s=u[d].start;if(s!==void 0)return s;for(s=0;d>0;)d-=1,s+=u[d].value.length;return s},_.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},_.prototype.getCurrentTokenRange=function(){var u=this.$rowTokens[this.$tokenIndex],d=this.getCurrentTokenColumn();return new x(this.$row,d,this.$row,d+u.value.length)},_}();h.TokenIterator=y}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(o,h,R){var x=o("../../lib/oop"),y=o("../behaviour").Behaviour,_=o("../../token_iterator").TokenIterator,u=o("../../lib/lang"),d=["text","paren.rparen","rparen","paren","punctuation.operator"],s=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],r,n={},i={'"':'"',"'":"'"},t=function(p){var v=-1;if(p.multiSelect&&(v=p.selection.index,n.rangeCount!=p.multiSelect.rangeCount&&(n={rangeCount:p.multiSelect.rangeCount})),n[v])return r=n[v];r=n[v]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},a=function(p,v,I,C){var b=p.end.row-p.start.row;return{text:I+v+C,selection:[0,p.start.column+1,b,p.end.column+(b?0:1)]}},c;c=function(p){p=p||{},this.add("braces","insertion",function(v,I,C,b,m){var $=C.getCursorPosition(),L=b.doc.getLine($.row);if(m=="{"){t(C);var O=C.getSelectionRange(),A=b.doc.getTextRange(O),E=b.getTokenAt($.row,$.column);if(A!==""&&A!=="{"&&C.getWrapBehavioursEnabled())return a(O,A,"{","}");if(E&&/(?:string)\.quasi|\.xml/.test(E.type)){var k=[/tag\-(?:open|name)/,/attribute\-name/];return k.some(function(H){return H.test(E.type)})||/(string)\.quasi/.test(E.type)&&E.value[$.column-E.start-1]!=="$"?void 0:(c.recordAutoInsert(C,b,"}"),{text:"{}",selection:[1,1]})}else if(c.isSaneInsertion(C,b))return/[\]\}\)]/.test(L[$.column])||C.inMultiSelectMode||p.braces?(c.recordAutoInsert(C,b,"}"),{text:"{}",selection:[1,1]}):(c.recordMaybeInsert(C,b,"{"),{text:"{",selection:[1,1]})}else if(m=="}"){t(C);var T=L.substring($.column,$.column+1);if(T=="}"){var w=b.$findOpeningBracket("}",{column:$.column+1,row:$.row});if(w!==null&&c.isAutoInsertedClosing($,L,m))return c.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(m==`
180
+ `||m==`\r
181
+ `){t(C);var M="";c.isMaybeInsertedClosing($,L)&&(M=u.stringRepeat("}",r.maybeInsertedBrackets),c.clearMaybeInsertedClosing());var T=L.substring($.column,$.column+1);if(T==="}"){var D=b.findMatchingBracket({row:$.row,column:$.column+1},"}");if(!D)return null;var F=this.$getIndent(b.getLine(D.row))}else if(M)var F=this.$getIndent(L);else{c.clearMaybeInsertedClosing();return}var B=F+b.getTabString();return{text:`
182
+ `+B+`
183
+ `+F+M,selection:[1,B.length,1,B.length]}}else c.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(v,I,C,b,m){var $=b.doc.getTextRange(m);if(!m.isMultiLine()&&$=="{"){t(C);var L=b.doc.getLine(m.start.row),O=L.substring(m.end.column,m.end.column+1);if(O=="}")return m.end.column++,m;r.maybeInsertedBrackets--}}),this.add("parens","insertion",function(v,I,C,b,m){if(m=="("){t(C);var $=C.getSelectionRange(),L=b.doc.getTextRange($);if(L!==""&&C.getWrapBehavioursEnabled())return a($,L,"(",")");if(c.isSaneInsertion(C,b))return c.recordAutoInsert(C,b,")"),{text:"()",selection:[1,1]}}else if(m==")"){t(C);var O=C.getCursorPosition(),A=b.doc.getLine(O.row),E=A.substring(O.column,O.column+1);if(E==")"){var k=b.$findOpeningBracket(")",{column:O.column+1,row:O.row});if(k!==null&&c.isAutoInsertedClosing(O,A,m))return c.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(v,I,C,b,m){var $=b.doc.getTextRange(m);if(!m.isMultiLine()&&$=="("){t(C);var L=b.doc.getLine(m.start.row),O=L.substring(m.start.column+1,m.start.column+2);if(O==")")return m.end.column++,m}}),this.add("brackets","insertion",function(v,I,C,b,m){if(m=="["){t(C);var $=C.getSelectionRange(),L=b.doc.getTextRange($);if(L!==""&&C.getWrapBehavioursEnabled())return a($,L,"[","]");if(c.isSaneInsertion(C,b))return c.recordAutoInsert(C,b,"]"),{text:"[]",selection:[1,1]}}else if(m=="]"){t(C);var O=C.getCursorPosition(),A=b.doc.getLine(O.row),E=A.substring(O.column,O.column+1);if(E=="]"){var k=b.$findOpeningBracket("]",{column:O.column+1,row:O.row});if(k!==null&&c.isAutoInsertedClosing(O,A,m))return c.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(v,I,C,b,m){var $=b.doc.getTextRange(m);if(!m.isMultiLine()&&$=="["){t(C);var L=b.doc.getLine(m.start.row),O=L.substring(m.start.column+1,m.start.column+2);if(O=="]")return m.end.column++,m}}),this.add("string_dquotes","insertion",function(v,I,C,b,m){var $=b.$mode.$quotes||i;if(m.length==1&&$[m]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(m)!=-1)return;t(C);var L=m,O=C.getSelectionRange(),A=b.doc.getTextRange(O);if(A!==""&&(A.length!=1||!$[A])&&C.getWrapBehavioursEnabled())return a(O,A,L,L);if(!A){var E=C.getCursorPosition(),k=b.doc.getLine(E.row),T=k.substring(E.column-1,E.column),w=k.substring(E.column,E.column+1),M=b.getTokenAt(E.row,E.column),D=b.getTokenAt(E.row,E.column+1);if(T=="\\"&&M&&/escape/.test(M.type))return null;var F=M&&/string|escape/.test(M.type),B=!D||/string|escape/.test(D.type),H;if(w==L)H=F!==B,H&&/string\.end/.test(D.type)&&(H=!1);else{if(F&&!B||F&&B)return null;var j=b.$mode.tokenRe;j.lastIndex=0;var Y=j.test(T);j.lastIndex=0;var X=j.test(w),Q=b.$mode.$pairQuotesAfter,q=Q&&Q[L]&&Q[L].test(T);if(!q&&Y||X||w&&!/[\s;,.})\]\\]/.test(w))return null;var ee=k[E.column-2];if(T==L&&(ee==L||j.test(ee)))return null;H=!0}return{text:H?L+L:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(v,I,C,b,m){var $=b.$mode.$quotes||i,L=b.doc.getTextRange(m);if(!m.isMultiLine()&&$.hasOwnProperty(L)){t(C);var O=b.doc.getLine(m.start.row),A=O.substring(m.start.column+1,m.start.column+2);if(A==L)return m.end.column++,m}}),p.closeDocComment!==!1&&this.add("doc comment end","insertion",function(v,I,C,b,m){if(v==="doc-start"&&(m===`
184
+ `||m===`\r
185
+ `)&&C.selection.isEmpty()){var $=C.getCursorPosition();if($.column===0)return;for(var L=b.doc.getLine($.row),O=b.doc.getLine($.row+1),A=b.getTokens($.row),E=0,k=0;k<A.length;k++){E+=A[k].value.length;var T=A[k];if(E>=$.column){if(E===$.column){if(!/\.doc/.test(T.type))return;if(/\*\//.test(T.value)){var w=A[k+1];if(!w||!/\.doc/.test(w.type))return}}var M=$.column-(E-T.value.length),D=T.value.indexOf("*/"),F=T.value.indexOf("/**",D>-1?D+2:0);if(F!==-1&&M>F&&M<F+3||D!==-1&&F!==-1&&M>=D&&M<=F||!/\.doc/.test(T.type))return;break}}var B=this.$getIndent(L);if(/\s*\*/.test(O))return/^\s*\*/.test(L)?{text:m+B+"* ",selection:[1,2+B.length,1,2+B.length]}:{text:m+B+" * ",selection:[1,3+B.length,1,3+B.length]};if(/\/\*\*/.test(L.substring(0,$.column)))return{text:m+B+" * "+m+" "+B+"*/",selection:[1,4+B.length,1,4+B.length]}}})},c.isSaneInsertion=function(p,v){var I=p.getCursorPosition(),C=new _(v,I.row,I.column);if(!this.$matchTokenType(C.getCurrentToken()||"text",d)){if(/[)}\]]/.test(p.session.getLine(I.row)[I.column]))return!0;var b=new _(v,I.row,I.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",d))return!1}return C.stepForward(),C.getCurrentTokenRow()!==I.row||this.$matchTokenType(C.getCurrentToken()||"text",s)},c.$matchTokenType=function(p,v){return v.indexOf(p.type||p)>-1},c.recordAutoInsert=function(p,v,I){var C=p.getCursorPosition(),b=v.doc.getLine(C.row);this.isAutoInsertedClosing(C,b,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=C.row,r.autoInsertedLineEnd=I+b.substr(C.column),r.autoInsertedBrackets++},c.recordMaybeInsert=function(p,v,I){var C=p.getCursorPosition(),b=v.doc.getLine(C.row);this.isMaybeInsertedClosing(C,b)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=C.row,r.maybeInsertedLineStart=b.substr(0,C.column)+I,r.maybeInsertedLineEnd=b.substr(C.column),r.maybeInsertedBrackets++},c.isAutoInsertedClosing=function(p,v,I){return r.autoInsertedBrackets>0&&p.row===r.autoInsertedRow&&I===r.autoInsertedLineEnd[0]&&v.substr(p.column)===r.autoInsertedLineEnd},c.isMaybeInsertedClosing=function(p,v){return r.maybeInsertedBrackets>0&&p.row===r.maybeInsertedRow&&v.substr(p.column)===r.maybeInsertedLineEnd&&v.substr(0,p.column)==r.maybeInsertedLineStart},c.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},c.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},x.inherits(c,y),h.CstyleBehaviour=c}),ace.define("ace/unicode",["require","exports","module"],function(o,h,R){for(var x=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],y=0,_=[],u=0;u<x.length;u+=2)_.push(y+=x[u]),x[u+1]&&_.push(45,y+=x[u+1]);h.wordChars=String.fromCharCode.apply(null,_)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(o,h,R){var x=o("../config"),y=o("../tokenizer").Tokenizer,_=o("./text_highlight_rules").TextHighlightRules,u=o("./behaviour/cstyle").CstyleBehaviour,d=o("../unicode"),s=o("../lib/lang"),r=o("../token_iterator").TokenIterator,n=o("../range").Range,i;i=function(){this.HighlightRules=_},(function(){this.$defaultBehaviour=new u,this.tokenRe=new RegExp("^["+d.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+d.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new y(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(t,a,c,p){var v=a.doc,I=!0,C=!0,b=1/0,m=a.getTabSize(),$=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var A=this.lineCommentStart.map(s.escapeRegExp).join("|"),L=this.lineCommentStart[0];else var A=s.escapeRegExp(this.lineCommentStart),L=this.lineCommentStart;A=new RegExp("^(\\s*)(?:"+A+") ?"),$=a.getUseSoftTabs();var T=function(X,Q){var q=X.match(A);if(q){var ee=q[1].length,ie=q[0].length;!D(X,ee,ie)&&q[0][ie-1]==" "&&ie--,v.removeInLine(Q,ee,ie)}},M=L+" ",k=function(X,Q){(!I||/\S/.test(X))&&(D(X,b,b)?v.insertInLine({row:Q,column:b},M):v.insertInLine({row:Q,column:b},L))},w=function(X,Q){return A.test(X)},D=function(X,Q,q){for(var ee=0;Q--&&X.charAt(Q)==" ";)ee++;if(ee%m!=0)return!1;for(var ee=0;X.charAt(q++)==" ";)ee++;return m>2?ee%m!=m-1:ee%m==0}}else{if(!this.blockComment)return!1;var L=this.blockComment.start,O=this.blockComment.end,A=new RegExp("^(\\s*)(?:"+s.escapeRegExp(L)+")"),E=new RegExp("(?:"+s.escapeRegExp(O)+")\\s*$"),k=function(H,j){w(H,j)||(!I||/\S/.test(H))&&(v.insertInLine({row:j,column:H.length},O),v.insertInLine({row:j,column:b},L))},T=function(H,j){var Y;(Y=H.match(E))&&v.removeInLine(j,H.length-Y[0].length,H.length),(Y=H.match(A))&&v.removeInLine(j,Y[1].length,Y[0].length)},w=function(H,j){if(A.test(H))return!0;for(var Y=a.getTokens(j),X=0;X<Y.length;X++)if(Y[X].type==="comment")return!0}}function F(H){for(var j=c;j<=p;j++)H(v.getLine(j),j)}var B=1/0;F(function(H,j){var Y=H.search(/\S/);Y!==-1?(Y<b&&(b=Y),C&&!w(H,j)&&(C=!1)):B>H.length&&(B=H.length)}),b==1/0&&(b=B,I=!1,C=!1),$&&b%m!=0&&(b=Math.floor(b/m)*m),F(C?T:k)},this.toggleBlockComment=function(t,a,c,p){var v=this.blockComment;if(v){!v.start&&v[0]&&(v=v[0]);var I=new r(a,p.row,p.column),C=I.getCurrentToken();a.selection;var b=a.selection.toOrientedRange(),m,$;if(C&&/comment/.test(C.type)){for(var L,O;C&&/comment/.test(C.type);){var A=C.value.indexOf(v.start);if(A!=-1){var E=I.getCurrentTokenRow(),k=I.getCurrentTokenColumn()+A;L=new n(E,k,E,k+v.start.length);break}C=I.stepBackward()}for(var I=new r(a,p.row,p.column),C=I.getCurrentToken();C&&/comment/.test(C.type);){var A=C.value.indexOf(v.end);if(A!=-1){var E=I.getCurrentTokenRow(),k=I.getCurrentTokenColumn()+A;O=new n(E,k,E,k+v.end.length);break}C=I.stepForward()}O&&a.remove(O),L&&(a.remove(L),m=L.start.row,$=-v.start.length)}else $=v.start.length,m=c.start.row,a.insert(c.end,v.end),a.insert(c.start,v.start);b.start.row==m&&(b.start.column+=$),b.end.row==m&&(b.end.column+=$),a.selection.fromOrientedRange(b)}},this.getNextLineIndent=function(t,a,c){return this.$getIndent(a)},this.checkOutdent=function(t,a,c){return!1},this.autoOutdent=function(t,a,c){},this.$getIndent=function(t){return t.match(/^\s*/)[0]},this.createWorker=function(t){return null},this.createModeDelegates=function(t){this.$embeds=[],this.$modes={};for(var a in t)if(t[a]){var c=t[a],p=c.prototype.$id,v=x.$modes[p];v||(x.$modes[p]=v=new c),x.$modes[a]||(x.$modes[a]=v),this.$embeds.push(a),this.$modes[a]=v}for(var I=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],C=function(m){(function($){var L=I[m],O=$[L];$[I[m]]=function(){return this.$delegator(L,arguments,O)}})(b)},b=this,a=0;a<I.length;a++)C(a)},this.$delegator=function(t,a,c){var p=a[0]||"start";if(typeof p!="string"){if(Array.isArray(p[2])){var v=p[2][p[2].length-1],I=this.$modes[v];if(I)return I[t].apply(I,[p[1]].concat([].slice.call(a,1)))}p=p[0]||"start"}for(var C=0;C<this.$embeds.length;C++)if(this.$modes[this.$embeds[C]]){var b=p.split(this.$embeds[C]);if(!b[0]&&b[1]){a[0]=b[1];var I=this.$modes[this.$embeds[C]];return I[t].apply(I,a)}}var m=c.apply(this,a);return c?m:void 0},this.transformAction=function(t,a,c,p,v){if(this.$behaviour){var I=this.$behaviour.getBehaviours();for(var C in I)if(I[C][a]){var b=I[C][a].apply(this,arguments);if(b)return b}}},this.getKeywords=function(t){if(!this.completionKeywords){var a=this.$tokenizer.rules,c=[];for(var p in a)for(var v=a[p],I=0,C=v.length;I<C;I++)if(typeof v[I].token=="string")/keyword|support|storage/.test(v[I].token)&&c.push(v[I].regex);else if(typeof v[I].token=="object"){for(var b=0,m=v[I].token.length;b<m;b++)if(/keyword|support|storage/.test(v[I].token[b])){var p=v[I].regex.match(/\(.+?\)/g)[b];c.push(p.substr(1,p.length-2))}}this.completionKeywords=c}return t?c.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(t,a,c,p){var v=this.$keywordList||this.$createKeywordList();return v.map(function(I){return{name:I,value:I,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(i.prototype),h.Mode=i}),ace.define("ace/apply_delta",["require","exports","module"],function(o,h,R){h.applyDelta=function(x,y,_){var u=y.start.row,d=y.start.column,s=x[u]||"";switch(y.action){case"insert":var r=y.lines;if(r.length===1)x[u]=s.substring(0,d)+y.lines[0]+s.substring(d);else{var n=[u,1].concat(y.lines);x.splice.apply(x,n),x[u]=s.substring(0,d)+x[u],x[u+y.lines.length-1]+=s.substring(d)}break;case"remove":var i=y.end.column,t=y.end.row;u===t?x[u]=s.substring(0,d)+s.substring(i):x.splice(u,t-u+1,s.substring(0,d)+x[t].substring(i));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(o,h,R){var x=o("./lib/oop"),y=o("./lib/event_emitter").EventEmitter,_=function(){function s(r,n,i){this.$onChange=this.onChange.bind(this),this.attach(r),typeof n!="number"?this.setPosition(n.row,n.column):this.setPosition(n,i)}return s.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},s.prototype.getDocument=function(){return this.document},s.prototype.onChange=function(r){if(!(r.start.row==r.end.row&&r.start.row!=this.row)&&!(r.start.row>this.row)){var n=d(r,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},s.prototype.setPosition=function(r,n,i){var t;if(i?t={row:r,column:n}:t=this.$clipPositionToDocument(r,n),!(this.row==t.row&&this.column==t.column)){var a={row:this.row,column:this.column};this.row=t.row,this.column=t.column,this._signal("change",{old:a,value:t})}},s.prototype.detach=function(){this.document.off("change",this.$onChange)},s.prototype.attach=function(r){this.document=r||this.document,this.document.on("change",this.$onChange)},s.prototype.$clipPositionToDocument=function(r,n){var i={};return r>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):r<0?(i.row=0,i.column=0):(i.row=r,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,n))),n<0&&(i.column=0),i},s}();_.prototype.$insertRight=!1,x.implement(_.prototype,y);function u(s,r,n){var i=n?s.column<=r.column:s.column<r.column;return s.row<r.row||s.row==r.row&&i}function d(s,r,n){var i=s.action=="insert",t=(i?1:-1)*(s.end.row-s.start.row),a=(i?1:-1)*(s.end.column-s.start.column),c=s.start,p=i?c:s.end;return u(r,c,n)?{row:r.row,column:r.column}:u(p,r,!n)?{row:r.row+t,column:r.column+(r.row==p.row?a:0)}:{row:c.row,column:c.column}}h.Anchor=_}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(o,h,R){var x=o("./lib/oop"),y=o("./apply_delta").applyDelta,_=o("./lib/event_emitter").EventEmitter,u=o("./range").Range,d=o("./anchor").Anchor,s=function(){function r(n){this.$lines=[""],n.length===0?this.$lines=[""]:Array.isArray(n)?this.insertMergedLines({row:0,column:0},n):this.insert({row:0,column:0},n)}return r.prototype.setValue=function(n){var i=this.getLength()-1;this.remove(new u(0,0,i,this.getLine(i).length)),this.insert({row:0,column:0},n||"")},r.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},r.prototype.createAnchor=function(n,i){return new d(this,n,i)},r.prototype.$detectNewLine=function(n){var i=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=i?i[1]:`
186
+ `,this._signal("changeNewLineMode")},r.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
187
+ `;case"unix":return`
188
+ `;default:return this.$autoNewLine||`
189
+ `}},r.prototype.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))},r.prototype.getNewLineMode=function(){return this.$newLineMode},r.prototype.isNewLine=function(n){return n==`\r
190
+ `||n=="\r"||n==`
191
+ `},r.prototype.getLine=function(n){return this.$lines[n]||""},r.prototype.getLines=function(n,i){return this.$lines.slice(n,i+1)},r.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},r.prototype.getLength=function(){return this.$lines.length},r.prototype.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())},r.prototype.getLinesForRange=function(n){var i;if(n.start.row===n.end.row)i=[this.getLine(n.start.row).substring(n.start.column,n.end.column)];else{i=this.getLines(n.start.row,n.end.row),i[0]=(i[0]||"").substring(n.start.column);var t=i.length-1;n.end.row-n.start.row==t&&(i[t]=i[t].substring(0,n.end.column))}return i},r.prototype.insertLines=function(n,i){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(n,i)},r.prototype.removeLines=function(n,i){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(n,i)},r.prototype.insertNewLine=function(n){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(n,["",""])},r.prototype.insert=function(n,i){return this.getLength()<=1&&this.$detectNewLine(i),this.insertMergedLines(n,this.$split(i))},r.prototype.insertInLine=function(n,i){var t=this.clippedPos(n.row,n.column),a=this.pos(n.row,n.column+i.length);return this.applyDelta({start:t,end:a,action:"insert",lines:[i]},!0),this.clonePos(a)},r.prototype.clippedPos=function(n,i){var t=this.getLength();n===void 0?n=t:n<0?n=0:n>=t&&(n=t-1,i=void 0);var a=this.getLine(n);return i==null&&(i=a.length),i=Math.min(Math.max(i,0),a.length),{row:n,column:i}},r.prototype.clonePos=function(n){return{row:n.row,column:n.column}},r.prototype.pos=function(n,i){return{row:n,column:i}},r.prototype.$clipPosition=function(n){var i=this.getLength();return n.row>=i?(n.row=Math.max(0,i-1),n.column=this.getLine(i-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},r.prototype.insertFullLines=function(n,i){n=Math.min(Math.max(n,0),this.getLength());var t=0;n<this.getLength()?(i=i.concat([""]),t=0):(i=[""].concat(i),n--,t=this.$lines[n].length),this.insertMergedLines({row:n,column:t},i)},r.prototype.insertMergedLines=function(n,i){var t=this.clippedPos(n.row,n.column),a={row:t.row+i.length-1,column:(i.length==1?t.column:0)+i[i.length-1].length};return this.applyDelta({start:t,end:a,action:"insert",lines:i}),this.clonePos(a)},r.prototype.remove=function(n){var i=this.clippedPos(n.start.row,n.start.column),t=this.clippedPos(n.end.row,n.end.column);return this.applyDelta({start:i,end:t,action:"remove",lines:this.getLinesForRange({start:i,end:t})}),this.clonePos(i)},r.prototype.removeInLine=function(n,i,t){var a=this.clippedPos(n,i),c=this.clippedPos(n,t);return this.applyDelta({start:a,end:c,action:"remove",lines:this.getLinesForRange({start:a,end:c})},!0),this.clonePos(a)},r.prototype.removeFullLines=function(n,i){n=Math.min(Math.max(0,n),this.getLength()-1),i=Math.min(Math.max(0,i),this.getLength()-1);var t=i==this.getLength()-1&&n>0,a=i<this.getLength()-1,c=t?n-1:n,p=t?this.getLine(c).length:0,v=a?i+1:i,I=a?0:this.getLine(v).length,C=new u(c,p,v,I),b=this.$lines.slice(n,i+1);return this.applyDelta({start:C.start,end:C.end,action:"remove",lines:this.getLinesForRange(C)}),b},r.prototype.removeNewLine=function(n){n<this.getLength()-1&&n>=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},r.prototype.replace=function(n,i){if(n instanceof u||(n=u.fromPoints(n.start,n.end)),i.length===0&&n.isEmpty())return n.start;if(i==this.getTextRange(n))return n.end;this.remove(n);var t;return i?t=this.insert(n.start,i):t=n.start,t},r.prototype.applyDeltas=function(n){for(var i=0;i<n.length;i++)this.applyDelta(n[i])},r.prototype.revertDeltas=function(n){for(var i=n.length-1;i>=0;i--)this.revertDelta(n[i])},r.prototype.applyDelta=function(n,i){var t=n.action=="insert";(t?n.lines.length<=1&&!n.lines[0]:!u.comparePoints(n.start,n.end))||(t&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(y(this.$lines,n,i),this._signal("change",n)))},r.prototype.$safeApplyDelta=function(n){var i=this.$lines.length;(n.action=="remove"&&n.start.row<i&&n.end.row<i||n.action=="insert"&&n.start.row<=i)&&this.applyDelta(n)},r.prototype.$splitAndapplyLargeDelta=function(n,i){for(var t=n.lines,a=t.length-i+1,c=n.start.row,p=n.start.column,v=0,I=0;v<a;v=I){I+=i-1;var C=t.slice(v,I);C.push(""),this.applyDelta({start:this.pos(c+v,p),end:this.pos(c+I,p=0),action:n.action,lines:C},!0)}n.lines=t.slice(v),n.start.row=c+v,n.start.column=p,this.applyDelta(n,!0)},r.prototype.revertDelta=function(n){this.$safeApplyDelta({start:this.clonePos(n.start),end:this.clonePos(n.end),action:n.action=="insert"?"remove":"insert",lines:n.lines.slice()})},r.prototype.indexToPosition=function(n,i){for(var t=this.$lines||this.getAllLines(),a=this.getNewLineCharacter().length,c=i||0,p=t.length;c<p;c++)if(n-=t[c].length+a,n<0)return{row:c,column:n+t[c].length+a};return{row:p-1,column:n+t[p-1].length+a}},r.prototype.positionToIndex=function(n,i){for(var t=this.$lines||this.getAllLines(),a=this.getNewLineCharacter().length,c=0,p=Math.min(n.row,t.length),v=i||0;v<p;++v)c+=t[v].length+a;return c+n.column},r.prototype.$split=function(n){return n.split(/\r\n|\r|\n/)},r}();s.prototype.$autoNewLine="",s.prototype.$newLineMode="auto",x.implement(s.prototype,_),h.Document=s}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(o,h,R){var x=o("./lib/oop"),y=o("./lib/event_emitter").EventEmitter,_=function(){function u(d,s){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=d;var r=this;this.$worker=function(){if(r.running){for(var n=new Date,i=r.currentLine,t=-1,a=r.doc,c=i;r.lines[i];)i++;var p=a.getLength(),v=0;for(r.running=!1;i<p;){r.$tokenizeRow(i),t=i;do i++;while(r.lines[i]);if(v++,v%5===0&&new Date-n>20){r.running=setTimeout(r.$worker,20);break}}r.currentLine=i,t==-1&&(t=i),c<=t&&r.fireUpdateEvent(c,t)}}}return u.prototype.setTokenizer=function(d){this.tokenizer=d,this.lines=[],this.states=[],this.start(0)},u.prototype.setDocument=function(d){this.doc=d,this.lines=[],this.states=[],this.stop()},u.prototype.fireUpdateEvent=function(d,s){var r={first:d,last:s};this._signal("update",{data:r})},u.prototype.start=function(d){this.currentLine=Math.min(d||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},u.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},u.prototype.$updateOnChange=function(d){var s=d.start.row,r=d.end.row-s;if(r===0)this.lines[s]=null;else if(d.action=="remove")this.lines.splice(s,r+1,null),this.states.splice(s,r+1,null);else{var n=Array(r+1);n.unshift(s,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(s,this.currentLine,this.doc.getLength()),this.stop()},u.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},u.prototype.getTokens=function(d){return this.lines[d]||this.$tokenizeRow(d)},u.prototype.getState=function(d){return this.currentLine==d&&this.$tokenizeRow(d),this.states[d]||"start"},u.prototype.$tokenizeRow=function(d){var s=this.doc.getLine(d),r=this.states[d-1],n=this.tokenizer.getLineTokens(s,r,d);return this.states[d]+""!=n.state+""?(this.states[d]=n.state,this.lines[d+1]=null,this.currentLine>d+1&&(this.currentLine=d+1)):this.currentLine==d&&(this.currentLine=d+1),this.lines[d]=n.tokens},u.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},u}();x.implement(_.prototype,y),h.BackgroundTokenizer=_}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(o,h,R){var x=o("./lib/lang"),y=o("./range").Range,_=function(){function u(d,s,r){r===void 0&&(r="text"),this.setRegexp(d),this.clazz=s,this.type=r}return u.prototype.setRegexp=function(d){this.regExp+""!=d+""&&(this.regExp=d,this.cache=[])},u.prototype.update=function(d,s,r,n){if(this.regExp)for(var i=n.firstRow,t=n.lastRow,a={},c=i;c<=t;c++){var p=this.cache[c];p==null&&(p=x.getMatchOffsets(r.getLine(c),this.regExp),p.length>this.MAX_RANGES&&(p=p.slice(0,this.MAX_RANGES)),p=p.map(function(b){return new y(c,b.offset,c,b.offset+b.length)}),this.cache[c]=p.length?p:"");for(var v=p.length;v--;){var I=p[v].toScreenRange(r),C=I.toString();a[C]||(a[C]=!0,s.drawSingleLineMarker(d,I,this.clazz,n))}}},u}();_.prototype.MAX_RANGES=500,h.SearchHighlight=_}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(o,h,R){var x=function(){function b(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return b.prototype.addSession=function(m){this.$session=m},b.prototype.add=function(m,$,L){if(!this.$fromUndo&&m!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),$===!1||!this.lastDeltas){this.lastDeltas=[];var O=this.$undoStack.length;O>this.$undoDepth-1&&this.$undoStack.splice(0,O-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),m.id=this.$rev=++this.$maxRev}(m.action=="remove"||m.action=="insert")&&(this.$lastDelta=m),this.lastDeltas.push(m)}},b.prototype.addSelection=function(m,$){this.selections.push({value:m,rev:$||this.$rev})},b.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},b.prototype.markIgnored=function(m,$){$==null&&($=this.$rev+1);for(var L=this.$undoStack,O=L.length;O--;){var A=L[O][0];if(A.id<=m)break;A.id<$&&(A.ignore=!0)}this.lastDeltas=null},b.prototype.getSelection=function(m,$){for(var L=this.selections,O=L.length;O--;){var A=L[O];if(A.rev<m)return $&&(A=L[O+1]),A}},b.prototype.getRevision=function(){return this.$rev},b.prototype.getDeltas=function(m,$){$==null&&($=this.$rev+1);for(var L=this.$undoStack,O=null,A=0,E=L.length;E--;){var k=L[E][0];if(k.id<$&&!O&&(O=E+1),k.id<=m){A=E+1;break}}return L.slice(A,O)},b.prototype.getChangedRanges=function(m,$){$==null&&($=this.$rev+1)},b.prototype.getChangedLines=function(m,$){$==null&&($=this.$rev+1)},b.prototype.undo=function(m,$){this.lastDeltas=null;var L=this.$undoStack;if(y(L,L.length)){m||(m=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var O=L.pop(),A=null;return O&&(A=m.undoChanges(O,$),this.$redoStack.push(O),this.$syncRev()),this.$fromUndo=!1,A}},b.prototype.redo=function(m,$){if(this.lastDeltas=null,m||(m=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var L=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);C(this.$redoStack,L),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(E){E[0].id=++this.$maxRev},this)}var O=this.$redoStack.pop(),A=null;return O&&(A=m.redoChanges(O,$),this.$undoStack.push(O),this.$syncRev()),this.$fromUndo=!1,A},b.prototype.$syncRev=function(){var m=this.$undoStack,$=m[m.length-1],L=$&&$[0].id||0;this.$redoStackBaseRev=L,this.$rev=L},b.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},b.prototype.canUndo=function(){return this.$undoStack.length>0},b.prototype.canRedo=function(){return this.$redoStack.length>0},b.prototype.bookmark=function(m){m==null&&(m=this.$rev),this.mark=m},b.prototype.isAtBookmark=function(){return this.$rev===this.mark},b.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},b.prototype.fromJSON=function(m){this.reset(),this.$undoStack=m.$undoStack,this.$redoStack=m.$redoStack},b.prototype.$prettyPrint=function(m){return m?r(m):r(this.$undoStack)+`
192
+ ---
193
+ `+r(this.$redoStack)},b}();x.prototype.hasUndo=x.prototype.canUndo,x.prototype.hasRedo=x.prototype.canRedo,x.prototype.isClean=x.prototype.isAtBookmark,x.prototype.markClean=x.prototype.bookmark;function y(b,m){for(var $=m;$--;){var L=b[$];if(L&&!L[0].ignore){for(;$<m-1;){var O=t(b[$],b[$+1]);b[$]=O[0],b[$+1]=O[1],$++}return!0}}}var _=o("./range").Range,u=_.comparePoints;_.comparePoints;function d(b){return{row:b.row,column:b.column}}function s(b){return{start:d(b.start),end:d(b.end),action:b.action,lines:b.lines.slice()}}function r(b){if(b=b||this,Array.isArray(b))return b.map(r).join(`
194
+ `);var m="";return b.action?(m=b.action=="insert"?"+":"-",m+="["+b.lines+"]"):b.value&&(Array.isArray(b.value)?m=b.value.map(n).join(`
195
+ `):m=n(b.value)),b.start&&(m+=n(b)),(b.id||b.rev)&&(m+=" ("+(b.id||b.rev)+")"),m}function n(b){return b.start.row+":"+b.start.column+"=>"+b.end.row+":"+b.end.column}function i(b,m){var $=b.action=="insert",L=m.action=="insert";if($&&L)if(u(m.start,b.end)>=0)c(m,b,-1);else if(u(m.start,b.start)<=0)c(b,m,1);else return null;else if($&&!L)if(u(m.start,b.end)>=0)c(m,b,-1);else if(u(m.end,b.start)<=0)c(b,m,-1);else return null;else if(!$&&L)if(u(m.start,b.start)>=0)c(m,b,1);else if(u(m.start,b.start)<=0)c(b,m,1);else return null;else if(!$&&!L)if(u(m.start,b.start)>=0)c(m,b,1);else if(u(m.end,b.start)<=0)c(b,m,-1);else return null;return[m,b]}function t(b,m){for(var $=b.length;$--;)for(var L=0;L<m.length;L++)if(!i(b[$],m[L])){for(;$<b.length;){for(;L--;)i(m[L],b[$]);L=m.length,$++}return[b,m]}return b.selectionBefore=m.selectionBefore=b.selectionAfter=m.selectionAfter=null,[m,b]}function a(b,m){var $=b.action=="insert",L=m.action=="insert";if($&&L)u(b.start,m.start)<0?c(m,b,1):c(b,m,1);else if($&&!L)u(b.start,m.end)>=0?c(b,m,-1):(u(b.start,m.start)<=0||c(b,_.fromPoints(m.start,b.start),-1),c(m,b,1));else if(!$&&L)u(m.start,b.end)>=0?c(m,b,-1):(u(m.start,b.start)<=0||c(m,_.fromPoints(b.start,m.start),-1),c(b,m,1));else if(!$&&!L)if(u(m.start,b.end)>=0)c(m,b,-1);else if(u(m.end,b.start)<=0)c(b,m,-1);else{var O,A;return u(b.start,m.start)<0&&(O=b,b=v(b,m.start)),u(b.end,m.end)>0&&(A=v(b,m.end)),p(m.end,b.start,b.end,-1),A&&!O&&(b.lines=A.lines,b.start=A.start,b.end=A.end,A=b),[m,O,A].filter(Boolean)}return[m,b]}function c(b,m,$){p(b.start,m.start,m.end,$),p(b.end,m.start,m.end,$)}function p(b,m,$,L){b.row==(L==1?m:$).row&&(b.column+=L*($.column-m.column)),b.row+=L*($.row-m.row)}function v(b,m){var $=b.lines,L=b.end;b.end=d(m);var O=b.end.row-b.start.row,A=$.splice(O,$.length),E=O?m.column:m.column-b.start.column;$.push(A[0].substring(0,E)),A[0]=A[0].substr(E);var k={start:d(m),end:L,lines:A,action:b.action};return k}function I(b,m){m=s(m);for(var $=b.length;$--;){for(var L=b[$],O=0;O<L.length;O++){var A=L[O],E=a(A,m);m=E[0],E.length!=2&&(E[2]?(L.splice(O+1,1,E[1],E[2]),O++):E[1]||(L.splice(O,1),O--))}L.length||b.splice($,1)}return b}function C(b,m){for(var $=0;$<m.length;$++)for(var L=m[$],O=0;O<L.length;O++)I(b,L[O])}h.UndoManager=x}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(o,h,R){var x=o("../range").Range,y=function(){function _(u,d){this.foldData=u,Array.isArray(d)?this.folds=d:d=this.folds=[d];var s=d[d.length-1];this.range=new x(d[0].start.row,d[0].start.column,s.end.row,s.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(r){r.setFoldLine(this)},this)}return _.prototype.shiftRow=function(u){this.start.row+=u,this.end.row+=u,this.folds.forEach(function(d){d.start.row+=u,d.end.row+=u})},_.prototype.addFold=function(u){if(u.sameRow){if(u.start.row<this.startRow||u.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(u),this.folds.sort(function(d,s){return-d.range.compareEnd(s.start.row,s.start.column)}),this.range.compareEnd(u.start.row,u.start.column)>0?(this.end.row=u.end.row,this.end.column=u.end.column):this.range.compareStart(u.end.row,u.end.column)<0&&(this.start.row=u.start.row,this.start.column=u.start.column)}else if(u.start.row==this.end.row)this.folds.push(u),this.end.row=u.end.row,this.end.column=u.end.column;else if(u.end.row==this.start.row)this.folds.unshift(u),this.start.row=u.start.row,this.start.column=u.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");u.foldLine=this},_.prototype.containsRow=function(u){return u>=this.start.row&&u<=this.end.row},_.prototype.walk=function(u,d,s){var r=0,n=this.folds,i,t,a,c=!0;d==null&&(d=this.end.row,s=this.end.column);for(var p=0;p<n.length;p++){if(i=n[p],t=i.range.compareStart(d,s),t==-1){u(null,d,s,r,c);return}if(a=u(null,i.start.row,i.start.column,r,c),a=!a&&u(i.placeholder,i.start.row,i.start.column,r),a||t===0)return;c=!i.sameRow,r=i.end.column}u(null,d,s,r,c)},_.prototype.getNextFoldTo=function(u,d){for(var s,r,n=0;n<this.folds.length;n++){if(s=this.folds[n],r=s.range.compareEnd(u,d),r==-1)return{fold:s,kind:"after"};if(r===0)return{fold:s,kind:"inside"}}return null},_.prototype.addRemoveChars=function(u,d,s){var r=this.getNextFoldTo(u,d),n,i;if(r){if(n=r.fold,r.kind=="inside"&&n.start.column!=d&&n.start.row!=u)window.console&&window.console.log(u,d,n);else if(n.start.row==u){i=this.folds;var t=i.indexOf(n);for(t===0&&(this.start.column+=s),t;t<i.length;t++){if(n=i[t],n.start.column+=s,!n.sameRow)return;n.end.column+=s}this.end.column+=s}}},_.prototype.split=function(u,d){var s=this.getNextFoldTo(u,d);if(!s||s.kind=="inside")return null;var r=s.fold,n=this.folds,i=this.foldData,t=n.indexOf(r),a=n[t-1];this.end.row=a.end.row,this.end.column=a.end.column,n=n.splice(t,n.length-t);var c=new _(i,n);return i.splice(i.indexOf(this)+1,0,c),c},_.prototype.merge=function(u){for(var d=u.folds,s=0;s<d.length;s++)this.addFold(d[s]);var r=this.foldData;r.splice(r.indexOf(u),1)},_.prototype.toString=function(){var u=[this.range.toString()+": ["];return this.folds.forEach(function(d){u.push(" "+d.toString())}),u.push("]"),u.join(`
196
+ `)},_.prototype.idxToPosition=function(u){for(var d=0,s=0;s<this.folds.length;s++){var r=this.folds[s];if(u-=r.start.column-d,u<0)return{row:r.start.row,column:r.start.column+u};if(u-=r.placeholder.length,u<0)return r.start;d=r.end.column}return{row:this.end.row,column:this.end.column+u}},_}();h.FoldLine=y}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(o,h,R){var x=o("./range").Range,y=x.comparePoints,_=function(){function u(){this.ranges=[],this.$bias=1}return u.prototype.pointIndex=function(d,s,r){for(var n=this.ranges,i=r||0;i<n.length;i++){var t=n[i],a=y(d,t.end);if(!(a>0)){var c=y(d,t.start);return a===0?s&&c!==0?-i-2:i:c>0||c===0&&!s?i:-i-1}}return-i-1},u.prototype.add=function(d){var s=!d.isEmpty(),r=this.pointIndex(d.start,s);r<0&&(r=-r-1);var n=this.pointIndex(d.end,s,r);return n<0?n=-n-1:n++,this.ranges.splice(r,n-r,d)},u.prototype.addList=function(d){for(var s=[],r=d.length;r--;)s.push.apply(s,this.add(d[r]));return s},u.prototype.substractPoint=function(d){var s=this.pointIndex(d);if(s>=0)return this.ranges.splice(s,1)},u.prototype.merge=function(){var d=[],s=this.ranges;s=s.sort(function(a,c){return y(a.start,c.start)});for(var r=s[0],n,i=1;i<s.length;i++){n=r,r=s[i];var t=y(n.end,r.start);t<0||t==0&&!n.isEmpty()&&!r.isEmpty()||(y(n.end,r.end)<0&&(n.end.row=r.end.row,n.end.column=r.end.column),s.splice(i,1),d.push(r),r=n,i--)}return this.ranges=s,d},u.prototype.contains=function(d,s){return this.pointIndex({row:d,column:s})>=0},u.prototype.containsPoint=function(d){return this.pointIndex(d)>=0},u.prototype.rangeAtPoint=function(d){var s=this.pointIndex(d);if(s>=0)return this.ranges[s]},u.prototype.clipRows=function(d,s){var r=this.ranges;if(r[0].start.row>s||r[r.length-1].start.row<d)return[];var n=this.pointIndex({row:d,column:0});n<0&&(n=-n-1);var i=this.pointIndex({row:s,column:0},n);i<0&&(i=-i-1);for(var t=[],a=n;a<i;a++)t.push(r[a]);return t},u.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},u.prototype.attach=function(d){this.session&&this.detach(),this.session=d,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},u.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},u.prototype.$onChange=function(d){for(var s=d.start,r=d.end,n=s.row,i=r.row,t=this.ranges,a=0,c=t.length;a<c;a++){var p=t[a];if(p.end.row>=n)break}if(d.action=="insert")for(var v=i-n,I=-s.column+r.column;a<c;a++){var p=t[a];if(p.start.row>n)break;if(p.start.row==n&&p.start.column>=s.column&&(p.start.column==s.column&&this.$bias<=0||(p.start.column+=I,p.start.row+=v)),p.end.row==n&&p.end.column>=s.column){if(p.end.column==s.column&&this.$bias<0)continue;p.end.column==s.column&&I>0&&a<c-1&&p.end.column>p.start.column&&p.end.column==t[a+1].start.column&&(p.end.column-=I),p.end.column+=I,p.end.row+=v}}else for(var v=n-i,I=s.column-r.column;a<c;a++){var p=t[a];if(p.start.row>i)break;p.end.row<i&&(n<p.end.row||n==p.end.row&&s.column<p.end.column)?(p.end.row=n,p.end.column=s.column):p.end.row==i?p.end.column<=r.column?(v||p.end.column>s.column)&&(p.end.column=s.column,p.end.row=s.row):(p.end.column+=I,p.end.row+=v):p.end.row>i&&(p.end.row+=v),p.start.row<i&&(n<p.start.row||n==p.start.row&&s.column<p.start.column)?(p.start.row=n,p.start.column=s.column):p.start.row==i?p.start.column<=r.column?(v||p.start.column>s.column)&&(p.start.column=s.column,p.start.row=s.row):(p.start.column+=I,p.start.row+=v):p.start.row>i&&(p.start.row+=v)}if(v!=0&&a<c)for(;a<c;a++){var p=t[a];p.start.row+=v,p.end.row+=v}},u}();_.prototype.comparePoints=y,h.RangeList=_}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(o,h,R){var x=this&&this.__extends||function(){var n=function(i,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(a[p]=c[p])},n(i,t)};return function(i,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(i,t);function a(){this.constructor=i}i.prototype=t===null?Object.create(t):(a.prototype=t.prototype,new a)}}(),y=o("../range_list").RangeList,_=function(n){x(i,n);function i(t,a){var c=n.call(this)||this;return c.foldLine=null,c.placeholder=a,c.range=t,c.start=t.start,c.end=t.end,c.sameRow=t.start.row==t.end.row,c.subFolds=c.ranges=[],c}return i.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},i.prototype.setFoldLine=function(t){this.foldLine=t,this.subFolds.forEach(function(a){a.setFoldLine(t)})},i.prototype.clone=function(){var t=this.range.clone(),a=new i(t,this.placeholder);return this.subFolds.forEach(function(c){a.subFolds.push(c.clone())}),a.collapseChildren=this.collapseChildren,a},i.prototype.addSubFold=function(t){if(!this.range.isEqual(t)){d(t,this.start);for(var I=t.start.row,C=t.start.column,a=0,c=-1;a<this.subFolds.length&&(c=this.subFolds[a].range.compare(I,C),c==1);a++);var p=this.subFolds[a],v=0;if(c==0){if(p.range.containsRange(t))return p.addSubFold(t);v=1}for(var I=t.range.end.row,C=t.range.end.column,b=a,c=-1;b<this.subFolds.length&&(c=this.subFolds[b].range.compare(I,C),c==1);b++);c==0&&b++;for(var m=this.subFolds.splice(a,b-a,t),$=c==0?m.length-1:m.length,L=v;L<$;L++)t.addSubFold(m[L]);return t.setFoldLine(this.foldLine),t}},i.prototype.restoreRange=function(t){return r(t,this.start)},i}(y);function u(n,i){n.row-=i.row,n.row==0&&(n.column-=i.column)}function d(n,i){u(n.start,i),u(n.end,i)}function s(n,i){n.row==0&&(n.column+=i.column),n.row+=i.row}function r(n,i){s(n.start,i),s(n.end,i)}h.Fold=_}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(o,h,R){var x=o("../range").Range,y=o("./fold_line").FoldLine,_=o("./fold").Fold,u=o("../token_iterator").TokenIterator,d=o("../mouse/mouse_event").MouseEvent;function s(){this.getFoldAt=function(r,n,i){var t=this.getFoldLine(r);if(!t)return null;for(var a=t.folds,c=0;c<a.length;c++){var p=a[c].range;if(p.contains(r,n)){if(i==1&&p.isEnd(r,n)&&!p.isEmpty())continue;if(i==-1&&p.isStart(r,n)&&!p.isEmpty())continue;return a[c]}}},this.getFoldsInRange=function(r){var n=r.start,i=r.end,t=this.$foldData,a=[];n.column+=1,i.column-=1;for(var c=0;c<t.length;c++){var p=t[c].range.compareRange(r);if(p!=2){if(p==-2)break;for(var v=t[c].folds,I=0;I<v.length;I++){var C=v[I];if(p=C.range.compareRange(r),p==-2)break;if(p==2)continue;if(p==42)break;a.push(C)}}}return n.column-=1,i.column+=1,a},this.getFoldsInRangeList=function(r){if(Array.isArray(r)){var n=[];r.forEach(function(i){n=n.concat(this.getFoldsInRange(i))},this)}else var n=this.getFoldsInRange(r);return n},this.getAllFolds=function(){for(var r=[],n=this.$foldData,i=0;i<n.length;i++)for(var t=0;t<n[i].folds.length;t++)r.push(n[i].folds[t]);return r},this.getFoldStringAt=function(r,n,i,t){if(t=t||this.getFoldLine(r),!t)return null;for(var a={end:{column:0}},c,p,v=0;v<t.folds.length;v++){p=t.folds[v];var I=p.range.compareEnd(r,n);if(I==-1){c=this.getLine(p.start.row).substring(a.end.column,p.start.column);break}else if(I===0)return null;a=p}return c||(c=this.getLine(p.start.row).substring(a.end.column)),i==-1?c.substring(0,n-a.end.column):i==1?c.substring(n-a.end.column):c},this.getFoldLine=function(r,n){var i=this.$foldData,t=0;for(n&&(t=i.indexOf(n)),t==-1&&(t=0),t;t<i.length;t++){var a=i[t];if(a.start.row<=r&&a.end.row>=r)return a;if(a.end.row>r)return null}return null},this.getNextFoldLine=function(r,n){var i=this.$foldData,t=0;for(n&&(t=i.indexOf(n)),t==-1&&(t=0),t;t<i.length;t++){var a=i[t];if(a.end.row>=r)return a}return null},this.getFoldedRowCount=function(r,n){for(var i=this.$foldData,t=n-r+1,a=0;a<i.length;a++){var c=i[a],p=c.end.row,v=c.start.row;if(p>=n){v<n&&(v>=r?t-=n-v:t=0);break}else p>=r&&(v>=r?t-=p-v:t-=p-r+1)}return t},this.$addFoldLine=function(r){return this.$foldData.push(r),this.$foldData.sort(function(n,i){return n.start.row-i.start.row}),r},this.addFold=function(r,n){var i=this.$foldData,t=!1,a;r instanceof _?a=r:(a=new _(n,r),a.collapseChildren=n.collapseChildren),this.$clipRangeToDocument(a.range);var c=a.start.row,p=a.start.column,v=a.end.row,I=a.end.column,C=this.getFoldAt(c,p,1),b=this.getFoldAt(v,I,-1);if(C&&b==C)return C.addSubFold(a);C&&!C.range.isStart(c,p)&&this.removeFold(C),b&&!b.range.isEnd(v,I)&&this.removeFold(b);var m=this.getFoldsInRange(a.range);m.length>0&&(this.removeFolds(m),a.collapseChildren||m.forEach(function(A){a.addSubFold(A)}));for(var $=0;$<i.length;$++){var L=i[$];if(v==L.start.row){L.addFold(a),t=!0;break}else if(c==L.end.row){if(L.addFold(a),t=!0,!a.sameRow){var O=i[$+1];if(O&&O.start.row==v){L.merge(O);break}}break}else if(v<=L.start.row)break}return t||(L=this.$addFoldLine(new y(this.$foldData,a))),this.$useWrapMode?this.$updateWrapData(L.start.row,L.start.row):this.$updateRowLengthCache(L.start.row,L.start.row),this.$modified=!0,this._signal("changeFold",{data:a,action:"add"}),a},this.addFolds=function(r){r.forEach(function(n){this.addFold(n)},this)},this.removeFold=function(r){var n=r.foldLine,i=n.start.row,t=n.end.row,a=this.$foldData,c=n.folds;if(c.length==1)a.splice(a.indexOf(n),1);else if(n.range.isEnd(r.end.row,r.end.column))c.pop(),n.end.row=c[c.length-1].end.row,n.end.column=c[c.length-1].end.column;else if(n.range.isStart(r.start.row,r.start.column))c.shift(),n.start.row=c[0].start.row,n.start.column=c[0].start.column;else if(r.sameRow)c.splice(c.indexOf(r),1);else{var p=n.split(r.start.row,r.start.column);c=p.folds,c.shift(),p.start.row=c[0].start.row,p.start.column=c[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(i,t):this.$updateRowLengthCache(i,t)),this.$modified=!0,this._signal("changeFold",{data:r,action:"remove"})},this.removeFolds=function(r){for(var n=[],i=0;i<r.length;i++)n.push(r[i]);n.forEach(function(t){this.removeFold(t)},this),this.$modified=!0},this.expandFold=function(r){this.removeFold(r),r.subFolds.forEach(function(n){r.restoreRange(n),this.addFold(n)},this),r.collapseChildren>0&&this.foldAll(r.start.row+1,r.end.row,r.collapseChildren-1),r.subFolds=[]},this.expandFolds=function(r){r.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(r,n){var i,t;if(r==null)i=new x(0,0,this.getLength(),0),n==null&&(n=!0);else if(typeof r=="number")i=new x(r,0,r,this.getLine(r).length);else if("row"in r)i=x.fromPoints(r,r);else{if(Array.isArray(r))return t=[],r.forEach(function(c){t=t.concat(this.unfold(c))},this),t;i=r}t=this.getFoldsInRangeList(i);for(var a=t;t.length==1&&x.comparePoints(t[0].start,i.start)<0&&x.comparePoints(t[0].end,i.end)>0;)this.expandFolds(t),t=this.getFoldsInRangeList(i);if(n!=!1?this.removeFolds(t):this.expandFolds(t),a.length)return a},this.isRowFolded=function(r,n){return!!this.getFoldLine(r,n)},this.getRowFoldEnd=function(r,n){var i=this.getFoldLine(r,n);return i?i.end.row:r},this.getRowFoldStart=function(r,n){var i=this.getFoldLine(r,n);return i?i.start.row:r},this.getFoldDisplayLine=function(r,n,i,t,a){t==null&&(t=r.start.row),a==null&&(a=0),n==null&&(n=r.end.row),i==null&&(i=this.getLine(n).length);var c=this.doc,p="";return r.walk(function(v,I,C,b){if(!(I<t)){if(I==t){if(C<a)return;b=Math.max(a,b)}v!=null?p+=v:p+=c.getLine(I).substring(b,C)}},n,i),p},this.getDisplayLine=function(r,n,i,t){var a=this.getFoldLine(r);if(a)return this.getFoldDisplayLine(a,r,n,i,t);var c;return c=this.doc.getLine(r),c.substring(t||0,n||c.length)},this.$cloneFoldData=function(){var r=[];return r=this.$foldData.map(function(n){var i=n.folds.map(function(t){return t.clone()});return new y(r,i)}),r},this.toggleFold=function(r){var n=this.selection,i=n.getRange(),t,a;if(i.isEmpty()){var c=i.start;if(t=this.getFoldAt(c.row,c.column),t){this.expandFold(t);return}else(a=this.findMatchingBracket(c))?i.comparePoint(a)==1?i.end=a:(i.start=a,i.start.column++,i.end.column--):(a=this.findMatchingBracket({row:c.row,column:c.column+1}))?(i.comparePoint(a)==1?i.end=a:i.start=a,i.start.column++):i=this.getCommentFoldRange(c.row,c.column)||i}else{var p=this.getFoldsInRange(i);if(r&&p.length){this.expandFolds(p);return}else p.length==1&&(t=p[0])}if(t||(t=this.getFoldAt(i.start.row,i.start.column)),t&&t.range.toString()==i.toString()){this.expandFold(t);return}var v="...";if(!i.isMultiLine()){if(v=this.getTextRange(i),v.length<4)return;v=v.trim().substring(0,2)+".."}this.addFold(v,i)},this.getCommentFoldRange=function(r,n,i){var t=new u(this,r,n),a=t.getCurrentToken(),c=a&&a.type;if(a&&/^comment|string/.test(c)){c=c.match(/comment|string/)[0],c=="comment"&&(c+="|doc-start|\\.doc");var p=new RegExp(c),v=new x;if(i!=1){do a=t.stepBackward();while(a&&p.test(a.type));a=t.stepForward()}v.start.row=t.getCurrentTokenRow(),v.start.column=t.getCurrentTokenColumn()+a.value.length,t=new u(this,r,n);var I=this.getState(t.$row);if(i!=-1){var C=-1;do if(a=t.stepForward(),C==-1){var b=this.getState(t.$row);I.toString()!==b.toString()&&(C=t.$row)}else if(t.$row>C)break;while(a&&p.test(a.type));a=t.stepBackward()}else a=t.getCurrentToken();return v.end.row=t.getCurrentTokenRow(),v.end.column=t.getCurrentTokenColumn(),v}},this.foldAll=function(r,n,i,t){i==null&&(i=1e5);var a=this.foldWidgets;if(a){n=n||this.getLength(),r=r||0;for(var c=r;c<n;c++)if(a[c]==null&&(a[c]=this.getFoldWidget(c)),a[c]=="start"&&!(t&&!t(c))){var p=this.getFoldWidgetRange(c);p&&p.isMultiLine()&&p.end.row<=n&&p.start.row>=r&&(c=p.end.row,p.collapseChildren=i,this.addFold("...",p))}}},this.foldToLevel=function(r){for(this.foldAll();r-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var r=this;this.foldAll(null,null,null,function(n){for(var i=r.getTokens(n),t=0;t<i.length;t++){var a=i[t];if(!(a.type=="text"&&/^\s+$/.test(a.value)))return!!/comment/.test(a.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(r){if(!this.$foldStyles[r])throw new Error("invalid fold style: "+r+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=r){this.$foldStyle=r,r=="manual"&&this.unfold();var n=this.$foldMode;this.$setFolding(null),this.$setFolding(n)}},this.$setFolding=function(r){if(this.$foldMode!=r){if(this.$foldMode=r,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!r||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=r.getFoldWidget.bind(r,this,this.$foldStyle),this.getFoldWidgetRange=r.getFoldWidgetRange.bind(r,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(r,n){var i=this.foldWidgets;if(!i||n&&i[r])return{};for(var t=r-1,a;t>=0;){var c=i[t];if(c==null&&(c=i[t]=this.getFoldWidget(t)),c=="start"){var p=this.getFoldWidgetRange(t);if(a||(a=p),p&&p.end.row>=r)break}t--}return{range:t!==-1&&p,firstRange:a}},this.onFoldWidgetClick=function(r,n){n instanceof d&&(n=n.domEvent);var i={children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey},t=this.$toggleFoldWidget(r,i);if(!t){var a=n.target||n.srcElement;a&&/ace_fold-widget/.test(a.className)&&(a.className+=" ace_invalid")}},this.$toggleFoldWidget=function(r,n){if(this.getFoldWidget){var i=this.getFoldWidget(r),t=this.getLine(r),a=i==="end"?-1:1,c=this.getFoldAt(r,a===-1?0:t.length,a);if(c)return n.children||n.all?this.removeFold(c):this.expandFold(c),c;var p=this.getFoldWidgetRange(r,!0);if(p&&!p.isMultiLine()&&(c=this.getFoldAt(p.start.row,p.start.column,1),c&&p.isEqual(c.range)))return this.removeFold(c),c;if(n.siblings){var v=this.getParentFoldRangeData(r);if(v.range)var I=v.range.start.row+1,C=v.range.end.row;this.foldAll(I,C,n.all?1e4:0)}else n.children?(C=p?p.end.row:this.getLength(),this.foldAll(r+1,C,n.all?1e4:0)):p&&(n.all&&(p.collapseChildren=1e4),this.addFold("...",p));return p}},this.toggleFoldWidget=function(r){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var i=this.$toggleFoldWidget(n,{});if(!i){var t=this.getParentFoldRangeData(n,!0);if(i=t.range||t.firstRange,i){n=i.start.row;var a=this.getFoldAt(n,this.getLine(n).length,1);a?this.removeFold(a):this.addFold("...",i)}}},this.updateFoldWidgets=function(r){var n=r.start.row,i=r.end.row-n;if(i===0)this.foldWidgets[n]=null;else if(r.action=="remove")this.foldWidgets.splice(n,i+1,null);else{var t=Array(i+1);t.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,t)}},this.tokenizerUpdateFoldWidgets=function(r){var n=r.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}h.Folding=s}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(o,h,R){var x=o("../token_iterator").TokenIterator,y=o("../range").Range;function _(){this.findMatchingBracket=function(u,d){if(u.column==0)return null;var s=d||this.getLine(u.row).charAt(u.column-1);if(s=="")return null;var r=s.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],u):this.$findOpeningBracket(r[2],u):null},this.getBracketRange=function(u){var d=this.getLine(u.row),s=!0,r,n=d.charAt(u.column-1),i=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(i||(n=d.charAt(u.column),u={row:u.row,column:u.column+1},i=n&&n.match(/([\(\[\{])|([\)\]\}])/),s=!1),!i)return null;if(i[1]){var t=this.$findClosingBracket(i[1],u);if(!t)return null;r=y.fromPoints(u,t),s||(r.end.column++,r.start.column--),r.cursor=r.end}else{var t=this.$findOpeningBracket(i[2],u);if(!t)return null;r=y.fromPoints(t,u),s||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(u,d){var s=this.getLine(u.row),r=/([\(\[\{])|([\)\]\}])/,n=!d&&s.charAt(u.column-1),i=n&&n.match(r);if(i||(n=(d===void 0||d)&&s.charAt(u.column),u={row:u.row,column:u.column+1},i=n&&n.match(r)),!i)return null;var t=new y(u.row,u.column-1,u.row,u.column),a=i[1]?this.$findClosingBracket(i[1],u):this.$findOpeningBracket(i[2],u);if(!a)return[t];var c=new y(a.row,a.column,a.row,a.column+1);return[t,c]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(u,d,s){var r=this.$brackets[u],n=1,i=new x(this,d.row,d.column),t=i.getCurrentToken();if(t||(t=i.stepForward()),!!t){s||(s=new RegExp("(\\.?"+t.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var a=d.column-i.getCurrentTokenColumn()-2,c=t.value;;){for(;a>=0;){var p=c.charAt(a);if(p==r){if(n-=1,n==0)return{row:i.getCurrentTokenRow(),column:a+i.getCurrentTokenColumn()}}else p==u&&(n+=1);a-=1}do t=i.stepBackward();while(t&&!s.test(t.type));if(t==null)break;c=t.value,a=c.length-1}return null}},this.$findClosingBracket=function(u,d,s){var r=this.$brackets[u],n=1,i=new x(this,d.row,d.column),t=i.getCurrentToken();if(t||(t=i.stepForward()),!!t){s||(s=new RegExp("(\\.?"+t.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var a=d.column-i.getCurrentTokenColumn();;){for(var c=t.value,p=c.length;a<p;){var v=c.charAt(a);if(v==r){if(n-=1,n==0)return{row:i.getCurrentTokenRow(),column:a+i.getCurrentTokenColumn()}}else v==u&&(n+=1);a+=1}do t=i.stepForward();while(t&&!s.test(t.type));if(t==null)break;a=0}return null}},this.getMatchingTags=function(u){var d=new x(this,u.row,u.column),s=this.$findTagName(d);if(s){var r=d.stepBackward();return r.value==="<"?this.$findClosingTag(d,s):this.$findOpeningTag(d,s)}},this.$findTagName=function(u){var d=u.getCurrentToken(),s=!1,r=!1;if(d&&d.type.indexOf("tag-name")===-1)do r?d=u.stepBackward():d=u.stepForward(),d&&(d.value==="/>"?r=!0:d.type.indexOf("tag-name")!==-1&&(s=!0));while(d&&!s);return d},this.$findClosingTag=function(u,d){var s,r=d.value,n=d.value,i=0,t=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1);d=u.stepForward();var a=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+d.value.length),c=!1;do{if(s=d,s.type.indexOf("tag-close")!==-1&&!c){var p=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1);c=!0}if(d=u.stepForward(),d){if(d.value===">"&&!c){var p=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1);c=!0}if(d.type.indexOf("tag-name")!==-1){if(r=d.value,n===r){if(s.value==="<")i++;else if(s.value==="</"&&(i--,i<0)){u.stepBackward();var v=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+2);d=u.stepForward();var I=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+d.value.length);if(d.type.indexOf("tag-close")===-1&&(d=u.stepForward()),d&&d.value===">")var C=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1);else return}}}else if(n===r&&d.value==="/>"&&(i--,i<0))var v=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+2),I=v,C=I,p=new y(a.end.row,a.end.column,a.end.row,a.end.column+1)}}while(d&&i>=0);if(t&&p&&v&&C&&a&&I)return{openTag:new y(t.start.row,t.start.column,p.end.row,p.end.column),closeTag:new y(v.start.row,v.start.column,C.end.row,C.end.column),openTagName:a,closeTagName:I}},this.$findOpeningTag=function(u,d){var s=u.getCurrentToken(),r=d.value,n=0,i=u.getCurrentTokenRow(),t=u.getCurrentTokenColumn(),a=t+2,c=new y(i,t,i,a);u.stepForward();var p=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+d.value.length);if(d.type.indexOf("tag-close")===-1&&(d=u.stepForward()),!(!d||d.value!==">")){var v=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1);u.stepBackward(),u.stepBackward();do if(d=s,i=u.getCurrentTokenRow(),t=u.getCurrentTokenColumn(),a=t+d.value.length,s=u.stepBackward(),d){if(d.type.indexOf("tag-name")!==-1){if(r===d.value)if(s.value==="<"){if(n++,n>0){var I=new y(i,t,i,a),C=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1);do d=u.stepForward();while(d&&d.value!==">");var b=new y(u.getCurrentTokenRow(),u.getCurrentTokenColumn(),u.getCurrentTokenRow(),u.getCurrentTokenColumn()+1)}}else s.value==="</"&&n--}else if(d.value==="/>"){for(var m=0,$=s;$;){if($.type.indexOf("tag-name")!==-1&&$.value===r){n--;break}else if($.value==="<")break;$=u.stepBackward(),m++}for(var L=0;L<m;L++)u.stepForward()}}while(s&&n<=0);if(C&&b&&c&&v&&I&&p)return{openTag:new y(C.start.row,C.start.column,b.end.row,b.end.column),closeTag:new y(c.start.row,c.start.column,v.end.row,v.end.column),openTagName:I,closeTagName:p}}}}h.BracketMatch=_}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(o,h,R){var x=o("./lib/oop"),y=o("./lib/lang"),_=o("./bidihandler").BidiHandler,u=o("./config"),d=o("./lib/event_emitter").EventEmitter,s=o("./selection").Selection,r=o("./mode/text").Mode,n=o("./range").Range,i=o("./document").Document,t=o("./background_tokenizer").BackgroundTokenizer,a=o("./search_highlight").SearchHighlight,c=o("./undomanager").UndoManager,p=function(){function E(k,T){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.prevOp={},this.$foldData=[],this.id="session"+ ++E.$uid,this.$foldData.toString=function(){return this.join(`
197
+ `)},this.bgTokenizer=new t(new r().getTokenizer(),this);var w=this;this.bgTokenizer.on("update",function(M){w._signal("tokenizerUpdate",M)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof k!="object"||!k.getLine)&&(k=new i(k)),this.setDocument(k),this.selection=new s(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new _(this),u.resetOptions(this),this.setMode(T),u._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return E.prototype.$initOperationListeners=function(){var k=this;this.curOp=null,this.on("change",function(){k.curOp||(k.startOperation(),k.curOp.selectionBefore=k.$lastSel),k.curOp.docChanged=!0},!0),this.on("changeSelection",function(){k.curOp||(k.startOperation(),k.curOp.selectionBefore=k.$lastSel),k.curOp.selectionChanged=!0},!0),this.$operationResetTimer=y.delayedCall(this.endOperation.bind(this,!0))},E.prototype.startOperation=function(k){if(this.curOp){if(!k||this.curOp.command)return;this.prevOp=this.curOp}k||(k={}),this.$operationResetTimer.schedule(),this.curOp={command:k.command||{},args:k.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",k)},E.prototype.endOperation=function(k){if(this.curOp){if(k&&k.returnValue===!1){this.curOp=null,this._signal("endOperation",k);return}if(k==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var T=this.selection.toJSON();this.curOp.selectionAfter=T,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(T),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",k)}},E.prototype.setDocument=function(k){this.doc&&this.doc.off("change",this.$onChange),this.doc=k,k.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},E.prototype.getDocument=function(){return this.doc},E.prototype.$resetRowCache=function(k){if(!k){this.$docRowCache=[],this.$screenRowCache=[];return}var T=this.$docRowCache.length,w=this.$getRowCacheIndex(this.$docRowCache,k)+1;T>w&&(this.$docRowCache.splice(w,T),this.$screenRowCache.splice(w,T))},E.prototype.$getRowCacheIndex=function(k,T){for(var w=0,M=k.length-1;w<=M;){var D=w+M>>1,F=k[D];if(T>F)w=D+1;else if(T<F)M=D-1;else return D}return w-1},E.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},E.prototype.onChangeFold=function(k){var T=k.data;this.$resetRowCache(T.start.row)},E.prototype.onChange=function(k){this.$modified=!0,this.$bidiHandler.onChange(k),this.$resetRowCache(k.start.row);var T=this.$updateInternalDataOnChange(k);!this.$fromUndo&&this.$undoManager&&(T&&T.length&&(this.$undoManager.add({action:"removeFolds",folds:T},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(k,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(k),this._signal("change",k)},E.prototype.onSelectionChange=function(){this._signal("changeSelection")},E.prototype.setValue=function(k){this.doc.setValue(k),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},E.fromJSON=function(k){typeof k=="string"&&(k=JSON.parse(k));var T=new c;T.$undoStack=k.history.undo,T.$redoStack=k.history.redo,T.mark=k.history.mark,T.$rev=k.history.rev;var w=new E(k.value);return k.folds.forEach(function(M){w.addFold("...",n.fromPoints(M.start,M.end))}),w.setAnnotations(k.annotations),w.setBreakpoints(k.breakpoints),w.setMode(k.mode),w.setScrollLeft(k.scrollLeft),w.setScrollTop(k.scrollTop),w.setUndoManager(T),w.selection.fromJSON(k.selection),w},E.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(k){return k.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},E.prototype.toString=function(){return this.doc.getValue()},E.prototype.getSelection=function(){return this.selection},E.prototype.getState=function(k){return this.bgTokenizer.getState(k)},E.prototype.getTokens=function(k){return this.bgTokenizer.getTokens(k)},E.prototype.getTokenAt=function(k,T){var w=this.bgTokenizer.getTokens(k),M,D=0;if(T==null){var F=w.length-1;D=this.getLine(k).length}else for(var F=0;F<w.length&&(D+=w[F].value.length,!(D>=T));F++);return M=w[F],M?(M.index=F,M.start=D-M.value.length,M):null},E.prototype.setUndoManager=function(k){if(this.$undoManager=k,this.$informUndoManager&&this.$informUndoManager.cancel(),k){var T=this;k.addSession(this),this.$syncInformUndoManager=function(){T.$informUndoManager.cancel(),T.mergeUndoDeltas=!1},this.$informUndoManager=y.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},E.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},E.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},E.prototype.getTabString=function(){return this.getUseSoftTabs()?y.stringRepeat(" ",this.getTabSize()):" "},E.prototype.setUseSoftTabs=function(k){this.setOption("useSoftTabs",k)},E.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},E.prototype.setTabSize=function(k){this.setOption("tabSize",k)},E.prototype.getTabSize=function(){return this.$tabSize},E.prototype.isTabStop=function(k){return this.$useSoftTabs&&k.column%this.$tabSize===0},E.prototype.setNavigateWithinSoftTabs=function(k){this.setOption("navigateWithinSoftTabs",k)},E.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},E.prototype.setOverwrite=function(k){this.setOption("overwrite",k)},E.prototype.getOverwrite=function(){return this.$overwrite},E.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},E.prototype.addGutterDecoration=function(k,T){this.$decorations[k]||(this.$decorations[k]=""),this.$decorations[k]+=" "+T,this._signal("changeBreakpoint",{})},E.prototype.removeGutterDecoration=function(k,T){this.$decorations[k]=(this.$decorations[k]||"").replace(" "+T,""),this._signal("changeBreakpoint",{})},E.prototype.getBreakpoints=function(){return this.$breakpoints},E.prototype.setBreakpoints=function(k){this.$breakpoints=[];for(var T=0;T<k.length;T++)this.$breakpoints[k[T]]="ace_breakpoint";this._signal("changeBreakpoint",{})},E.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},E.prototype.setBreakpoint=function(k,T){T===void 0&&(T="ace_breakpoint"),T?this.$breakpoints[k]=T:delete this.$breakpoints[k],this._signal("changeBreakpoint",{})},E.prototype.clearBreakpoint=function(k){delete this.$breakpoints[k],this._signal("changeBreakpoint",{})},E.prototype.addMarker=function(k,T,w,M){var D=this.$markerId++,F={range:k,type:w||"line",renderer:typeof w=="function"?w:null,clazz:T,inFront:!!M,id:D};return M?(this.$frontMarkers[D]=F,this._signal("changeFrontMarker")):(this.$backMarkers[D]=F,this._signal("changeBackMarker")),D},E.prototype.addDynamicMarker=function(k,T){if(k.update){var w=this.$markerId++;return k.id=w,k.inFront=!!T,T?(this.$frontMarkers[w]=k,this._signal("changeFrontMarker")):(this.$backMarkers[w]=k,this._signal("changeBackMarker")),k}},E.prototype.removeMarker=function(k){var T=this.$frontMarkers[k]||this.$backMarkers[k];if(T){var w=T.inFront?this.$frontMarkers:this.$backMarkers;delete w[k],this._signal(T.inFront?"changeFrontMarker":"changeBackMarker")}},E.prototype.getMarkers=function(k){return k?this.$frontMarkers:this.$backMarkers},E.prototype.highlight=function(k){if(!this.$searchHighlight){var T=new a(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(T)}this.$searchHighlight.setRegexp(k)},E.prototype.highlightLines=function(k,T,w,M){typeof T!="number"&&(w=T,T=k),w||(w="ace_step");var D=new n(k,0,T,1/0);return D.id=this.addMarker(D,w,"fullLine",M),D},E.prototype.setAnnotations=function(k){this.$annotations=k,this._signal("changeAnnotation",{})},E.prototype.getAnnotations=function(){return this.$annotations||[]},E.prototype.clearAnnotations=function(){this.setAnnotations([])},E.prototype.$detectNewLine=function(k){var T=k.match(/^.*?(\r?\n)/m);T?this.$autoNewLine=T[1]:this.$autoNewLine=`
198
+ `},E.prototype.getWordRange=function(k,T){var w=this.getLine(k),M=!1;if(T>0&&(M=!!w.charAt(T-1).match(this.tokenRe)),M||(M=!!w.charAt(T).match(this.tokenRe)),M)var D=this.tokenRe;else if(/^\s+$/.test(w.slice(T-1,T+1)))var D=/\s/;else var D=this.nonTokenRe;var F=T;if(F>0){do F--;while(F>=0&&w.charAt(F).match(D));F++}for(var B=T;B<w.length&&w.charAt(B).match(D);)B++;return new n(k,F,k,B)},E.prototype.getAWordRange=function(k,T){for(var w=this.getWordRange(k,T),M=this.getLine(w.end.row);M.charAt(w.end.column).match(/[ \t]/);)w.end.column+=1;return w},E.prototype.setNewLineMode=function(k){this.doc.setNewLineMode(k)},E.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},E.prototype.setUseWorker=function(k){this.setOption("useWorker",k)},E.prototype.getUseWorker=function(){return this.$useWorker},E.prototype.onReloadTokenizer=function(k){var T=k.data;this.bgTokenizer.start(T.first),this._signal("tokenizerUpdate",k)},E.prototype.setMode=function(k,T){if(k&&typeof k=="object"){if(k.getTokenizer)return this.$onChangeMode(k);var w=k,M=w.path}else M=k||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new r),this.$modes[M]&&!w){this.$onChangeMode(this.$modes[M]),T&&T();return}this.$modeId=M,u.loadModule(["mode",M],(function(D){if(this.$modeId!==M)return T&&T();this.$modes[M]&&!w?this.$onChangeMode(this.$modes[M]):D&&D.Mode&&(D=new D.Mode(w),w||(this.$modes[M]=D,D.$id=M),this.$onChangeMode(D)),T&&T()}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},E.prototype.$onChangeMode=function(k,T){if(T||(this.$modeId=k.$id),this.$mode!==k){var w=this.$mode;this.$mode=k,this.$stopWorker(),this.$useWorker&&this.$startWorker();var M=k.getTokenizer();if(M.on!==void 0){var D=this.onReloadTokenizer.bind(this);M.on("update",D)}this.bgTokenizer.setTokenizer(M),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=k.tokenRe,this.nonTokenRe=k.nonTokenRe,T||(k.attachToSession&&k.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(k.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:w,mode:k}))}},E.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},E.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(k){u.warn("Could not load worker",k),this.$worker=null}},E.prototype.getMode=function(){return this.$mode},E.prototype.setScrollTop=function(k){this.$scrollTop===k||isNaN(k)||(this.$scrollTop=k,this._signal("changeScrollTop",k))},E.prototype.getScrollTop=function(){return this.$scrollTop},E.prototype.setScrollLeft=function(k){this.$scrollLeft===k||isNaN(k)||(this.$scrollLeft=k,this._signal("changeScrollLeft",k))},E.prototype.getScrollLeft=function(){return this.$scrollLeft},E.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},E.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var k=0;return this.lineWidgets.forEach(function(T){T&&T.screenWidth>k&&(k=T.screenWidth)}),this.lineWidgetWidth=k},E.prototype.$computeWidth=function(k){if(this.$modified||k){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var T=this.doc.getAllLines(),w=this.$rowLengthCache,M=0,D=0,F=this.$foldData[D],B=F?F.start.row:1/0,H=T.length,j=0;j<H;j++){if(j>B){if(j=F.end.row+1,j>=H)break;F=this.$foldData[D++],B=F?F.start.row:1/0}w[j]==null&&(w[j]=this.$getStringScreenWidth(T[j])[0]),w[j]>M&&(M=w[j])}this.screenWidth=M}},E.prototype.getLine=function(k){return this.doc.getLine(k)},E.prototype.getLines=function(k,T){return this.doc.getLines(k,T)},E.prototype.getLength=function(){return this.doc.getLength()},E.prototype.getTextRange=function(k){return this.doc.getTextRange(k||this.selection.getRange())},E.prototype.insert=function(k,T){return this.doc.insert(k,T)},E.prototype.remove=function(k){return this.doc.remove(k)},E.prototype.removeFullLines=function(k,T){return this.doc.removeFullLines(k,T)},E.prototype.undoChanges=function(k,T){if(k.length){this.$fromUndo=!0;for(var w=k.length-1;w!=-1;w--){var M=k[w];M.action=="insert"||M.action=="remove"?this.doc.revertDelta(M):M.folds&&this.addFolds(M.folds)}!T&&this.$undoSelect&&(k.selectionBefore?this.selection.fromJSON(k.selectionBefore):this.selection.setRange(this.$getUndoSelection(k,!0))),this.$fromUndo=!1}},E.prototype.redoChanges=function(k,T){if(k.length){this.$fromUndo=!0;for(var w=0;w<k.length;w++){var M=k[w];(M.action=="insert"||M.action=="remove")&&this.doc.$safeApplyDelta(M)}!T&&this.$undoSelect&&(k.selectionAfter?this.selection.fromJSON(k.selectionAfter):this.selection.setRange(this.$getUndoSelection(k,!1))),this.$fromUndo=!1}},E.prototype.setUndoSelect=function(k){this.$undoSelect=k},E.prototype.$getUndoSelection=function(k,T){function w(H){return T?H.action!=="insert":H.action==="insert"}for(var M,D,F=0;F<k.length;F++){var B=k[F];if(B.start){if(!M){w(B)?M=n.fromPoints(B.start,B.end):M=n.fromPoints(B.start,B.start);continue}w(B)?(D=B.start,M.compare(D.row,D.column)==-1&&M.setStart(D),D=B.end,M.compare(D.row,D.column)==1&&M.setEnd(D)):(D=B.start,M.compare(D.row,D.column)==-1&&(M=n.fromPoints(B.start,B.start)))}}return M},E.prototype.replace=function(k,T){return this.doc.replace(k,T)},E.prototype.moveText=function(k,T,w){var M=this.getTextRange(k),D=this.getFoldsInRange(k),F=n.fromPoints(T,T);if(!w){this.remove(k);var B=k.start.row-k.end.row,H=B?-k.end.column:k.start.column-k.end.column;H&&(F.start.row==k.end.row&&F.start.column>k.end.column&&(F.start.column+=H),F.end.row==k.end.row&&F.end.column>k.end.column&&(F.end.column+=H)),B&&F.start.row>=k.end.row&&(F.start.row+=B,F.end.row+=B)}if(F.end=this.insert(F.start,M),D.length){var j=k.start,Y=F.start,B=Y.row-j.row,H=Y.column-j.column;this.addFolds(D.map(function(q){return q=q.clone(),q.start.row==j.row&&(q.start.column+=H),q.end.row==j.row&&(q.end.column+=H),q.start.row+=B,q.end.row+=B,q}))}return F},E.prototype.indentRows=function(k,T,w){w=w.replace(/\t/g,this.getTabString());for(var M=k;M<=T;M++)this.doc.insertInLine({row:M,column:0},w)},E.prototype.outdentRows=function(k){for(var T=k.collapseRows(),w=new n(0,0,0,0),M=this.getTabSize(),D=T.start.row;D<=T.end.row;++D){var F=this.getLine(D);w.start.row=D,w.end.row=D;for(var B=0;B<M&&F.charAt(B)==" ";++B);B<M&&F.charAt(B)==" "?(w.start.column=B,w.end.column=B+1):(w.start.column=0,w.end.column=B),this.remove(w)}},E.prototype.$moveLines=function(k,T,w){if(k=this.getRowFoldStart(k),T=this.getRowFoldEnd(T),w<0){var M=this.getRowFoldStart(k+w);if(M<0)return 0;var D=M-k}else if(w>0){var M=this.getRowFoldEnd(T+w);if(M>this.doc.getLength()-1)return 0;var D=M-T}else{k=this.$clipRowToDocument(k),T=this.$clipRowToDocument(T);var D=T-k+1}var F=new n(k,0,T,Number.MAX_VALUE),B=this.getFoldsInRange(F).map(function(j){return j=j.clone(),j.start.row+=D,j.end.row+=D,j}),H=w==0?this.doc.getLines(k,T):this.doc.removeFullLines(k,T);return this.doc.insertFullLines(k+D,H),B.length&&this.addFolds(B),D},E.prototype.moveLinesUp=function(k,T){return this.$moveLines(k,T,-1)},E.prototype.moveLinesDown=function(k,T){return this.$moveLines(k,T,1)},E.prototype.duplicateLines=function(k,T){return this.$moveLines(k,T,0)},E.prototype.$clipRowToDocument=function(k){return Math.max(0,Math.min(k,this.doc.getLength()-1))},E.prototype.$clipColumnToRow=function(k,T){return T<0?0:Math.min(this.doc.getLine(k).length,T)},E.prototype.$clipPositionToDocument=function(k,T){if(T=Math.max(0,T),k<0)k=0,T=0;else{var w=this.doc.getLength();k>=w?(k=w-1,T=this.doc.getLine(w-1).length):T=Math.min(this.doc.getLine(k).length,T)}return{row:k,column:T}},E.prototype.$clipRangeToDocument=function(k){k.start.row<0?(k.start.row=0,k.start.column=0):k.start.column=this.$clipColumnToRow(k.start.row,k.start.column);var T=this.doc.getLength()-1;return k.end.row>T?(k.end.row=T,k.end.column=this.doc.getLine(T).length):k.end.column=this.$clipColumnToRow(k.end.row,k.end.column),k},E.prototype.setUseWrapMode=function(k){if(k!=this.$useWrapMode){if(this.$useWrapMode=k,this.$modified=!0,this.$resetRowCache(0),k){var T=this.getLength();this.$wrapData=Array(T),this.$updateWrapData(0,T-1)}this._signal("changeWrapMode")}},E.prototype.getUseWrapMode=function(){return this.$useWrapMode},E.prototype.setWrapLimitRange=function(k,T){(this.$wrapLimitRange.min!==k||this.$wrapLimitRange.max!==T)&&(this.$wrapLimitRange={min:k,max:T},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},E.prototype.adjustWrapLimit=function(k,T){var w=this.$wrapLimitRange;w.max<0&&(w={min:T,max:T});var M=this.$constrainWrapLimit(k,w.min,w.max);return M!=this.$wrapLimit&&M>1?(this.$wrapLimit=M,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},E.prototype.$constrainWrapLimit=function(k,T,w){return T&&(k=Math.max(T,k)),w&&(k=Math.min(w,k)),k},E.prototype.getWrapLimit=function(){return this.$wrapLimit},E.prototype.setWrapLimit=function(k){this.setWrapLimitRange(k,k)},E.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},E.prototype.$updateInternalDataOnChange=function(k){var T=this.$useWrapMode,w=k.action,M=k.start,D=k.end,F=M.row,B=D.row,H=B-F,j=null;if(this.$updating=!0,H!=0)if(w==="remove"){this[T?"$wrapData":"$rowLengthCache"].splice(F,H);var Y=this.$foldData;j=this.getFoldsInRange(k),this.removeFolds(j);var X=this.getFoldLine(D.row),Q=0;if(X){X.addRemoveChars(D.row,D.column,M.column-D.column),X.shiftRow(-H);var q=this.getFoldLine(F);q&&q!==X&&(q.merge(X),X=q),Q=Y.indexOf(X)+1}for(Q;Q<Y.length;Q++){var X=Y[Q];X.start.row>=D.row&&X.shiftRow(-H)}B=F}else{var ee=Array(H);ee.unshift(F,0);var ie=T?this.$wrapData:this.$rowLengthCache;ie.splice.apply(ie,ee);var Y=this.$foldData,X=this.getFoldLine(F),Q=0;if(X){var ae=X.range.compareInside(M.row,M.column);ae==0?(X=X.split(M.row,M.column),X&&(X.shiftRow(H),X.addRemoveChars(B,0,D.column-M.column))):ae==-1&&(X.addRemoveChars(F,0,D.column-M.column),X.shiftRow(H)),Q=Y.indexOf(X)+1}for(Q;Q<Y.length;Q++){var X=Y[Q];X.start.row>=F&&X.shiftRow(H)}}else{H=Math.abs(k.start.column-k.end.column),w==="remove"&&(j=this.getFoldsInRange(k),this.removeFolds(j),H=-H);var X=this.getFoldLine(F);X&&X.addRemoveChars(F,M.column,H)}return T&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,T?this.$updateWrapData(F,B):this.$updateRowLengthCache(F,B),j},E.prototype.$updateRowLengthCache=function(k,T){this.$rowLengthCache[k]=null,this.$rowLengthCache[T]=null},E.prototype.$updateWrapData=function(k,T){var w=this.doc.getAllLines(),M=this.getTabSize(),D=this.$wrapData,F=this.$wrapLimit,B,H,j=k;for(T=Math.min(T,w.length-1);j<=T;)H=this.getFoldLine(j,H),H?(B=[],H.walk((function(Y,X,Q,q){var ee;if(Y!=null){ee=this.$getDisplayTokens(Y,B.length),ee[0]=C;for(var ie=1;ie<ee.length;ie++)ee[ie]=b}else ee=this.$getDisplayTokens(w[X].substring(q,Q),B.length);B=B.concat(ee)}).bind(this),H.end.row,w[H.end.row].length+1),D[H.start.row]=this.$computeWrapSplits(B,F,M),j=H.end.row+1):(B=this.$getDisplayTokens(w[j]),D[j]=this.$computeWrapSplits(B,F,M),j++)},E.prototype.$computeWrapSplits=function(k,T,w){if(k.length==0)return[];var M=[],D=k.length,F=0,B=0,H=this.$wrapAsCode,j=this.$indentedSoftWrap,Y=T<=Math.max(2*w,8)||j===!1?0:Math.floor(T/2);function X(){var ae=0;if(Y===0)return ae;if(j)for(var he=0;he<k.length;he++){var de=k[he];if(de==$)ae+=1;else if(de==L)ae+=w;else{if(de==O)continue;break}}return H&&j!==!1&&(ae+=w),Math.min(ae,Y)}function Q(ae){for(var he=ae-F,de=F;de<ae;de++){var ye=k[de];(ye===12||ye===2)&&(he-=1)}M.length||(q=X(),M.indent=q),B+=he,M.push(B),F=ae}for(var q=0;D-F>T-q;){var ee=F+T-q;if(k[ee-1]>=$&&k[ee]>=$){Q(ee);continue}if(k[ee]==C||k[ee]==b){for(ee;ee!=F-1&&k[ee]!=C;ee--);if(ee>F){Q(ee);continue}for(ee=F+T,ee;ee<k.length&&k[ee]==b;ee++);if(ee==k.length)break;Q(ee);continue}for(var ie=Math.max(ee-(T-(T>>2)),F-1);ee>ie&&k[ee]<C;)ee--;if(H){for(;ee>ie&&k[ee]<C;)ee--;for(;ee>ie&&k[ee]==m;)ee--}else for(;ee>ie&&k[ee]<$;)ee--;if(ee>ie){Q(++ee);continue}ee=F+T,k[ee]==I&&ee--,Q(ee-q)}return M},E.prototype.$getDisplayTokens=function(k,T){var w=[],M;T=T||0;for(var D=0;D<k.length;D++){var F=k.charCodeAt(D);if(F==9){M=this.getScreenTabSize(w.length+T),w.push(L);for(var B=1;B<M;B++)w.push(O)}else F==32?w.push($):F>39&&F<48||F>57&&F<64?w.push(m):F>=4352&&A(F)?w.push(v,I):w.push(v)}return w},E.prototype.$getStringScreenWidth=function(k,T,w){if(T==0)return[0,0];T==null&&(T=1/0),w=w||0;var M,D;for(D=0;D<k.length&&(M=k.charCodeAt(D),M==9?w+=this.getScreenTabSize(w):M>=4352&&A(M)?w+=2:w+=1,!(w>T));D++);return[w,D]},E.prototype.getRowLength=function(k){var T=1;return this.lineWidgets&&(T+=this.lineWidgets[k]&&this.lineWidgets[k].rowCount||0),!this.$useWrapMode||!this.$wrapData[k]?T:this.$wrapData[k].length+T},E.prototype.getRowLineCount=function(k){return!this.$useWrapMode||!this.$wrapData[k]?1:this.$wrapData[k].length+1},E.prototype.getRowWrapIndent=function(k){if(this.$useWrapMode){var T=this.screenToDocumentPosition(k,Number.MAX_VALUE),w=this.$wrapData[T.row];return w.length&&w[0]<T.column?w.indent:0}else return 0},E.prototype.getScreenLastRowColumn=function(k){var T=this.screenToDocumentPosition(k,Number.MAX_VALUE);return this.documentToScreenColumn(T.row,T.column)},E.prototype.getDocumentLastRowColumn=function(k,T){var w=this.documentToScreenRow(k,T);return this.getScreenLastRowColumn(w)},E.prototype.getDocumentLastRowColumnPosition=function(k,T){var w=this.documentToScreenRow(k,T);return this.screenToDocumentPosition(w,Number.MAX_VALUE/10)},E.prototype.getRowSplitData=function(k){if(this.$useWrapMode)return this.$wrapData[k]},E.prototype.getScreenTabSize=function(k){return this.$tabSize-(k%this.$tabSize|0)},E.prototype.screenToDocumentRow=function(k,T){return this.screenToDocumentPosition(k,T).row},E.prototype.screenToDocumentColumn=function(k,T){return this.screenToDocumentPosition(k,T).column},E.prototype.screenToDocumentPosition=function(k,T,w){if(k<0)return{row:0,column:0};var M,D=0,F=0,B,H=0,j=0,Y=this.$screenRowCache,X=this.$getRowCacheIndex(Y,k),Q=Y.length;if(Q&&X>=0)var H=Y[X],D=this.$docRowCache[X],q=k>Y[Q-1];else var q=!Q;for(var ee=this.getLength()-1,ie=this.getNextFoldLine(D),ae=ie?ie.start.row:1/0;H<=k&&(j=this.getRowLength(D),!(H+j>k||D>=ee));)H+=j,D++,D>ae&&(D=ie.end.row+1,ie=this.getNextFoldLine(D,ie),ae=ie?ie.start.row:1/0),q&&(this.$docRowCache.push(D),this.$screenRowCache.push(H));if(ie&&ie.start.row<=D)M=this.getFoldDisplayLine(ie),D=ie.start.row;else{if(H+j<=k||D>ee)return{row:ee,column:this.getLine(ee).length};M=this.getLine(D),ie=null}var he=0,de=Math.floor(k-H);if(this.$useWrapMode){var ye=this.$wrapData[D];ye&&(B=ye[de],de>0&&ye.length&&(he=ye.indent,F=ye[de-1]||ye[ye.length-1],M=M.substring(F)))}return w!==void 0&&this.$bidiHandler.isBidiRow(H+de,D,de)&&(T=this.$bidiHandler.offsetToCol(w)),F+=this.$getStringScreenWidth(M,T-he)[1],this.$useWrapMode&&F>=B&&(F=B-1),ie?ie.idxToPosition(F):{row:D,column:F}},E.prototype.documentToScreenPosition=function(k,T){if(typeof T>"u")var w=this.$clipPositionToDocument(k.row,k.column);else w=this.$clipPositionToDocument(k,T);k=w.row,T=w.column;var M=0,D=null,F=null;F=this.getFoldAt(k,T,1),F&&(k=F.start.row,T=F.start.column);var B,H=0,j=this.$docRowCache,Y=this.$getRowCacheIndex(j,k),X=j.length;if(X&&Y>=0)var H=j[Y],M=this.$screenRowCache[Y],Q=k>j[X-1];else var Q=!X;for(var q=this.getNextFoldLine(H),ee=q?q.start.row:1/0;H<k;){if(H>=ee){if(B=q.end.row+1,B>k)break;q=this.getNextFoldLine(B,q),ee=q?q.start.row:1/0}else B=H+1;M+=this.getRowLength(H),H=B,Q&&(this.$docRowCache.push(H),this.$screenRowCache.push(M))}var ie="";q&&H>=ee?(ie=this.getFoldDisplayLine(q,k,T),D=q.start.row):(ie=this.getLine(k).substring(0,T),D=k);var ae=0;if(this.$useWrapMode){var he=this.$wrapData[D];if(he){for(var de=0;ie.length>=he[de];)M++,de++;ie=ie.substring(he[de-1]||0,ie.length),ae=de>0?he.indent:0}}return this.lineWidgets&&this.lineWidgets[H]&&this.lineWidgets[H].rowsAbove&&(M+=this.lineWidgets[H].rowsAbove),{row:M,column:ae+this.$getStringScreenWidth(ie)[0]}},E.prototype.documentToScreenColumn=function(k,T){return this.documentToScreenPosition(k,T).column},E.prototype.documentToScreenRow=function(k,T){return this.documentToScreenPosition(k,T).row},E.prototype.getScreenLength=function(){var k=0,T=null;if(this.$useWrapMode)for(var D=this.$wrapData.length,F=0,M=0,T=this.$foldData[M++],B=T?T.start.row:1/0;F<D;){var H=this.$wrapData[F];k+=H?H.length+1:1,F++,F>B&&(F=T.end.row+1,T=this.$foldData[M++],B=T?T.start.row:1/0)}else{k=this.getLength();for(var w=this.$foldData,M=0;M<w.length;M++)T=w[M],k-=T.end.row-T.start.row}return this.lineWidgets&&(k+=this.$getWidgetScreenLength()),k},E.prototype.$setFontMetrics=function(k){this.$enableVarChar&&(this.$getStringScreenWidth=function(T,w,M){if(w===0)return[0,0];w||(w=1/0),M=M||0;var D,F;for(F=0;F<T.length&&(D=T.charAt(F),D===" "?M+=this.getScreenTabSize(M):M+=k.getCharacterWidth(D),!(M>w));F++);return[M,F]})},E.prototype.getPrecedingCharacter=function(){var k=this.selection.getCursor();if(k.column===0)return k.row===0?"":this.doc.getNewLineCharacter();var T=this.getLine(k.row);return T[k.column-1]},E.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},E}();p.$uid=0,p.prototype.$modes=u.$modes,p.prototype.getValue=p.prototype.toString,p.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},p.prototype.$overwrite=!1,p.prototype.$mode=null,p.prototype.$modeId=null,p.prototype.$scrollTop=0,p.prototype.$scrollLeft=0,p.prototype.$wrapLimit=80,p.prototype.$useWrapMode=!1,p.prototype.$wrapLimitRange={min:null,max:null},p.prototype.lineWidgets=null,p.prototype.isFullWidth=A,x.implement(p.prototype,d);var v=1,I=2,C=3,b=4,m=9,$=10,L=11,O=12;function A(E){return E<4352?!1:E>=4352&&E<=4447||E>=4515&&E<=4519||E>=4602&&E<=4607||E>=9001&&E<=9002||E>=11904&&E<=11929||E>=11931&&E<=12019||E>=12032&&E<=12245||E>=12272&&E<=12283||E>=12288&&E<=12350||E>=12353&&E<=12438||E>=12441&&E<=12543||E>=12549&&E<=12589||E>=12593&&E<=12686||E>=12688&&E<=12730||E>=12736&&E<=12771||E>=12784&&E<=12830||E>=12832&&E<=12871||E>=12880&&E<=13054||E>=13056&&E<=19903||E>=19968&&E<=42124||E>=42128&&E<=42182||E>=43360&&E<=43388||E>=44032&&E<=55203||E>=55216&&E<=55238||E>=55243&&E<=55291||E>=63744&&E<=64255||E>=65040&&E<=65049||E>=65072&&E<=65106||E>=65108&&E<=65126||E>=65128&&E<=65131||E>=65281&&E<=65376||E>=65504&&E<=65510}o("./edit_session/folding").Folding.call(p.prototype),o("./edit_session/bracket_match").BracketMatch.call(p.prototype),u.defineOptions(p.prototype,"session",{wrap:{set:function(E){if(!E||E=="off"?E=!1:E=="free"?E=!0:E=="printMargin"?E=-1:typeof E=="string"&&(E=parseInt(E,10)||!1),this.$wrap!=E)if(this.$wrap=E,!E)this.setUseWrapMode(!1);else{var k=typeof E=="number"?E:null;this.setWrapLimitRange(k,k),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(E){E=E=="auto"?this.$mode.type!="text":E!="text",E!=this.$wrapAsCode&&(this.$wrapAsCode=E,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(E){this.$useWorker=E,this.$stopWorker(),E&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(E){E=parseInt(E),E>0&&this.$tabSize!==E&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=E,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(E){this.setFoldStyle(E)},handlesSet:!0},overwrite:{set:function(E){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(E){this.doc.setNewLineMode(E)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(E){this.setMode(E)},get:function(){return this.$modeId},handlesSet:!0}}),h.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(o,h,R){var x=o("./lib/lang"),y=o("./lib/oop"),_=o("./range").Range,u=function(){function s(){this.$options={}}return s.prototype.set=function(r){return y.mixin(this.$options,r),this},s.prototype.getOptions=function(){return x.copyObject(this.$options)},s.prototype.setOptions=function(r){this.$options=r},s.prototype.find=function(r){var n=this.$options,i=this.$matchIterator(r,n);if(!i)return!1;var t=null;return i.forEach(function(a,c,p,v){return t=new _(a,c,p,v),c==v&&n.start&&n.start.start&&n.skipCurrent!=!1&&t.isEqual(n.start)?(t=null,!1):!0}),t},s.prototype.findAll=function(r){var n=this.$options;if(!n.needle)return[];this.$assembleRegExp(n);var i=n.range,t=i?r.getLines(i.start.row,i.end.row):r.doc.getAllLines(),a=[],c=n.re;if(n.$isMultiLine){var p=c.length,v=t.length-p,I;e:for(var C=c.offset||0;C<=v;C++){for(var b=0;b<p;b++)if(t[C+b].search(c[b])==-1)continue e;var m=t[C],$=t[C+p-1],L=m.length-m.match(c[0])[0].length,O=$.match(c[p-1])[0].length;I&&I.end.row===C&&I.end.column>L||(a.push(I=new _(C,L,C+p-1,O)),p>2&&(C=C+p-2))}}else for(var A=0;A<t.length;A++)for(var E=x.getMatchOffsets(t[A],c),b=0;b<E.length;b++){var k=E[b];a.push(new _(A,k.offset,A,k.offset+k.length))}if(i){for(var T=i.start.column,w=i.end.column,A=0,b=a.length-1;A<b&&a[A].start.column<T&&a[A].start.row==0;)A++;for(var M=i.end.row-i.start.row;A<b&&a[b].end.column>w&&a[b].end.row==M;)b--;for(a=a.slice(A,b+1),A=0,b=a.length;A<b;A++)a[A].start.row+=i.start.row,a[A].end.row+=i.start.row}return a},s.prototype.replace=function(r,n){var i=this.$options,t=this.$assembleRegExp(i);if(i.$isMultiLine)return n;if(t){var a=t.exec(r);if(!a||a[0].length!=r.length)return null;if(i.regExp||(n=n.replace(/\$/g,"$$$$")),n=r.replace(t,n),i.preserveCase){n=n.split("");for(var c=Math.min(r.length,r.length);c--;){var p=r[c];p&&p.toLowerCase()!=p?n[c]=n[c].toUpperCase():n[c]=n[c].toLowerCase()}n=n.join("")}return n}},s.prototype.$assembleRegExp=function(r,n){if(r.needle instanceof RegExp)return r.re=r.needle;var i=r.needle;if(!r.needle)return r.re=!1;r.regExp||(i=x.escapeRegExp(i));var t=r.caseSensitive?"gm":"gmi";try{new RegExp(i,"u"),r.$supportsUnicodeFlag=!0,t+="u"}catch{r.$supportsUnicodeFlag=!1}if(r.wholeWord&&(i=d(i,r)),r.$isMultiLine=!n&&/[\n\r]/.test(i),r.$isMultiLine)return r.re=this.$assembleMultilineRegExp(i,t);try{var a=new RegExp(i,t)}catch{a=!1}return r.re=a},s.prototype.$assembleMultilineRegExp=function(r,n){for(var i=r.replace(/\r\n|\r|\n/g,`$
199
+ ^`).split(`
200
+ `),t=[],a=0;a<i.length;a++)try{t.push(new RegExp(i[a],n))}catch{return!1}return t},s.prototype.$matchIterator=function(r,n){var i=this.$assembleRegExp(n);if(!i)return!1;var t=n.backwards==!0,a=n.skipCurrent!=!1,c=i.unicode,p=n.range,v=n.start;v||(v=p?p[t?"end":"start"]:r.selection.getRange()),v.start&&(v=v[a!=t?"end":"start"]);var I=p?p.start.row:0,C=p?p.end.row:r.getLength()-1;if(t)var b=function(L){var O=v.row;if(!$(O,v.column,L)){for(O--;O>=I;O--)if($(O,Number.MAX_VALUE,L))return;if(n.wrap!=!1){for(O=C,I=v.row;O>=I;O--)if($(O,Number.MAX_VALUE,L))return}}};else var b=function(O){var A=v.row;if(!$(A,v.column,O)){for(A=A+1;A<=C;A++)if($(A,0,O))return;if(n.wrap!=!1){for(A=I,C=v.row;A<=C;A++)if($(A,0,O))return}}};if(n.$isMultiLine)var m=i.length,$=function(L,O,A){var E=t?L-m+1:L;if(!(E<0||E+m>r.getLength())){var k=r.getLine(E),T=k.search(i[0]);if(!(!t&&T<O||T===-1)){for(var w=1;w<m;w++)if(k=r.getLine(E+w),k.search(i[w])==-1)return;var M=k.match(i[m-1])[0].length;if(!(t&&M>O)&&A(E,T,E+m-1,M))return!0}}};else if(t)var $=function(O,A,E){var k=r.getLine(O),T=[],w,M=0;for(i.lastIndex=0;w=i.exec(k);){var D=w[0].length;if(M=w.index,!D){if(M>=k.length)break;i.lastIndex=M+=x.skipEmptyMatch(k,M,c)}if(w.index+D>A)break;T.push(w.index,D)}for(var F=T.length-1;F>=0;F-=2){var B=T[F-1],D=T[F];if(E(O,B,O,B+D))return!0}};else var $=function(O,A,E){var k=r.getLine(O),T,w;for(i.lastIndex=A;w=i.exec(k);){var M=w[0].length;if(T=w.index,E(O,T,O,T+M))return!0;if(!M&&(i.lastIndex=T+=x.skipEmptyMatch(k,T,c),T>=k.length))return!1}};return{forEach:b}},s}();function d(s,r){var n=x.supportsLookbehind();function i(p,v){v===void 0&&(v=!0);var I=n&&r.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return I.test(p)||r.regExp?n&&r.$supportsUnicodeFlag?v?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var t=Array.from(s),a=t[0],c=t[t.length-1];return i(a)+s+i(c,!1)}h.Search=u}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(o,h,R){var x=this&&this.__extends||function(){var n=function(i,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var p in c)Object.prototype.hasOwnProperty.call(c,p)&&(a[p]=c[p])},n(i,t)};return function(i,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(i,t);function a(){this.constructor=i}i.prototype=t===null?Object.create(t):(a.prototype=t.prototype,new a)}}(),y=o("../lib/keys"),_=o("../lib/useragent"),u=y.KEY_MODS,d=function(){function n(i,t){this.$init(i,t,!1)}return n.prototype.$init=function(i,t,a){this.platform=t||(_.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(i),this.$singleCommand=a},n.prototype.addCommand=function(i){this.commands[i.name]&&this.removeCommand(i),this.commands[i.name]=i,i.bindKey&&this._buildKeyHash(i)},n.prototype.removeCommand=function(i,t){var a=i&&(typeof i=="string"?i:i.name);i=this.commands[a],t||delete this.commands[a];var c=this.commandKeyBinding;for(var p in c){var v=c[p];if(v==i)delete c[p];else if(Array.isArray(v)){var I=v.indexOf(i);I!=-1&&(v.splice(I,1),v.length==1&&(c[p]=v[0]))}}},n.prototype.bindKey=function(i,t,a){if(typeof i=="object"&&i&&(a==null&&(a=i.position),i=i[this.platform]),!!i){if(typeof t=="function")return this.addCommand({exec:t,bindKey:i,name:t.name||i});i.split("|").forEach(function(c){var p="";if(c.indexOf(" ")!=-1){var v=c.split(/\s+/);c=v.pop(),v.forEach(function(b){var m=this.parseKeys(b),$=u[m.hashId]+m.key;p+=(p?" ":"")+$,this._addCommandToBinding(p,"chainKeys")},this),p+=" "}var I=this.parseKeys(c),C=u[I.hashId]+I.key;this._addCommandToBinding(p+C,t,a)},this)}},n.prototype._addCommandToBinding=function(i,t,a){var c=this.commandKeyBinding,p;if(!t)delete c[i];else if(!c[i]||this.$singleCommand)c[i]=t;else{Array.isArray(c[i])?(p=c[i].indexOf(t))!=-1&&c[i].splice(p,1):c[i]=[c[i]],typeof a!="number"&&(a=s(t));var v=c[i];for(p=0;p<v.length;p++){var I=v[p],C=s(I);if(C>a)break}v.splice(p,0,t)}},n.prototype.addCommands=function(i){i&&Object.keys(i).forEach(function(t){var a=i[t];if(a){if(typeof a=="string")return this.bindKey(a,t);typeof a=="function"&&(a={exec:a}),typeof a=="object"&&(a.name||(a.name=t),this.addCommand(a))}},this)},n.prototype.removeCommands=function(i){Object.keys(i).forEach(function(t){this.removeCommand(i[t])},this)},n.prototype.bindKeys=function(i){Object.keys(i).forEach(function(t){this.bindKey(t,i[t])},this)},n.prototype._buildKeyHash=function(i){this.bindKey(i.bindKey,i)},n.prototype.parseKeys=function(i){var t=i.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(C){return C}),a=t.pop(),c=y[a];if(y.FUNCTION_KEYS[c])a=y.FUNCTION_KEYS[c].toLowerCase();else if(t.length){if(t.length==1&&t[0]=="shift")return{key:a.toUpperCase(),hashId:-1}}else return{key:a,hashId:-1};for(var p=0,v=t.length;v--;){var I=y.KEY_MODS[t[v]];if(I==null)return typeof console<"u"&&console.error("invalid modifier "+t[v]+" in "+i),!1;p|=I}return{key:a,hashId:p}},n.prototype.findKeyCommand=function(i,t){var a=u[i]+t;return this.commandKeyBinding[a]},n.prototype.handleKeyboard=function(i,t,a,c){if(!(c<0)){var p=u[t]+a,v=this.commandKeyBinding[p];return i.$keyChain&&(i.$keyChain+=" "+p,v=this.commandKeyBinding[i.$keyChain]||v),v&&(v=="chainKeys"||v[v.length-1]=="chainKeys")?(i.$keyChain=i.$keyChain||p,{command:"null"}):(i.$keyChain&&((!t||t==4)&&a.length==1?i.$keyChain=i.$keyChain.slice(0,-p.length-1):(t==-1||c>0)&&(i.$keyChain="")),{command:v})}},n.prototype.getStatusText=function(i,t){return t.$keyChain||""},n}();function s(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var r=function(n){x(i,n);function i(t,a){var c=n.call(this,t,a)||this;return c.$singleCommand=!0,c}return i}(d);r.call=function(n,i,t){d.prototype.$init.call(n,i,t,!0)},d.call=function(n,i,t){d.prototype.$init.call(n,i,t,!1)},h.HashHandler=r,h.MultiHashHandler=d}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(o,h,R){var x=this&&this.__extends||function(){var s=function(r,n){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,t){i.__proto__=t}||function(i,t){for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(i[a]=t[a])},s(r,n)};return function(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");s(r,n);function i(){this.constructor=r}r.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),y=o("../lib/oop"),_=o("../keyboard/hash_handler").MultiHashHandler,u=o("../lib/event_emitter").EventEmitter,d=function(s){x(r,s);function r(n,i){var t=s.call(this,i,n)||this;return t.byName=t.commands,t.setDefaultHandler("exec",function(a){return a.args?a.command.exec(a.editor,a.args,a.event,!1):a.command.exec(a.editor,{},a.event,!0)}),t}return r.prototype.exec=function(n,i,t){if(Array.isArray(n)){for(var a=n.length;a--;)if(this.exec(n[a],i,t))return!0;return!1}if(typeof n=="string"&&(n=this.commands[n]),!this.canExecute(n,i))return!1;var c={editor:i,command:n,args:t};return c.returnValue=this._emit("exec",c),this._signal("afterExec",c),c.returnValue!==!1},r.prototype.canExecute=function(n,i){return typeof n=="string"&&(n=this.commands[n]),!(!n||i&&i.$readOnly&&!n.readOnly||this.$checkCommandState!=!1&&n.isAvailable&&!n.isAvailable(i))},r.prototype.toggleRecording=function(n){if(!this.$inReplay)return n&&n._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(i){this.macro.push([i.command,i.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},r.prototype.replay=function(n){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(i){typeof i=="string"?this.exec(i,n):this.exec(i[0],n,i[1])},this)}finally{this.$inReplay=!1}}},r.prototype.trimMacro=function(n){return n.map(function(i){return typeof i[0]!="string"&&(i[0]=i[0].name),i[1]||(i=i[0]),i})},r}(_);y.implement(d.prototype,u),h.CommandManager=d}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(o,h,R){var x=o("../lib/lang"),y=o("../config"),_=o("../range").Range;function u(s,r){return{win:s,mac:r}}h.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:u("Ctrl-,","Command-,"),exec:function(s){y.loadModule("ace/ext/settings_menu",function(r){r.init(s),s.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:u("Alt-E","F4"),exec:function(s){y.loadModule("ace/ext/error_marker",function(r){r.showErrorMarker(s,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:u("Alt-Shift-E","Shift-F4"),exec:function(s){y.loadModule("ace/ext/error_marker",function(r){r.showErrorMarker(s,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:u("Ctrl-A","Command-A"),exec:function(s){s.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:u(null,"Ctrl-L"),exec:function(s){s.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:u("Ctrl-L","Command-L"),exec:function(s,r){typeof r=="number"&&!isNaN(r)&&s.gotoLine(r),s.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:u("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(s){s.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:u("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(s){s.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:u("F2","F2"),exec:function(s){s.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:u("Alt-F2","Alt-F2"),exec:function(s){s.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:u(null,"Ctrl-Command-Option-0"),exec:function(s){s.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:u(null,"Ctrl-Command-Option-0"),exec:function(s){s.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:u("Alt-0","Command-Option-0"),exec:function(s){s.session.foldAll(),s.session.unfold(s.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:u("Alt-Shift-0","Command-Option-Shift-0"),exec:function(s){s.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:u("Ctrl-K","Command-G"),exec:function(s){s.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:u("Ctrl-Shift-K","Command-Shift-G"),exec:function(s){s.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:u("Alt-K","Ctrl-G"),exec:function(s){s.selection.isEmpty()?s.selection.selectWord():s.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:u("Alt-Shift-K","Ctrl-Shift-G"),exec:function(s){s.selection.isEmpty()?s.selection.selectWord():s.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:u("Ctrl-F","Command-F"),exec:function(s){y.loadModule("ace/ext/searchbox",function(r){r.Search(s)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(s){s.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:u("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(s){s.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:u("Ctrl-Home","Command-Home|Command-Up"),exec:function(s){s.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:u("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(s){s.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:u("Up","Up|Ctrl-P"),exec:function(s,r){s.navigateUp(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:u("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(s){s.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:u("Ctrl-End","Command-End|Command-Down"),exec:function(s){s.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:u("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(s){s.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:u("Down","Down|Ctrl-N"),exec:function(s,r){s.navigateDown(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:u("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(s){s.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:u("Ctrl-Left","Option-Left"),exec:function(s){s.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:u("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(s){s.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:u("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(s){s.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:u("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(s){s.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:u("Left","Left|Ctrl-B"),exec:function(s,r){s.navigateLeft(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:u("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(s){s.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:u("Ctrl-Right","Option-Right"),exec:function(s){s.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:u("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(s){s.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:u("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(s){s.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:u("Shift-Right","Shift-Right"),exec:function(s){s.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:u("Right","Right|Ctrl-F"),exec:function(s,r){s.navigateRight(r.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(s){s.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:u(null,"Option-PageDown"),exec:function(s){s.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:u("PageDown","PageDown|Ctrl-V"),exec:function(s){s.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(s){s.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:u(null,"Option-PageUp"),exec:function(s){s.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(s){s.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:u("Ctrl-Up",null),exec:function(s){s.renderer.scrollBy(0,-2*s.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:u("Ctrl-Down",null),exec:function(s){s.renderer.scrollBy(0,2*s.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(s){s.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(s){s.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:u("Ctrl-Alt-E","Command-Option-E"),exec:function(s){s.commands.toggleRecording(s)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:u("Ctrl-Shift-E","Command-Shift-E"),exec:function(s){s.commands.replay(s)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:u("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(s){s.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:u("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(s){s.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:u("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(s){s.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:u(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(s){},readOnly:!0},{name:"cut",description:"Cut",exec:function(s){var r=s.$copyWithEmptySelection&&s.selection.isEmpty(),n=r?s.selection.getLineRange():s.selection.getRange();s._emit("cut",n),n.isEmpty()||s.session.remove(n),s.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(s,r){s.$handlePaste(r)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:u("Ctrl-D","Command-D"),exec:function(s){s.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:u("Ctrl-Shift-D","Command-Shift-D"),exec:function(s){s.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:u("Ctrl-Alt-S","Command-Alt-S"),exec:function(s){s.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:u("Ctrl-/","Command-/"),exec:function(s){s.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:u("Ctrl-Shift-/","Command-Shift-/"),exec:function(s){s.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:u("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(s){s.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:u("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(s){s.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:u("Ctrl-H","Command-Option-F"),exec:function(s){y.loadModule("ace/ext/searchbox",function(r){r.Search(s,!0)})}},{name:"undo",description:"Undo",bindKey:u("Ctrl-Z","Command-Z"),exec:function(s){s.undo()}},{name:"redo",description:"Redo",bindKey:u("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(s){s.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:u("Alt-Shift-Up","Command-Option-Up"),exec:function(s){s.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:u("Alt-Up","Option-Up"),exec:function(s){s.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:u("Alt-Shift-Down","Command-Option-Down"),exec:function(s){s.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:u("Alt-Down","Option-Down"),exec:function(s){s.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:u("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(s){s.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:u("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(s){s.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:u("Shift-Delete",null),exec:function(s){if(s.selection.isEmpty())s.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:u("Alt-Backspace","Command-Backspace"),exec:function(s){s.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:u("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(s){s.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:u("Ctrl-Shift-Backspace",null),exec:function(s){var r=s.selection.getRange();r.start.column=0,s.session.remove(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:u("Ctrl-Shift-Delete",null),exec:function(s){var r=s.selection.getRange();r.end.column=Number.MAX_VALUE,s.session.remove(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:u("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(s){s.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:u("Ctrl-Delete","Alt-Delete"),exec:function(s){s.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:u("Shift-Tab","Shift-Tab"),exec:function(s){s.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:u("Tab","Tab"),exec:function(s){s.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:u("Ctrl-[","Ctrl-["),exec:function(s){s.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:u("Ctrl-]","Ctrl-]"),exec:function(s){s.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(s,r){s.insert(r)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(s,r){s.insert(x.stringRepeat(r.text||"",r.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:u(null,"Ctrl-O"),exec:function(s){s.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:u("Alt-Shift-X","Ctrl-T"),exec:function(s){s.transposeLetters()},multiSelectAction:function(s){s.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:u("Ctrl-U","Ctrl-U"),exec:function(s){s.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:u("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(s){s.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:u(null,null),exec:function(s){s.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:u("Ctrl-Shift-L","Command-Shift-L"),exec:function(s){var r=s.selection.getRange();r.start.column=r.end.column=0,r.end.row++,s.selection.setRange(r,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:u("Ctrl+F3","F3"),exec:function(s){s.openLink()}},{name:"joinlines",description:"Join lines",bindKey:u(null,null),exec:function(s){for(var r=s.selection.isBackwards(),n=r?s.selection.getSelectionLead():s.selection.getSelectionAnchor(),i=r?s.selection.getSelectionAnchor():s.selection.getSelectionLead(),t=s.session.doc.getLine(n.row).length,a=s.session.doc.getTextRange(s.selection.getRange()),c=a.replace(/\n\s*/," ").length,p=s.session.doc.getLine(n.row),v=n.row+1;v<=i.row+1;v++){var I=x.stringTrimLeft(x.stringTrimRight(s.session.doc.getLine(v)));I.length!==0&&(I=" "+I),p+=I}i.row+1<s.session.doc.getLength()-1&&(p+=s.session.doc.getNewLineCharacter()),s.clearSelection(),s.session.doc.replace(new _(n.row,0,i.row+2,0),p),c>0?(s.selection.moveCursorTo(n.row,n.column),s.selection.selectTo(n.row,n.column+c)):(t=s.session.doc.getLine(n.row).length>t?t+1:t,s.selection.moveCursorTo(n.row,t))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:u(null,null),exec:function(s){var r=s.session.doc.getLength()-1,n=s.session.doc.getLine(r).length,i=s.selection.rangeList.ranges,t=[];i.length<1&&(i=[s.selection.getRange()]);for(var a=0;a<i.length;a++)a==i.length-1&&(i[a].end.row===r&&i[a].end.column===n||t.push(new _(i[a].end.row,i[a].end.column,r,n))),a===0?i[a].start.row===0&&i[a].start.column===0||t.push(new _(0,0,i[a].start.row,i[a].start.column)):t.push(new _(i[a-1].end.row,i[a-1].end.column,i[a].start.row,i[a].start.column));s.exitMultiSelectMode(),s.clearSelection();for(var a=0;a<t.length;a++)s.selection.addRange(t[a],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(s){s.selection.clearSelection(),s.navigateLineEnd(),s.insert(`
201
+ `)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(s){s.selection.clearSelection();var r=s.getCursorPosition();s.selection.moveTo(r.row-1,Number.MAX_VALUE),s.insert(`
202
+ `),r.row===0&&s.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(s){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),s.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:u("F1","F1"),exec:function(s){s.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:u(null,null),exec:function(s){s.prompt({$type:"modes"})},readOnly:!0}];for(var d=1;d<9;d++)h.commands.push({name:"foldToLevel"+d,description:"Fold To Level "+d,level:d,exec:function(s){s.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(o,h,R){var x=o("./lib/dom"),y=function(){function _(u){this.session=u,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return _.prototype.getRowLength=function(u){var d;return this.lineWidgets?d=this.lineWidgets[u]&&this.lineWidgets[u].rowCount||0:d=0,!this.$useWrapMode||!this.$wrapData[u]?1+d:this.$wrapData[u].length+1+d},_.prototype.$getWidgetScreenLength=function(){var u=0;return this.lineWidgets.forEach(function(d){d&&d.rowCount&&!d.hidden&&(u+=d.rowCount)}),u},_.prototype.$onChangeEditor=function(u){this.attach(u.editor)},_.prototype.attach=function(u){u&&u.widgetManager&&u.widgetManager!=this&&u.widgetManager.detach(),this.editor!=u&&(this.detach(),this.editor=u,u&&(u.widgetManager=this,u.renderer.on("beforeRender",this.measureWidgets),u.renderer.on("afterRender",this.renderWidgets)))},_.prototype.detach=function(u){var d=this.editor;if(d){this.editor=null,d.widgetManager=null,d.renderer.off("beforeRender",this.measureWidgets),d.renderer.off("afterRender",this.renderWidgets);var s=this.session.lineWidgets;s&&s.forEach(function(r){r&&r.el&&r.el.parentNode&&(r._inDocument=!1,r.el.parentNode.removeChild(r.el))})}},_.prototype.updateOnFold=function(u,d){var s=d.lineWidgets;if(!(!s||!u.action)){for(var r=u.data,n=r.start.row,i=r.end.row,t=u.action=="add",a=n+1;a<i;a++)s[a]&&(s[a].hidden=t);s[i]&&(t?s[n]?s[i].hidden=t:s[n]=s[i]:(s[n]==s[i]&&(s[n]=void 0),s[i].hidden=t))}},_.prototype.updateOnChange=function(u){var d=this.session.lineWidgets;if(d){var s=u.start.row,r=u.end.row-s;if(r!==0)if(u.action=="remove"){var n=d.splice(s+1,r);!d[s]&&n[n.length-1]&&(d[s]=n.pop()),n.forEach(function(t){t&&this.removeLineWidget(t)},this),this.$updateRows()}else{var i=new Array(r);d[s]&&d[s].column!=null&&u.start.column>d[s].column&&s++,i.unshift(s,0),d.splice.apply(d,i),this.$updateRows()}}},_.prototype.$updateRows=function(){var u=this.session.lineWidgets;if(u){var d=!0;u.forEach(function(s,r){if(s)for(d=!1,s.row=r;s.$oldWidget;)s.$oldWidget.row=r,s=s.$oldWidget}),d&&(this.session.lineWidgets=null)}},_.prototype.$registerLineWidget=function(u){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var d=this.session.lineWidgets[u.row];return d&&(u.$oldWidget=d,d.el&&d.el.parentNode&&(d.el.parentNode.removeChild(d.el),d._inDocument=!1)),this.session.lineWidgets[u.row]=u,u},_.prototype.addLineWidget=function(u){if(this.$registerLineWidget(u),u.session=this.session,!this.editor)return u;var d=this.editor.renderer;u.html&&!u.el&&(u.el=x.createElement("div"),u.el.innerHTML=u.html),u.text&&!u.el&&(u.el=x.createElement("div"),u.el.textContent=u.text),u.el&&(x.addCssClass(u.el,"ace_lineWidgetContainer"),u.className&&x.addCssClass(u.el,u.className),u.el.style.position="absolute",u.el.style.zIndex="5",d.container.appendChild(u.el),u._inDocument=!0,u.coverGutter||(u.el.style.zIndex="3"),u.pixelHeight==null&&(u.pixelHeight=u.el.offsetHeight)),u.rowCount==null&&(u.rowCount=u.pixelHeight/d.layerConfig.lineHeight);var s=this.session.getFoldAt(u.row,0);if(u.$fold=s,s){var r=this.session.lineWidgets;u.row==s.end.row&&!r[s.start.row]?r[s.start.row]=u:u.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:u.row}}}),this.$updateRows(),this.renderWidgets(null,d),this.onWidgetChanged(u),u},_.prototype.removeLineWidget=function(u){if(u._inDocument=!1,u.session=null,u.el&&u.el.parentNode&&u.el.parentNode.removeChild(u.el),u.editor&&u.editor.destroy)try{u.editor.destroy()}catch{}if(this.session.lineWidgets){var d=this.session.lineWidgets[u.row];if(d==u)this.session.lineWidgets[u.row]=u.$oldWidget,u.$oldWidget&&this.onWidgetChanged(u.$oldWidget);else for(;d;){if(d.$oldWidget==u){d.$oldWidget=u.$oldWidget;break}d=d.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:u.row}}}),this.$updateRows()},_.prototype.getWidgetsAtRow=function(u){for(var d=this.session.lineWidgets,s=d&&d[u],r=[];s;)r.push(s),s=s.$oldWidget;return r},_.prototype.onWidgetChanged=function(u){this.session._changedWidgets.push(u),this.editor&&this.editor.renderer.updateFull()},_.prototype.measureWidgets=function(u,d){var s=this.session._changedWidgets,r=d.layerConfig;if(!(!s||!s.length)){for(var n=1/0,i=0;i<s.length;i++){var t=s[i];if(!(!t||!t.el)&&t.session==this.session){if(!t._inDocument){if(this.session.lineWidgets[t.row]!=t)continue;t._inDocument=!0,d.container.appendChild(t.el)}t.h=t.el.offsetHeight,t.fixedWidth||(t.w=t.el.offsetWidth,t.screenWidth=Math.ceil(t.w/r.characterWidth));var a=t.h/r.lineHeight;t.coverLine&&(a-=this.session.getRowLineCount(t.row),a<0&&(a=0)),t.rowCount!=a&&(t.rowCount=a,t.row<n&&(n=t.row))}}n!=1/0&&(this.session._emit("changeFold",{data:{start:{row:n}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},_.prototype.renderWidgets=function(u,d){var s=d.layerConfig,r=this.session.lineWidgets;if(r){for(var n=Math.min(this.firstRow,s.firstRow),i=Math.max(this.lastRow,s.lastRow,r.length);n>0&&!r[n];)n--;this.firstRow=s.firstRow,this.lastRow=s.lastRow,d.$cursorLayer.config=s;for(var t=n;t<=i;t++){var a=r[t];if(!(!a||!a.el)){if(a.hidden){a.el.style.top=-100-(a.pixelHeight||0)+"px";continue}a._inDocument||(a._inDocument=!0,d.container.appendChild(a.el));var c=d.$cursorLayer.getPixelPosition({row:t,column:0},!0).top;a.coverLine||(c+=s.lineHeight*this.session.getRowLineCount(a.row)),a.el.style.top=c-s.offset+"px";var p=a.coverGutter?0:d.gutterWidth;a.fixedWidth||(p-=d.scrollLeft),a.el.style.left=p+"px",a.fullWidth&&a.screenWidth&&(a.el.style.minWidth=s.width+2*s.padding+"px"),a.fixedWidth?a.el.style.right=d.scrollBar.getWidth()+"px":a.el.style.right=""}}}},_}();h.LineWidgets=y}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(o,h,R){var x=o("../lib/keys"),y=o("../mouse/default_gutter_handler").GutterTooltip,_=function(){function d(s){this.editor=s,this.gutterLayer=s.renderer.$gutterLayer,this.element=s.renderer.$gutter,this.lines=s.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new y(this.editor)}return d.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},d.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},d.prototype.$onGutterKeyDown=function(s){if(this.annotationTooltip.isOpen){s.preventDefault(),s.keyCode===x.escape&&this.annotationTooltip.hideTooltip();return}if(s.target===this.element){if(s.keyCode!=x.enter)return;s.preventDefault();var r=this.editor.getCursorPosition().row;this.editor.isRowVisible(r)||this.editor.scrollToLine(r,!0,!0),setTimeout((function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),i=this.$findNearestFoldWidget(n),t=this.$findNearestAnnotation(n);if(!(i===null&&t===null)){if(i===null&&t!==null){this.activeRowIndex=t,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(i!==null&&t===null){this.activeRowIndex=i,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(t-n)<Math.abs(i-n)){this.activeRowIndex=t,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}else{this.activeRowIndex=i,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(s),setTimeout((function(){this.editor._signal("gutterkeydown",new u(s,this))}).bind(this),10)},d.prototype.$handleGutterKeyboardInteraction=function(s){if(s.keyCode===x.tab){s.preventDefault();return}if(s.keyCode===x.escape){s.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(s.keyCode===x.up){switch(s.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(s.keyCode===x.down){switch(s.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(s.keyCode===x.left){s.preventDefault(),this.$switchLane("annotation");return}if(s.keyCode===x.right){s.preventDefault(),this.$switchLane("fold");return}if(s.keyCode===x.enter||s.keyCode===x.space){switch(s.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var r=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),s),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==r&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(r),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var n=this.lines.cells[this.activeRowIndex].element.childNodes[2],i=n.getBoundingClientRect(),t=this.annotationTooltip.getElement().style;t.left=i.right+"px",t.top=i.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},d.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},d.prototype.$isFoldWidgetVisible=function(s){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(s)),n=this.$getFoldWidget(s).style.display!=="none";return r&&n},d.prototype.$isAnnotationVisible=function(s){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(s)),n=this.$getAnnotation(s).style.display!=="none";return r&&n},d.prototype.$getFoldWidget=function(s){var r=this.lines.get(s),n=r.element;return n.childNodes[1]},d.prototype.$getAnnotation=function(s){var r=this.lines.get(s),n=r.element;return n.childNodes[2]},d.prototype.$findNearestFoldWidget=function(s){if(this.$isFoldWidgetVisible(s))return s;for(var r=0;s-r>0||s+r<this.lines.getLength()-1;){if(r++,s-r>=0&&this.$isFoldWidgetVisible(s-r))return s-r;if(s+r<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(s+r))return s+r}return null},d.prototype.$findNearestAnnotation=function(s){if(this.$isAnnotationVisible(s))return s;for(var r=0;s-r>0||s+r<this.lines.getLength()-1;){if(r++,s-r>=0&&this.$isAnnotationVisible(s-r))return s-r;if(s+r<=this.lines.getLength()-1&&this.$isAnnotationVisible(s+r))return s+r}return null},d.prototype.$focusFoldWidget=function(s){if(s!=null){var r=this.$getFoldWidget(s);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},d.prototype.$focusAnnotation=function(s){if(s!=null){var r=this.$getAnnotation(s);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},d.prototype.$blurFoldWidget=function(s){var r=this.$getFoldWidget(s);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},d.prototype.$blurAnnotation=function(s){var r=this.$getAnnotation(s);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},d.prototype.$moveFoldWidgetUp=function(){for(var s=this.activeRowIndex;s>0;)if(s--,this.$isFoldWidgetVisible(s)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=s,this.$focusFoldWidget(this.activeRowIndex);return}},d.prototype.$moveFoldWidgetDown=function(){for(var s=this.activeRowIndex;s<this.lines.getLength()-1;)if(s++,this.$isFoldWidgetVisible(s)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=s,this.$focusFoldWidget(this.activeRowIndex);return}},d.prototype.$moveAnnotationUp=function(){for(var s=this.activeRowIndex;s>0;)if(s--,this.$isAnnotationVisible(s)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=s,this.$focusAnnotation(this.activeRowIndex);return}},d.prototype.$moveAnnotationDown=function(){for(var s=this.activeRowIndex;s<this.lines.getLength()-1;)if(s++,this.$isAnnotationVisible(s)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=s,this.$focusAnnotation(this.activeRowIndex);return}},d.prototype.$switchLane=function(s){switch(s){case"annotation":if(this.activeLane==="annotation")break;var r=this.$findNearestAnnotation(this.activeRowIndex);if(r==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var n=this.$findNearestFoldWidget(this.activeRowIndex);if(n==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=n,this.$focusFoldWidget(this.activeRowIndex);break}},d.prototype.$rowIndexToRow=function(s){var r=this.lines.get(s);return r?r.row:null},d.prototype.$rowToRowIndex=function(s){for(var r=0;r<this.lines.getLength();r++){var n=this.lines.get(r);if(n.row==s)return r}return null},d}();h.GutterKeyboardHandler=_;var u=function(){function d(s,r){this.gutterKeyboardHandler=r,this.domEvent=s}return d.prototype.getKey=function(){return x.keyCodeToString(this.domEvent.keyCode)},d.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},d.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},d.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},d}();h.GutterKeyboardEvent=u}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/line_widgets","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys"],function(o,h,R){var x=this&&this.__values||function(T){var w=typeof Symbol=="function"&&Symbol.iterator,M=w&&T[w],D=0;if(M)return M.call(T);if(T&&typeof T.length=="number")return{next:function(){return T&&D>=T.length&&(T=void 0),{value:T&&T[D++],done:!T}}};throw new TypeError(w?"Object is not iterable.":"Symbol.iterator is not defined.")},y=o("./lib/oop"),_=o("./lib/dom"),u=o("./lib/lang"),d=o("./lib/useragent"),s=o("./keyboard/textinput").TextInput,r=o("./mouse/mouse_handler").MouseHandler,n=o("./mouse/fold_handler").FoldHandler,i=o("./keyboard/keybinding").KeyBinding,t=o("./edit_session").EditSession,a=o("./search").Search,c=o("./range").Range,p=o("./lib/event_emitter").EventEmitter,v=o("./commands/command_manager").CommandManager,I=o("./commands/default_commands").commands,C=o("./config"),b=o("./token_iterator").TokenIterator,m=o("./line_widgets").LineWidgets,$=o("./keyboard/gutter_handler").GutterKeyboardHandler,L=o("./config").nls,O=o("./clipboard"),A=o("./lib/keys"),E=function(){function T(w,M,D){this.session,this.$toDestroy=[];var F=w.getContainerElement();this.container=F,this.renderer=w,this.id="editor"+ ++T.$uid,this.commands=new v(d.isMac?"mac":"win",I),typeof document=="object"&&(this.textInput=new s(w.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new r(this),new n(this)),this.keyBinding=new i(this),this.$search=new a().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=u.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(B,H){H._$emitInputEvent.schedule(31)}),this.setSession(M||D&&D.session||new t("")),C.resetOptions(this),D&&this.setOptions(D),C._signal("editor",this)}return T.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},T.prototype.startOperation=function(w){this.session.startOperation(w)},T.prototype.endOperation=function(w){this.session.endOperation(w)},T.prototype.onStartOperation=function(w){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,w||(this.previousCommand=null)},T.prototype.onEndOperation=function(w){if(this.curOp&&this.session){if(w&&w.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var M=this.curOp.command,D=M&&M.scrollIntoView;if(D){switch(D){case"center-animate":D="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var F=this.selection.getRange(),B=this.renderer.layerConfig;(F.start.row>=B.lastRow||F.end.row<=B.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}D=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},T.prototype.$historyTracker=function(w){if(this.$mergeUndoDeltas){var M=this.prevOp,D=this.$mergeableCommands,F=M.command&&w.command.name==M.command.name;if(w.command.name=="insertstring"){var B=w.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),F=F&&this.mergeNextCommand&&(!/\s/.test(B)||/\s/.test(M.args)),this.mergeNextCommand=!0}else F=F&&D.indexOf(w.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(F=!1),F?this.session.mergeUndoDeltas=!0:D.indexOf(w.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},T.prototype.setKeyboardHandler=function(w,M){if(w&&typeof w=="string"&&w!="ace"){this.$keybindingId=w;var D=this;C.loadModule(["keybinding",w],function(F){D.$keybindingId==w&&D.keyBinding.setKeyboardHandler(F&&F.handler),M&&M()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(w),M&&M()},T.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},T.prototype.setSession=function(w){if(this.session!=w){this.curOp&&this.endOperation(),this.curOp={};var M=this.session;if(M){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var D=this.session.getSelection();D.off("changeCursor",this.$onCursorChange),D.off("changeSelection",this.$onSelectionChange)}this.session=w,w?(this.$onDocumentChange=this.onDocumentChange.bind(this),w.on("change",this.$onDocumentChange),this.renderer.setSession(w),this.$onChangeMode=this.onChangeMode.bind(this),w.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),w.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),w.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),w.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),w.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),w.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=w.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(w)),this._signal("changeSession",{session:w,oldSession:M}),this.curOp=null,M&&M._signal("changeEditor",{oldEditor:this}),w&&w._signal("changeEditor",{editor:this}),w&&!w.destroyed&&w.bgTokenizer.scheduleStart()}},T.prototype.getSession=function(){return this.session},T.prototype.setValue=function(w,M){return this.session.doc.setValue(w),M?M==1?this.navigateFileEnd():M==-1&&this.navigateFileStart():this.selectAll(),w},T.prototype.getValue=function(){return this.session.getValue()},T.prototype.getSelection=function(){return this.selection},T.prototype.resize=function(w){this.renderer.onResize(w)},T.prototype.setTheme=function(w,M){this.renderer.setTheme(w,M)},T.prototype.getTheme=function(){return this.renderer.getTheme()},T.prototype.setStyle=function(w){this.renderer.setStyle(w)},T.prototype.unsetStyle=function(w){this.renderer.unsetStyle(w)},T.prototype.getFontSize=function(){return this.getOption("fontSize")||_.computedStyle(this.container).fontSize},T.prototype.setFontSize=function(w){this.setOption("fontSize",w)},T.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var w=this;this.$highlightPending=!0,setTimeout(function(){w.$highlightPending=!1;var M=w.session;if(!(!M||M.destroyed)){M.$bracketHighlight&&(M.$bracketHighlight.markerIds.forEach(function(q){M.removeMarker(q)}),M.$bracketHighlight=null);var D=w.getCursorPosition(),F=w.getKeyboardHandler(),B=F&&F.$getDirectionForHighlight&&F.$getDirectionForHighlight(w),H=M.getMatchingBracketRanges(D,B);if(!H){var j=new b(M,D.row,D.column),Y=j.getCurrentToken();if(Y&&/\b(?:tag-open|tag-name)/.test(Y.type)){var X=M.getMatchingTags(D);X&&(H=[X.openTagName.isEmpty()?X.openTag:X.openTagName,X.closeTagName.isEmpty()?X.closeTag:X.closeTagName])}}if(!H&&M.$mode.getMatching&&(H=M.$mode.getMatching(w.session)),!H){w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide();return}var Q="ace_bracket";Array.isArray(H)?H.length==1&&(Q="ace_error_bracket"):H=[H],H.length==2&&(c.comparePoints(H[0].end,H[1].start)==0?H=[c.fromPoints(H[0].start,H[1].end)]:c.comparePoints(H[0].start,H[1].end)==0&&(H=[c.fromPoints(H[1].start,H[0].end)])),M.$bracketHighlight={ranges:H,markerIds:H.map(function(q){return M.addMarker(q,Q,"text")})},w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide()}},50)}},T.prototype.focus=function(){this.textInput.focus()},T.prototype.isFocused=function(){return this.textInput.isFocused()},T.prototype.blur=function(){this.textInput.blur()},T.prototype.onFocus=function(w){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",w))},T.prototype.onBlur=function(w){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",w))},T.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},T.prototype.onDocumentChange=function(w){var M=this.session.$useWrapMode,D=w.start.row==w.end.row?w.end.row:1/0;this.renderer.updateLines(w.start.row,D,M),this._signal("change",w),this.$cursorChange()},T.prototype.onTokenizerUpdate=function(w){var M=w.data;this.renderer.updateLines(M.first,M.last)},T.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},T.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},T.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},T.prototype.$updateHighlightActiveLine=function(){var w=this.getSession(),M;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(M=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(M=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(M=!1)),w.$highlightLineMarker&&!M)w.removeMarker(w.$highlightLineMarker.id),w.$highlightLineMarker=null;else if(!w.$highlightLineMarker&&M){var D=new c(M.row,M.column,M.row,1/0);D.id=w.addMarker(D,"ace_active-line","screenLine"),w.$highlightLineMarker=D}else M&&(w.$highlightLineMarker.start.row=M.row,w.$highlightLineMarker.end.row=M.row,w.$highlightLineMarker.start.column=M.column,w._signal("changeBackMarker"))},T.prototype.onSelectionChange=function(w){var M=this.session;if(M.$selectionMarker&&M.removeMarker(M.$selectionMarker),M.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var D=this.selection.getRange(),F=this.getSelectionStyle();M.$selectionMarker=M.addMarker(D,"ace_selection",F)}var B=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(B),this._signal("changeSelection")},T.prototype.$getSelectionHighLightRegexp=function(){var w=this.session,M=this.getSelectionRange();if(!(M.isEmpty()||M.isMultiLine())){var D=M.start.column,F=M.end.column,B=w.getLine(M.start.row),H=B.substring(D,F);if(!(H.length>5e3||!/[\w\d]/.test(H))){var j=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:H}),Y=B.substring(D-1,F+1);if(j.test(Y))return j}}},T.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},T.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},T.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},T.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},T.prototype.onChangeMode=function(w){this.renderer.updateText(),this._emit("changeMode",w)},T.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},T.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},T.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},T.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},T.prototype.getCopyText=function(){var w=this.getSelectedText(),M=this.session.doc.getNewLineCharacter(),D=!1;if(!w&&this.$copyWithEmptySelection){D=!0;for(var F=this.selection.getAllRanges(),B=0;B<F.length;B++){var H=F[B];B&&F[B-1].start.row==H.start.row||(w+=this.session.getLine(H.start.row)+M)}}var j={text:w};return this._signal("copy",j),O.lineMode=D?j.text:!1,j.text},T.prototype.onCopy=function(){this.commands.exec("copy",this)},T.prototype.onCut=function(){this.commands.exec("cut",this)},T.prototype.onPaste=function(w,M){var D={text:w,event:M};this.commands.exec("paste",this,D)},T.prototype.$handlePaste=function(w){typeof w=="string"&&(w={text:w}),this._signal("paste",w);var M=w.text,D=M===O.lineMode,F=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)D?F.insert({row:this.selection.lead.row,column:0},M):this.insert(M);else if(D)this.selection.rangeList.ranges.forEach(function(Q){F.insert({row:Q.start.row,column:0},M)});else{var B=M.split(/\r\n|\r|\n/),H=this.selection.rangeList.ranges,j=B.length==2&&(!B[0]||!B[1]);if(B.length!=H.length||j)return this.commands.exec("insertstring",this,M);for(var Y=H.length;Y--;){var X=H[Y];X.isEmpty()||F.remove(X),F.insert(X.start,B[Y])}}},T.prototype.execCommand=function(w,M){return this.commands.exec(w,this,M)},T.prototype.insert=function(w,M){var D=this.session,F=D.getMode(),B=this.getCursorPosition();if(this.getBehavioursEnabled()&&!M){var H=F.transformAction(D.getState(B.row),"insertion",this,D,w);H&&(w!==H.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),w=H.text)}if(w==" "&&(w=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&w.indexOf(`
203
+ `)==-1){var j=c.fromPoints(B,B);j.end.column+=w.length,this.session.remove(j)}}else{var j=this.getSelectionRange();B=this.session.remove(j),this.clearSelection()}if(w==`
204
+ `||w==`\r
205
+ `){var q=D.getLine(B.row);if(B.column>q.search(/\S|$/)){var Y=q.substr(B.column).search(/\S|$/);D.doc.removeInLine(B.row,B.column,B.column+Y)}}this.clearSelection();var X=B.column,Q=D.getState(B.row),q=D.getLine(B.row),ee=F.checkOutdent(Q,q,w);if(D.insert(B,w),H&&H.selection&&(H.selection.length==2?this.selection.setSelectionRange(new c(B.row,X+H.selection[0],B.row,X+H.selection[1])):this.selection.setSelectionRange(new c(B.row+H.selection[0],H.selection[1],B.row+H.selection[2],H.selection[3]))),this.$enableAutoIndent){if(D.getDocument().isNewLine(w)){var ie=F.getNextLineIndent(Q,q.slice(0,B.column),D.getTabString());D.insert({row:B.row+1,column:0},ie)}ee&&F.autoOutdent(Q,D,B.row)}},T.prototype.autoIndent=function(){for(var w=this.session,M=w.getMode(),D=this.selection.isEmpty()?[new c(0,0,w.doc.getLength()-1,0)]:this.selection.getAllRanges(),F="",B="",H="",j=w.getTabString(),Y=0;Y<D.length;Y++)for(var X=D[Y].start.row,Q=D[Y].end.row,q=X;q<=Q;q++){q>0&&(F=w.getState(q-1),B=w.getLine(q-1),H=M.getNextLineIndent(F,B,j));var ee=w.getLine(q),ie=M.$getIndent(ee);if(H!==ie){if(ie.length>0){var ae=new c(q,0,q,ie.length);w.remove(ae)}H.length>0&&w.insert({row:q,column:0},H)}M.autoOutdent(F,w,q)}},T.prototype.onTextInput=function(w,M){if(!M)return this.keyBinding.onTextInput(w);this.startOperation({command:{name:"insertstring"}});var D=this.applyComposition.bind(this,w,M);this.selection.rangeCount?this.forEachSelection(D):D(),this.endOperation()},T.prototype.applyComposition=function(w,M){if(M.extendLeft||M.extendRight){var D=this.selection.getRange();D.start.column-=M.extendLeft,D.end.column+=M.extendRight,D.start.column<0&&(D.start.row--,D.start.column+=this.session.getLine(D.start.row).length+1),this.selection.setRange(D),!w&&!D.isEmpty()&&this.remove()}if((w||!this.selection.isEmpty())&&this.insert(w,!0),M.restoreStart||M.restoreEnd){var D=this.selection.getRange();D.start.column-=M.restoreStart,D.end.column-=M.restoreEnd,this.selection.setRange(D)}},T.prototype.onCommandKey=function(w,M,D){return this.keyBinding.onCommandKey(w,M,D)},T.prototype.setOverwrite=function(w){this.session.setOverwrite(w)},T.prototype.getOverwrite=function(){return this.session.getOverwrite()},T.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},T.prototype.setScrollSpeed=function(w){this.setOption("scrollSpeed",w)},T.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},T.prototype.setDragDelay=function(w){this.setOption("dragDelay",w)},T.prototype.getDragDelay=function(){return this.getOption("dragDelay")},T.prototype.setSelectionStyle=function(w){this.setOption("selectionStyle",w)},T.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},T.prototype.setHighlightActiveLine=function(w){this.setOption("highlightActiveLine",w)},T.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},T.prototype.setHighlightGutterLine=function(w){this.setOption("highlightGutterLine",w)},T.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},T.prototype.setHighlightSelectedWord=function(w){this.setOption("highlightSelectedWord",w)},T.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},T.prototype.setAnimatedScroll=function(w){this.renderer.setAnimatedScroll(w)},T.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},T.prototype.setShowInvisibles=function(w){this.renderer.setShowInvisibles(w)},T.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},T.prototype.setDisplayIndentGuides=function(w){this.renderer.setDisplayIndentGuides(w)},T.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},T.prototype.setHighlightIndentGuides=function(w){this.renderer.setHighlightIndentGuides(w)},T.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},T.prototype.setShowPrintMargin=function(w){this.renderer.setShowPrintMargin(w)},T.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},T.prototype.setPrintMarginColumn=function(w){this.renderer.setPrintMarginColumn(w)},T.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},T.prototype.setReadOnly=function(w){this.setOption("readOnly",w)},T.prototype.getReadOnly=function(){return this.getOption("readOnly")},T.prototype.setBehavioursEnabled=function(w){this.setOption("behavioursEnabled",w)},T.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},T.prototype.setWrapBehavioursEnabled=function(w){this.setOption("wrapBehavioursEnabled",w)},T.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},T.prototype.setShowFoldWidgets=function(w){this.setOption("showFoldWidgets",w)},T.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},T.prototype.setFadeFoldWidgets=function(w){this.setOption("fadeFoldWidgets",w)},T.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},T.prototype.remove=function(w){this.selection.isEmpty()&&(w=="left"?this.selection.selectLeft():this.selection.selectRight());var M=this.getSelectionRange();if(this.getBehavioursEnabled()){var D=this.session,F=D.getState(M.start.row),B=D.getMode().transformAction(F,"deletion",this,D,M);if(M.end.column===0){var H=D.getTextRange(M);if(H[H.length-1]==`
206
+ `){var j=D.getLine(M.end.row);/^\s+$/.test(j)&&(M.end.column=j.length)}}B&&(M=B)}this.session.remove(M),this.clearSelection()},T.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},T.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},T.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},T.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var w=this.getSelectionRange();w.start.column==w.end.column&&w.start.row==w.end.row&&(w.end.column=0,w.end.row++),this.session.remove(w),this.clearSelection()},T.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var w=this.getCursorPosition();this.insert(`
207
+ `),this.moveCursorToPosition(w)},T.prototype.setGhostText=function(w,M){this.session.widgetManager||(this.session.widgetManager=new m(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(w,M)},T.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},T.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var w=this.getCursorPosition(),M=w.column;if(M!==0){var D=this.session.getLine(w.row),F,B;M<D.length?(F=D.charAt(M)+D.charAt(M-1),B=new c(w.row,M-1,w.row,M+1)):(F=D.charAt(M-1)+D.charAt(M-2),B=new c(w.row,M-2,w.row,M)),this.session.replace(B,F),this.session.selection.moveToPosition(B.end)}}},T.prototype.toLowerCase=function(){var w=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var M=this.getSelectionRange(),D=this.session.getTextRange(M);this.session.replace(M,D.toLowerCase()),this.selection.setSelectionRange(w)},T.prototype.toUpperCase=function(){var w=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var M=this.getSelectionRange(),D=this.session.getTextRange(M);this.session.replace(M,D.toUpperCase()),this.selection.setSelectionRange(w)},T.prototype.indent=function(){var w=this.session,M=this.getSelectionRange();if(M.start.row<M.end.row){var D=this.$getSelectedRows();w.indentRows(D.first,D.last," ");return}else if(M.start.column<M.end.column){var F=w.getTextRange(M);if(!/^\s+$/.test(F)){var D=this.$getSelectedRows();w.indentRows(D.first,D.last," ");return}}var B=w.getLine(M.start.row),H=M.start,j=w.getTabSize(),Y=w.documentToScreenColumn(H.row,H.column);if(this.session.getUseSoftTabs())var X=j-Y%j,Q=u.stringRepeat(" ",X);else{for(var X=Y%j;B[M.start.column-1]==" "&&X;)M.start.column--,X--;this.selection.setSelectionRange(M),Q=" "}return this.insert(Q)},T.prototype.blockIndent=function(){var w=this.$getSelectedRows();this.session.indentRows(w.first,w.last," ")},T.prototype.blockOutdent=function(){var w=this.session.getSelection();this.session.outdentRows(w.getRange())},T.prototype.sortLines=function(){for(var w=this.$getSelectedRows(),M=this.session,D=[],F=w.first;F<=w.last;F++)D.push(M.getLine(F));D.sort(function(j,Y){return j.toLowerCase()<Y.toLowerCase()?-1:j.toLowerCase()>Y.toLowerCase()?1:0});for(var B=new c(0,0,0,0),F=w.first;F<=w.last;F++){var H=M.getLine(F);B.start.row=F,B.end.row=F,B.end.column=H.length,M.replace(B,D[F-w.first])}},T.prototype.toggleCommentLines=function(){var w=this.session.getState(this.getCursorPosition().row),M=this.$getSelectedRows();this.session.getMode().toggleCommentLines(w,this.session,M.first,M.last)},T.prototype.toggleBlockComment=function(){var w=this.getCursorPosition(),M=this.session.getState(w.row),D=this.getSelectionRange();this.session.getMode().toggleBlockComment(M,this.session,D,w)},T.prototype.getNumberAt=function(w,M){var D=/[\-]?[0-9]+(?:\.[0-9]+)?/g;D.lastIndex=0;for(var F=this.session.getLine(w);D.lastIndex<M;){var B=D.exec(F);if(B.index<=M&&B.index+B[0].length>=M){var H={value:B[0],start:B.index,end:B.index+B[0].length};return H}}return null},T.prototype.modifyNumber=function(w){var M=this.selection.getCursor().row,D=this.selection.getCursor().column,F=new c(M,D-1,M,D),B=this.session.getTextRange(F);if(!isNaN(parseFloat(B))&&isFinite(B)){var H=this.getNumberAt(M,D);if(H){var j=H.value.indexOf(".")>=0?H.start+H.value.indexOf(".")+1:H.end,Y=H.start+H.value.length-j,X=parseFloat(H.value);X*=Math.pow(10,Y),j!==H.end&&D<j?w*=Math.pow(10,H.end-D-1):w*=Math.pow(10,H.end-D),X+=w,X/=Math.pow(10,Y);var Q=X.toFixed(Y),q=new c(M,H.start,M,H.end);this.session.replace(q,Q),this.moveCursorTo(M,Math.max(H.start+1,D+Q.length-H.value.length))}}else this.toggleWord()},T.prototype.toggleWord=function(){var w=this.selection.getCursor().row,M=this.selection.getCursor().column;this.selection.selectWord();var D=this.getSelectedText(),F=this.selection.getWordRange().start.column,B=D.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),H=M-F-1;H<0&&(H=0);var j=0,Y=0,X=this;D.match(/[A-Za-z0-9_]+/)&&B.forEach(function(Ae,ze){Y=j+Ae.length,H>=j&&H<=Y&&(D=Ae,X.selection.clearSelection(),X.moveCursorTo(w,j+F),X.selection.selectTo(w,Y+F)),j=Y});for(var Q=this.$toggleWordPairs,q,ee=0;ee<Q.length;ee++)for(var ie=Q[ee],ae=0;ae<=1;ae++){var he=+!ae,de=D.match(new RegExp("^\\s?_?("+u.escapeRegExp(ie[ae])+")\\s?$","i"));if(de){var ye=D.match(new RegExp("([_]|^|\\s)("+u.escapeRegExp(de[1])+")($|\\s)","g"));ye&&(q=D.replace(new RegExp(u.escapeRegExp(ie[ae]),"i"),function(Ae){var ze=ie[he];return Ae.toUpperCase()==Ae?ze=ze.toUpperCase():Ae.charAt(0).toUpperCase()==Ae.charAt(0)&&(ze=ze.substr(0,0)+ie[he].charAt(0).toUpperCase()+ze.substr(1)),ze}),this.insert(q),q="")}}},T.prototype.findLinkAt=function(w,M){var D,F,B=this.session.getLine(w),H=B.split(/((?:https?|ftp):\/\/[\S]+)/),j=M;j<0&&(j=0);var Y=0,X=0,Q;try{for(var q=x(H),ee=q.next();!ee.done;ee=q.next()){var ie=ee.value;if(X=Y+ie.length,j>=Y&&j<=X&&ie.match(/((?:https?|ftp):\/\/[\S]+)/)){Q=ie.replace(/[\s:.,'";}\]]+$/,"");break}Y=X}}catch(ae){D={error:ae}}finally{try{ee&&!ee.done&&(F=q.return)&&F.call(q)}finally{if(D)throw D.error}}return Q},T.prototype.openLink=function(){var w=this.selection.getCursor(),M=this.findLinkAt(w.row,w.column);return M&&window.open(M,"_blank"),M!=null},T.prototype.removeLines=function(){var w=this.$getSelectedRows();this.session.removeFullLines(w.first,w.last),this.clearSelection()},T.prototype.duplicateSelection=function(){var w=this.selection,M=this.session,D=w.getRange(),F=w.isBackwards();if(D.isEmpty()){var B=D.start.row;M.duplicateLines(B,B)}else{var H=F?D.start:D.end,j=M.insert(H,M.getTextRange(D));D.start=H,D.end=j,w.setSelectionRange(D,F)}},T.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},T.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},T.prototype.moveText=function(w,M,D){return this.session.moveText(w,M,D)},T.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},T.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},T.prototype.$moveLines=function(w,M){var D,F,B=this.selection;if(!B.inMultiSelectMode||this.inVirtualSelectionMode){var H=B.toOrientedRange();D=this.$getSelectedRows(H),F=this.session.$moveLines(D.first,D.last,M?0:w),M&&w==-1&&(F=0),H.moveBy(F,0),B.fromOrientedRange(H)}else{var j=B.rangeList.ranges;B.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var Y=0,X=0,Q=j.length,q=0;q<Q;q++){var ee=q;j[q].moveBy(Y,0),D=this.$getSelectedRows(j[q]);for(var ie=D.first,ae=D.last;++q<Q;){X&&j[q].moveBy(X,0);var he=this.$getSelectedRows(j[q]);if(M&&he.first!=ae)break;if(!M&&he.first>ae+1)break;ae=he.last}for(q--,Y=this.session.$moveLines(ie,ae,M?0:w),M&&w==-1&&(ee=q+1);ee<=q;)j[ee].moveBy(Y,0),ee++;M||(Y=0),X+=Y}B.fromOrientedRange(B.ranges[0]),B.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},T.prototype.$getSelectedRows=function(w){return w=(w||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(w.start.row),last:this.session.getRowFoldEnd(w.end.row)}},T.prototype.onCompositionStart=function(w){this.renderer.showComposition(w)},T.prototype.onCompositionUpdate=function(w){this.renderer.setCompositionText(w)},T.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},T.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},T.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},T.prototype.isRowVisible=function(w){return w>=this.getFirstVisibleRow()&&w<=this.getLastVisibleRow()},T.prototype.isRowFullyVisible=function(w){return w>=this.renderer.getFirstFullyVisibleRow()&&w<=this.renderer.getLastFullyVisibleRow()},T.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},T.prototype.$moveByPage=function(w,M){var D=this.renderer,F=this.renderer.layerConfig,B=w*Math.floor(F.height/F.lineHeight);M===!0?this.selection.$moveSelection(function(){this.moveCursorBy(B,0)}):M===!1&&(this.selection.moveCursorBy(B,0),this.selection.clearSelection());var H=D.scrollTop;D.scrollBy(0,B*F.lineHeight),M!=null&&D.scrollCursorIntoView(null,.5),D.animateScrolling(H)},T.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},T.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},T.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},T.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},T.prototype.scrollPageDown=function(){this.$moveByPage(1)},T.prototype.scrollPageUp=function(){this.$moveByPage(-1)},T.prototype.scrollToRow=function(w){this.renderer.scrollToRow(w)},T.prototype.scrollToLine=function(w,M,D,F){this.renderer.scrollToLine(w,M,D,F)},T.prototype.centerSelection=function(){var w=this.getSelectionRange(),M={row:Math.floor(w.start.row+(w.end.row-w.start.row)/2),column:Math.floor(w.start.column+(w.end.column-w.start.column)/2)};this.renderer.alignCursor(M,.5)},T.prototype.getCursorPosition=function(){return this.selection.getCursor()},T.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},T.prototype.getSelectionRange=function(){return this.selection.getRange()},T.prototype.selectAll=function(){this.selection.selectAll()},T.prototype.clearSelection=function(){this.selection.clearSelection()},T.prototype.moveCursorTo=function(w,M){this.selection.moveCursorTo(w,M)},T.prototype.moveCursorToPosition=function(w){this.selection.moveCursorToPosition(w)},T.prototype.jumpToMatching=function(w,M){var D=this.getCursorPosition(),F=new b(this.session,D.row,D.column),B=F.getCurrentToken(),H=0;B&&B.type.indexOf("tag-name")!==-1&&(B=F.stepBackward());var j=B||F.stepForward();if(j){var Y,X=!1,Q={},q=D.column-j.start,ee,ie={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(j.value.match(/[{}()\[\]]/g)){for(;q<j.value.length&&!X;q++)if(ie[j.value[q]])switch(ee=ie[j.value[q]]+"."+j.type.replace("rparen","lparen"),isNaN(Q[ee])&&(Q[ee]=0),j.value[q]){case"(":case"[":case"{":Q[ee]++;break;case")":case"]":case"}":Q[ee]--,Q[ee]===-1&&(Y="bracket",X=!0);break}}else j.type.indexOf("tag-name")!==-1&&(isNaN(Q[j.value])&&(Q[j.value]=0),B.value==="<"&&H>1?Q[j.value]++:B.value==="</"&&Q[j.value]--,Q[j.value]===-1&&(Y="tag",X=!0));X||(B=j,H++,j=F.stepForward(),q=0)}while(j&&!X);if(Y){var ae,he;if(Y==="bracket")ae=this.session.getBracketRange(D),ae||(ae=new c(F.getCurrentTokenRow(),F.getCurrentTokenColumn()+q-1,F.getCurrentTokenRow(),F.getCurrentTokenColumn()+q-1),he=ae.start,(M||he.row===D.row&&Math.abs(he.column-D.column)<2)&&(ae=this.session.getBracketRange(he)));else if(Y==="tag"){if(!j||j.type.indexOf("tag-name")===-1)return;if(ae=new c(F.getCurrentTokenRow(),F.getCurrentTokenColumn()-2,F.getCurrentTokenRow(),F.getCurrentTokenColumn()-2),ae.compare(D.row,D.column)===0){var de=this.session.getMatchingTags(D);de&&(de.openTag.contains(D.row,D.column)?(ae=de.closeTag,he=ae.start):(ae=de.openTag,de.closeTag.start.row===D.row&&de.closeTag.start.column===D.column?he=ae.end:he=ae.start))}he=he||ae.start}he=ae&&ae.cursor||he,he&&(w?ae&&M?this.selection.setRange(ae):ae&&ae.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(he.row,he.column):this.selection.moveTo(he.row,he.column))}}},T.prototype.gotoLine=function(w,M,D){this.selection.clearSelection(),this.session.unfold({row:w-1,column:M||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(w-1,M||0),this.isRowFullyVisible(w-1)||this.scrollToLine(w-1,!0,D)},T.prototype.navigateTo=function(w,M){this.selection.moveTo(w,M)},T.prototype.navigateUp=function(w){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var M=this.selection.anchor.getPosition();return this.moveCursorToPosition(M)}this.selection.clearSelection(),this.selection.moveCursorBy(-w||-1,0)},T.prototype.navigateDown=function(w){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var M=this.selection.anchor.getPosition();return this.moveCursorToPosition(M)}this.selection.clearSelection(),this.selection.moveCursorBy(w||1,0)},T.prototype.navigateLeft=function(w){if(this.selection.isEmpty())for(w=w||1;w--;)this.selection.moveCursorLeft();else{var M=this.getSelectionRange().start;this.moveCursorToPosition(M)}this.clearSelection()},T.prototype.navigateRight=function(w){if(this.selection.isEmpty())for(w=w||1;w--;)this.selection.moveCursorRight();else{var M=this.getSelectionRange().end;this.moveCursorToPosition(M)}this.clearSelection()},T.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},T.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},T.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},T.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},T.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},T.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},T.prototype.replace=function(w,M){M&&this.$search.set(M);var D=this.$search.find(this.session),F=0;return D&&(this.$tryReplace(D,w)&&(F=1),this.selection.setSelectionRange(D),this.renderer.scrollSelectionIntoView(D.start,D.end)),F},T.prototype.replaceAll=function(w,M){M&&this.$search.set(M);var D=this.$search.findAll(this.session),F=0;if(!D.length)return F;var B=this.getSelectionRange();this.selection.moveTo(0,0);for(var H=D.length-1;H>=0;--H)this.$tryReplace(D[H],w)&&F++;return this.selection.setSelectionRange(B),F},T.prototype.$tryReplace=function(w,M){var D=this.session.getTextRange(w);return M=this.$search.replace(D,M),M!==null?(w.end=this.session.replace(w,M),w):null},T.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},T.prototype.find=function(w,M,D){M||(M={}),typeof w=="string"||w instanceof RegExp?M.needle=w:typeof w=="object"&&y.mixin(M,w);var F=this.selection.getRange();M.needle==null&&(w=this.session.getTextRange(F)||this.$search.$options.needle,w||(F=this.session.getWordRange(F.start.row,F.start.column),w=this.session.getTextRange(F)),this.$search.set({needle:w})),this.$search.set(M),M.start||this.$search.set({start:F});var B=this.$search.find(this.session);if(M.preventScroll)return B;if(B)return this.revealRange(B,D),B;M.backwards?F.start=F.end:F.end=F.start,this.selection.setRange(F)},T.prototype.findNext=function(w,M){this.find({skipCurrent:!0,backwards:!1},w,M)},T.prototype.findPrevious=function(w,M){this.find(w,{skipCurrent:!0,backwards:!0},M)},T.prototype.revealRange=function(w,M){this.session.unfold(w),this.selection.setSelectionRange(w);var D=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(w.start,w.end,.5),M!==!1&&this.renderer.animateScrolling(D)},T.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},T.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},T.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(w){w.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},T.prototype.setAutoScrollEditorIntoView=function(w){if(w){var M,D=this,F=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var B=this.$scrollAnchor;B.style.cssText="position:absolute",this.container.insertBefore(B,this.container.firstChild);var H=this.on("changeSelection",function(){F=!0}),j=this.renderer.on("beforeRender",function(){F&&(M=D.renderer.container.getBoundingClientRect())}),Y=this.renderer.on("afterRender",function(){if(F&&M&&(D.isFocused()||D.searchBox&&D.searchBox.isFocused())){var X=D.renderer,Q=X.$cursorLayer.$pixelPos,q=X.layerConfig,ee=Q.top-q.offset;Q.top>=0&&ee+M.top<0?F=!0:Q.top<q.height&&Q.top+M.top+q.lineHeight>window.innerHeight?F=!1:F=null,F!=null&&(B.style.top=ee+"px",B.style.left=Q.left+"px",B.style.height=q.lineHeight+"px",B.scrollIntoView(F)),F=M=null}});this.setAutoScrollEditorIntoView=function(X){X||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",H),this.renderer.off("afterRender",Y),this.renderer.off("beforeRender",j))}}},T.prototype.$resetCursorStyle=function(){var w=this.$cursorStyle||"ace",M=this.renderer.$cursorLayer;M&&(M.setSmoothBlinking(/smooth/.test(w)),M.isBlinking=!this.$readOnly&&w!="wide",_.setCssClass(M.element,"ace_slim-cursors",/slim/.test(w)))},T.prototype.prompt=function(w,M,D){var F=this;C.loadModule("ace/ext/prompt",function(B){B.prompt(F,w,M,D)})},T}();E.$uid=0,E.prototype.curOp=null,E.prototype.prevOp={},E.prototype.$mergeableCommands=["backspace","del","insertstring"],E.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],y.implement(E.prototype,p),C.defineOptions(E.prototype,"editor",{selectionStyle:{set:function(T){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:T})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(T){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(T){this.textInput.setReadOnly(T),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(T){this.textInput.setCopyWithEmptySelection(T)},initialValue:!1},cursorStyle:{set:function(T){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(T){this.setAutoScrollEditorIntoView(T)}},keyboardHandler:{set:function(T){this.setKeyboardHandler(T)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(T){this.session.setValue(T)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(T){this.setSession(T)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(T){this.renderer.$gutterLayer.setShowLineNumbers(T),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),T&&this.$relativeLineNumbers?k.attach(this):k.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(T){this.$showLineNumbers&&T?k.attach(this):k.detach(this)}},placeholder:{set:function(T){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var w=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(w&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),_.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!w&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),_.addCssClass(this.container,"ace_hasPlaceholder");var M=_.createElement("div");M.className="ace_placeholder",M.textContent=this.$placeholder||"",this.renderer.placeholderNode=M,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!w&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(T){var w={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(F){F.blur(),F.renderer.scroller.focus()},readOnly:!0},M=function(F){if(F.target==this.renderer.scroller&&F.keyCode===A.enter){F.preventDefault();var B=this.getCursorPosition().row;this.isRowVisible(B)||this.scrollToLine(B,!0,!0),this.focus()}},D;T?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(d.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",L("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",L("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",M.bind(this)),this.commands.addCommand(w),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",L("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",L("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),D||(D=new $(this)),D.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",M.bind(this)),this.commands.removeCommand(w),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),D&&D.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(T){this.$textInputAriaLabel=T},initialValue:""},enableMobileMenu:{set:function(T){this.$enableMobileMenu=T},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var k={getText:function(T,w){return(Math.abs(T.selection.lead.row-w)||w+1+(w<9?"·":""))+""},getWidth:function(T,w,M){return Math.max(w.toString().length,(M.lastRow+1).toString().length,2)*M.characterWidth},update:function(T,w){w.renderer.$loop.schedule(w.renderer.CHANGE_GUTTER)},attach:function(T){T.renderer.$gutterLayer.$renderer=this,T.on("changeSelection",this.update),this.update(null,T)},detach:function(T){T.renderer.$gutterLayer.$renderer==this&&(T.renderer.$gutterLayer.$renderer=null),T.off("changeSelection",this.update),this.update(null,T)}};h.Editor=E}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(o,h,R){var x=o("../lib/dom"),y=function(){function _(u,d){this.element=u,this.canvasHeight=d||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return _.prototype.moveContainer=function(u){x.translate(this.element,0,-(u.firstRowScreen*u.lineHeight%this.canvasHeight)-u.offset*this.$offsetCoefficient)},_.prototype.pageChanged=function(u,d){return Math.floor(u.firstRowScreen*u.lineHeight/this.canvasHeight)!==Math.floor(d.firstRowScreen*d.lineHeight/this.canvasHeight)},_.prototype.computeLineTop=function(u,d,s){var r=d.firstRowScreen*d.lineHeight,n=Math.floor(r/this.canvasHeight),i=s.documentToScreenRow(u,0)*d.lineHeight;return i-n*this.canvasHeight},_.prototype.computeLineHeight=function(u,d,s){return d.lineHeight*s.getRowLineCount(u)},_.prototype.getLength=function(){return this.cells.length},_.prototype.get=function(u){return this.cells[u]},_.prototype.shift=function(){this.$cacheCell(this.cells.shift())},_.prototype.pop=function(){this.$cacheCell(this.cells.pop())},_.prototype.push=function(u){if(Array.isArray(u)){this.cells.push.apply(this.cells,u);for(var d=x.createFragment(this.element),s=0;s<u.length;s++)d.appendChild(u[s].element);this.element.appendChild(d)}else this.cells.push(u),this.element.appendChild(u.element)},_.prototype.unshift=function(u){if(Array.isArray(u)){this.cells.unshift.apply(this.cells,u);for(var d=x.createFragment(this.element),s=0;s<u.length;s++)d.appendChild(u[s].element);this.element.firstChild?this.element.insertBefore(d,this.element.firstChild):this.element.appendChild(d)}else this.cells.unshift(u),this.element.insertAdjacentElement("afterbegin",u.element)},_.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},_.prototype.$cacheCell=function(u){u&&(u.element.remove(),this.cellCache.push(u))},_.prototype.createCell=function(u,d,s,r){var n=this.cellCache.pop();if(!n){var i=x.createElement("div");r&&r(i),this.element.appendChild(i),n={element:i,text:"",row:u}}return n.row=u,n},_}();h.Lines=y}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(o,h,R){var x=o("../lib/dom"),y=o("../lib/oop"),_=o("../lib/lang"),u=o("../lib/event_emitter").EventEmitter,d=o("./lines").Lines,s=o("../config").nls,r=function(){function i(t){this.element=x.createElement("div"),this.element.className="ace_layer ace_gutter-layer",t.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new d(this.element),this.$lines.$offsetCoefficient=1}return i.prototype.setSession=function(t){this.session&&this.session.off("change",this.$updateAnnotations),this.session=t,t&&t.on("change",this.$updateAnnotations)},i.prototype.addGutterDecoration=function(t,a){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(t,a)},i.prototype.removeGutterDecoration=function(t,a){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(t,a)},i.prototype.setAnnotations=function(t){this.$annotations=[];for(var a=0;a<t.length;a++){var c=t[a],p=c.row,v=this.$annotations[p];v||(v=this.$annotations[p]={text:[],type:[],displayText:[]});var I=c.text,C=c.text,b=c.type;I=I?_.escapeHTML(I):c.html||"",C=C||c.html||"",v.text.indexOf(I)===-1&&(v.text.push(I),v.type.push(b),v.displayText.push(C));var m=c.className;m?v.className=m:b==="error"?v.className=" ace_error":b==="security"&&!/\bace_error\b/.test(v.className)?v.className=" ace_security":b==="warning"&&!/\bace_(error|security)\b/.test(v.className)?v.className=" ace_warning":b==="info"&&!v.className?v.className=" ace_info":b==="hint"&&!v.className&&(v.className=" ace_hint")}},i.prototype.$updateAnnotations=function(t){if(this.$annotations.length){var a=t.start.row,c=t.end.row-a;if(c!==0)if(t.action=="remove")this.$annotations.splice(a,c+1,null);else{var p=new Array(c+1);p.unshift(a,1),this.$annotations.splice.apply(this.$annotations,p)}}},i.prototype.update=function(t){this.config=t;var a=this.session,c=t.firstRow,p=Math.min(t.lastRow+t.gutterOffset,a.getLength()-1);this.oldLastRow=p,this.config=t,this.$lines.moveContainer(t),this.$updateCursorRow();for(var v=a.getNextFoldLine(c),I=v?v.start.row:1/0,C=null,b=-1,m=c;;){if(m>I&&(m=v.end.row+1,v=a.getNextFoldLine(m,v),I=v?v.start.row:1/0),m>p){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}C=this.$lines.get(++b),C?C.row=m:(C=this.$lines.createCell(m,t,this.session,n),this.$lines.push(C)),this.$renderCell(C,t,v,m),m++}this._signal("afterRender"),this.$updateGutterWidth(t)},i.prototype.$updateGutterWidth=function(t){var a=this.session,c=a.gutterRenderer||this.$renderer,p=a.$firstLineNumber,v=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||a.$useWrapMode)&&(v=a.getLength()+p-1);var I=c?c.getWidth(a,v,t):v.toString().length*t.characterWidth,C=this.$padding||this.$computePadding();I+=C.left+C.right,I!==this.gutterWidth&&!isNaN(I)&&(this.gutterWidth=I,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",I))},i.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var t=this.session.selection.getCursor();this.$cursorRow!==t.row&&(this.$cursorRow=t.row)}},i.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var t=this.session.selection.cursor.row;if(this.$cursorRow=t,!(this.$cursorCell&&this.$cursorCell.row==t)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var a=this.$lines.cells;this.$cursorCell=null;for(var c=0;c<a.length;c++){var p=a[c];if(p.row>=this.$cursorRow){if(p.row>this.$cursorRow){var v=this.session.getFoldLine(this.$cursorRow);if(c>0&&v&&v.start.row==a[c-1].row)p=a[c-1];else break}p.element.className="ace_gutter-active-line "+p.element.className,this.$cursorCell=p;break}}}}},i.prototype.scrollLines=function(t){var a=this.config;if(this.config=t,this.$updateCursorRow(),this.$lines.pageChanged(a,t))return this.update(t);this.$lines.moveContainer(t);var c=Math.min(t.lastRow+t.gutterOffset,this.session.getLength()-1),p=this.oldLastRow;if(this.oldLastRow=c,!a||p<t.firstRow)return this.update(t);if(c<a.firstRow)return this.update(t);if(a.firstRow<t.firstRow)for(var v=this.session.getFoldedRowCount(a.firstRow,t.firstRow-1);v>0;v--)this.$lines.shift();if(p>c)for(var v=this.session.getFoldedRowCount(c+1,p);v>0;v--)this.$lines.pop();t.firstRow<a.firstRow&&this.$lines.unshift(this.$renderLines(t,t.firstRow,a.firstRow-1)),c>p&&this.$lines.push(this.$renderLines(t,p+1,c)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(t)},i.prototype.$renderLines=function(t,a,c){for(var p=[],v=a,I=this.session.getNextFoldLine(v),C=I?I.start.row:1/0;v>C&&(v=I.end.row+1,I=this.session.getNextFoldLine(v,I),C=I?I.start.row:1/0),!(v>c);){var b=this.$lines.createCell(v,t,this.session,n);this.$renderCell(b,t,I,v),p.push(b),v++}return p},i.prototype.$renderCell=function(t,a,c,p){var v=t.element,I=this.session,C=v.childNodes[0],b=v.childNodes[1],m=v.childNodes[2],$=m.firstChild,L=I.$firstLineNumber,O=I.$breakpoints,A=I.$decorations,E=I.gutterRenderer||this.$renderer,k=this.$showFoldWidgets&&I.foldWidgets,T=c?c.start.row:Number.MAX_VALUE,w=a.lineHeight+"px",M=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",D=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",F=(E?E.getText(I,p):p+L).toString();if(this.$highlightGutterLine&&(p==this.$cursorRow||c&&p<this.$cursorRow&&p>=T&&this.$cursorRow<=c.end.row)&&(M+="ace_gutter-active-line ",this.$cursorCell!=t&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=t)),O[p]&&(M+=O[p]),A[p]&&(M+=A[p]),this.$annotations[p]&&p!==T&&(M+=this.$annotations[p].className),k){var B=k[p];B==null&&(B=k[p]=I.getFoldWidget(p))}if(B){var H="ace_fold-widget ace_"+B,j=B=="start"&&p==T&&p<c.end.row;if(j){H+=" ace_closed";for(var Y="",X=!1,Q=p+1;Q<=c.end.row;Q++)if(this.$annotations[Q]){if(this.$annotations[Q].className===" ace_error"){X=!0,Y=" ace_error_fold";break}this.$annotations[Q].className===" ace_security"?(X=!0,Y=" ace_security_fold"):this.$annotations[Q].className===" ace_warning"&&Y!==" ace_security_fold"&&(X=!0,Y=" ace_warning_fold")}M+=Y}else H+=" ace_open";b.className!=H&&(b.className=H),x.setStyle(b.style,"height",w),x.setStyle(b.style,"display","inline-block"),b.setAttribute("role","button"),b.setAttribute("tabindex","-1");var q=I.getFoldWidgetRange(p);q?b.setAttribute("aria-label",s("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[q.start.row+1,q.end.row+1])):c?b.setAttribute("aria-label",s("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[c.start.row+1,c.end.row+1])):b.setAttribute("aria-label",s("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[p+1])),j?(b.setAttribute("aria-expanded","false"),b.setAttribute("title",s("gutter.code-folding.closed.title","Unfold code"))):(b.setAttribute("aria-expanded","true"),b.setAttribute("title",s("gutter.code-folding.open.title","Fold code")))}else b&&(x.setStyle(b.style,"display","none"),b.setAttribute("tabindex","0"),b.removeAttribute("role"),b.removeAttribute("aria-label"));if(X&&this.$showFoldedAnnotations){m.className="ace_gutter_annotation",$.className=D,$.className+=Y,x.setStyle($.style,"height",w),x.setStyle(m.style,"display","block"),x.setStyle(m.style,"height",w);var ee;switch(Y){case" ace_error_fold":ee=s("gutter.annotation.aria-label.error","Error, read annotations row $0",[F]);break;case" ace_security_fold":ee=s("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[F]);break;case" ace_warning_fold":ee=s("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[F]);break}m.setAttribute("aria-label",ee),m.setAttribute("tabindex","-1"),m.setAttribute("role","button")}else if(this.$annotations[p]){m.className="ace_gutter_annotation",$.className=D,this.$useSvgGutterIcons?$.className+=this.$annotations[p].className:v.classList.add(this.$annotations[p].className.replace(" ","")),x.setStyle($.style,"height",w),x.setStyle(m.style,"display","block"),x.setStyle(m.style,"height",w);var ee;switch(this.$annotations[p].className){case" ace_error":ee=s("gutter.annotation.aria-label.error","Error, read annotations row $0",[F]);break;case" ace_security":ee=s("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[F]);break;case" ace_warning":ee=s("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[F]);break;case" ace_info":ee=s("gutter.annotation.aria-label.info","Info, read annotations row $0",[F]);break;case" ace_hint":ee=s("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[F]);break}m.setAttribute("aria-label",ee),m.setAttribute("tabindex","-1"),m.setAttribute("role","button")}else x.setStyle(m.style,"display","none"),m.removeAttribute("aria-label"),m.removeAttribute("role"),m.setAttribute("tabindex","0");return F!==C.data&&(C.data=F),v.className!=M&&(v.className=M),x.setStyle(t.element.style,"height",this.$lines.computeLineHeight(p,a,I)+"px"),x.setStyle(t.element.style,"top",this.$lines.computeLineTop(p,a,I)+"px"),t.text=F,m.style.display==="none"&&b.style.display==="none"?t.element.setAttribute("aria-hidden",!0):t.element.setAttribute("aria-hidden",!1),t},i.prototype.setHighlightGutterLine=function(t){this.$highlightGutterLine=t},i.prototype.setShowLineNumbers=function(t){this.$renderer=!t&&{getWidth:function(){return 0},getText:function(){return""}}},i.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},i.prototype.setShowFoldWidgets=function(t){t?x.addCssClass(this.element,"ace_folding-enabled"):x.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=t,this.$padding=null},i.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},i.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var t=x.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(t.borderLeftWidth)||0)+(parseInt(t.paddingLeft)||0)+1,this.$padding.right=(parseInt(t.borderRightWidth)||0)+(parseInt(t.paddingRight)||0),this.$padding},i.prototype.getRegion=function(t){var a=this.$padding||this.$computePadding(),c=this.element.getBoundingClientRect();if(t.x<a.left+c.left)return"markers";if(this.$showFoldWidgets&&t.x>c.right-a.right)return"foldWidgets"},i}();r.prototype.$fixedWidth=!1,r.prototype.$highlightGutterLine=!0,r.prototype.$renderer="",r.prototype.$showLineNumbers=!0,r.prototype.$showFoldWidgets=!0,y.implement(r.prototype,u);function n(i){var t=document.createTextNode("");i.appendChild(t);var a=x.createElement("span");i.appendChild(a);var c=x.createElement("span");i.appendChild(c);var p=x.createElement("span");return c.appendChild(p),i}h.Gutter=r}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(o,h,R){var x=o("../range").Range,y=o("../lib/dom"),_=function(){function d(s){this.element=y.createElement("div"),this.element.className="ace_layer ace_marker-layer",s.appendChild(this.element)}return d.prototype.setPadding=function(s){this.$padding=s},d.prototype.setSession=function(s){this.session=s},d.prototype.setMarkers=function(s){this.markers=s},d.prototype.elt=function(s,r){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=r,n.className=s},d.prototype.update=function(s){if(s){this.config=s,this.i=0;var r;for(var n in this.markers){var i=this.markers[n];if(!i.range){i.update(r,this,this.session,s);continue}var t=i.range.clipRows(s.firstRow,s.lastRow);if(!t.isEmpty())if(t=t.toScreenRange(this.session),i.renderer){var a=this.$getTop(t.start.row,s),c=this.$padding+t.start.column*s.characterWidth;i.renderer(r,t,c,a,s)}else i.type=="fullLine"?this.drawFullLineMarker(r,t,i.clazz,s):i.type=="screenLine"?this.drawScreenLineMarker(r,t,i.clazz,s):t.isMultiLine()?i.type=="text"?this.drawTextMarker(r,t,i.clazz,s):this.drawMultiLineMarker(r,t,i.clazz,s):this.drawSingleLineMarker(r,t,i.clazz+" ace_start ace_br15",s)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},d.prototype.$getTop=function(s,r){return(s-r.firstRowScreen)*r.lineHeight},d.prototype.drawTextMarker=function(s,r,n,i,t){for(var a=this.session,c=r.start.row,p=r.end.row,v=c,I=0,C=0,b=a.getScreenLastRowColumn(v),m=new x(v,r.start.column,v,C);v<=p;v++)m.start.row=m.end.row=v,m.start.column=v==c?r.start.column:a.getRowWrapIndent(v),m.end.column=b,I=C,C=b,b=v+1<p?a.getScreenLastRowColumn(v+1):v==p?0:r.end.column,this.drawSingleLineMarker(s,m,n+(v==c?" ace_start":"")+" ace_br"+u(v==c||v==c+1&&r.start.column,I<C,C>b,v==p),i,v==p?0:1,t)},d.prototype.drawMultiLineMarker=function(s,r,n,i,t){var a=this.$padding,c=i.lineHeight,p=this.$getTop(r.start.row,i),v=a+r.start.column*i.characterWidth;if(t=t||"",this.session.$bidiHandler.isBidiRow(r.start.row)){var I=r.clone();I.end.row=I.start.row,I.end.column=this.session.getLine(I.start.row).length,this.drawBidiSingleLineMarker(s,I,n+" ace_br1 ace_start",i,null,t)}else this.elt(n+" ace_br1 ace_start","height:"+c+"px;right:"+a+"px;top:"+p+"px;left:"+v+"px;"+(t||""));if(this.session.$bidiHandler.isBidiRow(r.end.row)){var I=r.clone();I.start.row=I.end.row,I.start.column=0,this.drawBidiSingleLineMarker(s,I,n+" ace_br12",i,null,t)}else{p=this.$getTop(r.end.row,i);var C=r.end.column*i.characterWidth;this.elt(n+" ace_br12","height:"+c+"px;width:"+C+"px;top:"+p+"px;left:"+a+"px;"+(t||""))}if(c=(r.end.row-r.start.row-1)*i.lineHeight,!(c<=0)){p=this.$getTop(r.start.row+1,i);var b=(r.start.column?1:0)|(r.end.column?0:8);this.elt(n+(b?" ace_br"+b:""),"height:"+c+"px;right:"+a+"px;top:"+p+"px;left:"+a+"px;"+(t||""))}},d.prototype.drawSingleLineMarker=function(s,r,n,i,t,a){if(this.session.$bidiHandler.isBidiRow(r.start.row))return this.drawBidiSingleLineMarker(s,r,n,i,t,a);var c=i.lineHeight,p=(r.end.column+(t||0)-r.start.column)*i.characterWidth,v=this.$getTop(r.start.row,i),I=this.$padding+r.start.column*i.characterWidth;this.elt(n,"height:"+c+"px;width:"+p+"px;top:"+v+"px;left:"+I+"px;"+(a||""))},d.prototype.drawBidiSingleLineMarker=function(s,r,n,i,t,a){var c=i.lineHeight,p=this.$getTop(r.start.row,i),v=this.$padding,I=this.session.$bidiHandler.getSelections(r.start.column,r.end.column);I.forEach(function(C){this.elt(n,"height:"+c+"px;width:"+(C.width+(t||0))+"px;top:"+p+"px;left:"+(v+C.left)+"px;"+(a||""))},this)},d.prototype.drawFullLineMarker=function(s,r,n,i,t){var a=this.$getTop(r.start.row,i),c=i.lineHeight;r.start.row!=r.end.row&&(c+=this.$getTop(r.end.row,i)-a),this.elt(n,"height:"+c+"px;top:"+a+"px;left:0;right:0;"+(t||""))},d.prototype.drawScreenLineMarker=function(s,r,n,i,t){var a=this.$getTop(r.start.row,i),c=i.lineHeight;this.elt(n,"height:"+c+"px;top:"+a+"px;left:0;right:0;"+(t||""))},d}();_.prototype.$padding=0;function u(d,s,r,n){return(d?1:0)|(s?2:0)|(r?4:0)|(n?8:0)}h.Marker=_}),ace.define("ace/layer/text_util",["require","exports","module"],function(o,h,R){var x=new Set(["text","rparen","lparen"]);h.isTextToken=function(y){return x.has(y)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(o,h,R){var x=o("../lib/oop"),y=o("../lib/dom"),_=o("../lib/lang"),u=o("./lines").Lines,d=o("../lib/event_emitter").EventEmitter,s=o("../config").nls,r=o("./text_util").isTextToken,n=function(){function i(t){this.dom=y,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",t.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new u(this.element)}return i.prototype.$updateEolChar=function(){var t=this.session.doc,a=t.getNewLineCharacter()==`
208
+ `&&t.getNewLineMode()!="windows",c=a?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=c)return this.EOL_CHAR=c,!0},i.prototype.setPadding=function(t){this.$padding=t,this.element.style.margin="0 "+t+"px"},i.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},i.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},i.prototype.$setFontMetrics=function(t){this.$fontMetrics=t,this.$fontMetrics.on("changeCharacterSize",(function(a){this._signal("changeCharacterSize",a)}).bind(this)),this.$pollSizeChanges()},i.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},i.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},i.prototype.setSession=function(t){this.session=t,t&&this.$computeTabString()},i.prototype.setShowInvisibles=function(t){return this.showInvisibles==t?!1:(this.showInvisibles=t,typeof t=="string"?(this.showSpaces=/tab/i.test(t),this.showTabs=/space/i.test(t),this.showEOL=/eol/i.test(t)):this.showSpaces=this.showTabs=this.showEOL=t,this.$computeTabString(),!0)},i.prototype.setDisplayIndentGuides=function(t){return this.displayIndentGuides==t?!1:(this.displayIndentGuides=t,this.$computeTabString(),!0)},i.prototype.setHighlightIndentGuides=function(t){return this.$highlightIndentGuides===t?!1:(this.$highlightIndentGuides=t,t)},i.prototype.$computeTabString=function(){var t=this.session.getTabSize();this.tabSize=t;for(var a=this.$tabStrings=[0],c=1;c<t+1;c++)if(this.showTabs){var p=this.dom.createElement("span");p.className="ace_invisible ace_invisible_tab",p.textContent=_.stringRepeat(this.TAB_CHAR,c),a.push(p)}else a.push(this.dom.createTextNode(_.stringRepeat(" ",c),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var v="ace_indent-guide",I=this.showSpaces?" ace_invisible ace_invisible_space":"",C=this.showSpaces?_.stringRepeat(this.SPACE_CHAR,this.tabSize):_.stringRepeat(" ",this.tabSize),b=this.showTabs?" ace_invisible ace_invisible_tab":"",m=this.showTabs?_.stringRepeat(this.TAB_CHAR,this.tabSize):C,p=this.dom.createElement("span");p.className=v+I,p.textContent=C,this.$tabStrings[" "]=p;var p=this.dom.createElement("span");p.className=v+b,p.textContent=m,this.$tabStrings[" "]=p}},i.prototype.updateLines=function(t,a,c){if(this.config.lastRow!=t.lastRow||this.config.firstRow!=t.firstRow)return this.update(t);this.config=t;for(var p=Math.max(a,t.firstRow),v=Math.min(c,t.lastRow),I=this.element.childNodes,C=0,m=t.firstRow;m<p;m++){var $=this.session.getFoldLine(m);if($)if($.containsRow(p)){p=$.start.row;break}else m=$.end.row;C++}for(var b=!1,m=p,$=this.session.getNextFoldLine(m),L=$?$.start.row:1/0;m>L&&(m=$.end.row+1,$=this.session.getNextFoldLine(m,$),L=$?$.start.row:1/0),!(m>v);){var O=I[C++];if(O){this.dom.removeChildren(O),this.$renderLine(O,m,m==L?$:!1),b&&(O.style.top=this.$lines.computeLineTop(m,t,this.session)+"px");var A=t.lineHeight*this.session.getRowLength(m)+"px";O.style.height!=A&&(b=!0,O.style.height=A)}m++}if(b)for(;C<this.$lines.cells.length;){var E=this.$lines.cells[C++];E.element.style.top=this.$lines.computeLineTop(E.row,t,this.session)+"px"}},i.prototype.scrollLines=function(t){var a=this.config;if(this.config=t,this.$lines.pageChanged(a,t))return this.update(t);this.$lines.moveContainer(t);var c=t.lastRow,p=a?a.lastRow:-1;if(!a||p<t.firstRow)return this.update(t);if(c<a.firstRow)return this.update(t);if(!a||a.lastRow<t.firstRow)return this.update(t);if(t.lastRow<a.firstRow)return this.update(t);if(a.firstRow<t.firstRow)for(var v=this.session.getFoldedRowCount(a.firstRow,t.firstRow-1);v>0;v--)this.$lines.shift();if(a.lastRow>t.lastRow)for(var v=this.session.getFoldedRowCount(t.lastRow+1,a.lastRow);v>0;v--)this.$lines.pop();t.firstRow<a.firstRow&&this.$lines.unshift(this.$renderLinesFragment(t,t.firstRow,a.firstRow-1)),t.lastRow>a.lastRow&&this.$lines.push(this.$renderLinesFragment(t,a.lastRow+1,t.lastRow)),this.$highlightIndentGuide()},i.prototype.$renderLinesFragment=function(t,a,c){for(var p=[],v=a,I=this.session.getNextFoldLine(v),C=I?I.start.row:1/0;v>C&&(v=I.end.row+1,I=this.session.getNextFoldLine(v,I),C=I?I.start.row:1/0),!(v>c);){var b=this.$lines.createCell(v,t,this.session),m=b.element;this.dom.removeChildren(m),y.setStyle(m.style,"height",this.$lines.computeLineHeight(v,t,this.session)+"px"),y.setStyle(m.style,"top",this.$lines.computeLineTop(v,t,this.session)+"px"),this.$renderLine(m,v,v==C?I:!1),this.$useLineGroups()?m.className="ace_line_group":m.className="ace_line",p.push(b),v++}return p},i.prototype.update=function(t){this.$lines.moveContainer(t),this.config=t;for(var a=t.firstRow,c=t.lastRow,p=this.$lines;p.getLength();)p.pop();p.push(this.$renderLinesFragment(t,a,c))},i.prototype.$renderToken=function(t,a,c,p){for(var v=this,I=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,C=this.dom.createFragment(this.element),b,m=0;b=I.exec(p);){var $=b[1],L=b[2],O=b[3],A=b[4],E=b[5];if(!(!v.showSpaces&&L)){var k=m!=b.index?p.slice(m,b.index):"";if(m=b.index+b[0].length,k&&C.appendChild(this.dom.createTextNode(k,this.element)),$){var T=v.session.getScreenTabSize(a+b.index);C.appendChild(v.$tabStrings[T].cloneNode(!0)),a+=T-1}else if(L)if(v.showSpaces){var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_space",w.textContent=_.stringRepeat(v.SPACE_CHAR,L.length),C.appendChild(w)}else C.appendChild(this.dom.createTextNode(L,this.element));else if(O){var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_space ace_invalid",w.textContent=_.stringRepeat(v.SPACE_CHAR,O.length),C.appendChild(w)}else if(A){a+=1;var w=this.dom.createElement("span");w.style.width=v.config.characterWidth*2+"px",w.className=v.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",w.textContent=v.showSpaces?v.SPACE_CHAR:A,C.appendChild(w)}else if(E){a+=1;var w=this.dom.createElement("span");w.style.width=v.config.characterWidth*2+"px",w.className="ace_cjk",w.textContent=E,C.appendChild(w)}}}if(C.appendChild(this.dom.createTextNode(m?p.slice(m):p,this.element)),r(c.type))t.appendChild(C);else{var M="ace_"+c.type.replace(/\./g," ace_"),w=this.dom.createElement("span");c.type=="fold"&&(w.style.width=c.value.length*this.config.characterWidth+"px",w.setAttribute("title",s("inline-fold.closed.title","Unfold code"))),w.className=M,w.appendChild(C),t.appendChild(w)}return a+p.length},i.prototype.renderIndentGuide=function(t,a,c){var p=a.search(this.$indentGuideRe);if(p<=0||p>=c)return a;if(a[0]==" "){p-=p%this.tabSize;for(var v=p/this.tabSize,I=0;I<v;I++)t.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),a.substr(p)}else if(a[0]==" "){for(var I=0;I<p;I++)t.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),a.substr(p)}return this.$highlightIndentGuide(),a},i.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var t=this.session.doc.$lines;if(t){var a=this.session.selection.getCursor(),c=/^\s*/.exec(this.session.doc.getLine(a.row))[0].length,p=Math.floor(c/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:p,start:a.row};var v=this.session.$bracketHighlight;if(v){for(var I=this.session.$bracketHighlight.ranges,C=0;C<I.length;C++)if(a.row!==I[C].start.row){this.$highlightIndentGuideMarker.end=I[C].start.row,a.row>I[C].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&t[a.row]!==""&&a.column===t[a.row].length){this.$highlightIndentGuideMarker.dir=1;for(var C=a.row+1;C<t.length;C++){var b=t[C],m=/^\s*/.exec(b)[0].length;if(b!==""&&(this.$highlightIndentGuideMarker.end=C,m<=c))break}}this.$renderHighlightIndentGuide()}}},i.prototype.$clearActiveIndentGuide=function(){for(var t=this.$lines.cells,a=0;a<t.length;a++){var c=t[a],p=c.element.childNodes;if(p.length>0){for(var v=0;v<p.length;v++)if(p[v].classList&&p[v].classList.contains("ace_indent-guide-active")){p[v].classList.remove("ace_indent-guide-active");break}}}},i.prototype.$setIndentGuideActive=function(t,a){var c=this.session.doc.getLine(t.row);if(c!==""){var p=t.element.childNodes;if(p){var v=p[a-1];v&&v.classList&&v.classList.contains("ace_indent-guide")&&v.classList.add("ace_indent-guide-active")}}},i.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var t=this.$lines.cells;this.$clearActiveIndentGuide();var a=this.$highlightIndentGuideMarker.indentLevel;if(a!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var c=0;c<t.length;c++){var p=t[c];if(this.$highlightIndentGuideMarker.end&&p.row>=this.$highlightIndentGuideMarker.start+1){if(p.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(p,a)}}else for(var c=t.length-1;c>=0;c--){var p=t[c];if(this.$highlightIndentGuideMarker.end&&p.row<this.$highlightIndentGuideMarker.start){if(p.row<=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(p,a)}}}},i.prototype.$createLineElement=function(t){var a=this.dom.createElement("div");return a.className="ace_line",a.style.height=this.config.lineHeight+"px",a},i.prototype.$renderWrappedLine=function(t,a,c){var p=0,v=0,I=c[0],C=0,b=this.$createLineElement();t.appendChild(b);for(var m=0;m<a.length;m++){var $=a[m],L=$.value;if(m==0&&this.displayIndentGuides){if(p=L.length,L=this.renderIndentGuide(b,L,I),!L)continue;p-=L.length}if(p+L.length<I)C=this.$renderToken(b,C,$,L),p+=L.length;else{for(;p+L.length>=I;)C=this.$renderToken(b,C,$,L.substring(0,I-p)),L=L.substring(I-p),p=I,b=this.$createLineElement(),t.appendChild(b),b.appendChild(this.dom.createTextNode(_.stringRepeat(" ",c.indent),this.element)),v++,C=0,I=c[v]||Number.MAX_VALUE;L.length!=0&&(p+=L.length,C=this.$renderToken(b,C,$,L))}}c[c.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(b,C,null,"",!0)},i.prototype.$renderSimpleLine=function(t,a){for(var c=0,p=0;p<a.length;p++){var v=a[p],I=v.value;if(!(p==0&&this.displayIndentGuides&&(I=this.renderIndentGuide(t,I),!I))){if(c+I.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(t,c,v,I);c=this.$renderToken(t,c,v,I)}}},i.prototype.$renderOverflowMessage=function(t,a,c,p,v){c&&this.$renderToken(t,a,c,p.slice(0,this.MAX_LINE_LENGTH-a));var I=this.dom.createElement("span");I.className="ace_inline_button ace_keyword ace_toggle_wrap",I.textContent=v?"<hide>":"<click to see more...>",t.appendChild(I)},i.prototype.$renderLine=function(t,a,c){if(!c&&c!=!1&&(c=this.session.getFoldLine(a)),c)var p=this.$getFoldLineTokens(a,c);else var p=this.session.getTokens(a);var v=t;if(p.length){var I=this.session.getRowSplitData(a);if(I&&I.length){this.$renderWrappedLine(t,p,I);var v=t.lastChild}else{var v=t;this.$useLineGroups()&&(v=this.$createLineElement(),t.appendChild(v)),this.$renderSimpleLine(v,p)}}else this.$useLineGroups()&&(v=this.$createLineElement(),t.appendChild(v));if(this.showEOL&&v){c&&(a=c.end.row);var C=this.dom.createElement("span");C.className="ace_invisible ace_invisible_eol",C.textContent=a==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,v.appendChild(C)}},i.prototype.$getFoldLineTokens=function(t,a){var c=this.session,p=[];function v(C,b,m){for(var $=0,L=0;L+C[$].value.length<b;)if(L+=C[$].value.length,$++,$==C.length)return;if(L!=b){var O=C[$].value.substring(b-L);O.length>m-b&&(O=O.substring(0,m-b)),p.push({type:C[$].type,value:O}),L=b+O.length,$+=1}for(;L<m&&$<C.length;){var O=C[$].value;O.length+L>m?p.push({type:C[$].type,value:O.substring(0,m-L)}):p.push(C[$]),L+=O.length,$+=1}}var I=c.getTokens(t);return a.walk(function(C,b,m,$,L){C!=null?p.push({type:"fold",value:C}):(L&&(I=c.getTokens(b)),I.length&&v(I,$,m))},a.end.row,this.session.getLine(a.end.row).length),p},i.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},i}();n.prototype.EOF_CHAR="¶",n.prototype.EOL_CHAR_LF="¬",n.prototype.EOL_CHAR_CRLF="¤",n.prototype.EOL_CHAR=n.prototype.EOL_CHAR_LF,n.prototype.TAB_CHAR="—",n.prototype.SPACE_CHAR="·",n.prototype.$padding=0,n.prototype.MAX_LINE_LENGTH=1e4,n.prototype.showInvisibles=!1,n.prototype.showSpaces=!1,n.prototype.showTabs=!1,n.prototype.showEOL=!1,n.prototype.displayIndentGuides=!0,n.prototype.$highlightIndentGuides=!0,n.prototype.$tabStrings=[],n.prototype.destroy={},n.prototype.onChangeTabSize=n.prototype.$computeTabString,x.implement(n.prototype,d),h.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(o,h,R){var x=o("../lib/dom"),y=function(){function _(u){this.element=x.createElement("div"),this.element.className="ace_layer ace_cursor-layer",u.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),x.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return _.prototype.$updateOpacity=function(u){for(var d=this.cursors,s=d.length;s--;)x.setStyle(d[s].style,"opacity",u?"":"0")},_.prototype.$startCssAnimation=function(){for(var u=this.cursors,d=u.length;d--;)u[d].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&x.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},_.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,x.removeCssClass(this.element,"ace_animate-blinking")},_.prototype.setPadding=function(u){this.$padding=u},_.prototype.setSession=function(u){this.session=u},_.prototype.setBlinking=function(u){u!=this.isBlinking&&(this.isBlinking=u,this.restartTimer())},_.prototype.setBlinkInterval=function(u){u!=this.blinkInterval&&(this.blinkInterval=u,this.restartTimer())},_.prototype.setSmoothBlinking=function(u){u!=this.smoothBlinking&&(this.smoothBlinking=u,x.setCssClass(this.element,"ace_smooth-blinking",u),this.$updateCursors(!0),this.restartTimer())},_.prototype.addCursor=function(){var u=x.createElement("div");return u.className="ace_cursor",this.element.appendChild(u),this.cursors.push(u),u},_.prototype.removeCursor=function(){if(this.cursors.length>1){var u=this.cursors.pop();return u.parentNode.removeChild(u),u}},_.prototype.hideCursor=function(){this.isVisible=!1,x.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},_.prototype.showCursor=function(){this.isVisible=!0,x.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},_.prototype.restartTimer=function(){var u=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,x.removeCssClass(this.element,"ace_smooth-blinking")),u(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&x.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),x.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var d=(function(){this.timeoutId=setTimeout(function(){u(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){u(!0),d()},this.blinkInterval),d()}},_.prototype.getPixelPosition=function(u,d){if(!this.config||!this.session)return{left:0,top:0};u||(u=this.session.selection.getCursor());var s=this.session.documentToScreenPosition(u),r=this.$padding+(this.session.$bidiHandler.isBidiRow(s.row,u.row)?this.session.$bidiHandler.getPosLeft(s.column):s.column*this.config.characterWidth),n=(s.row-(d?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:n}},_.prototype.isCursorInView=function(u,d){return u.top>=0&&u.top<d.maxHeight},_.prototype.update=function(u){this.config=u;var d=this.session.$selectionMarkers,s=0,r=0;(d===void 0||d.length===0)&&(d=[{cursor:null}]);for(var s=0,n=d.length;s<n;s++){var i=this.getPixelPosition(d[s].cursor,!0);if(!((i.top>u.height+u.offset||i.top<0)&&s>1)){var t=this.cursors[r++]||this.addCursor(),a=t.style;this.drawCursor?this.drawCursor(t,i,u,d[s],this.session):this.isCursorInView(i,u)?(x.setStyle(a,"display","block"),x.translate(t,i.left,i.top),x.setStyle(a,"width",Math.round(u.characterWidth)+"px"),x.setStyle(a,"height",u.lineHeight+"px")):x.setStyle(a,"display","none")}}for(;this.cursors.length>r;)this.removeCursor();var c=this.session.getOverwrite();this.$setOverwrite(c),this.$pixelPos=i,this.restartTimer()},_.prototype.$setOverwrite=function(u){u!=this.overwrite&&(this.overwrite=u,u?x.addCssClass(this.element,"ace_overwrite-cursors"):x.removeCssClass(this.element,"ace_overwrite-cursors"))},_.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},_}();y.prototype.$padding=0,y.prototype.drawCursor=null,h.Cursor=y}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(o,h,R){var x=this&&this.__extends||function(){var t=function(a,c){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,v){p.__proto__=v}||function(p,v){for(var I in v)Object.prototype.hasOwnProperty.call(v,I)&&(p[I]=v[I])},t(a,c)};return function(a,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");t(a,c);function p(){this.constructor=a}a.prototype=c===null?Object.create(c):(p.prototype=c.prototype,new p)}}(),y=o("./lib/oop"),_=o("./lib/dom"),u=o("./lib/event"),d=o("./lib/event_emitter").EventEmitter,s=32768,r=function(){function t(a,c){this.element=_.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+c,this.inner=_.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),a.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,u.addListener(this.element,"scroll",this.onScroll.bind(this)),u.addListener(this.element,"mousedown",u.preventDefault)}return t.prototype.setVisible=function(a){this.element.style.display=a?"":"none",this.isVisible=a,this.coeff=1},t}();y.implement(r.prototype,d);var n=function(t){x(a,t);function a(c,p){var v=t.call(this,c,"-v")||this;return v.scrollTop=0,v.scrollHeight=0,p.$scrollbarWidth=v.width=_.scrollbarWidth(c.ownerDocument),v.inner.style.width=v.element.style.width=(v.width||15)+5+"px",v.$minWidth=0,v}return a.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var c=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-c)/(this.coeff-c)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},a.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},a.prototype.setHeight=function(c){this.element.style.height=c+"px"},a.prototype.setScrollHeight=function(c){this.scrollHeight=c,c>s?(this.coeff=s/c,c=s):this.coeff!=1&&(this.coeff=1),this.inner.style.height=c+"px"},a.prototype.setScrollTop=function(c){this.scrollTop!=c&&(this.skipEvent=!0,this.scrollTop=c,this.element.scrollTop=c*this.coeff)},a}(r);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var i=function(t){x(a,t);function a(c,p){var v=t.call(this,c,"-h")||this;return v.scrollLeft=0,v.height=p.$scrollbarWidth,v.inner.style.height=v.element.style.height=(v.height||15)+5+"px",v}return a.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},a.prototype.getHeight=function(){return this.isVisible?this.height:0},a.prototype.setWidth=function(c){this.element.style.width=c+"px"},a.prototype.setInnerWidth=function(c){this.inner.style.width=c+"px"},a.prototype.setScrollWidth=function(c){this.inner.style.width=c+"px"},a.prototype.setScrollLeft=function(c){this.scrollLeft!=c&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=c)},a}(r);h.ScrollBar=n,h.ScrollBarV=n,h.ScrollBarH=i,h.VScrollBar=n,h.HScrollBar=i}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(o,h,R){var x=this&&this.__extends||function(){var i=function(t,a){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,p){c.__proto__=p}||function(c,p){for(var v in p)Object.prototype.hasOwnProperty.call(p,v)&&(c[v]=p[v])},i(t,a)};return function(t,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");i(t,a);function c(){this.constructor=t}t.prototype=a===null?Object.create(a):(c.prototype=a.prototype,new c)}}(),y=o("./lib/oop"),_=o("./lib/dom"),u=o("./lib/event"),d=o("./lib/event_emitter").EventEmitter;_.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
209
+ position: absolute;
210
+ background: rgba(128, 128, 128, 0.6);
211
+ -moz-box-sizing: border-box;
212
+ box-sizing: border-box;
213
+ border: 1px solid #bbb;
214
+ border-radius: 2px;
215
+ z-index: 8;
216
+ }
217
+ .ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
218
+ position: absolute;
219
+ z-index: 6;
220
+ background: none;
221
+ overflow: hidden!important;
222
+ }
223
+ .ace_editor>.ace_sb-v {
224
+ z-index: 6;
225
+ right: 0;
226
+ top: 0;
227
+ width: 12px;
228
+ }
229
+ .ace_editor>.ace_sb-v div {
230
+ z-index: 8;
231
+ right: 0;
232
+ width: 100%;
233
+ }
234
+ .ace_editor>.ace_sb-h {
235
+ bottom: 0;
236
+ left: 0;
237
+ height: 12px;
238
+ }
239
+ .ace_editor>.ace_sb-h div {
240
+ bottom: 0;
241
+ height: 100%;
242
+ }
243
+ .ace_editor>.ace_sb_grabbed {
244
+ z-index: 8;
245
+ background: #000;
246
+ }`,"ace_scrollbar.css",!1);var s=function(){function i(t,a){this.element=_.createElement("div"),this.element.className="ace_sb"+a,this.inner=_.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,t.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,u.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return i.prototype.setVisible=function(t){this.element.style.display=t?"":"none",this.isVisible=t,this.coeff=1},i}();y.implement(s.prototype,d);var r=function(i){x(t,i);function t(a,c){var p=i.call(this,a,"-v")||this;return p.scrollTop=0,p.scrollHeight=0,p.parent=a,p.width=p.VScrollWidth,p.renderer=c,p.inner.style.width=p.element.style.width=(p.width||15)+"px",p.$minWidth=0,p}return t.prototype.onMouseDown=function(a,c){if(a==="mousedown"&&!(u.getButton(c)!==0||c.detail===2)){if(c.target===this.inner){var p=this,v=c.clientY,I=function(A){v=A.clientY},C=function(){clearInterval(L)},b=c.clientY,m=this.thumbTop,$=function(){if(v!==void 0){var A=p.scrollTopFromThumbTop(m+v-b);A!==p.scrollTop&&p._emit("scroll",{data:A})}};u.capture(this.inner,I,C);var L=setInterval($,20);return u.preventDefault(c)}var O=c.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(O)}),u.preventDefault(c)}},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(a){var c=a*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return c=c>>0,c<0?c=0:c>this.pageHeight-this.viewHeight&&(c=this.pageHeight-this.viewHeight),c},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(a){this.height=Math.max(0,a),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(a,c){this.pageHeight===a&&!c||(this.pageHeight=a,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},t.prototype.setScrollTop=function(a){this.scrollTop=a,a<0&&(a=0),this.thumbTop=a*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},t}(s);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var n=function(i){x(t,i);function t(a,c){var p=i.call(this,a,"-h")||this;return p.scrollLeft=0,p.scrollWidth=0,p.height=p.HScrollHeight,p.inner.style.height=p.element.style.height=(p.height||12)+"px",p.renderer=c,p}return t.prototype.onMouseDown=function(a,c){if(a==="mousedown"&&!(u.getButton(c)!==0||c.detail===2)){if(c.target===this.inner){var p=this,v=c.clientX,I=function(A){v=A.clientX},C=function(){clearInterval(L)},b=c.clientX,m=this.thumbLeft,$=function(){if(v!==void 0){var A=p.scrollLeftFromThumbLeft(m+v-b);A!==p.scrollLeft&&p._emit("scroll",{data:A})}};u.capture(this.inner,I,C);var L=setInterval($,20);return u.preventDefault(c)}var O=c.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(O)}),u.preventDefault(c)}},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(a){var c=a*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return c=c>>0,c<0?c=0:c>this.pageWidth-this.viewWidth&&(c=this.pageWidth-this.viewWidth),c},t.prototype.setWidth=function(a){this.width=Math.max(0,a),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(a,c){this.pageWidth===a&&!c||(this.pageWidth=a,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},t.prototype.setScrollLeft=function(a){this.scrollLeft=a,a<0&&(a=0),this.thumbLeft=a*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},t}(s);n.prototype.setInnerWidth=n.prototype.setScrollWidth,h.ScrollBar=r,h.ScrollBarV=r,h.ScrollBarH=n,h.VScrollBar=r,h.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(o,h,R){var x=o("./lib/event"),y=function(){function _(u,d){this.onRender=u,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=d||window;var s=this;this._flush=function(r){s.pending=!1;var n=s.changes;if(n&&(x.blockIdle(100),s.changes=0,s.onRender(n)),s.changes){if(s.$recursionLimit--<0)return;s.schedule()}else s.$recursionLimit=2}}return _.prototype.schedule=function(u){this.changes=this.changes|u,this.changes&&!this.pending&&(x.nextFrame(this._flush),this.pending=!0)},_.prototype.clear=function(u){var d=this.changes;return this.changes=0,d},_}();h.RenderLoop=y}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(o,h,R){var x=o("../lib/oop"),y=o("../lib/dom"),_=o("../lib/lang"),u=o("../lib/event"),d=o("../lib/useragent"),s=o("../lib/event_emitter").EventEmitter,r=512,n=typeof ResizeObserver=="function",i=200,t=function(){function a(c){this.el=y.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=y.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=y.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),c.appendChild(this.el),this.$measureNode.textContent=_.stringRepeat("X",r),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return a.prototype.$setMeasureNodeStyles=function(c,p){c.width=c.height="auto",c.left=c.top="0px",c.visibility="hidden",c.position="absolute",c.whiteSpace="pre",d.isIE<8?c["font-family"]="inherit":c.font="inherit",c.overflow=p?"hidden":"visible"},a.prototype.checkForSizeChanges=function(c){if(c===void 0&&(c=this.$measureSizes()),c&&(this.$characterSize.width!==c.width||this.$characterSize.height!==c.height)){this.$measureNode.style.fontWeight="bold";var p=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=c,this.charSizes=Object.create(null),this.allowBoldFonts=p&&p.width===c.width&&p.height===c.height,this._emit("changeCharacterSize",{data:c})}},a.prototype.$addObserver=function(){var c=this;this.$observer=new window.ResizeObserver(function(p){c.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},a.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var c=this;return this.$pollSizeChangesTimer=u.onIdle(function p(){c.checkForSizeChanges(),u.onIdle(p,500)},500)},a.prototype.setPolling=function(c){c?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},a.prototype.$measureSizes=function(c){var p={height:(c||this.$measureNode).clientHeight,width:(c||this.$measureNode).clientWidth/r};return p.width===0||p.height===0?null:p},a.prototype.$measureCharWidth=function(c){this.$main.textContent=_.stringRepeat(c,r);var p=this.$main.getBoundingClientRect();return p.width/r},a.prototype.getCharacterWidth=function(c){var p=this.charSizes[c];return p===void 0&&(p=this.charSizes[c]=this.$measureCharWidth(c)/this.$characterSize.width),p},a.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},a.prototype.$getZoom=function(c){return!c||!c.parentElement?1:(Number(window.getComputedStyle(c).zoom)||1)*this.$getZoom(c.parentElement)},a.prototype.$initTransformMeasureNodes=function(){var c=function(p,v){return["div",{style:"position: absolute;top:"+p+"px;left:"+v+"px;"}]};this.els=y.buildDom([c(0,0),c(i,0),c(0,i),c(i,i)],this.el)},a.prototype.transformCoordinates=function(c,p){if(c){var v=this.$getZoom(this.el);c=m(1/v,c)}function I(j,Y,X){var Q=j[1]*Y[0]-j[0]*Y[1];return[(-Y[1]*X[0]+Y[0]*X[1])/Q,(+j[1]*X[0]-j[0]*X[1])/Q]}function C(j,Y){return[j[0]-Y[0],j[1]-Y[1]]}function b(j,Y){return[j[0]+Y[0],j[1]+Y[1]]}function m(j,Y){return[j*Y[0],j*Y[1]]}this.els||this.$initTransformMeasureNodes();function $(j){var Y=j.getBoundingClientRect();return[Y.left,Y.top]}var L=$(this.els[0]),O=$(this.els[1]),A=$(this.els[2]),E=$(this.els[3]),k=I(C(E,O),C(E,A),C(b(O,A),b(E,L))),T=m(1+k[0],C(O,L)),w=m(1+k[1],C(A,L));if(p){var M=p,D=k[0]*M[0]/i+k[1]*M[1]/i+1,F=b(m(M[0],T),m(M[1],w));return b(m(1/D/i,F),L)}var B=C(c,L),H=I(C(T,m(k[0],B)),C(w,m(k[1],B)),B);return m(i,H)},a}();t.prototype.$characterSize={width:0,height:0},x.implement(t.prototype,s),h.FontMetrics=t}),ace.define("ace/css/editor-css",["require","exports","module"],function(o,h,R){R.exports=`
247
+ .ace_br1 {border-top-left-radius : 3px;}
248
+ .ace_br2 {border-top-right-radius : 3px;}
249
+ .ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
250
+ .ace_br4 {border-bottom-right-radius: 3px;}
251
+ .ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
252
+ .ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
253
+ .ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
254
+ .ace_br8 {border-bottom-left-radius : 3px;}
255
+ .ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
256
+ .ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
257
+ .ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
258
+ .ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
259
+ .ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
260
+ .ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
261
+ .ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
262
+
263
+
264
+ .ace_editor {
265
+ position: relative;
266
+ overflow: hidden;
267
+ padding: 0;
268
+ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
269
+ direction: ltr;
270
+ text-align: left;
271
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
272
+ forced-color-adjust: none;
273
+ }
274
+
275
+ .ace_scroller {
276
+ position: absolute;
277
+ overflow: hidden;
278
+ top: 0;
279
+ bottom: 0;
280
+ background-color: inherit;
281
+ -ms-user-select: none;
282
+ -moz-user-select: none;
283
+ -webkit-user-select: none;
284
+ user-select: none;
285
+ cursor: text;
286
+ }
287
+
288
+ .ace_content {
289
+ position: absolute;
290
+ box-sizing: border-box;
291
+ min-width: 100%;
292
+ contain: style size layout;
293
+ font-variant-ligatures: no-common-ligatures;
294
+ }
295
+
296
+ .ace_keyboard-focus:focus {
297
+ box-shadow: inset 0 0 0 2px #5E9ED6;
298
+ outline: none;
299
+ }
300
+
301
+ .ace_dragging .ace_scroller:before{
302
+ position: absolute;
303
+ top: 0;
304
+ left: 0;
305
+ right: 0;
306
+ bottom: 0;
307
+ content: '';
308
+ background: rgba(250, 250, 250, 0.01);
309
+ z-index: 1000;
310
+ }
311
+ .ace_dragging.ace_dark .ace_scroller:before{
312
+ background: rgba(0, 0, 0, 0.01);
313
+ }
314
+
315
+ .ace_gutter {
316
+ position: absolute;
317
+ overflow : hidden;
318
+ width: auto;
319
+ top: 0;
320
+ bottom: 0;
321
+ left: 0;
322
+ cursor: default;
323
+ z-index: 4;
324
+ -ms-user-select: none;
325
+ -moz-user-select: none;
326
+ -webkit-user-select: none;
327
+ user-select: none;
328
+ contain: style size layout;
329
+ }
330
+
331
+ .ace_gutter-active-line {
332
+ position: absolute;
333
+ left: 0;
334
+ right: 0;
335
+ }
336
+
337
+ .ace_scroller.ace_scroll-left:after {
338
+ content: "";
339
+ position: absolute;
340
+ top: 0;
341
+ right: 0;
342
+ bottom: 0;
343
+ left: 0;
344
+ box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
345
+ pointer-events: none;
346
+ }
347
+
348
+ .ace_gutter-cell, .ace_gutter-cell_svg-icons {
349
+ position: absolute;
350
+ top: 0;
351
+ left: 0;
352
+ right: 0;
353
+ padding-left: 19px;
354
+ padding-right: 6px;
355
+ background-repeat: no-repeat;
356
+ }
357
+
358
+ .ace_gutter-cell_svg-icons .ace_gutter_annotation {
359
+ margin-left: -14px;
360
+ float: left;
361
+ }
362
+
363
+ .ace_gutter-cell .ace_gutter_annotation {
364
+ margin-left: -19px;
365
+ float: left;
366
+ }
367
+
368
+ .ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
369
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
370
+ background-repeat: no-repeat;
371
+ background-position: 2px center;
372
+ }
373
+
374
+ .ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
375
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
376
+ background-repeat: no-repeat;
377
+ background-position: 2px center;
378
+ }
379
+
380
+ .ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
381
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
382
+ background-repeat: no-repeat;
383
+ background-position: 2px center;
384
+ }
385
+
386
+ .ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
387
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
388
+ }
389
+
390
+ .ace_icon_svg.ace_error {
391
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
392
+ background-color: crimson;
393
+ }
394
+ .ace_icon_svg.ace_security {
395
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
396
+ background-color: crimson;
397
+ }
398
+ .ace_icon_svg.ace_warning {
399
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
400
+ background-color: darkorange;
401
+ }
402
+ .ace_icon_svg.ace_info {
403
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
404
+ background-color: royalblue;
405
+ }
406
+ .ace_icon_svg.ace_hint {
407
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
408
+ background-color: silver;
409
+ }
410
+
411
+ .ace_icon_svg.ace_error_fold {
412
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
413
+ background-color: crimson;
414
+ }
415
+ .ace_icon_svg.ace_security_fold {
416
+ -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
417
+ background-color: crimson;
418
+ }
419
+ .ace_icon_svg.ace_warning_fold {
420
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
421
+ background-color: darkorange;
422
+ }
423
+
424
+ .ace_scrollbar {
425
+ contain: strict;
426
+ position: absolute;
427
+ right: 0;
428
+ bottom: 0;
429
+ z-index: 6;
430
+ }
431
+
432
+ .ace_scrollbar-inner {
433
+ position: absolute;
434
+ cursor: text;
435
+ left: 0;
436
+ top: 0;
437
+ }
438
+
439
+ .ace_scrollbar-v{
440
+ overflow-x: hidden;
441
+ overflow-y: scroll;
442
+ top: 0;
443
+ }
444
+
445
+ .ace_scrollbar-h {
446
+ overflow-x: scroll;
447
+ overflow-y: hidden;
448
+ left: 0;
449
+ }
450
+
451
+ .ace_print-margin {
452
+ position: absolute;
453
+ height: 100%;
454
+ }
455
+
456
+ .ace_text-input {
457
+ position: absolute;
458
+ z-index: 0;
459
+ width: 0.5em;
460
+ height: 1em;
461
+ opacity: 0;
462
+ background: transparent;
463
+ -moz-appearance: none;
464
+ appearance: none;
465
+ border: none;
466
+ resize: none;
467
+ outline: none;
468
+ overflow: hidden;
469
+ font: inherit;
470
+ padding: 0 1px;
471
+ margin: 0 -1px;
472
+ contain: strict;
473
+ -ms-user-select: text;
474
+ -moz-user-select: text;
475
+ -webkit-user-select: text;
476
+ user-select: text;
477
+ /*with \`pre-line\` chrome inserts &nbsp; instead of space*/
478
+ white-space: pre!important;
479
+ }
480
+ .ace_text-input.ace_composition {
481
+ background: transparent;
482
+ color: inherit;
483
+ z-index: 1000;
484
+ opacity: 1;
485
+ }
486
+ .ace_composition_placeholder { color: transparent }
487
+ .ace_composition_marker {
488
+ border-bottom: 1px solid;
489
+ position: absolute;
490
+ border-radius: 0;
491
+ margin-top: 1px;
492
+ }
493
+
494
+ [ace_nocontext=true] {
495
+ transform: none!important;
496
+ filter: none!important;
497
+ clip-path: none!important;
498
+ mask : none!important;
499
+ contain: none!important;
500
+ perspective: none!important;
501
+ mix-blend-mode: initial!important;
502
+ z-index: auto;
503
+ }
504
+
505
+ .ace_layer {
506
+ z-index: 1;
507
+ position: absolute;
508
+ overflow: hidden;
509
+ /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
510
+ word-wrap: normal;
511
+ white-space: pre;
512
+ height: 100%;
513
+ width: 100%;
514
+ box-sizing: border-box;
515
+ /* setting pointer-events: auto; on node under the mouse, which changes
516
+ during scroll, will break mouse wheel scrolling in Safari */
517
+ pointer-events: none;
518
+ }
519
+
520
+ .ace_gutter-layer {
521
+ position: relative;
522
+ width: auto;
523
+ text-align: right;
524
+ pointer-events: auto;
525
+ height: 1000000px;
526
+ contain: style size layout;
527
+ }
528
+
529
+ .ace_text-layer {
530
+ font: inherit !important;
531
+ position: absolute;
532
+ height: 1000000px;
533
+ width: 1000000px;
534
+ contain: style size layout;
535
+ }
536
+
537
+ .ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
538
+ contain: style size layout;
539
+ position: absolute;
540
+ top: 0;
541
+ left: 0;
542
+ right: 0;
543
+ }
544
+
545
+ .ace_hidpi .ace_text-layer,
546
+ .ace_hidpi .ace_gutter-layer,
547
+ .ace_hidpi .ace_content,
548
+ .ace_hidpi .ace_gutter {
549
+ contain: strict;
550
+ }
551
+ .ace_hidpi .ace_text-layer > .ace_line,
552
+ .ace_hidpi .ace_text-layer > .ace_line_group {
553
+ contain: strict;
554
+ }
555
+
556
+ .ace_cjk {
557
+ display: inline-block;
558
+ text-align: center;
559
+ }
560
+
561
+ .ace_cursor-layer {
562
+ z-index: 4;
563
+ }
564
+
565
+ .ace_cursor {
566
+ z-index: 4;
567
+ position: absolute;
568
+ box-sizing: border-box;
569
+ border-left: 2px solid;
570
+ /* workaround for smooth cursor repaintng whole screen in chrome */
571
+ transform: translatez(0);
572
+ }
573
+
574
+ .ace_multiselect .ace_cursor {
575
+ border-left-width: 1px;
576
+ }
577
+
578
+ .ace_slim-cursors .ace_cursor {
579
+ border-left-width: 1px;
580
+ }
581
+
582
+ .ace_overwrite-cursors .ace_cursor {
583
+ border-left-width: 0;
584
+ border-bottom: 1px solid;
585
+ }
586
+
587
+ .ace_hidden-cursors .ace_cursor {
588
+ opacity: 0.2;
589
+ }
590
+
591
+ .ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
592
+ opacity: 0;
593
+ }
594
+
595
+ .ace_smooth-blinking .ace_cursor {
596
+ transition: opacity 0.18s;
597
+ }
598
+
599
+ .ace_animate-blinking .ace_cursor {
600
+ animation-duration: 1000ms;
601
+ animation-timing-function: step-end;
602
+ animation-name: blink-ace-animate;
603
+ animation-iteration-count: infinite;
604
+ }
605
+
606
+ .ace_animate-blinking.ace_smooth-blinking .ace_cursor {
607
+ animation-duration: 1000ms;
608
+ animation-timing-function: ease-in-out;
609
+ animation-name: blink-ace-animate-smooth;
610
+ }
611
+
612
+ @keyframes blink-ace-animate {
613
+ from, to { opacity: 1; }
614
+ 60% { opacity: 0; }
615
+ }
616
+
617
+ @keyframes blink-ace-animate-smooth {
618
+ from, to { opacity: 1; }
619
+ 45% { opacity: 1; }
620
+ 60% { opacity: 0; }
621
+ 85% { opacity: 0; }
622
+ }
623
+
624
+ .ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
625
+ position: absolute;
626
+ z-index: 3;
627
+ }
628
+
629
+ .ace_marker-layer .ace_selection {
630
+ position: absolute;
631
+ z-index: 5;
632
+ }
633
+
634
+ .ace_marker-layer .ace_bracket {
635
+ position: absolute;
636
+ z-index: 6;
637
+ }
638
+
639
+ .ace_marker-layer .ace_error_bracket {
640
+ position: absolute;
641
+ border-bottom: 1px solid #DE5555;
642
+ border-radius: 0;
643
+ }
644
+
645
+ .ace_marker-layer .ace_active-line {
646
+ position: absolute;
647
+ z-index: 2;
648
+ }
649
+
650
+ .ace_marker-layer .ace_selected-word {
651
+ position: absolute;
652
+ z-index: 4;
653
+ box-sizing: border-box;
654
+ }
655
+
656
+ .ace_line .ace_fold {
657
+ box-sizing: border-box;
658
+
659
+ display: inline-block;
660
+ height: 11px;
661
+ margin-top: -2px;
662
+ vertical-align: middle;
663
+
664
+ background-image:
665
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
666
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
667
+ background-repeat: no-repeat, repeat-x;
668
+ background-position: center center, top left;
669
+ color: transparent;
670
+
671
+ border: 1px solid black;
672
+ border-radius: 2px;
673
+
674
+ cursor: pointer;
675
+ pointer-events: auto;
676
+ }
677
+
678
+ .ace_dark .ace_fold {
679
+ }
680
+
681
+ .ace_fold:hover{
682
+ background-image:
683
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
684
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
685
+ }
686
+
687
+ .ace_tooltip {
688
+ background-color: #f5f5f5;
689
+ border: 1px solid gray;
690
+ border-radius: 1px;
691
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
692
+ color: black;
693
+ max-width: 100%;
694
+ padding: 3px 4px;
695
+ position: fixed;
696
+ z-index: 999999;
697
+ box-sizing: border-box;
698
+ cursor: default;
699
+ white-space: pre-wrap;
700
+ word-wrap: break-word;
701
+ line-height: normal;
702
+ font-style: normal;
703
+ font-weight: normal;
704
+ letter-spacing: normal;
705
+ pointer-events: none;
706
+ overflow: auto;
707
+ max-width: min(60em, 66vw);
708
+ overscroll-behavior: contain;
709
+ }
710
+ .ace_tooltip pre {
711
+ white-space: pre-wrap;
712
+ }
713
+
714
+ .ace_tooltip.ace_dark {
715
+ background-color: #636363;
716
+ color: #fff;
717
+ }
718
+
719
+ .ace_tooltip:focus {
720
+ outline: 1px solid #5E9ED6;
721
+ }
722
+
723
+ .ace_icon {
724
+ display: inline-block;
725
+ width: 18px;
726
+ vertical-align: top;
727
+ }
728
+
729
+ .ace_icon_svg {
730
+ display: inline-block;
731
+ width: 12px;
732
+ vertical-align: top;
733
+ -webkit-mask-repeat: no-repeat;
734
+ -webkit-mask-size: 12px;
735
+ -webkit-mask-position: center;
736
+ }
737
+
738
+ .ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
739
+ padding-right: 13px;
740
+ }
741
+
742
+ .ace_fold-widget {
743
+ box-sizing: border-box;
744
+
745
+ margin: 0 -12px 0 1px;
746
+ display: none;
747
+ width: 11px;
748
+ vertical-align: top;
749
+
750
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
751
+ background-repeat: no-repeat;
752
+ background-position: center;
753
+
754
+ border-radius: 3px;
755
+
756
+ border: 1px solid transparent;
757
+ cursor: pointer;
758
+ }
759
+
760
+ .ace_folding-enabled .ace_fold-widget {
761
+ display: inline-block;
762
+ }
763
+
764
+ .ace_fold-widget.ace_end {
765
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
766
+ }
767
+
768
+ .ace_fold-widget.ace_closed {
769
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
770
+ }
771
+
772
+ .ace_fold-widget:hover {
773
+ border: 1px solid rgba(0, 0, 0, 0.3);
774
+ background-color: rgba(255, 255, 255, 0.2);
775
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
776
+ }
777
+
778
+ .ace_fold-widget:active {
779
+ border: 1px solid rgba(0, 0, 0, 0.4);
780
+ background-color: rgba(0, 0, 0, 0.05);
781
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
782
+ }
783
+ /**
784
+ * Dark version for fold widgets
785
+ */
786
+ .ace_dark .ace_fold-widget {
787
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
788
+ }
789
+ .ace_dark .ace_fold-widget.ace_end {
790
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
791
+ }
792
+ .ace_dark .ace_fold-widget.ace_closed {
793
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
794
+ }
795
+ .ace_dark .ace_fold-widget:hover {
796
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
797
+ background-color: rgba(255, 255, 255, 0.1);
798
+ }
799
+ .ace_dark .ace_fold-widget:active {
800
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
801
+ }
802
+
803
+ .ace_inline_button {
804
+ border: 1px solid lightgray;
805
+ display: inline-block;
806
+ margin: -1px 8px;
807
+ padding: 0 5px;
808
+ pointer-events: auto;
809
+ cursor: pointer;
810
+ }
811
+ .ace_inline_button:hover {
812
+ border-color: gray;
813
+ background: rgba(200,200,200,0.2);
814
+ display: inline-block;
815
+ pointer-events: auto;
816
+ }
817
+
818
+ .ace_fold-widget.ace_invalid {
819
+ background-color: #FFB4B4;
820
+ border-color: #DE5555;
821
+ }
822
+
823
+ .ace_fade-fold-widgets .ace_fold-widget {
824
+ transition: opacity 0.4s ease 0.05s;
825
+ opacity: 0;
826
+ }
827
+
828
+ .ace_fade-fold-widgets:hover .ace_fold-widget {
829
+ transition: opacity 0.05s ease 0.05s;
830
+ opacity:1;
831
+ }
832
+
833
+ .ace_underline {
834
+ text-decoration: underline;
835
+ }
836
+
837
+ .ace_bold {
838
+ font-weight: bold;
839
+ }
840
+
841
+ .ace_nobold .ace_bold {
842
+ font-weight: normal;
843
+ }
844
+
845
+ .ace_italic {
846
+ font-style: italic;
847
+ }
848
+
849
+
850
+ .ace_error-marker {
851
+ background-color: rgba(255, 0, 0,0.2);
852
+ position: absolute;
853
+ z-index: 9;
854
+ }
855
+
856
+ .ace_highlight-marker {
857
+ background-color: rgba(255, 255, 0,0.2);
858
+ position: absolute;
859
+ z-index: 8;
860
+ }
861
+
862
+ .ace_mobile-menu {
863
+ position: absolute;
864
+ line-height: 1.5;
865
+ border-radius: 4px;
866
+ -ms-user-select: none;
867
+ -moz-user-select: none;
868
+ -webkit-user-select: none;
869
+ user-select: none;
870
+ background: white;
871
+ box-shadow: 1px 3px 2px grey;
872
+ border: 1px solid #dcdcdc;
873
+ color: black;
874
+ }
875
+ .ace_dark > .ace_mobile-menu {
876
+ background: #333;
877
+ color: #ccc;
878
+ box-shadow: 1px 3px 2px grey;
879
+ border: 1px solid #444;
880
+
881
+ }
882
+ .ace_mobile-button {
883
+ padding: 2px;
884
+ cursor: pointer;
885
+ overflow: hidden;
886
+ }
887
+ .ace_mobile-button:hover {
888
+ background-color: #eee;
889
+ opacity:1;
890
+ }
891
+ .ace_mobile-button:active {
892
+ background-color: #ddd;
893
+ }
894
+
895
+ .ace_placeholder {
896
+ position: relative;
897
+ font-family: arial;
898
+ transform: scale(0.9);
899
+ transform-origin: left;
900
+ white-space: pre;
901
+ opacity: 0.7;
902
+ margin: 0 10px;
903
+ z-index: 1;
904
+ }
905
+
906
+ .ace_ghost_text {
907
+ opacity: 0.5;
908
+ font-style: italic;
909
+ }
910
+
911
+ .ace_ghost_text_container > div {
912
+ white-space: pre;
913
+ }
914
+
915
+ .ghost_text_line_wrapped::after {
916
+ content: "↩";
917
+ position: absolute;
918
+ }
919
+
920
+ .ace_lineWidgetContainer.ace_ghost_text {
921
+ margin: 0px 4px
922
+ }
923
+
924
+ .ace_screenreader-only {
925
+ position:absolute;
926
+ left:-10000px;
927
+ top:auto;
928
+ width:1px;
929
+ height:1px;
930
+ overflow:hidden;
931
+ }
932
+
933
+ .ace_hidden_token {
934
+ display: none;
935
+ }`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(o,h,R){var x=o("../lib/dom"),y=o("../lib/oop"),_=o("../lib/event_emitter").EventEmitter,u=function(){function d(s,r){this.canvas=x.createElement("canvas"),this.renderer=r,this.pixelRatio=1,this.maxHeight=r.layerConfig.maxHeight,this.lineHeight=r.layerConfig.lineHeight,this.canvasHeight=s.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=s.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},s.element.appendChild(this.canvas)}return d.prototype.$updateDecorators=function(s){var r=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(s){this.maxHeight=s.maxHeight,this.lineHeight=s.lineHeight,this.canvasHeight=s.height;var n=(s.lastRow+1)*this.lineHeight;n<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var i=this.canvas.getContext("2d");function t(E,k){return E.priority<k.priority?-1:E.priority>k.priority?1:0}var a=this.renderer.session.$annotations;if(i.clearRect(0,0,this.canvas.width,this.canvas.height),a){var c={info:1,warning:2,error:3};a.forEach(function(E){E.priority=c[E.type]||null}),a=a.sort(t);for(var p=this.renderer.session.$foldData,v=0;v<a.length;v++){var I=a[v].row,C=this.compensateFoldRows(I,p),b=Math.round((I-C)*this.lineHeight*this.heightRatio),m=Math.round((I-C)*this.lineHeight*this.heightRatio),$=Math.round(((I-C)*this.lineHeight+this.lineHeight)*this.heightRatio),L=$-m;if(L<this.minDecorationHeight){var O=(m+$)/2|0;O<this.halfMinDecorationHeight?O=this.halfMinDecorationHeight:O+this.halfMinDecorationHeight>this.canvasHeight&&(O=this.canvasHeight-this.halfMinDecorationHeight),m=Math.round(O-this.halfMinDecorationHeight),$=Math.round(O+this.halfMinDecorationHeight)}i.fillStyle=r[a[v].type]||null,i.fillRect(0,b,this.canvasWidth,$-m)}}var A=this.renderer.session.selection.getCursor();if(A){var C=this.compensateFoldRows(A.row,p),b=Math.round((A.row-C)*this.lineHeight*this.heightRatio);i.fillStyle="rgba(0, 0, 0, 0.5)",i.fillRect(0,b,this.canvasWidth,2)}},d.prototype.compensateFoldRows=function(s,r){var n=0;if(r&&r.length>0)for(var i=0;i<r.length;i++)s>r[i].start.row&&s<r[i].end.row?n+=s-r[i].start.row:s>=r[i].end.row&&(n+=r[i].end.row-r[i].start.row);return n},d}();y.implement(u.prototype,_),h.Decorator=u}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(o,h,R){var x=o("./lib/oop"),y=o("./lib/dom"),_=o("./lib/lang"),u=o("./config"),d=o("./layer/gutter").Gutter,s=o("./layer/marker").Marker,r=o("./layer/text").Text,n=o("./layer/cursor").Cursor,i=o("./scrollbar").HScrollBar,t=o("./scrollbar").VScrollBar,a=o("./scrollbar_custom").HScrollBar,c=o("./scrollbar_custom").VScrollBar,p=o("./renderloop").RenderLoop,v=o("./layer/font_metrics").FontMetrics,I=o("./lib/event_emitter").EventEmitter,C=o("./css/editor-css"),b=o("./layer/decorators").Decorator,m=o("./lib/useragent"),$=o("./layer/text_util").isTextToken;y.importCssString(C,"ace_editor.css",!1);var L=function(){function O(A,E){var k=this;this.container=A||y.createElement("div"),y.addCssClass(this.container,"ace_editor"),y.HI_DPI&&y.addCssClass(this.container,"ace_hidpi"),this.setTheme(E),u.get("useStrictCSP")==null&&u.set("useStrictCSP",!1),this.$gutter=y.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=y.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=y.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new d(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new s(this.content);var T=this.$textLayer=new r(this.content);this.canvas=T.element,this.$markerFront=new s(this.content),this.$cursorLayer=new n(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new t(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.on("scroll",function(w){k.$scrollAnimation||k.session.setScrollTop(w.data-k.scrollMargin.top)}),this.scrollBarH.on("scroll",function(w){k.$scrollAnimation||k.session.setScrollLeft(w.data-k.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new v(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(w){k.updateCharacterSize(),k.onResize(!0,k.gutterWidth,k.$size.width,k.$size.height),k._signal("changeCharacterSize",w)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!m.isIOS,this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),u.resetOptions(this),u._signal("renderer",this)}return O.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),y.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},O.prototype.setSession=function(A){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=A,A&&this.scrollMargin.top&&A.getScrollTop()<=0&&A.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(A),this.$markerBack.setSession(A),this.$markerFront.setSession(A),this.$gutterLayer.setSession(A),this.$textLayer.setSession(A),A&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},O.prototype.updateLines=function(A,E,k){if(E===void 0&&(E=1/0),this.$changedLines?(this.$changedLines.firstRow>A&&(this.$changedLines.firstRow=A),this.$changedLines.lastRow<E&&(this.$changedLines.lastRow=E)):this.$changedLines={firstRow:A,lastRow:E},this.$changedLines.lastRow<this.layerConfig.firstRow)if(k)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},O.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},O.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},O.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},O.prototype.updateFull=function(A){A?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},O.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},O.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},O.prototype.onResize=function(A,E,k,T){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=A?1:0;var w=this.container;T||(T=w.clientHeight||w.scrollHeight),!T&&this.$maxLines&&this.lineHeight>1&&(!w.style.height||w.style.height=="0px")&&(w.style.height="1px",T=w.clientHeight||w.scrollHeight),k||(k=w.clientWidth||w.scrollWidth);var M=this.$updateCachedSize(A,E,k,T);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!k&&!T)return this.resizing=0;A&&(this.$gutterLayer.$padding=null),A?this.$renderChanges(M|this.$changes,!0):this.$loop.schedule(M|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},O.prototype.$updateCachedSize=function(A,E,k,T){T-=this.$extraHeight||0;var w=0,M=this.$size,D={width:M.width,height:M.height,scrollerHeight:M.scrollerHeight,scrollerWidth:M.scrollerWidth};if(T&&(A||M.height!=T)&&(M.height=T,w|=this.CHANGE_SIZE,M.scrollerHeight=M.height,this.$horizScroll&&(M.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(M.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",w=w|this.CHANGE_SCROLL),k&&(A||M.width!=k)){w|=this.CHANGE_SIZE,M.width=k,E==null&&(E=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=E,y.setStyle(this.scrollBarH.element.style,"left",E+"px"),y.setStyle(this.scroller.style,"left",E+this.margin.left+"px"),M.scrollerWidth=Math.max(0,k-E-this.scrollBarV.getWidth()-this.margin.h),y.setStyle(this.$gutter.style,"left",this.margin.left+"px");var F=this.scrollBarV.getWidth()+"px";y.setStyle(this.scrollBarH.element.style,"right",F),y.setStyle(this.scroller.style,"right",F),y.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(M.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||A)&&(w|=this.CHANGE_FULL)}return M.$dirty=!k||!T,w&&this._signal("resize",D),w},O.prototype.onGutterResize=function(A){var E=this.$showGutter?A:0;E!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,E,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},O.prototype.adjustWrapLimit=function(){var A=this.$size.scrollerWidth-this.$padding*2,E=Math.floor(A/this.characterWidth);return this.session.adjustWrapLimit(E,this.$showPrintMargin&&this.$printMarginColumn)},O.prototype.setAnimatedScroll=function(A){this.setOption("animatedScroll",A)},O.prototype.getAnimatedScroll=function(){return this.$animatedScroll},O.prototype.setShowInvisibles=function(A){this.setOption("showInvisibles",A),this.session.$bidiHandler.setShowInvisibles(A)},O.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},O.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},O.prototype.setDisplayIndentGuides=function(A){this.setOption("displayIndentGuides",A)},O.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},O.prototype.setHighlightIndentGuides=function(A){this.setOption("highlightIndentGuides",A)},O.prototype.setShowPrintMargin=function(A){this.setOption("showPrintMargin",A)},O.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},O.prototype.setPrintMarginColumn=function(A){this.setOption("printMarginColumn",A)},O.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},O.prototype.getShowGutter=function(){return this.getOption("showGutter")},O.prototype.setShowGutter=function(A){return this.setOption("showGutter",A)},O.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},O.prototype.setFadeFoldWidgets=function(A){this.setOption("fadeFoldWidgets",A)},O.prototype.setHighlightGutterLine=function(A){this.setOption("highlightGutterLine",A)},O.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},O.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var A=y.createElement("div");A.className="ace_layer ace_print-margin-layer",this.$printMarginEl=y.createElement("div"),this.$printMarginEl.className="ace_print-margin",A.appendChild(this.$printMarginEl),this.content.insertBefore(A,this.content.firstChild)}var E=this.$printMarginEl.style;E.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",E.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},O.prototype.getContainerElement=function(){return this.container},O.prototype.getMouseEventTarget=function(){return this.scroller},O.prototype.getTextAreaContainer=function(){return this.container},O.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var A=this.textarea.style,E=this.$composition;if(!this.$keepTextAreaAtCursor&&!E){y.translate(this.textarea,-100,0);return}var k=this.$cursorLayer.$pixelPos;if(k){E&&E.markerRange&&(k=this.$cursorLayer.getPixelPosition(E.markerRange.start,!0));var T=this.layerConfig,w=k.top,M=k.left;w-=T.offset;var D=E&&E.useTextareaForIME||m.isMobile?this.lineHeight:1;if(w<0||w>T.height-D){y.translate(this.textarea,0,0);return}var F=1,B=this.$size.height-D;if(!E)w+=this.lineHeight;else if(E.useTextareaForIME){var H=this.textarea.value;F=this.characterWidth*this.session.$getStringScreenWidth(H)[0]}else w+=this.lineHeight+2;M-=this.scrollLeft,M>this.$size.scrollerWidth-F&&(M=this.$size.scrollerWidth-F),M+=this.gutterWidth+this.margin.left,y.setStyle(A,"height",D+"px"),y.setStyle(A,"width",F+"px"),y.translate(this.textarea,Math.min(M,this.$size.scrollerWidth-F),Math.min(w,B))}}},O.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},O.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},O.prototype.getLastFullyVisibleRow=function(){var A=this.layerConfig,E=A.lastRow,k=this.session.documentToScreenRow(E,0)*A.lineHeight;return k-this.session.getScrollTop()>A.height-A.lineHeight?E-1:E},O.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},O.prototype.setPadding=function(A){this.$padding=A,this.$textLayer.setPadding(A),this.$cursorLayer.setPadding(A),this.$markerFront.setPadding(A),this.$markerBack.setPadding(A),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},O.prototype.setScrollMargin=function(A,E,k,T){var w=this.scrollMargin;w.top=A|0,w.bottom=E|0,w.right=T|0,w.left=k|0,w.v=w.top+w.bottom,w.h=w.left+w.right,w.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-w.top),this.updateFull()},O.prototype.setMargin=function(A,E,k,T){var w=this.margin;w.top=A|0,w.bottom=E|0,w.right=T|0,w.left=k|0,w.v=w.top+w.bottom,w.h=w.left+w.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},O.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},O.prototype.setHScrollBarAlwaysVisible=function(A){this.setOption("hScrollBarAlwaysVisible",A)},O.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},O.prototype.setVScrollBarAlwaysVisible=function(A){this.setOption("vScrollBarAlwaysVisible",A)},O.prototype.$updateScrollBarV=function(){var A=this.layerConfig.maxHeight,E=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(A-=(E-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>A-E&&(A=this.scrollTop+E,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(A+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},O.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},O.prototype.freeze=function(){this.$frozen=!0},O.prototype.unfreeze=function(){this.$frozen=!1},O.prototype.$renderChanges=function(A,E){if(this.$changes&&(A|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!A&&!E){this.$changes|=A;return}if(this.$size.$dirty)return this.$changes|=A,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",A),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var k=this.layerConfig;if(A&this.CHANGE_FULL||A&this.CHANGE_SIZE||A&this.CHANGE_TEXT||A&this.CHANGE_LINES||A&this.CHANGE_SCROLL||A&this.CHANGE_H_SCROLL){if(A|=this.$computeLayerConfig()|this.$loop.clear(),k.firstRow!=this.layerConfig.firstRow&&k.firstRowScreen==this.layerConfig.firstRowScreen){var T=this.scrollTop+(k.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;T>0&&(this.scrollTop=T,A=A|this.CHANGE_SCROLL,A|=this.$computeLayerConfig()|this.$loop.clear())}k=this.layerConfig,this.$updateScrollBarV(),A&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),y.translate(this.content,-this.scrollLeft,-k.offset);var w=k.width+2*this.$padding+"px",M=k.minHeight+"px";y.setStyle(this.content.style,"width",w),y.setStyle(this.content.style,"height",M)}if(A&this.CHANGE_H_SCROLL&&(y.translate(this.content,-this.scrollLeft,-k.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),A&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(k),this.$showGutter&&this.$gutterLayer.update(k),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(k),this.$markerBack.update(k),this.$markerFront.update(k),this.$cursorLayer.update(k),this.$moveTextAreaToCursor(),this._signal("afterRender",A);return}if(A&this.CHANGE_SCROLL){this.$changedLines=null,A&this.CHANGE_TEXT||A&this.CHANGE_LINES?this.$textLayer.update(k):this.$textLayer.scrollLines(k),this.$showGutter&&(A&this.CHANGE_GUTTER||A&this.CHANGE_LINES?this.$gutterLayer.update(k):this.$gutterLayer.scrollLines(k)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(k),this.$markerBack.update(k),this.$markerFront.update(k),this.$cursorLayer.update(k),this.$moveTextAreaToCursor(),this._signal("afterRender",A);return}A&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(k),this.$showGutter&&this.$gutterLayer.update(k),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(k)):A&this.CHANGE_LINES?((this.$updateLines()||A&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(k),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(k)):A&this.CHANGE_TEXT||A&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(k),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(k)):A&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(k),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(k)),A&this.CHANGE_CURSOR&&(this.$cursorLayer.update(k),this.$moveTextAreaToCursor()),A&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(k),A&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(k),this._signal("afterRender",A)},O.prototype.$autosize=function(){var A=this.session.getScreenLength()*this.lineHeight,E=this.$maxLines*this.lineHeight,k=Math.min(E,Math.max((this.$minLines||1)*this.lineHeight,A))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(k+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&k>this.$maxPixelHeight&&(k=this.$maxPixelHeight);var T=k<=2*this.lineHeight,w=!T&&A>E;if(k!=this.desiredHeight||this.$size.height!=this.desiredHeight||w!=this.$vScroll){w!=this.$vScroll&&(this.$vScroll=w,this.scrollBarV.setVisible(w));var M=this.container.clientWidth;this.container.style.height=k+"px",this.$updateCachedSize(!0,this.$gutterWidth,M,k),this.desiredHeight=k,this._signal("autosize")}},O.prototype.$computeLayerConfig=function(){var A=this.session,E=this.$size,k=E.height<=2*this.lineHeight,T=this.session.getScreenLength(),w=T*this.lineHeight,M=this.$getLongestLine(),D=!k&&(this.$hScrollBarAlwaysVisible||E.scrollerWidth-M-2*this.$padding<0),F=this.$horizScroll!==D;F&&(this.$horizScroll=D,this.scrollBarH.setVisible(D));var B=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var H=E.scrollerHeight+this.lineHeight,j=!this.$maxLines&&this.$scrollPastEnd?(E.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;w+=j;var Y=this.scrollMargin;this.session.setScrollTop(Math.max(-Y.top,Math.min(this.scrollTop,w-E.scrollerHeight+Y.bottom))),this.session.setScrollLeft(Math.max(-Y.left,Math.min(this.scrollLeft,M+2*this.$padding-E.scrollerWidth+Y.right)));var X=!k&&(this.$vScrollBarAlwaysVisible||E.scrollerHeight-w+j<0||this.scrollTop>Y.top),Q=B!==X;Q&&(this.$vScroll=X,this.scrollBarV.setVisible(X));var q=this.scrollTop%this.lineHeight,ee=Math.ceil(H/this.lineHeight)-1,ie=Math.max(0,Math.round((this.scrollTop-q)/this.lineHeight)),ae=ie+ee,he,de,ye=this.lineHeight;ie=A.screenToDocumentRow(ie,0);var Ae=A.getFoldLine(ie);Ae&&(ie=Ae.start.row),he=A.documentToScreenRow(ie,0),de=A.getRowLength(ie)*ye,ae=Math.min(A.screenToDocumentRow(ae,0),A.getLength()-1),H=E.scrollerHeight+A.getRowLength(ae)*ye+de,q=this.scrollTop-he*ye;var ze=0;return(this.layerConfig.width!=M||F)&&(ze=this.CHANGE_H_SCROLL),(F||Q)&&(ze|=this.$updateCachedSize(!0,this.gutterWidth,E.width,E.height),this._signal("scrollbarVisibilityChanged"),Q&&(M=this.$getLongestLine())),this.layerConfig={width:M,padding:this.$padding,firstRow:ie,firstRowScreen:he,lastRow:ae,lineHeight:ye,characterWidth:this.characterWidth,minHeight:H,maxHeight:w,offset:q,gutterOffset:ye?Math.max(0,Math.ceil((q+E.height-E.scrollerHeight)/ye)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(M-this.$padding),ze},O.prototype.$updateLines=function(){if(this.$changedLines){var A=this.$changedLines.firstRow,E=this.$changedLines.lastRow;this.$changedLines=null;var k=this.layerConfig;if(!(A>k.lastRow+1)&&!(E<k.firstRow)){if(E===1/0){this.$showGutter&&this.$gutterLayer.update(k),this.$textLayer.update(k);return}return this.$textLayer.updateLines(k,A,E),!0}}},O.prototype.$getLongestLine=function(){var A=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(A+=1),this.$textLayer&&A>this.$textLayer.MAX_LINE_LENGTH&&(A=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(A*this.characterWidth))},O.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},O.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},O.prototype.addGutterDecoration=function(A,E){this.$gutterLayer.addGutterDecoration(A,E)},O.prototype.removeGutterDecoration=function(A,E){this.$gutterLayer.removeGutterDecoration(A,E)},O.prototype.updateBreakpoints=function(A){this._rows=A,this.$loop.schedule(this.CHANGE_GUTTER)},O.prototype.setAnnotations=function(A){this.$gutterLayer.setAnnotations(A),this.$loop.schedule(this.CHANGE_GUTTER)},O.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},O.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},O.prototype.showCursor=function(){this.$cursorLayer.showCursor()},O.prototype.scrollSelectionIntoView=function(A,E,k){this.scrollCursorIntoView(A,k),this.scrollCursorIntoView(E,k)},O.prototype.scrollCursorIntoView=function(A,E,k){if(this.$size.scrollerHeight!==0){var T=this.$cursorLayer.getPixelPosition(A),w=T.left,M=T.top,D=k&&k.top||0,F=k&&k.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var B=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;B+D>M?(E&&B+D>M+this.lineHeight&&(M-=E*this.$size.scrollerHeight),M===0&&(M=-this.scrollMargin.top),this.session.setScrollTop(M)):B+this.$size.scrollerHeight-F<M+this.lineHeight&&(E&&B+this.$size.scrollerHeight-F<M-this.lineHeight&&(M+=E*this.$size.scrollerHeight),this.session.setScrollTop(M+this.lineHeight+F-this.$size.scrollerHeight));var H=this.scrollLeft,j=2*this.layerConfig.characterWidth;w-j<H?(w-=j,w<this.$padding+j&&(w=-this.scrollMargin.left),this.session.setScrollLeft(w)):(w+=j,H+this.$size.scrollerWidth<w+this.characterWidth?this.session.setScrollLeft(Math.round(w+this.characterWidth-this.$size.scrollerWidth)):H<=this.$padding&&w-H<this.characterWidth&&this.session.setScrollLeft(0))}},O.prototype.getScrollTop=function(){return this.session.getScrollTop()},O.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},O.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},O.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},O.prototype.scrollToRow=function(A){this.session.setScrollTop(A*this.lineHeight)},O.prototype.alignCursor=function(A,E){typeof A=="number"&&(A={row:A,column:0});var k=this.$cursorLayer.getPixelPosition(A),T=this.$size.scrollerHeight-this.lineHeight,w=k.top-T*(E||0);return this.session.setScrollTop(w),w},O.prototype.$calcSteps=function(A,E){var k=0,T=this.STEPS,w=[],M=function(D,F,B){return B*(Math.pow(D-1,3)+1)+F};for(k=0;k<T;++k)w.push(M(k/this.STEPS,A,E-A));return w},O.prototype.scrollToLine=function(A,E,k,T){var w=this.$cursorLayer.getPixelPosition({row:A,column:0}),M=w.top;E&&(M-=this.$size.scrollerHeight/2);var D=this.scrollTop;this.session.setScrollTop(M),k!==!1&&this.animateScrolling(D,T)},O.prototype.animateScrolling=function(A,E){var k=this.scrollTop;if(!this.$animatedScroll)return;var T=this;if(A==k)return;if(this.$scrollAnimation){var w=this.$scrollAnimation.steps;if(w.length&&(A=w[0],A==k))return}var M=T.$calcSteps(A,k);this.$scrollAnimation={from:A,to:k,steps:M},clearInterval(this.$timer),T.session.setScrollTop(M.shift()),T.session.$scrollTop=k;function D(){T.$timer=clearInterval(T.$timer),T.$scrollAnimation=null,T.$stopAnimation=!1,E&&E()}this.$timer=setInterval(function(){if(T.$stopAnimation){D();return}if(!T.session)return clearInterval(T.$timer);M.length?(T.session.setScrollTop(M.shift()),T.session.$scrollTop=k):k!=null?(T.session.$scrollTop=-1,T.session.setScrollTop(k),k=null):D()},10)},O.prototype.scrollToY=function(A){this.scrollTop!==A&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=A)},O.prototype.scrollToX=function(A){this.scrollLeft!==A&&(this.scrollLeft=A),this.$loop.schedule(this.CHANGE_H_SCROLL)},O.prototype.scrollTo=function(A,E){this.session.setScrollTop(E),this.session.setScrollLeft(A)},O.prototype.scrollBy=function(A,E){E&&this.session.setScrollTop(this.session.getScrollTop()+E),A&&this.session.setScrollLeft(this.session.getScrollLeft()+A)},O.prototype.isScrollableBy=function(A,E){if(E<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||E>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||A<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||A>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},O.prototype.pixelToScreenCoordinates=function(A,E){var k;if(this.$hasCssTransforms){k={top:0,left:0};var T=this.$fontMetrics.transformCoordinates([A,E]);A=T[1]-this.gutterWidth-this.margin.left,E=T[0]}else k=this.scroller.getBoundingClientRect();var w=A+this.scrollLeft-k.left-this.$padding,M=w/this.characterWidth,D=Math.floor((E+this.scrollTop-k.top)/this.lineHeight),F=this.$blockCursor?Math.floor(M):Math.round(M);return{row:D,column:F,side:M-F>0?1:-1,offsetX:w}},O.prototype.screenToTextCoordinates=function(A,E){var k;if(this.$hasCssTransforms){k={top:0,left:0};var T=this.$fontMetrics.transformCoordinates([A,E]);A=T[1]-this.gutterWidth-this.margin.left,E=T[0]}else k=this.scroller.getBoundingClientRect();var w=A+this.scrollLeft-k.left-this.$padding,M=w/this.characterWidth,D=this.$blockCursor?Math.floor(M):Math.round(M),F=Math.floor((E+this.scrollTop-k.top)/this.lineHeight);return this.session.screenToDocumentPosition(F,Math.max(D,0),w)},O.prototype.textToScreenCoordinates=function(A,E){var k=this.scroller.getBoundingClientRect(),T=this.session.documentToScreenPosition(A,E),w=this.$padding+(this.session.$bidiHandler.isBidiRow(T.row,A)?this.session.$bidiHandler.getPosLeft(T.column):Math.round(T.column*this.characterWidth)),M=T.row*this.lineHeight;return{pageX:k.left+w-this.scrollLeft,pageY:k.top+M-this.scrollTop}},O.prototype.visualizeFocus=function(){y.addCssClass(this.container,"ace_focus")},O.prototype.visualizeBlur=function(){y.removeCssClass(this.container,"ace_focus")},O.prototype.showComposition=function(A){this.$composition=A,A.cssText||(A.cssText=this.textarea.style.cssText),A.useTextareaForIME==null&&(A.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(y.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):A.markerId=this.session.addMarker(A.markerRange,"ace_composition_marker","text")},O.prototype.setCompositionText=function(A){var E=this.session.selection.cursor;this.addToken(A,"composition_placeholder",E.row,E.column),this.$moveTextAreaToCursor()},O.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),y.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var A=this.session.selection.cursor;this.removeExtraToken(A.row,A.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},O.prototype.setGhostText=function(A,E){var k=this.session.selection.cursor,T=E||{row:k.row,column:k.column};this.removeGhostText();var w=this.$calculateWrappedTextChunks(A,T);this.addToken(w[0].text,"ghost_text",T.row,T.column),this.$ghostText={text:A,position:{row:T.row,column:T.column}};var M=y.createElement("div");if(w.length>1){var D=this.hideTokensAfterPosition(T.row,T.column),F;w.slice(1).forEach(function(Q){var q=y.createElement("div"),ee=y.createElement("span");ee.className="ace_ghost_text",Q.wrapped&&(q.className="ghost_text_line_wrapped"),Q.text.length===0&&(Q.text=" "),ee.appendChild(y.createTextNode(Q.text)),q.appendChild(ee),M.appendChild(q),F=q}),D.forEach(function(Q){var q=y.createElement("span");$(Q.type)||(q.className="ace_"+Q.type.replace(/\./g," ace_")),q.appendChild(y.createTextNode(Q.value)),F.appendChild(q)}),this.$ghostTextWidget={el:M,row:T.row,column:T.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var B=this.$cursorLayer.getPixelPosition(T,!0),H=this.container,j=H.getBoundingClientRect().height,Y=w.length*this.lineHeight,X=Y<j-B.top;if(X)return;Y<j?this.scrollBy(0,(w.length-1)*this.lineHeight):this.scrollToRow(T.row)}},O.prototype.$calculateWrappedTextChunks=function(A,E){var k=this.$size.scrollerWidth-this.$padding*2,T=Math.floor(k/this.characterWidth)-2;T=T<=0?60:T;for(var w=A.split(/\r?\n/),M=[],D=0;D<w.length;D++){var F=this.session.$getDisplayTokens(w[D],E.column),B=this.session.$computeWrapSplits(F,T,this.session.$tabSize);if(B.length>0){var H=0;B.push(w[D].length);for(var j=0;j<B.length;j++){var Y=w[D].slice(H,B[j]);M.push({text:Y,wrapped:!0}),H=B[j]}}else M.push({text:w[D],wrapped:!1})}return M},O.prototype.removeGhostText=function(){if(this.$ghostText){var A=this.$ghostText.position;this.removeExtraToken(A.row,A.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},O.prototype.addToken=function(A,E,k,T){var w=this.session;w.bgTokenizer.lines[k]=null;var M={type:E,value:A},D=w.getTokens(k);if(T==null||!D.length)D.push(M);else for(var F=0,B=0;B<D.length;B++){var H=D[B];if(F+=H.value.length,T<=F){var j=H.value.length-(F-T),Y=H.value.slice(0,j),X=H.value.slice(j);D.splice(B,1,{type:H.type,value:Y},M,{type:H.type,value:X});break}}this.updateLines(k,k)},O.prototype.hideTokensAfterPosition=function(A,E){for(var k=this.session.getTokens(A),T=0,w=!1,M=[],D=0;D<k.length;D++){var F=k[D];if(T+=F.value.length,F.type!=="ghost_text"){if(w){M.push({type:F.type,value:F.value}),F.type="hidden_token";continue}T===E&&(w=!0)}}return this.updateLines(A,A),M},O.prototype.removeExtraToken=function(A,E){this.session.bgTokenizer.lines[A]=null,this.updateLines(A,A)},O.prototype.setTheme=function(A,E){var k=this;if(this.$themeId=A,k._dispatchEvent("themeChange",{theme:A}),!A||typeof A=="string"){var T=A||this.$options.theme.initialValue;u.loadModule(["theme",T],w)}else w(A);function w(M){if(k.$themeId!=A)return E&&E();if(!M||!M.cssClass)throw new Error("couldn't load module "+A+" or it didn't call define");M.$id&&(k.$themeId=M.$id),y.importCssString(M.cssText,M.cssClass,k.container),k.theme&&y.removeCssClass(k.container,k.theme.cssClass);var D="padding"in M?M.padding:"padding"in(k.theme||{})?4:k.$padding;k.$padding&&D!=k.$padding&&k.setPadding(D),k.$theme=M.cssClass,k.theme=M,y.addCssClass(k.container,M.cssClass),y.setCssClass(k.container,"ace_dark",M.isDark),k.$size&&(k.$size.width=0,k.$updateSizeAsync()),k._dispatchEvent("themeLoaded",{theme:M}),E&&E(),m.isSafari&&k.scroller&&(k.scroller.style.background="red",k.scroller.style.background="")}},O.prototype.getTheme=function(){return this.$themeId},O.prototype.setStyle=function(A,E){y.setCssClass(this.container,A,E!==!1)},O.prototype.unsetStyle=function(A){y.removeCssClass(this.container,A)},O.prototype.setCursorStyle=function(A){y.setStyle(this.scroller.style,"cursor",A)},O.prototype.setMouseCursor=function(A){y.setStyle(this.scroller.style,"cursor",A)},O.prototype.attachToShadowRoot=function(){y.importCssString(C,"ace_editor.css",this.container)},O.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},O.prototype.$updateCustomScrollbar=function(A){var E=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,A===!0?(this.scrollBarV=new c(this.container,this),this.scrollBarH=new a(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(k){E.$scrollAnimation||E.session.setScrollTop(k.data-E.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(k){E.$scrollAnimation||E.session.setScrollLeft(k.data-E.scrollMargin.left)}),this.$scrollDecorator=new b(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new t(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.addEventListener("scroll",function(k){E.$scrollAnimation||E.session.setScrollTop(k.data-E.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(k){E.$scrollAnimation||E.session.setScrollLeft(k.data-E.scrollMargin.left)}))},O.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var A=this;this.$resizeTimer=_.delayedCall(function(){A.destroyed||A.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(E){var k=E[0].contentRect.width,T=E[0].contentRect.height;Math.abs(A.$size.width-k)>1||Math.abs(A.$size.height-T)>1?A.$resizeTimer.delay():A.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},O}();L.prototype.CHANGE_CURSOR=1,L.prototype.CHANGE_MARKER=2,L.prototype.CHANGE_GUTTER=4,L.prototype.CHANGE_SCROLL=8,L.prototype.CHANGE_LINES=16,L.prototype.CHANGE_TEXT=32,L.prototype.CHANGE_SIZE=64,L.prototype.CHANGE_MARKER_BACK=128,L.prototype.CHANGE_MARKER_FRONT=256,L.prototype.CHANGE_FULL=512,L.prototype.CHANGE_H_SCROLL=1024,L.prototype.$changes=0,L.prototype.$padding=null,L.prototype.$frozen=!1,L.prototype.STEPS=8,x.implement(L.prototype,I),u.defineOptions(L.prototype,"renderer",{useResizeObserver:{set:function(O){!O&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):O&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(O){this.$textLayer.setShowInvisibles(O)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(O){typeof O=="number"&&(this.$printMarginColumn=O),this.$showPrintMargin=!!O,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(O){this.$gutter.style.display=O?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(O){this.$gutterLayer.$useSvgGutterIcons=O},initialValue:!1},showFoldedAnnotations:{set:function(O){this.$gutterLayer.$showFoldedAnnotations=O},initialValue:!1},fadeFoldWidgets:{set:function(O){y.setCssClass(this.$gutter,"ace_fade-fold-widgets",O)},initialValue:!1},showFoldWidgets:{set:function(O){this.$gutterLayer.setShowFoldWidgets(O),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(O){this.$textLayer.setDisplayIndentGuides(O)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(O){this.$textLayer.setHighlightIndentGuides(O)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(O){this.$gutterLayer.setHighlightGutterLine(O),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(O){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(O){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(O){typeof O=="number"&&(O=O+"px"),this.container.style.fontSize=O,this.updateFontSize()},initialValue:12},fontFamily:{set:function(O){this.container.style.fontFamily=O,this.updateFontSize()}},maxLines:{set:function(O){this.updateFull()}},minLines:{set:function(O){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(O){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(O){O=+O||0,this.$scrollPastEnd!=O&&(this.$scrollPastEnd=O,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(O){this.$gutterLayer.$fixedWidth=!!O,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(O){this.$updateCustomScrollbar(O)},initialValue:!1},theme:{set:function(O){this.setTheme(O)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!m.isMobile&&!m.isIE}}),h.VirtualRenderer=L}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(o,h,R){var x=o("../lib/oop"),y=o("../lib/net"),_=o("../lib/event_emitter").EventEmitter,u=o("../config");function d(i){var t="importScripts('"+y.qualifyURL(i)+"');";try{return new Blob([t],{type:"application/javascript"})}catch{var a=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,c=new a;return c.append(t),c.getBlob("application/javascript")}}function s(i){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(u.get("loadWorkerFromBlob")){var t=d(i),a=window.URL||window.webkitURL,c=a.createObjectURL(t);return new Worker(c)}return new Worker(i)}var r=function(i){i.postMessage||(i=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=i,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){x.implement(this,_),this.$createWorkerFromOldConfig=function(i,t,a,c,p){if(o.nameToUrl&&!o.toUrl&&(o.toUrl=o.nameToUrl),u.get("packaged")||!o.toUrl)c=c||u.moduleUrl(t,"worker");else{var v=this.$normalizePath;c=c||v(o.toUrl("ace/worker/worker.js",null,"_"));var I={};i.forEach(function(C){I[C]=v(o.toUrl(C,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=s(c),p&&this.send("importScripts",p),this.$worker.postMessage({init:!0,tlns:I,module:t,classname:a}),this.$worker},this.onMessage=function(i){var t=i.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var a=this.callbacks[t.id];a&&(a(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data);break}},this.reportError=function(i){window.console&&console.error&&console.error(i)},this.$normalizePath=function(i){return y.qualifyURL(i)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(i){i.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(i,t){this.$worker.postMessage({command:i,args:t})},this.call=function(i,t,a){if(a){var c=this.callbackId++;this.callbacks[c]=a,t.push(c)}this.send(i,t)},this.emit=function(i,t){try{t.data&&t.data.err&&(t.data.err={message:t.data.err.message,stack:t.data.err.stack,code:t.data.err.code}),this.$worker&&this.$worker.postMessage({event:i,data:{data:t.data}})}catch(a){console.error(a.stack)}},this.attachToDocument=function(i){this.$doc&&this.terminate(),this.$doc=i,this.call("setValue",[i.getValue()]),i.on("change",this.changeListener,!0)},this.changeListener=function(i){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),i.action=="insert"?this.deltaQueue.push(i.start,i.lines):this.deltaQueue.push(i.start,i.end)},this.$sendDeltaQueue=function(){var i=this.deltaQueue;i&&(this.deltaQueue=null,i.length>50&&i.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:i}))}}).call(r.prototype);var n=function(i,t,a){var c=null,p=!1,v=Object.create(_),I=[],C=new r({messageBuffer:I,terminate:function(){},postMessage:function(m){I.push(m),c&&(p?setTimeout(b):b())}});C.setEmitSync=function(m){p=m};var b=function(){var m=I.shift();m.command?c[m.command].apply(c,m.args):m.event&&v._signal(m.event,m.data)};return v.postMessage=function(m){C.onMessage({data:m})},v.callback=function(m,$){this.postMessage({type:"call",id:$,data:m})},v.emit=function(m,$){this.postMessage({type:"event",name:m,data:$})},u.loadModule(["worker",t],function(m){for(c=new m[a](v);I.length;)b()}),C};h.UIWorkerClient=n,h.WorkerClient=r,h.createWorker=s}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(o,h,R){var x=o("./range").Range,y=o("./lib/event_emitter").EventEmitter,_=o("./lib/oop"),u=function(){function d(s,r,n,i,t,a){var c=this;this.length=r,this.session=s,this.doc=s.getDocument(),this.mainClass=t,this.othersClass=a,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=i,this.$onCursorChange=function(){setTimeout(function(){c.onCursorChange()})},this.$pos=n;var p=s.getUndoManager().$undoStack||s.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=p.length,this.setup(),s.selection.on("changeCursor",this.$onCursorChange)}return d.prototype.setup=function(){var s=this,r=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=r.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new x(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(t){var a=r.createAnchor(t.row,t.column);a.$insertRight=!0,a.detach(),s.others.push(a)}),n.setUndoSelect(!1)},d.prototype.showOtherMarkers=function(){if(!this.othersActive){var s=this.session,r=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=s.addMarker(new x(n.row,n.column,n.row,n.column+r.length),r.othersClass,null,!1)})}},d.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var s=0;s<this.others.length;s++)this.session.removeMarker(this.others[s].markerId)}},d.prototype.onUpdate=function(s){if(this.$updating)return this.updateAnchors(s);var r=s;if(r.start.row===r.end.row&&r.start.row===this.pos.row){this.$updating=!0;var n=s.action==="insert"?r.end.column-r.start.column:r.start.column-r.end.column,i=r.start.column>=this.pos.column&&r.start.column<=this.pos.column+this.length+1,t=r.start.column-this.pos.column;if(this.updateAnchors(s),i&&(this.length+=n),i&&!this.session.$fromUndo){if(s.action==="insert")for(var a=this.others.length-1;a>=0;a--){var c=this.others[a],p={row:c.row,column:c.column+t};this.doc.insertMergedLines(p,s.lines)}else if(s.action==="remove")for(var a=this.others.length-1;a>=0;a--){var c=this.others[a],p={row:c.row,column:c.column+t};this.doc.remove(new x(p.row,p.column,p.row,p.column-n))}}this.$updating=!1,this.updateMarkers()}},d.prototype.updateAnchors=function(s){this.pos.onChange(s);for(var r=this.others.length;r--;)this.others[r].onChange(s);this.updateMarkers()},d.prototype.updateMarkers=function(){if(!this.$updating){var s=this,r=this.session,n=function(t,a){r.removeMarker(t.markerId),t.markerId=r.addMarker(new x(t.row,t.column,t.row,t.column+s.length),a,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)}},d.prototype.onCursorChange=function(s){if(!(this.$updating||!this.session)){var r=this.session.selection.getCursor();r.row===this.pos.row&&r.column>=this.pos.column&&r.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",s)):(this.hideOtherMarkers(),this._emit("cursorLeave",s))}},d.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},d.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var s=this.session.getUndoManager(),r=(s.$undoStack||s.$undostack).length-this.$undoStackDepth,n=0;n<r;n++)s.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},d}();_.implement(u.prototype,y),h.PlaceHolder=u}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(o,h,R){var x=o("../lib/event"),y=o("../lib/useragent");function _(d,s){return d.row==s.row&&d.column==s.column}function u(d){var s=d.domEvent,r=s.altKey,n=s.shiftKey,i=s.ctrlKey,t=d.getAccelKey(),a=d.getButton();if(i&&y.isMac&&(a=s.button),d.editor.inMultiSelectMode&&a==2){d.editor.textInput.onContextMenu(d.domEvent);return}if(!i&&!r&&!t){a===0&&d.editor.inMultiSelectMode&&d.editor.exitMultiSelectMode();return}if(a===0){var c=d.editor,p=c.selection,v=c.inMultiSelectMode,I=d.getDocumentPosition(),C=p.getCursor(),b=d.inSelection()||p.isEmpty()&&_(I,C),m=d.x,$=d.y,L=function(Y){m=Y.clientX,$=Y.clientY},O=c.session,A=c.renderer.pixelToScreenCoordinates(m,$),E=A,k;if(c.$mouseHandler.$enableJumpToDef)i&&r||t&&r?k=n?"block":"add":r&&c.$blockSelectEnabled&&(k="block");else if(t&&!r){if(k="add",!v&&n)return}else r&&c.$blockSelectEnabled&&(k="block");if(k&&y.isMac&&s.ctrlKey&&c.$mouseHandler.cancelContextMenu(),k=="add"){if(!v&&b)return;if(!v){var T=p.toOrientedRange();c.addSelectionMarker(T)}var w=p.rangeList.rangeAtPoint(I);c.inVirtualSelectionMode=!0,n&&(w=null,T=p.ranges[0]||T,c.removeSelectionMarker(T)),c.once("mouseup",function(){var Y=p.toOrientedRange();w&&Y.isEmpty()&&_(w.cursor,Y.cursor)?p.substractPoint(Y.cursor):(n?p.substractPoint(T.cursor):T&&(c.removeSelectionMarker(T),p.addRange(T)),p.addRange(Y)),c.inVirtualSelectionMode=!1})}else if(k=="block"){d.stop(),c.inVirtualSelectionMode=!0;var M,D=[],F=function(){var Y=c.renderer.pixelToScreenCoordinates(m,$),X=O.screenToDocumentPosition(Y.row,Y.column,Y.offsetX);_(E,Y)&&_(X,p.lead)||(E=Y,c.selection.moveToPosition(X),c.renderer.scrollCursorIntoView(),c.removeSelectionMarkers(D),D=p.rectangularRangeBlock(E,A),c.$mouseHandler.$clickSelection&&D.length==1&&D[0].isEmpty()&&(D[0]=c.$mouseHandler.$clickSelection.clone()),D.forEach(c.addSelectionMarker,c),c.updateSelectionMarkers())};v&&!t?p.toSingleRange():!v&&t&&(M=p.toOrientedRange(),c.addSelectionMarker(M)),n?A=O.documentToScreenPosition(p.lead):p.moveToPosition(I),E={row:-1,column:-1};var B=function(Y){F(),clearInterval(j),c.removeSelectionMarkers(D),D.length||(D=[p.toOrientedRange()]),M&&(c.removeSelectionMarker(M),p.toSingleRange(M));for(var X=0;X<D.length;X++)p.addRange(D[X]);c.inVirtualSelectionMode=!1,c.$mouseHandler.$clickSelection=null},H=F;x.capture(c.container,L,B);var j=setInterval(function(){H()},20);return d.preventDefault()}}}h.onMouseDown=u}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(o,h,R){h.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(y){y.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(y){y.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(y){y.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(y){y.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(y){y.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(y){y.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(y){y.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(y){y.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(y){y.multiSelect.rangeCount>1?y.multiSelect.joinSelections():y.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(y){y.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(y){y.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(y){y.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],h.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(y){y.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(y){return y&&y.inMultiSelectMode}}];var x=o("../keyboard/hash_handler").HashHandler;h.keyboardHandler=new x(h.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(o,h,R){var x=o("./range_list").RangeList,y=o("./range").Range,_=o("./selection").Selection,u=o("./mouse/multi_select_handler").onMouseDown,d=o("./lib/event"),s=o("./lib/lang"),r=o("./commands/multi_select_commands");h.commands=r.defaultCommands.concat(r.multiSelectCommands);var n=o("./search").Search,i=new n;function t(C,b,m){return i.$options.wrap=!0,i.$options.needle=b,i.$options.backwards=m==-1,i.find(C)}var a=o("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(a.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(C,b){if(C){if(!this.inMultiSelectMode&&this.rangeCount===0){var m=this.toOrientedRange();if(this.rangeList.add(m),this.rangeList.add(C),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),b||this.fromOrientedRange(C);this.rangeList.removeAll(),this.rangeList.add(m),this.$onAddRange(m)}C.cursor||(C.cursor=C.end);var $=this.rangeList.add(C);return this.$onAddRange(C),$.length&&this.$onRemoveRange($),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(C)}},this.toSingleRange=function(C){C=C||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),C&&this.fromOrientedRange(C)},this.substractPoint=function(C){var b=this.rangeList.substractPoint(C);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var C=this.rangeList.merge();C.length&&this.$onRemoveRange(C)},this.$onAddRange=function(C){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(C),this._signal("addRange",{range:C})},this.$onRemoveRange=function(C){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();C.push(b),this.rangeCount=0}for(var m=C.length;m--;){var $=this.ranges.indexOf(C[m]);this.ranges.splice($,1)}this._signal("removeRange",{ranges:C}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new x,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var C=this.ranges.length?this.ranges:[this.getRange()],b=[],m=0;m<C.length;m++){var $=C[m],L=$.start.row,O=$.end.row;if(L===O)b.push($.clone());else{for(b.push(new y(L,$.start.column,L,this.session.getLine(L).length));++L<O;)b.push(this.getLineRange(L,!0));b.push(new y(O,0,O,$.end.column))}m==0&&!this.isBackwards()&&(b=b.reverse())}this.toSingleRange();for(var m=b.length;m--;)this.addRange(b[m])},this.joinSelections=function(){var C=this.rangeList.ranges,b=C[C.length-1],m=y.fromPoints(C[0].start,b.end);this.toSingleRange(),this.setSelectionRange(m,b.cursor==b.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var C=this.rangeList.ranges,b=C[C.length-1],m=y.fromPoints(C[0].start,b.end);this.toSingleRange(),this.setSelectionRange(m,b.cursor==b.start)}else{var $=this.session.documentToScreenPosition(this.cursor),L=this.session.documentToScreenPosition(this.anchor),O=this.rectangularRangeBlock($,L);O.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(C,b,m){var $=[],L=C.column<b.column;if(L)var O=C.column,A=b.column,E=C.offsetX,k=b.offsetX;else var O=b.column,A=C.column,E=b.offsetX,k=C.offsetX;var T=C.row<b.row;if(T)var w=C.row,M=b.row;else var w=b.row,M=C.row;O<0&&(O=0),w<0&&(w=0),w==M&&(m=!0);for(var D,F=w;F<=M;F++){var B=y.fromPoints(this.session.screenToDocumentPosition(F,O,E),this.session.screenToDocumentPosition(F,A,k));if(B.isEmpty()){if(D&&p(B.end,D))break;D=B.end}B.cursor=L?B.start:B.end,$.push(B)}if(T&&$.reverse(),!m){for(var H=$.length-1;$[H].isEmpty()&&H>0;)H--;if(H>0)for(var j=0;$[j].isEmpty();)j++;for(var Y=H;Y>=j;Y--)$[Y].isEmpty()&&$.splice(Y,1)}return $}}).call(_.prototype);var c=o("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(C){C.cursor||(C.cursor=C.end);var b=this.getSelectionStyle();return C.marker=this.session.addMarker(C,"ace_selection",b),this.session.$selectionMarkers.push(C),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,C},this.removeSelectionMarker=function(C){if(C.marker){this.session.removeMarker(C.marker);var b=this.session.$selectionMarkers.indexOf(C);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(C){for(var b=this.session.$selectionMarkers,m=C.length;m--;){var $=C[m];if($.marker){this.session.removeMarker($.marker);var L=b.indexOf($);L!=-1&&b.splice(L,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(C){this.addSelectionMarker(C.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(C){this.removeSelectionMarkers(C.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(C){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(r.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(C){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(r.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(C){var b=C.command,m=C.editor;if(m.multiSelect){if(b.multiSelectAction)b.multiSelectAction=="forEach"?$=m.forEachSelection(b,C.args):b.multiSelectAction=="forEachLine"?$=m.forEachSelection(b,C.args,!0):b.multiSelectAction=="single"?(m.exitMultiSelectMode(),$=b.exec(m,C.args||{})):$=b.multiSelectAction(m,C.args||{});else{var $=b.exec(m,C.args||{});m.multiSelect.addRange(m.multiSelect.toOrientedRange()),m.multiSelect.mergeOverlappingRanges()}return $}},this.forEachSelection=function(C,b,m){if(!this.inVirtualSelectionMode){var $=m&&m.keepOrder,L=m==!0||m&&m.$byLines,O=this.session,A=this.selection,E=A.rangeList,k=($?A:E).ranges,T;if(!k.length)return C.exec?C.exec(this,b||{}):C(this,b||{});var w=A._eventRegistry;A._eventRegistry={};var M=new _(O);this.inVirtualSelectionMode=!0;for(var D=k.length;D--;){if(L)for(;D>0&&k[D].start.row==k[D-1].end.row;)D--;M.fromOrientedRange(k[D]),M.index=D,this.selection=O.selection=M;var F=C.exec?C.exec(this,b||{}):C(this,b||{});!T&&F!==void 0&&(T=F),M.toOrientedRange(k[D])}M.detach(),this.selection=O.selection=A,this.inVirtualSelectionMode=!1,A._eventRegistry=w,A.mergeOverlappingRanges(),A.ranges[0]&&A.fromOrientedRange(A.ranges[0]);var B=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),B&&B.from==B.to&&this.renderer.animateScrolling(B.from),T}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var C="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,m=[],$=0;$<b.length;$++)m.push(this.session.getTextRange(b[$]));var L=this.session.getDocument().getNewLineCharacter();C=m.join(L),C.length==(m.length-1)*L.length&&(C="")}else this.selection.isEmpty()||(C=this.session.getTextRange(this.getSelectionRange()));return C},this.$checkMultiselectChange=function(C,b){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var m=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&b==this.multiSelect.anchor)return;var $=b==this.multiSelect.anchor?m.cursor==m.start?m.end:m.start:m.cursor;$.row!=b.row||this.session.$clipPositionToDocument($.row,$.column).column!=b.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(C,b,m){if(b=b||{},b.needle=C||b.needle,b.needle==null){var $=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();b.needle=this.session.getTextRange($)}this.$search.set(b);var L=this.$search.findAll(this.session);if(!L.length)return 0;var O=this.multiSelect;m||O.toSingleRange(L[0]);for(var A=L.length;A--;)O.addRange(L[A],!0);return $&&O.rangeList.rangeAtPoint($.start)&&O.addRange($,!0),L.length},this.selectMoreLines=function(C,b){var m=this.selection.toOrientedRange(),$=m.cursor==m.end,L=this.session.documentToScreenPosition(m.cursor);this.selection.$desiredColumn&&(L.column=this.selection.$desiredColumn);var O=this.session.screenToDocumentPosition(L.row+C,L.column);if(m.isEmpty())var E=O;else var A=this.session.documentToScreenPosition($?m.end:m.start),E=this.session.screenToDocumentPosition(A.row+C,A.column);if($){var k=y.fromPoints(O,E);k.cursor=k.start}else{var k=y.fromPoints(E,O);k.cursor=k.end}if(k.desiredColumn=L.column,!this.selection.inMultiSelectMode)this.selection.addRange(m);else if(b)var T=m.cursor;this.selection.addRange(k),T&&this.selection.substractPoint(T)},this.transposeSelections=function(C){for(var b=this.session,m=b.multiSelect,$=m.ranges,L=$.length;L--;){var O=$[L];if(O.isEmpty()){var A=b.getWordRange(O.start.row,O.start.column);O.start.row=A.start.row,O.start.column=A.start.column,O.end.row=A.end.row,O.end.column=A.end.column}}m.mergeOverlappingRanges();for(var E=[],L=$.length;L--;){var O=$[L];E.unshift(b.getTextRange(O))}C<0?E.unshift(E.pop()):E.push(E.shift());for(var L=$.length;L--;){var O=$[L],k=O.clone();b.replace(O,E[L]),O.start.row=k.start.row,O.start.column=k.start.column}m.fromOrientedRange(m.ranges[0])},this.selectMore=function(C,b,m){var $=this.session,L=$.multiSelect,O=L.toOrientedRange();if(!(O.isEmpty()&&(O=$.getWordRange(O.start.row,O.start.column),O.cursor=C==-1?O.start:O.end,this.multiSelect.addRange(O),m))){var A=$.getTextRange(O),E=t($,A,C);E&&(E.cursor=C==-1?E.start:E.end,this.session.unfold(E),this.multiSelect.addRange(E),this.renderer.scrollCursorIntoView(null,.5)),b&&this.multiSelect.substractPoint(O.cursor)}},this.alignCursors=function(){var C=this.session,b=C.multiSelect,m=b.ranges,$=-1,L=m.filter(function(H){if(H.cursor.row==$)return!0;$=H.cursor.row});if(!m.length||L.length==m.length-1){var O=this.selection.getRange(),A=O.start.row,E=O.end.row,k=A==E;if(k){var T=this.session.getLength(),w;do w=this.session.getLine(E);while(/[=:]/.test(w)&&++E<T);do w=this.session.getLine(A);while(/[=:]/.test(w)&&--A>0);A<0&&(A=0),E>=T&&(E=T-1)}var M=this.session.removeFullLines(A,E);M=this.$reAlignText(M,k),this.session.insert({row:A,column:0},M.join(`
936
+ `)+`
937
+ `),k||(O.start.column=0,O.end.column=M[M.length-1].length),this.selection.setRange(O)}else{L.forEach(function(H){b.substractPoint(H.cursor)});var D=0,F=1/0,B=m.map(function(H){var j=H.cursor,Y=C.getLine(j.row),X=Y.substr(j.column).search(/\S/g);return X==-1&&(X=0),j.column>D&&(D=j.column),X<F&&(F=X),X});m.forEach(function(H,j){var Y=H.cursor,X=D-Y.column,Q=B[j]-F;X>Q?C.insert(Y,s.stringRepeat(" ",X-Q)):C.remove(new y(Y.row,Y.column,Y.row,Y.column-X+Q)),H.start.column=H.end.column=D,H.start.row=H.end.row=Y.row,H.cursor=H.end}),b.fromOrientedRange(m[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(C,b){var m=!0,$=!0,L,O,A;return C.map(function(M){var D=M.match(/(\s*)(.*?)(\s*)([=:].*)/);return D?L==null?(L=D[1].length,O=D[2].length,A=D[3].length,D):(L+O+A!=D[1].length+D[2].length+D[3].length&&($=!1),L!=D[1].length&&(m=!1),L>D[1].length&&(L=D[1].length),O<D[2].length&&(O=D[2].length),A>D[3].length&&(A=D[3].length),D):[M]}).map(b?k:m?$?T:k:w);function E(M){return s.stringRepeat(" ",M)}function k(M){return M[2]?E(L)+M[2]+E(O-M[2].length+A)+M[4].replace(/^([=:])\s+/,"$1 "):M[0]}function T(M){return M[2]?E(L+O-M[2].length)+M[2]+E(A)+M[4].replace(/^([=:])\s+/,"$1 "):M[0]}function w(M){return M[2]?E(L)+M[2]+E(A)+M[4].replace(/^([=:])\s+/,"$1 "):M[0]}}}).call(c.prototype);function p(C,b){return C.row==b.row&&C.column==b.column}h.onSessionChange=function(C){var b=C.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var m=C.oldSession;m&&(m.multiSelect.off("addRange",this.$onAddRange),m.multiSelect.off("removeRange",this.$onRemoveRange),m.multiSelect.off("multiSelect",this.$onMultiSelect),m.multiSelect.off("singleSelect",this.$onSingleSelect),m.multiSelect.lead.off("change",this.$checkMultiselectChange),m.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function v(C){C.$multiselectOnSessionChange||(C.$onAddRange=C.$onAddRange.bind(C),C.$onRemoveRange=C.$onRemoveRange.bind(C),C.$onMultiSelect=C.$onMultiSelect.bind(C),C.$onSingleSelect=C.$onSingleSelect.bind(C),C.$multiselectOnSessionChange=h.onSessionChange.bind(C),C.$checkMultiselectChange=C.$checkMultiselectChange.bind(C),C.$multiselectOnSessionChange(C),C.on("changeSession",C.$multiselectOnSessionChange),C.on("mousedown",u),C.commands.addCommands(r.defaultCommands),I(C))}function I(C){if(!C.textInput)return;var b=C.textInput.getElement(),m=!1;d.addListener(b,"keydown",function(L){var O=L.keyCode==18&&!(L.ctrlKey||L.shiftKey||L.metaKey);C.$blockSelectEnabled&&O?m||(C.renderer.setMouseCursor("crosshair"),m=!0):m&&$()},C),d.addListener(b,"keyup",$,C),d.addListener(b,"blur",$,C);function $(L){m&&(C.renderer.setMouseCursor(""),m=!1)}}h.MultiSelect=v,o("./config").defineOptions(c.prototype,"editor",{enableMultiselect:{set:function(C){v(this),C?this.on("mousedown",u):this.off("mousedown",u)},value:!0},enableBlockSelect:{set:function(C){this.$blockSelectEnabled=C},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(o,h,R){var x=o("../../range").Range,y=h.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(_,u,d){var s=_.getLine(d);return this.foldingStartMarker.test(s)?"start":u=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(s)?"end":""},this.getFoldWidgetRange=function(_,u,d){return null},this.indentationBlock=function(_,u,d){var s=/\S/,r=_.getLine(u),n=r.search(s);if(n!=-1){for(var i=d||r.length,t=_.getLength(),a=u,c=u;++u<t;){var p=_.getLine(u).search(s);if(p!=-1){if(p<=n){var v=_.getTokenAt(u,0);if(!v||v.type!=="string")break}c=u}}if(c>a){var I=_.getLine(c).length;return new x(a,i,c,I)}}},this.openingBracketBlock=function(_,u,d,s,r){var n={row:d,column:s+1},i=_.$findClosingBracket(u,n,r);if(i){var t=_.foldWidgets[i.row];return t==null&&(t=_.getFoldWidget(i.row)),t=="start"&&i.row>n.row&&(i.row--,i.column=_.getLine(i.row).length),x.fromPoints(n,i)}},this.closingBracketBlock=function(_,u,d,s,r){var n={row:d,column:s},i=_.$findOpeningBracket(u,n);if(i)return i.column++,n.column--,x.fromPoints(i,n)}}).call(y.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],function(o,h,R){var x=o("../line_widgets").LineWidgets,y=o("../lib/dom"),_=o("../range").Range,u=o("../config").nls;function d(r,n,i){for(var t=0,a=r.length-1;t<=a;){var c=t+a>>1,p=i(n,r[c]);if(p>0)t=c+1;else if(p<0)a=c-1;else return c}return-(t+1)}function s(r,n,i){var t=r.getAnnotations().sort(_.comparePoints);if(t.length){var a=d(t,{row:n,column:-1},_.comparePoints);a<0&&(a=-a-1),a>=t.length?a=i>0?0:t.length-1:a===0&&i<0&&(a=t.length-1);var c=t[a];if(!(!c||!i)){if(c.row===n){do c=t[a+=i];while(c&&c.row===n);if(!c)return t.slice()}var p=[];n=c.row;do p[i<0?"unshift":"push"](c),c=t[a+=i];while(c&&c.row==n);return p.length&&p}}}h.showErrorMarker=function(r,n){var i=r.session;i.widgetManager||(i.widgetManager=new x(i),i.widgetManager.attach(r));var t=r.getCursorPosition(),a=t.row,c=i.widgetManager.getWidgetsAtRow(a).filter(function(O){return O.type=="errorMarker"})[0];c?c.destroy():a-=n;var p=s(i,a,n),v;if(p){var I=p[0];t.column=(I.pos&&typeof I.column!="number"?I.pos.sc:I.column)||0,t.row=I.row,v=r.renderer.$gutterLayer.$annotations[t.row]}else{if(c)return;v={displayText:[u("error-marker.good-state","Looks good!")],className:"ace_ok"}}r.session.unfold(t.row),r.selection.moveToPosition(t);var C={row:t.row,fixedWidth:!0,coverGutter:!0,el:y.createElement("div"),type:"errorMarker"},b=C.el.appendChild(y.createElement("div")),m=C.el.appendChild(y.createElement("div"));m.className="error_widget_arrow "+v.className;var $=r.renderer.$cursorLayer.getPixelPosition(t).left;m.style.left=$+r.renderer.gutterWidth-5+"px",C.el.className="error_widget_wrapper",b.className="error_widget "+v.className,v.displayText.forEach(function(O,A){b.appendChild(y.createTextNode(O)),A<v.displayText.length-1&&b.appendChild(y.createElement("br"))}),b.appendChild(y.createElement("div"));var L=function(O,A,E){if(A===0&&(E==="esc"||E==="return"))return C.destroy(),{command:"null"}};C.destroy=function(){r.$mouseHandler.isMousePressed||(r.keyBinding.removeKeyboardHandler(L),i.widgetManager.removeLineWidget(C),r.off("changeSelection",C.destroy),r.off("changeSession",C.destroy),r.off("mouseup",C.destroy),r.off("change",C.destroy))},r.keyBinding.addKeyboardHandler(L),r.on("changeSelection",C.destroy),r.on("changeSession",C.destroy),r.on("mouseup",C.destroy),r.on("change",C.destroy),r.session.widgetManager.addLineWidget(C),C.el.onmousedown=r.focus.bind(r),r.renderer.scrollCursorIntoView(null,.5,{bottom:C.el.offsetHeight})},y.importCssString(`
938
+ .error_widget_wrapper {
939
+ background: inherit;
940
+ color: inherit;
941
+ border:none
942
+ }
943
+ .error_widget {
944
+ border-top: solid 2px;
945
+ border-bottom: solid 2px;
946
+ margin: 5px 0;
947
+ padding: 10px 40px;
948
+ white-space: pre-wrap;
949
+ }
950
+ .error_widget.ace_error, .error_widget_arrow.ace_error{
951
+ border-color: #ff5a5a
952
+ }
953
+ .error_widget.ace_warning, .error_widget_arrow.ace_warning{
954
+ border-color: #F1D817
955
+ }
956
+ .error_widget.ace_info, .error_widget_arrow.ace_info{
957
+ border-color: #5a5a5a
958
+ }
959
+ .error_widget.ace_ok, .error_widget_arrow.ace_ok{
960
+ border-color: #5aaa5a
961
+ }
962
+ .error_widget_arrow {
963
+ position: absolute;
964
+ border: solid 5px;
965
+ border-top-color: transparent!important;
966
+ border-right-color: transparent!important;
967
+ border-left-color: transparent!important;
968
+ top: -5px;
969
+ }
970
+ `,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(o,h,R){o("./loader_build")(h);var x=o("./lib/dom"),y=o("./range").Range,_=o("./editor").Editor,u=o("./edit_session").EditSession,d=o("./undomanager").UndoManager,s=o("./virtual_renderer").VirtualRenderer;o("./worker/worker_client"),o("./keyboard/hash_handler"),o("./placeholder"),o("./multi_select"),o("./mode/folding/fold_mode"),o("./theme/textmate"),o("./ext/error_marker"),h.config=o("./config"),h.edit=function(r,n){if(typeof r=="string"){var i=r;if(r=document.getElementById(i),!r)throw new Error("ace.edit can't find div #"+i)}if(r&&r.env&&r.env.editor instanceof _)return r.env.editor;var t="";if(r&&/input|textarea/i.test(r.tagName)){var a=r;t=a.value,r=x.createElement("pre"),a.parentNode.replaceChild(r,a)}else r&&(t=r.textContent,r.innerHTML="");var c=h.createEditSession(t),p=new _(new s(r),c,n),v={document:c,editor:p,onResize:p.resize.bind(p,null)};return a&&(v.textarea=a),p.on("destroy",function(){v.editor.container.env=null}),p.container.env=p.env=v,p},h.createEditSession=function(r,n){var i=new u(r,n);return i.setUndoManager(new d),i},h.Range=y,h.Editor=_,h.EditSession=u,h.UndoManager=d,h.VirtualRenderer=s,h.version=h.config.version}),function(){ace.require(["ace/ace"],function(o){o&&(o.config.init(!0),o.define=ace.define);var h=function(){return this}();!h&&typeof window<"u"&&(h=window),!h&&typeof self<"u"&&(h=self),h.ace||(h.ace=o);for(var R in o)o.hasOwnProperty(R)&&(h.ace[R]=o[R]);h.ace.default=h.ace,f&&(f.exports=h.ace)})}()})(af);var Y0=af.exports,q0={exports:{}};(function(f,g){ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("./text_highlight_rules").TextHighlightRules,_=h.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"};h.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},h.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},h.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"};var u=h.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"},d=h.constantNumericBinary={token:"constant.numeric",regex:/\b(0[bB][01](?:[01]|_(?=[01]))*)\b/},s=h.constantNumericDecimal={token:"constant.numeric",regex:/\b(0[dD](?:[1-9](?:[\d]|_(?=[\d]))*|0))\b/},r=h.constantNumericOctal={token:"constant.numeric",regex:/\b(0[oO]?(?:[1-7](?:[0-7]|_(?=[0-7]))*|0))\b/},n=h.constantNumericRational={token:"constant.numeric",regex:/\b([\d]+(?:[./][\d]+)?ri?)\b/},i=h.constantNumericComplex={token:"constant.numeric",regex:/\b([\d]i)\b/},t=h.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?i?\\b"},a=h.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},c=function(){var p="abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many|p|warn|refine|using|module_function|extend|alias_method|private_class_method|remove_method|undef_method",v="alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|__ENCODING__|prepend",I="true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING|RUBY_PATCHLEVEL|RUBY_REVISION|RUBY_COPYRIGHT|RUBY_ENGINE|RUBY_ENGINE_VERSION|RUBY_DESCRIPTION",C="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self",b=this.$keywords=this.createKeywordMapper({keyword:v,"constant.language":I,"variable.language":C,"support.function":p,"invalid.deprecated":"debugger"},"identifier"),m=`\\\\(?:n(?:[1-7][0-7]{0,2}|0)|[nsrtvfbae'"\\\\]|c(?:\\\\M-)?.|M-(?:\\\\C-|\\\\c)?.|C-(?:\\\\M-)?.|[0-7]{3}|x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u{[\\da-fA-F]{1,6}(?:\\s[\\da-fA-F]{1,6})*})`,$={"(":")","[":"]","{":"}","<":">","^":"^","|":"|","%":"%"};this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.multiline",regex:"^=begin(?=$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:/[/](?=.*\/)/,next:"regex"},[{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(")/,push:[{token:"constant.language.escape",regex:m},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:m},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:["constant.other.symbol.ruby","string.start"],regex:/(:)?(')/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/%[qwx]([(\[<{^|%])/,onMatch:function(L,O,A){A.length&&(A=[]);var E=L[L.length-1];return A.unshift(E,O),this.next="qStateWithoutInterpolation",this.token}},{token:"string.start",regex:/%[QWX]?([(\[<{^|%])/,onMatch:function(L,O,A){A.length&&(A=[]);var E=L[L.length-1];return A.unshift(E,O),this.next="qStateWithInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[si]([(\[<{^|%])/,onMatch:function(L,O,A){A.length&&(A=[]);var E=L[L.length-1];return A.unshift(E,O),this.next="sStateWithoutInterpolation",this.token}},{token:"constant.other.symbol.ruby",regex:/%[SI]([(\[<{^|%])/,onMatch:function(L,O,A){A.length&&(A=[]);var E=L[L.length-1];return A.unshift(E,O),this.next="sStateWithInterpolation",this.token}},{token:"string.regexp",regex:/%[r]([(\[<{^|%])/,onMatch:function(L,O,A){A.length&&(A=[]);var E=L[L.length-1];return A.unshift(E,O),this.next="rState",this.token}}],{token:"punctuation",regex:"::"},a,{token:"variable.global",regex:"[$][a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]*"},{token:["punctuation.operator","support.function"],regex:/(\.)([a-zA-Z_\d]+)(?=\()/},{token:["punctuation.operator","identifier"],regex:/(\.)([a-zA-Z_][a-zA-Z_\d]*)/},{token:"string.character",regex:"\\B\\?(?:"+m+"|\\S)"},{token:"punctuation.operator",regex:/\?(?=.+:)/},n,i,_,u,t,d,s,r,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:b,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(L,O,A){var E=L[2]=="-"||L[2]=="~"?"indentedHeredoc":"heredoc",k=L.split(this.splitRegex);return A.push(E,k[3]),[{type:"constant",value:k[1]},{type:"string",value:k[2]},{type:"support.class",value:k[3]},{type:"string",value:k[4]}]},regex:"(<<[-~]?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(L,O,A){return L===A[1]?(A.shift(),A.shift(),this.next=A[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(L,O,A){return L===A[1]?(A.shift(),A.shift(),this.next=A[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(L,O){return O[0]==="heredoc"||O[0]==="indentedHeredoc"?O[0]:L}},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|/|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\||\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]",onMatch:function(L,O,A){return this.next="",L=="}"&&A.length>1&&A[1]!="start"&&(A.shift(),this.next=A.shift()),this.token}},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:/[?:,;.]/}],comment:[{token:"comment.multiline",regex:"^=end(?=$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}],qStateWithInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(L,O,A){return A.length&&L===A[0]?(A.unshift(L,O),this.token):"string"}},{token:"constant.language.escape",regex:m},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(L,O,A){return A.length&&L===$[A[0]]?(A.shift(),this.next=A.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],qStateWithoutInterpolation:[{token:"string.start",regex:/[(\[<{]/,onMatch:function(L,O,A){return A.length&&L===A[0]?(A.unshift(L,O),this.token):"string"}},{token:"constant.language.escape",regex:/\\['\\]/},{token:"constant.language.escape",regex:/\\./},{token:"string.end",regex:/[)\]>}^|%]/,onMatch:function(L,O,A){return A.length&&L===$[A[0]]?(A.shift(),this.next=A.shift(),this.token):(this.next="","string")}},{defaultToken:"string"}],sStateWithoutInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(L,O,A){return A.length&&L===A[0]?(A.unshift(L,O),this.token):"constant.other.symbol.ruby"}},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(L,O,A){return A.length&&L===$[A[0]]?(A.shift(),this.next=A.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],sStateWithInterpolation:[{token:"constant.other.symbol.ruby",regex:/[(\[<{]/,onMatch:function(L,O,A){return A.length&&L===A[0]?(A.unshift(L,O),this.token):"constant.other.symbol.ruby"}},{token:"constant.language.escape",regex:m},{token:"constant.language.escape",regex:/\\./},{token:"paren.start",regex:/#{/,push:"start"},{token:"constant.other.symbol.ruby",regex:/[)\]>}^|%]/,onMatch:function(L,O,A){return A.length&&L===$[A[0]]?(A.shift(),this.next=A.shift(),this.token):(this.next="","constant.other.symbol.ruby")}},{defaultToken:"constant.other.symbol.ruby"}],rState:[{token:"string.regexp",regex:/[(\[<{]/,onMatch:function(L,O,A){return A.length&&L===A[0]?(A.unshift(L,O),this.token):"constant.language.escape"}},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.regexp",regex:/\//},{token:"string.regexp",regex:/[)\]>}^|%][imxouesn]*/,onMatch:function(L,O,A){return A.length&&L[0]===$[A[0]]?(A.shift(),this.next=A.shift(),this.token):(this.next="","constant.language.escape")}},{include:"regex"},{defaultToken:"string.regexp"}],regex:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"constant.language.escape",regex:/\\[AGbBzZ]/},{token:"constant.language.escape",regex:/\\g<[a-zA-Z0-9]*>/},{token:["constant.language.escape","regexp.keyword","constant.language.escape"],regex:/(\\p{\^?)(Alnum|Alpha|Blank|Cntrl|Digit|Graph|Lower|Print|Punct|Space|Upper|XDigit|Word|ASCII|Any|Assigned|Arabic|Armenian|Balinese|Bengali|Bopomofo|Braille|Buginese|Buhid|Canadian_Aboriginal|Carian|Cham|Cherokee|Common|Coptic|Cuneiform|Cypriot|Cyrillic|Deseret|Devanagari|Ethiopic|Georgian|Glagolitic|Gothic|Greek|Gujarati|Gurmukhi|Han|Hangul|Hanunoo|Hebrew|Hiragana|Inherited|Kannada|Katakana|Kayah_Li|Kharoshthi|Khmer|Lao|Latin|Lepcha|Limbu|Linear_B|Lycian|Lydian|Malayalam|Mongolian|Myanmar|New_Tai_Lue|Nko|Ogham|Ol_Chiki|Old_Italic|Old_Persian|Oriya|Osmanya|Phags_Pa|Phoenician|Rejang|Runic|Saurashtra|Shavian|Sinhala|Sundanese|Syloti_Nagri|Syriac|Tagalog|Tagbanwa|Tai_Le|Tamil|Telugu|Thaana|Thai|Tibetan|Tifinagh|Ugaritic|Vai|Yi|Ll|Lm|Lt|Lu|Lo|Mn|Mc|Me|Nd|Nl|Pc|Pd|Ps|Pe|Pi|Pf|Po|No|Sm|Sc|Sk|So|Zs|Zl|Zp|Cc|Cf|Cn|Co|Cs|N|L|M|P|S|Z|C)(})/},{token:["constant.language.escape","invalid","constant.language.escape"],regex:/(\\p{\^?)([^/]*)(})/},{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:/[/][imxouesn]*/,next:"start"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?(?:[:=!>]|<'?[a-zA-Z]*'?>|<[=!])|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"regexp.keyword",regex:/\[\[:(?:alnum|alpha|blank|cntrl|digit|graph|lower|print|punct|space|upper|xdigit|word|ascii):\]\]/},{token:"constant.language.escape",regex:/\[\^?/,push:"regex_character_class"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword",regex:/\\[wWdDhHsS]/},{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:/&?&?\[\^?/,push:"regex_character_class"},{token:"constant.language.escape",regex:"]",next:"pop"},{token:"constant.language.escape",regex:"-"},{defaultToken:"string.regexp.characterclass"}]},this.normalizeRules()};x.inherits(c,y),h.RubyHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(o,h,R){var x=o("../range").Range,y=function(){};(function(){this.checkOutdent=function(_,u){return/^\s+$/.test(_)?/^\s*\}/.test(u):!1},this.autoOutdent=function(_,u){var d=_.getLine(u),s=d.match(/^(\s*\})/);if(!s)return 0;var r=s[1].length,n=_.findMatchingBracket({row:u,column:r});if(!n||n.row==u)return 0;var i=this.$getIndent(_.getLine(n.row));_.replace(new x(u,0,u,r-1),i)},this.$getIndent=function(_){return _.match(/^\s*/)[0]}}).call(y.prototype),h.MatchingBraceOutdent=y}),ace.define("ace/mode/folding/ruby",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"],function(o,h,R){var x=o("../../lib/oop"),y=o("./fold_mode").FoldMode,_=o("../../range").Range,u=o("../../token_iterator").TokenIterator,d=h.FoldMode=function(){};x.inherits(d,y),(function(){this.indentKeywords={class:1,def:1,module:1,do:1,unless:1,if:1,while:1,for:1,until:1,begin:1,else:0,elsif:0,rescue:0,ensure:0,when:0,end:-1,case:1,"=begin":1,"=end":-1},this.foldingStartMarker=/(?:\s|^)(def|do|while|class|unless|module|if|for|until|begin|else|elsif|case|rescue|ensure|when)\b|({\s*$)|(=begin)/,this.foldingStopMarker=/(=end(?=$|\s.*$))|(^\s*})|\b(end)\b/,this.getFoldWidget=function(s,r,n){var i=s.getLine(n),t=this.foldingStartMarker.test(i),a=this.foldingStopMarker.test(i);if(t&&!a){var c=i.match(this.foldingStartMarker);if(c[1]){if((c[1]=="if"||c[1]=="else"||c[1]=="while"||c[1]=="until"||c[1]=="unless")&&(c[1]=="else"&&/^\s*else\s*$/.test(i)===!1||/^\s*(?:if|else|while|until|unless)\s*/.test(i)===!1)||c[1]=="when"&&/\sthen\s/.test(i)===!0)return;if(s.getTokenAt(n,c.index+2).type==="keyword")return"start"}else if(!c[3]||s.getTokenAt(n,c.index+1).type==="comment.multiline")return"start"}if(r!="markbeginend"||!a||t&&a)return"";var c=i.match(this.foldingStopMarker);if(c[3]==="end"){if(s.getTokenAt(n,c.index+1).type==="keyword")return"end"}else if(!c[1]||s.getTokenAt(n,c.index+1).type==="comment.multiline")return"end"},this.getFoldWidgetRange=function(s,r,n){var i=s.doc.getLine(n),t=this.foldingStartMarker.exec(i);if(t)return t[1]||t[3]?this.rubyBlock(s,n,t.index+2):this.openingBracketBlock(s,"{",n,t.index);var t=this.foldingStopMarker.exec(i);if(t)return t[3]==="end"&&s.getTokenAt(n,t.index+1).type==="keyword"?this.rubyBlock(s,n,t.index+1):t[1]==="=end"&&s.getTokenAt(n,t.index+1).type==="comment.multiline"?this.rubyBlock(s,n,t.index+1):this.closingBracketBlock(s,"}",n,t.index+t[0].length)},this.rubyBlock=function(s,k,n,i){var t=new u(s,k,n),a=t.getCurrentToken();if(!(!a||a.type!="keyword"&&a.type!="comment.multiline")){var c=a.value,p=s.getLine(k);switch(a.value){case"if":case"unless":case"while":case"until":var v=new RegExp("^\\s*"+a.value);if(!v.test(p))return;var I=this.indentKeywords[c];break;case"when":if(/\sthen\s/.test(p))return;case"elsif":case"rescue":case"ensure":var I=1;break;case"else":var v=new RegExp("^\\s*"+a.value+"\\s*$");if(!v.test(p))return;var I=1;break;default:var I=this.indentKeywords[c]}var C=[c];if(I){var b=I===-1?s.getLine(k-1).length:s.getLine(k).length,m=k,$=[];if($.push(t.getCurrentTokenRange()),t.step=I===-1?t.stepBackward:t.stepForward,a.type=="comment.multiline"){for(;a=t.step();)if(a.type==="comment.multiline"){if(I==1){if(b=6,a.value=="=end")break}else if(a.value=="=begin")break}}else for(;a=t.step();){var L=!1;if(a.type==="keyword"){var O=I*this.indentKeywords[a.value];switch(p=s.getLine(t.getCurrentTokenRow()),a.value){case"do":for(var A=t.$tokenIndex-1;A>=0;A--){var E=t.$rowTokens[A];if(E&&(E.value=="while"||E.value=="until"||E.value=="for")){O=0;break}}break;case"else":var v=new RegExp("^\\s*"+a.value+"\\s*$");(!v.test(p)||c=="case")&&(O=0,L=!0);break;case"if":case"unless":case"while":case"until":var v=new RegExp("^\\s*"+a.value);v.test(p)||(O=0,L=!0);break;case"when":(/\sthen\s/.test(p)||c=="case")&&(O=0,L=!0)}if(O>0)C.unshift(a.value);else if(O<=0&&L===!1){if(C.shift(),!C.length&&((c=="while"||c=="until"||c=="for")&&a.value!="do"||a.value=="do"&&I==-1&&O!=0||a.value!="do"))break;O===0&&C.unshift(a.value)}}}if(!a)return null;if(i)return $.push(t.getCurrentTokenRange()),$;var k=t.getCurrentTokenRow();if(I===-1){if(a.type==="comment.multiline")var T=6;else var T=s.getLine(k).length;return new _(k,T,m-1,b)}return new _(m,b,k-1,s.getLine(k-1).length)}}}}).call(d.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/ruby"],function(o,h,R){var x=o("../lib/oop"),y=o("./text").Mode,_=o("./ruby_highlight_rules").RubyHighlightRules,u=o("./matching_brace_outdent").MatchingBraceOutdent,d=o("../range").Range,s=o("./folding/ruby").FoldMode,r=function(){this.HighlightRules=_,this.$outdent=new u,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new s,this.indentKeywords=this.foldingRules.indentKeywords};x.inherits(r,y),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(n,i,t){var a=this.$getIndent(i),c=this.getTokenizer().getLineTokens(i,n),p=c.tokens;if(p.length&&p[p.length-1].type=="comment")return a;if(n=="start"){var v=i.match(/^.*[\{\(\[]\s*$/),I=i.match(/^\s*(class|def|module)\s.*$/),C=i.match(/.*do(\s*|\s+\|.*\|\s*)$/),b=i.match(/^\s*(if|else|when|elsif|unless|while|for|begin|rescue|ensure)\s*/);(v||I||C||b)&&(a+=t)}return a},this.checkOutdent=function(n,i,t){return/^\s+(end|else|rescue|ensure)$/.test(i+t)||this.$outdent.checkOutdent(i,t)},this.autoOutdent=function(n,i,t){var a=i.getLine(t);if(/}/.test(a))return this.$outdent.autoOutdent(i,t);var c=this.$getIndent(a),p=i.getLine(t-1),v=this.$getIndent(p),I=i.getTabString();v.length<=c.length&&c.slice(-I.length)==I&&i.remove(new d(t,c.length-I.length,t,c.length))},this.getMatching=function(n,i,t){if(i==null){var a=n.selection.lead;t=a.column,i=a.row}var c=n.getTokenAt(i,t);if(c&&c.value in this.indentKeywords)return this.foldingRules.rubyBlock(n,i,t,!0)},this.$id="ace/mode/ruby",this.snippetFileId="ace/snippets/ruby"}).call(r.prototype),h.Mode=r}),function(){ace.require(["ace/mode/ruby"],function(o){f&&(f.exports=o)})}()})(q0);var Z0={exports:{}};(function(f,g){ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("./text_highlight_rules").TextHighlightRules,_=function(){var u="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",d="True|False|None|NotImplemented|Ellipsis|__debug__",s="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":s,"variable.language":"self|cls","constant.language":d,keyword:u},"identifier"),n="[uU]?",i="[rR]",t="[fF]",a="(?:[rR][fF]|[fF][rR])",c="(?:(?:[1-9]\\d*)|(?:0))",p="(?:0[oO]?[0-7]+)",v="(?:0[xX][\\dA-Fa-f]+)",I="(?:0[bB][01]+)",C="(?:"+c+"|"+p+"|"+v+"|"+I+")",b="(?:[eE][+-]?\\d+)",m="(?:\\.\\d+)",$="(?:\\d+)",L="(?:(?:"+$+"?"+m+")|(?:"+$+"\\.))",O="(?:(?:"+L+"|"+$+")"+b+")",A="(?:"+O+"|"+L+")",E=`\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})`;this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:n+'"{3}',next:"qqstring3"},{token:"string",regex:n+'"(?=.)',next:"qqstring"},{token:"string",regex:n+"'{3}",next:"qstring3"},{token:"string",regex:n+"'(?=.)",next:"qstring"},{token:"string",regex:i+'"{3}',next:"rawqqstring3"},{token:"string",regex:i+'"(?=.)',next:"rawqqstring"},{token:"string",regex:i+"'{3}",next:"rawqstring3"},{token:"string",regex:i+"'(?=.)",next:"rawqstring"},{token:"string",regex:t+'"{3}',next:"fqqstring3"},{token:"string",regex:t+'"(?=.)',next:"fqqstring"},{token:"string",regex:t+"'{3}",next:"fqstring3"},{token:"string",regex:t+"'(?=.)",next:"fqstring"},{token:"string",regex:a+'"{3}',next:"rfqqstring3"},{token:"string",regex:a+'"(?=.)',next:"rfqqstring"},{token:"string",regex:a+"'{3}",next:"rfqstring3"},{token:"string",regex:a+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:E},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:E},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:E},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:E},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:E},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:E},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:E},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:E},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+A+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:A},{token:"constant.numeric",regex:C+"[lL]\\b"},{token:"constant.numeric",regex:C+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};x.inherits(_,y),h.PythonHighlightRules=_}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(o,h,R){var x=o("../../lib/oop"),y=o("./fold_mode").FoldMode,_=h.FoldMode=function(u){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+u+")(?:\\s*)(?:#.*)?$")};x.inherits(_,y),(function(){this.getFoldWidgetRange=function(u,d,s){var r=u.getLine(s),n=r.match(this.foldingStartMarker);if(n)return n[1]?this.openingBracketBlock(u,n[1],s,n.index):n[2]?this.indentationBlock(u,s,n.index+n[2].length):this.indentationBlock(u,s)}}).call(_.prototype)}),ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(o,h,R){var x=o("../lib/oop"),y=o("./text").Mode,_=o("./python_highlight_rules").PythonHighlightRules,u=o("./folding/pythonic").FoldMode,d=o("../range").Range,s=function(){this.HighlightRules=_,this.foldingRules=new u("\\:"),this.$behaviour=this.$defaultBehaviour};x.inherits(s,y),(function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(n,i,t){var a=this.$getIndent(i),c=this.getTokenizer().getLineTokens(i,n),p=c.tokens;if(p.length&&p[p.length-1].type=="comment")return a;if(n=="start"){var v=i.match(/^.*[\{\(\[:]\s*$/);v&&(a+=t)}return a};var r={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(n,i,t){if(t!==`\r
971
+ `&&t!=="\r"&&t!==`
972
+ `)return!1;var a=this.getTokenizer().getLineTokens(i.trim(),n).tokens;if(!a)return!1;do var c=a.pop();while(c&&(c.type=="comment"||c.type=="text"&&c.value.match(/^\s+$/)));return c?c.type=="keyword"&&r[c.value]:!1},this.autoOutdent=function(n,i,t){t+=1;var a=this.$getIndent(i.getLine(t)),c=i.getTabString();a.slice(-c.length)==c&&i.remove(new d(t,a.length-c.length,t,a.length))},this.$id="ace/mode/python",this.snippetFileId="ace/snippets/python"}).call(s.prototype),h.Mode=s}),function(){ace.require(["ace/mode/python"],function(o){f&&(f.exports=o)})}()})(Z0);var Q0={exports:{}};(function(f,g){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("./text_highlight_rules").TextHighlightRules,_=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};x.inherits(_,y),h.JsonHighlightRules=_}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(o,h,R){var x=o("../range").Range,y=function(){};(function(){this.checkOutdent=function(_,u){return/^\s+$/.test(_)?/^\s*\}/.test(u):!1},this.autoOutdent=function(_,u){var d=_.getLine(u),s=d.match(/^(\s*\})/);if(!s)return 0;var r=s[1].length,n=_.findMatchingBracket({row:u,column:r});if(!n||n.row==u)return 0;var i=this.$getIndent(_.getLine(n.row));_.replace(new x(u,0,u,r-1),i)},this.$getIndent=function(_){return _.match(/^\s*/)[0]}}).call(y.prototype),h.MatchingBraceOutdent=y}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(o,h,R){var x=o("../../lib/oop"),y=o("../../range").Range,_=o("./fold_mode").FoldMode,u=h.FoldMode=function(d){d&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+d.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+d.end)))};x.inherits(u,_),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(d,s,r){var n=d.getLine(r);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var i=this._getFoldWidgetBase(d,s,r);return!i&&this.startRegionRe.test(n)?"start":i},this.getFoldWidgetRange=function(d,s,r,n){var i=d.getLine(r);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(d,i,r);var c=i.match(this.foldingStartMarker);if(c){var t=c.index;if(c[1])return this.openingBracketBlock(d,c[1],r,t);var a=d.getCommentFoldRange(r,t+c[0].length,1);return a&&!a.isMultiLine()&&(n?a=this.getSectionRange(d,r):s!="all"&&(a=null)),a}if(s!=="markbegin"){var c=i.match(this.foldingStopMarker);if(c){var t=c.index+c[0].length;return c[1]?this.closingBracketBlock(d,c[1],r,t):d.getCommentFoldRange(r,t,-1)}}},this.getSectionRange=function(d,s){var r=d.getLine(s),n=r.search(/\S/),i=s,t=r.length;s+=1;for(var a=s,c=d.getLength();++s<c;){r=d.getLine(s);var p=r.search(/\S/);if(p!==-1){if(n>p)break;var v=this.getFoldWidgetRange(d,"all",s);if(v){if(v.start.row<=i)break;if(v.isMultiLine())s=v.end.row;else if(n==p)break}a=s}}return new y(i,t,a,d.getLine(a).length)},this.getCommentRegionBlock=function(d,s,r){for(var n=s.search(/\s*$/),i=d.getLength(),t=r,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,c=1;++r<i;){s=d.getLine(r);var p=a.exec(s);if(p&&(p[1]?c--:c++,!c))break}var v=r;if(v>t)return new y(t,n,v,s.length)}}).call(u.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(o,h,R){var x=o("../lib/oop"),y=o("./text").Mode,_=o("./json_highlight_rules").JsonHighlightRules,u=o("./matching_brace_outdent").MatchingBraceOutdent,d=o("./folding/cstyle").FoldMode,s=o("../worker/worker_client").WorkerClient,r=function(){this.HighlightRules=_,this.$outdent=new u,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new d};x.inherits(r,y),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(n,i,t){var a=this.$getIndent(i);if(n=="start"){var c=i.match(/^.*[\{\(\[]\s*$/);c&&(a+=t)}return a},this.checkOutdent=function(n,i,t){return this.$outdent.checkOutdent(i,t)},this.autoOutdent=function(n,i,t){this.$outdent.autoOutdent(i,t)},this.createWorker=function(n){var i=new s(["ace"],"ace/mode/json_worker","JsonWorker");return i.attachToDocument(n.getDocument()),i.on("annotate",function(t){n.setAnnotations(t.data)}),i.on("terminate",function(){n.clearAnnotations()}),i},this.$id="ace/mode/json"}).call(r.prototype),h.Mode=r}),function(){ace.require(["ace/mode/json"],function(o){f&&(f.exports=o)})}()})(Q0);var X0={exports:{}};(function(f,g){ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop");o("../lib/lang");var y=o("./text_highlight_rules").TextHighlightRules,_=h.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=h.supportFunction="rgb|rgba|url|attr|counter|counters",d=h.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|flex-end|flex-start|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",s=h.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",r=h.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",n=h.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",i=h.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",t=h.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",a=function(){var c=this.createKeywordMapper({"support.function":u,"support.constant":d,"support.type":_,"support.constant.color":s,"support.constant.fonts":r},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:n},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+n+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:n},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:i},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:t},{include:"url"},{token:c,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{token:"paren.lparen",regex:"\\{"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};x.inherits(a,y),h.CssHighlightRules=a}),ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("./text_highlight_rules").TextHighlightRules,_=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},_.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};x.inherits(_,y),_.getTagRule=function(u){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},_.getStartRule=function(u){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:u}},_.getEndRule=function(u){return{token:"comment.doc",regex:"\\*\\/",next:u}},h.JsDocCommentHighlightRules=_}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(o,h,R){function x(){var n=s.replace("\\d","\\d\\-"),i={onMatch:function(a,c,p){var v=a.charAt(1)=="/"?2:1;return v==1?(c!=this.nextState?p.unshift(this.next,this.nextState,0):p.unshift(this.next),p[2]++):v==2&&c==this.nextState&&(p[1]--,(!p[1]||p[1]<0)&&(p.shift(),p.shift())),[{type:"meta.tag.punctuation."+(v==1?"":"end-")+"tag-open.xml",value:a.slice(0,v)},{type:"meta.tag.tag-name.xml",value:a.substr(v)}]},regex:"</?(?:"+n+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(i);var t={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[t,i,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(a,c,p){return c==p[0]&&p.shift(),a.length==2&&(p[0]==this.nextState&&p[1]--,(!p[1]||p[1]<0)&&p.splice(0,2)),this.next=p[0]||"start",[{type:this.token,value:a}]},nextState:"jsx"},t,y("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:n},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},i],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function y(n){return[{token:"comment",regex:/\/\*/,next:[u.getTagRule(),{token:"comment",regex:"\\*\\/",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[u.getTagRule(),{token:"comment",regex:"$|^",next:n||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var _=o("../lib/oop"),u=o("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,d=o("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",r=function(n){var i={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},t=this.createKeywordMapper(i,"identifier"),a="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",c="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",p="(function)(\\s*)(\\*?)",v={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(i).join("|")+"\\b)"+s+")(\\s*)(\\()"};this.$rules={no_regex:[u.getStartRule("doc-start"),y("no_regex"),v,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)"+p+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)"+p+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+p+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+a+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:p+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[u.getStartRule("doc-start"),y("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[y("function_arguments"),{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:c},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:c},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!n||!n.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(I,C,b){if(this.next=I=="{"?this.nextState:"",I=="{"&&b.length)b.unshift("start",C);else if(I=="}"&&b.length&&(b.shift(),this.next=b.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return I=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:c},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+s+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!n||n.jsx!=0)&&x.call(this)),this.embedRules(u,"doc-",[u.getEndRule("no_regex")]),this.normalizeRules()};_.inherits(r,d),h.JavaScriptHighlightRules=r}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("./text_highlight_rules").TextHighlightRules,_=function(u){var d="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+d+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:d},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+d+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+d+":)?"+d+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:d},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===_&&this.normalizeRules()};(function(){this.embedTagRules=function(u,d,s){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+s+".tag-name.xml"],regex:"(<)("+s+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:d+"start"}]}),this.$rules[s+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(r,n,i){return i.splice(0),this.token}}],this.embedRules(u,d,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+s+".tag-name.xml"],regex:"(</)("+s+"(?=\\s|>|$))",next:s+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(y.prototype),x.inherits(_,y),h.XmlHighlightRules=_}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("../lib/lang"),_=o("./css_highlight_rules").CssHighlightRules,u=o("./javascript_highlight_rules").JavaScriptHighlightRules,d=o("./xml_highlight_rules").XmlHighlightRules,s=y.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),r=function(){d.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(n,i){var t=s[i];return["meta.tag.punctuation."+(n=="<"?"":"end-")+"tag-open.xml","meta.tag"+(t?"."+t:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(_,"css-","style"),this.embedTagRules(new u({jsx:!1}).getRules(),"js-","script"),this.constructor===r&&this.normalizeRules()};x.inherits(r,d),h.HtmlHighlightRules=r}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(o,h,R){var x=o("../config").$modes,y=o("../lib/oop"),_=o("../lib/lang"),u=o("./text_highlight_rules").TextHighlightRules,d=o("./html_highlight_rules").HtmlHighlightRules,s=function(n){return"(?:[^"+_.escapeRegExp(n)+"\\\\]|\\\\.)*"},r=function(){d.call(this);var n={token:"support.function",regex:/^\s*(```+[^`]*|~~~+[^~]*)$/,onMatch:function(t,a,c,p){var v=t.match(/^(\s*)([`~]+)(.*)/),I=/[\w-]+|$/.exec(v[3])[0];return x[I]||(I=""),c.unshift("githubblock",[],[v[1],v[2],I],a),this.token},next:"githubblock"},i=[{token:"support.function",regex:".*",onMatch:function(t,a,c,p){var v=c[1],I=c[2][0],C=c[2][1],b=c[2][2],m=/^(\s*)(`+|~+)\s*$/.exec(t);if(m&&m[1].length<I.length+3&&m[2].length>=C.length&&m[2][0]==C[0])return c.splice(0,3),this.next=c.shift(),this.token;if(this.next="",b&&x[b]){var $=x[b].getTokenizer().getLineTokens(t,v.slice(0));return c[1]=$.state,$.tokens}return this.token}}];this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(t){return"markup.heading."+t.length},regex:/^#{1,6}(?=\s|$)/,next:"header"},n,{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+s("]")+")(\\]\\s*\\[)("+s("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\!?\\[)("+s("]")+')(\\]\\()((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)(\\s*"'+s('"')+'"\\s*)?(\\))'},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:`(<)((?:https?|ftp|dict):[^'">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)`}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},n,{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:i}),this.normalizeRules()};y.inherits(r,u),h.MarkdownHighlightRules=r}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(o,h,R){var x=o("../../lib/oop"),y=o("./fold_mode").FoldMode,_=o("../../range").Range,u=h.FoldMode=function(){};x.inherits(u,y),(function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(d,s,r){var n=d.getLine(r);return this.foldingStartMarker.test(n)?n[0]=="`"&&d.bgTokenizer.getState(r)=="start"?"end":"start":""},this.getFoldWidgetRange=function(d,s,r){function n(L){return I=d.getTokens(L)[0],I&&I.type.lastIndexOf(C,0)===0}function i(){var L=I.value[0];return L=="="?6:L=="-"?5:7-I.value.search(/[^#]|$/)}var t=d.getLine(r),a=t.length,c=d.getLength(),p=r,v=r;if(t.match(this.foldingStartMarker)){if(t[0]=="`"){if(d.bgTokenizer.getState(r)!=="start"){for(;++r<c&&(t=d.getLine(r),!(t[0]=="`"&t.substring(0,3)=="```")););return new _(p,a,r,0)}for(;r-- >0&&(t=d.getLine(r),!(t[0]=="`"&t.substring(0,3)=="```")););return new _(r,t.length,p,0)}var I,C="markup.heading";if(n(r)){for(var b=i();++r<c;)if(n(r)){var m=i();if(m>=b)break}if(v=r-(!I||["=","-"].indexOf(I.value[0])==-1?1:2),v>p)for(;v>p&&/^\s*$/.test(d.getLine(v));)v--;if(v>p){var $=d.getLine(v).length;return new _(p,a,v,$)}}}}}).call(u.prototype)}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(o,h,R){var x=o("../range").Range,y=function(){};(function(){this.checkOutdent=function(_,u){return/^\s+$/.test(_)?/^\s*\}/.test(u):!1},this.autoOutdent=function(_,u){var d=_.getLine(u),s=d.match(/^(\s*\})/);if(!s)return 0;var r=s[1].length,n=_.findMatchingBracket({row:u,column:r});if(!n||n.row==u)return 0;var i=this.$getIndent(_.getLine(n.row));_.replace(new x(u,0,u,r-1),i)},this.$getIndent=function(_){return _.match(/^\s*/)[0]}}).call(y.prototype),h.MatchingBraceOutdent=y}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(o,h,R){function x(s,r){return s&&s.type.lastIndexOf(r+".xml")>-1}var y=o("../../lib/oop"),_=o("../behaviour").Behaviour,u=o("../../token_iterator").TokenIterator,d=function(){this.add("string_dquotes","insertion",function(s,r,n,i,t){if(t=='"'||t=="'"){var a=t,c=i.doc.getTextRange(n.getSelectionRange());if(c!==""&&c!=="'"&&c!='"'&&n.getWrapBehavioursEnabled())return{text:a+c+a,selection:!1};var p=n.getCursorPosition(),v=i.doc.getLine(p.row),I=v.substring(p.column,p.column+1),C=new u(i,p.row,p.column),b=C.getCurrentToken();if(I==a&&(x(b,"attribute-value")||x(b,"string")))return{text:"",selection:[1,1]};if(b||(b=C.stepBackward()),!b)return;for(;x(b,"tag-whitespace")||x(b,"whitespace");)b=C.stepBackward();var m=!I||I.match(/\s/);if(x(b,"attribute-equals")&&(m||I==">")||x(b,"decl-attribute-equals")&&(m||I=="?"))return{text:a+a,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(s,r,n,i,t){var a=i.doc.getTextRange(t);if(!t.isMultiLine()&&(a=='"'||a=="'")){var c=i.doc.getLine(t.start.row),p=c.substring(t.start.column+1,t.start.column+2);if(p==a)return t.end.column++,t}}),this.add("autoclosing","insertion",function(s,r,n,i,t){if(t==">"){var a=n.getSelectionRange().start,c=new u(i,a.row,a.column),p=c.getCurrentToken()||c.stepBackward();if(!p||!(x(p,"tag-name")||x(p,"tag-whitespace")||x(p,"attribute-name")||x(p,"attribute-equals")||x(p,"attribute-value"))||x(p,"reference.attribute-value"))return;if(x(p,"attribute-value")){var v=c.getCurrentTokenColumn()+p.value.length;if(a.column<v)return;if(a.column==v){var I=c.stepForward();if(I&&x(I,"attribute-value"))return;c.stepBackward()}}if(/^\s*>/.test(i.getLine(a.row).slice(a.column)))return;for(;!x(p,"tag-name");)if(p=c.stepBackward(),p.value=="<"){p=c.stepForward();break}var C=c.getCurrentTokenRow(),b=c.getCurrentTokenColumn();if(x(c.stepBackward(),"end-tag-open"))return;var m=p.value;return C==a.row&&(m=m.substring(0,a.column-b)),this.voidElements&&this.voidElements.hasOwnProperty(m.toLowerCase())?void 0:{text:"></"+m+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(s,r,n,i,t){if(t==`
973
+ `){var a=n.getCursorPosition(),c=i.getLine(a.row),p=new u(i,a.row,a.column),v=p.getCurrentToken();if(x(v,"")&&v.type.indexOf("tag-close")!==-1){if(v.value=="/>")return;for(;v&&v.type.indexOf("tag-name")===-1;)v=p.stepBackward();if(!v)return;var I=v.value,C=p.getCurrentTokenRow();if(v=p.stepBackward(),!v||v.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[I]||!this.voidElements){var b=i.getTokenAt(a.row,a.column+1),c=i.getLine(C),m=this.$getIndent(c),$=m+i.getTabString();return b&&b.value==="</"?{text:`
974
+ `+$+`
975
+ `+m,selection:[1,$.length,1,$.length]}:{text:`
976
+ `+$}}}}})};y.inherits(d,_),h.XmlBehaviour=d}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(o,h,R){var x=o("../../lib/oop"),y=o("../../token_iterator").TokenIterator,_=o("../behaviour/cstyle").CstyleBehaviour,u=o("../behaviour/xml").XmlBehaviour,d=function(){var s=new u({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(s),this.inherit(_),this.add("autoclosing-fragment","insertion",function(r,n,i,t,a){if(a==">"){var c=i.getSelectionRange().start,p=new y(t,c.row,c.column),v=p.getCurrentToken()||p.stepBackward();if(!v)return;if(v.value=="<")return{text:"></>",selection:[1,1]}}})};x.inherits(d,_),h.JavaScriptBehaviour=d}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(o,h,R){function x(r,n){return r.type.lastIndexOf(n+".xml")>-1}var y=o("../../lib/oop"),_=o("../../range").Range,u=o("./fold_mode").FoldMode,d=h.FoldMode=function(r,n){u.call(this),this.voidElements=r||{},this.optionalEndTags=y.mixin({},this.voidElements),n&&y.mixin(this.optionalEndTags,n)};y.inherits(d,u);var s=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(r,n,i){var t=this._getFirstTagInLine(r,i);return t?t.closing||!t.tagName&&t.selfClosing?n==="markbeginend"?"end":"":!t.tagName||t.selfClosing||this.voidElements.hasOwnProperty(t.tagName.toLowerCase())||this._findEndTagInLine(r,i,t.tagName,t.end.column)?"":"start":this.getCommentFoldWidget(r,i)},this.getCommentFoldWidget=function(r,n){return/comment/.test(r.getState(n))&&/<!-/.test(r.getLine(n))?"start":""},this._getFirstTagInLine=function(r,n){for(var i=r.getTokens(n),t=new s,a=0;a<i.length;a++){var c=i[a];if(x(c,"tag-open")){if(t.end.column=t.start.column+c.value.length,t.closing=x(c,"end-tag-open"),c=i[++a],!c)return null;if(t.tagName=c.value,c.value===""){if(c=i[++a],!c)return null;t.tagName=c.value}for(t.end.column+=c.value.length,a++;a<i.length;a++)if(c=i[a],t.end.column+=c.value.length,x(c,"tag-close")){t.selfClosing=c.value=="/>";break}return t}if(x(c,"tag-close"))return t.selfClosing=c.value=="/>",t;t.start.column+=c.value.length}return null},this._findEndTagInLine=function(r,n,i,t){for(var a=r.getTokens(n),c=0,p=0;p<a.length;p++){var v=a[p];if(c+=v.value.length,!(c<t-1)&&x(v,"end-tag-open")&&(v=a[p+1],x(v,"tag-name")&&v.value===""&&(v=a[p+2]),v&&v.value==i))return!0}return!1},this.getFoldWidgetRange=function(r,n,i){var t=this._getFirstTagInLine(r,i);if(!t)return this.getCommentFoldWidget(r,i)&&r.getCommentFoldRange(i,r.getLine(i).length);var a=r.getMatchingTags({row:i,column:0});if(a)return new _(a.openTag.end.row,a.openTag.end.column,a.closeTag.start.row,a.closeTag.start.column)}}).call(d.prototype)}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(o,h,R){var x=o("../../lib/oop"),y=o("../../range").Range,_=o("./fold_mode").FoldMode,u=h.FoldMode=function(d){d&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+d.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+d.end)))};x.inherits(u,_),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(d,s,r){var n=d.getLine(r);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var i=this._getFoldWidgetBase(d,s,r);return!i&&this.startRegionRe.test(n)?"start":i},this.getFoldWidgetRange=function(d,s,r,n){var i=d.getLine(r);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(d,i,r);var c=i.match(this.foldingStartMarker);if(c){var t=c.index;if(c[1])return this.openingBracketBlock(d,c[1],r,t);var a=d.getCommentFoldRange(r,t+c[0].length,1);return a&&!a.isMultiLine()&&(n?a=this.getSectionRange(d,r):s!="all"&&(a=null)),a}if(s!=="markbegin"){var c=i.match(this.foldingStopMarker);if(c){var t=c.index+c[0].length;return c[1]?this.closingBracketBlock(d,c[1],r,t):d.getCommentFoldRange(r,t,-1)}}},this.getSectionRange=function(d,s){var r=d.getLine(s),n=r.search(/\S/),i=s,t=r.length;s+=1;for(var a=s,c=d.getLength();++s<c;){r=d.getLine(s);var p=r.search(/\S/);if(p!==-1){if(n>p)break;var v=this.getFoldWidgetRange(d,"all",s);if(v){if(v.start.row<=i)break;if(v.isMultiLine())s=v.end.row;else if(n==p)break}a=s}}return new y(i,t,a,d.getLine(a).length)},this.getCommentRegionBlock=function(d,s,r){for(var n=s.search(/\s*$/),i=d.getLength(),t=r,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,c=1;++r<i;){s=d.getLine(r);var p=a.exec(s);if(p&&(p[1]?c--:c++,!c))break}var v=r;if(v>t)return new y(t,n,v,s.length)}}).call(u.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(o,h,R){var x=o("../../lib/oop"),y=o("./xml").FoldMode,_=o("./cstyle").FoldMode,u=h.FoldMode=function(d){d&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+d.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+d.end))),this.xmlFoldMode=new y};x.inherits(u,_),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(d,s,r){var n=this.getFoldWidgetBase(d,s,r);return n||this.xmlFoldMode.getFoldWidget(d,s,r)},this.getFoldWidgetRange=function(d,s,r,n){var i=this.getFoldWidgetRangeBase(d,s,r,n);return i||this.xmlFoldMode.getFoldWidgetRange(d,s,r)}}).call(u.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(o,h,R){var x=o("../lib/oop"),y=o("./text").Mode,_=o("./javascript_highlight_rules").JavaScriptHighlightRules,u=o("./matching_brace_outdent").MatchingBraceOutdent,d=o("../worker/worker_client").WorkerClient,s=o("./behaviour/javascript").JavaScriptBehaviour,r=o("./folding/javascript").FoldMode,n=function(){this.HighlightRules=_,this.$outdent=new u,this.$behaviour=new s,this.foldingRules=new r};x.inherits(n,y),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(i,t,a){var c=this.$getIndent(t),p=this.getTokenizer().getLineTokens(t,i),v=p.tokens,I=p.state;if(v.length&&v[v.length-1].type=="comment")return c;if(i=="start"||i=="no_regex"){var C=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);C&&(c+=a)}else if(i=="doc-start"&&(I=="start"||I=="no_regex"))return"";return c},this.checkOutdent=function(i,t,a){return this.$outdent.checkOutdent(t,a)},this.autoOutdent=function(i,t,a){this.$outdent.autoOutdent(t,a)},this.createWorker=function(i){var t=new d(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(i.getDocument()),t.on("annotate",function(a){i.setAnnotations(a.data)}),t.on("terminate",function(){i.clearAnnotations()}),t},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(n.prototype),h.Mode=n}),ace.define("ace/mode/css_completions",["require","exports","module"],function(o,h,R){var x={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},y=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var _=document.createElement("c").style;for(var u in _)if(typeof _[u]=="string"){var d=u.replace(/[A-Z]/g,function(s){return"-"+s.toLowerCase()});x.hasOwnProperty(d)||(x[d]=1)}}this.completionsDefined=!0},this.getCompletions=function(_,u,d,s){if(this.completionsDefined||this.defineCompletions(),_==="ruleset"||u.$mode.$id=="ace/mode/scss"){var r=u.getLine(d.row).substr(0,d.column),n=/\([^)]*$/.test(r);return n&&(r=r.substr(r.lastIndexOf("(")+1)),/:[^;]+$/.test(r)?this.getPropertyValueCompletions(_,u,d,s):this.getPropertyCompletions(_,u,d,s,n)}return[]},this.getPropertyCompletions=function(_,u,d,s,r){r=r||!1;var n=Object.keys(x);return n.map(function(i){return{caption:i,snippet:i+": $0"+(r?"":";"),meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(_,u,d,s){var r=u.getLine(d.row).substr(0,d.column),n=(/([\w\-]+):[^:]*$/.exec(r)||{})[1];if(!n)return[];var i=[];return n in x&&typeof x[n]=="object"&&(i=Object.keys(x[n])),i.map(function(t){return{caption:t,snippet:t,meta:"property value",score:1e6}})}}).call(y.prototype),h.CssCompletions=y}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(o,h,R){var x=o("../../lib/oop");o("../behaviour").Behaviour;var y=o("./cstyle").CstyleBehaviour,_=o("../../token_iterator").TokenIterator,u=function(){this.inherit(y),this.add("colon","insertion",function(d,s,r,n,i){if(i===":"&&r.selection.isEmpty()){var t=r.getCursorPosition(),a=new _(n,t.row,t.column),c=a.getCurrentToken();if(c&&c.value.match(/\s+/)&&(c=a.stepBackward()),c&&c.type==="support.type"){var p=n.doc.getLine(t.row),v=p.substring(t.column,t.column+1);if(v===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(p.substring(t.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(d,s,r,n,i){var t=n.doc.getTextRange(i);if(!i.isMultiLine()&&t===":"){var a=r.getCursorPosition(),c=new _(n,a.row,a.column),p=c.getCurrentToken();if(p&&p.value.match(/\s+/)&&(p=c.stepBackward()),p&&p.type==="support.type"){var v=n.doc.getLine(i.start.row),I=v.substring(i.end.column,i.end.column+1);if(I===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(d,s,r,n,i){if(i===";"&&r.selection.isEmpty()){var t=r.getCursorPosition(),a=n.doc.getLine(t.row),c=a.substring(t.column,t.column+1);if(c===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(d,s,r,n,i){if(i==="!"&&r.selection.isEmpty()){var t=r.getCursorPosition(),a=n.doc.getLine(t.row);if(/^\s*(;|}|$)/.test(a.substring(t.column)))return{text:"!important",selection:[10,10]}}})};x.inherits(u,y),h.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(o,h,R){var x=o("../lib/oop"),y=o("./text").Mode,_=o("./css_highlight_rules").CssHighlightRules,u=o("./matching_brace_outdent").MatchingBraceOutdent,d=o("../worker/worker_client").WorkerClient,s=o("./css_completions").CssCompletions,r=o("./behaviour/css").CssBehaviour,n=o("./folding/cstyle").FoldMode,i=function(){this.HighlightRules=_,this.$outdent=new u,this.$behaviour=new r,this.$completer=new s,this.foldingRules=new n};x.inherits(i,y),(function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(t,a,c){var p=this.$getIndent(a),v=this.getTokenizer().getLineTokens(a,t).tokens;if(v.length&&v[v.length-1].type=="comment")return p;var I=a.match(/^.*\{\s*$/);return I&&(p+=c),p},this.checkOutdent=function(t,a,c){return this.$outdent.checkOutdent(a,c)},this.autoOutdent=function(t,a,c){this.$outdent.autoOutdent(a,c)},this.getCompletions=function(t,a,c,p){return this.$completer.getCompletions(t,a,c,p)},this.createWorker=function(t){var a=new d(["ace"],"ace/mode/css_worker","Worker");return a.attachToDocument(t.getDocument()),a.on("annotate",function(c){t.setAnnotations(c.data)}),a.on("terminate",function(){t.clearAnnotations()}),a},this.$id="ace/mode/css",this.snippetFileId="ace/snippets/css"}).call(i.prototype),h.Mode=i}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(o,h,R){var x=o("../../lib/oop"),y=o("./fold_mode").FoldMode,_=h.FoldMode=function(u,d){this.defaultMode=u,this.subModes=d};x.inherits(_,y),(function(){this.$getMode=function(u){typeof u!="string"&&(u=u[0]);for(var d in this.subModes)if(u.indexOf(d)===0)return this.subModes[d];return null},this.$tryMode=function(u,d,s,r){var n=this.$getMode(u);return n?n.getFoldWidget(d,s,r):""},this.getFoldWidget=function(u,d,s){return this.$tryMode(u.getState(s-1),u,d,s)||this.$tryMode(u.getState(s),u,d,s)||this.defaultMode.getFoldWidget(u,d,s)},this.getFoldWidgetRange=function(u,d,s){var r=this.$getMode(u.getState(s-1));return(!r||!r.getFoldWidget(u,d,s))&&(r=this.$getMode(u.getState(s))),(!r||!r.getFoldWidget(u,d,s))&&(r=this.defaultMode),r.getFoldWidgetRange(u,d,s)}}).call(_.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(o,h,R){var x=o("../../lib/oop"),y=o("./mixed").FoldMode,_=o("./xml").FoldMode,u=o("./cstyle").FoldMode,d=h.FoldMode=function(s,r){y.call(this,new _(s,r),{"js-":new u,"css-":new u})};x.inherits(d,y)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(o,h,R){function x(a,c){return a.type.lastIndexOf(c+".xml")>-1}function y(a,c){for(var p=new u(a,c.row,c.column),v=p.getCurrentToken();v&&!x(v,"tag-name");)v=p.stepBackward();if(v)return v.value}function _(a,c){for(var p=new u(a,c.row,c.column),v=p.getCurrentToken();v&&!x(v,"attribute-name");)v=p.stepBackward();if(v)return v.value}var u=o("../token_iterator").TokenIterator,d=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],r=d.concat(s),n={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},i=Object.keys(n),t=function(){};(function(){this.getCompletions=function(a,c,p,v){var I=c.getTokenAt(p.row,p.column);if(!I)return[];if(x(I,"tag-name")||x(I,"tag-open")||x(I,"end-tag-open"))return this.getTagCompletions(a,c,p,v);if(x(I,"tag-whitespace")||x(I,"attribute-name"))return this.getAttributeCompletions(a,c,p,v);if(x(I,"attribute-value"))return this.getAttributeValueCompletions(a,c,p,v);var C=c.getLine(p.row).substr(0,p.column);return/&[a-z]*$/i.test(C)?this.getHTMLEntityCompletions(a,c,p,v):[]},this.getTagCompletions=function(a,c,p,v){return i.map(function(I){return{value:I,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(a,c,p,v){var I=y(c,p);if(!I)return[];var C=r;return I in n&&(C=C.concat(Object.keys(n[I]))),C.map(function(b){return{caption:b,snippet:b+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(a,c,p,v){var I=y(c,p),C=_(c,p);if(!I)return[];var b=[];return I in n&&C in n[I]&&typeof n[I][C]=="object"&&(b=Object.keys(n[I][C])),b.map(function(m){return{caption:m,snippet:m,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(a,c,p,v){var I=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return I.map(function(C){return{caption:C,snippet:C,meta:"html entity",score:1e6}})}}).call(t.prototype),h.HtmlCompletions=t}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(o,h,R){var x=o("../lib/oop"),y=o("../lib/lang"),_=o("./text").Mode,u=o("./javascript").Mode,d=o("./css").Mode,s=o("./html_highlight_rules").HtmlHighlightRules,r=o("./behaviour/xml").XmlBehaviour,n=o("./folding/html").FoldMode,i=o("./html_completions").HtmlCompletions,t=o("../worker/worker_client").WorkerClient,a=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],c=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],p=function(v){this.fragmentContext=v&&v.fragmentContext,this.HighlightRules=s,this.$behaviour=new r,this.$completer=new i,this.createModeDelegates({"js-":u,"css-":d}),this.foldingRules=new n(this.voidElements,y.arrayToMap(c))};x.inherits(p,_),(function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=y.arrayToMap(a),this.getNextLineIndent=function(v,I,C){return this.$getIndent(I)},this.checkOutdent=function(v,I,C){return!1},this.getCompletions=function(v,I,C,b){return this.$completer.getCompletions(v,I,C,b)},this.createWorker=function(v){if(this.constructor==p){var I=new t(["ace"],"ace/mode/html_worker","Worker");return I.attachToDocument(v.getDocument()),this.fragmentContext&&I.call("setOptions",[{context:this.fragmentContext}]),I.on("error",function(C){v.setAnnotations(C.data)}),I.on("terminate",function(){v.clearAnnotations()}),I}},this.$id="ace/mode/html",this.snippetFileId="ace/snippets/html"}).call(p.prototype),h.Mode=p}),ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(o,h,R){var x=o("../lib/oop"),y=o("./text_highlight_rules").TextHighlightRules,_=h.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",u=h.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",d=function(){var s=this.createKeywordMapper({keyword:_,"support.function.builtin":u,"invalid.deprecated":"debugger"},"identifier"),r="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",i="(?:\\d+)",t="(?:(?:"+i+"?"+n+")|(?:"+i+"\\.))",a="(?:(?:"+t+"|"+i+"))",c="(?:"+a+"|"+t+")",p="(?:&"+i+")",v="[a-zA-Z_][a-zA-Z0-9_]*",I="(?:"+v+"(?==))",C="(?:\\$(?:SHLVL|\\$|\\!|\\?))",b="(?:"+v+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string.start",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string.end",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(m,$,L){var O=m[2]=="-"?"indentedHeredoc":"heredoc",A=m.split(this.splitRegex);return L.push(O,A[4]),[{type:"constant",value:A[1]},{type:"text",value:A[2]},{type:"string",value:A[3]},{type:"support.class",value:A[4]},{type:"string",value:A[5]}]},rules:{heredoc:[{onMatch:function(m,$,L){return m===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(m,$,L){return m===L[1]?(L.shift(),L.shift(),this.next=L[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(m,$){return $[0]==="heredoc"||$[0]==="indentedHeredoc"?$[0]:m}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:C},{token:"variable",regex:I},{include:"variables"},{token:"support.function",regex:b},{token:"support.function",regex:p},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:r+"\\b"},{token:s,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};x.inherits(d,y),h.ShHighlightRules=d}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle"],function(o,h,R){var x=o("../lib/oop"),y=o("./text").Mode,_=o("./sh_highlight_rules").ShHighlightRules,u=o("../range").Range,d=o("./folding/cstyle").FoldMode,s=function(){this.HighlightRules=_,this.foldingRules=new d,this.$behaviour=this.$defaultBehaviour};x.inherits(s,y),(function(){this.lineCommentStart="#",this.getNextLineIndent=function(n,i,t){var a=this.$getIndent(i),c=this.getTokenizer().getLineTokens(i,n),p=c.tokens;if(p.length&&p[p.length-1].type=="comment")return a;if(n=="start"){var v=i.match(/^.*[\{\(\[:]\s*$/);v&&(a+=t)}return a};var r={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(n,i,t){if(t!==`\r
977
+ `&&t!=="\r"&&t!==`
978
+ `)return!1;var a=this.getTokenizer().getLineTokens(i.trim(),n).tokens;if(!a)return!1;do var c=a.pop();while(c&&(c.type=="comment"||c.type=="text"&&c.value.match(/^\s+$/)));return c?c.type=="keyword"&&r[c.value]:!1},this.autoOutdent=function(n,i,t){t+=1;var a=this.$getIndent(i.getLine(t)),c=i.getTabString();a.slice(-c.length)==c&&i.remove(new u(t,a.length-c.length,t,a.length))},this.$id="ace/mode/sh",this.snippetFileId="ace/snippets/sh"}).call(s.prototype),h.Mode=s}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"],function(o,h,R){var x=o("../lib/oop"),y=o("../lib/lang"),_=o("./text").Mode,u=o("./xml_highlight_rules").XmlHighlightRules,d=o("./behaviour/xml").XmlBehaviour,s=o("./folding/xml").FoldMode,r=o("../worker/worker_client").WorkerClient,n=function(){this.HighlightRules=u,this.$behaviour=new d,this.foldingRules=new s};x.inherits(n,_),(function(){this.voidElements=y.arrayToMap([]),this.blockComment={start:"<!--",end:"-->"},this.createWorker=function(i){var t=new r(["ace"],"ace/mode/xml_worker","Worker");return t.attachToDocument(i.getDocument()),t.on("error",function(a){i.setAnnotations(a.data)}),t.on("terminate",function(){i.clearAnnotations()}),t},this.$id="ace/mode/xml"}).call(n.prototype),h.Mode=n}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/behaviour/cstyle","ace/mode/text","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown","ace/mode/javascript","ace/mode/html","ace/mode/sh","ace/mode/sh","ace/mode/xml","ace/mode/css"],function(o,h,R){var x=o("../lib/oop"),y=o("./behaviour/cstyle").CstyleBehaviour,_=o("./text").Mode,u=o("./markdown_highlight_rules").MarkdownHighlightRules,d=o("./folding/markdown").FoldMode,s=function(){this.HighlightRules=u,this.createModeDelegates({javascript:o("./javascript").Mode,html:o("./html").Mode,bash:o("./sh").Mode,sh:o("./sh").Mode,xml:o("./xml").Mode,css:o("./css").Mode}),this.foldingRules=new d,this.$behaviour=new y({braces:!0})};x.inherits(s,_),(function(){this.type="text",this.blockComment={start:"<!--",end:"-->"},this.$quotes={'"':'"',"`":"`"},this.getNextLineIndent=function(r,n,i){if(r=="listblock"){var t=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(n);if(!t)return"";var a=t[2];return a||(a=parseInt(t[3],10)+1+"."),t[1]+a+t[4]}return this.$getIndent(n)},this.$id="ace/mode/markdown",this.snippetFileId="ace/snippets/markdown"}).call(s.prototype),h.Mode=s}),function(){ace.require(["ace/mode/markdown"],function(o){f&&(f.exports=o)})}()})(X0);var J0={exports:{}};(function(f,g){ace.define("ace/theme/twilight-css",["require","exports","module"],function(o,h,R){R.exports=`.ace-twilight .ace_gutter {
979
+ background: #232323;
980
+ color: #E2E2E2
981
+ }
982
+
983
+ .ace-twilight .ace_print-margin {
984
+ width: 1px;
985
+ background: #232323
986
+ }
987
+
988
+ .ace-twilight {
989
+ background-color: #141414;
990
+ color: #F8F8F8
991
+ }
992
+
993
+ .ace-twilight .ace_cursor {
994
+ color: #A7A7A7
995
+ }
996
+
997
+ .ace-twilight .ace_marker-layer .ace_selection {
998
+ background: rgba(221, 240, 255, 0.20)
999
+ }
1000
+
1001
+ .ace-twilight.ace_multiselect .ace_selection.ace_start {
1002
+ box-shadow: 0 0 3px 0px #141414;
1003
+ }
1004
+
1005
+ .ace-twilight .ace_marker-layer .ace_step {
1006
+ background: rgb(102, 82, 0)
1007
+ }
1008
+
1009
+ .ace-twilight .ace_marker-layer .ace_bracket {
1010
+ margin: -1px 0 0 -1px;
1011
+ border: 1px solid rgba(255, 255, 255, 0.25)
1012
+ }
1013
+
1014
+ .ace-twilight .ace_marker-layer .ace_active-line {
1015
+ background: rgba(255, 255, 255, 0.031)
1016
+ }
1017
+
1018
+ .ace-twilight .ace_gutter-active-line {
1019
+ background-color: rgba(255, 255, 255, 0.031)
1020
+ }
1021
+
1022
+ .ace-twilight .ace_marker-layer .ace_selected-word {
1023
+ border: 1px solid rgba(221, 240, 255, 0.20)
1024
+ }
1025
+
1026
+ .ace-twilight .ace_invisible {
1027
+ color: rgba(255, 255, 255, 0.25)
1028
+ }
1029
+
1030
+ .ace-twilight .ace_keyword,
1031
+ .ace-twilight .ace_meta {
1032
+ color: #CDA869
1033
+ }
1034
+
1035
+ .ace-twilight .ace_constant,
1036
+ .ace-twilight .ace_constant.ace_character,
1037
+ .ace-twilight .ace_constant.ace_character.ace_escape,
1038
+ .ace-twilight .ace_constant.ace_other,
1039
+ .ace-twilight .ace_heading,
1040
+ .ace-twilight .ace_markup.ace_heading,
1041
+ .ace-twilight .ace_support.ace_constant {
1042
+ color: #CF6A4C
1043
+ }
1044
+
1045
+ .ace-twilight .ace_invalid.ace_illegal {
1046
+ color: #F8F8F8;
1047
+ background-color: rgba(86, 45, 86, 0.75)
1048
+ }
1049
+
1050
+ .ace-twilight .ace_invalid.ace_deprecated {
1051
+ text-decoration: underline;
1052
+ font-style: italic;
1053
+ color: #D2A8A1
1054
+ }
1055
+
1056
+ .ace-twilight .ace_support {
1057
+ color: #9B859D
1058
+ }
1059
+
1060
+ .ace-twilight .ace_fold {
1061
+ background-color: #AC885B;
1062
+ border-color: #F8F8F8
1063
+ }
1064
+
1065
+ .ace-twilight .ace_support.ace_function {
1066
+ color: #DAD085
1067
+ }
1068
+
1069
+ .ace-twilight .ace_list,
1070
+ .ace-twilight .ace_markup.ace_list,
1071
+ .ace-twilight .ace_storage {
1072
+ color: #F9EE98
1073
+ }
1074
+
1075
+ .ace-twilight .ace_entity.ace_name.ace_function,
1076
+ .ace-twilight .ace_meta.ace_tag {
1077
+ color: #AC885B
1078
+ }
1079
+
1080
+ .ace-twilight .ace_string {
1081
+ color: #8F9D6A
1082
+ }
1083
+
1084
+ .ace-twilight .ace_string.ace_regexp {
1085
+ color: #E9C062
1086
+ }
1087
+
1088
+ .ace-twilight .ace_comment {
1089
+ font-style: italic;
1090
+ color: #5F5A60
1091
+ }
1092
+
1093
+ .ace-twilight .ace_variable {
1094
+ color: #7587A6
1095
+ }
1096
+
1097
+ .ace-twilight .ace_xml-pe {
1098
+ color: #494949
1099
+ }
1100
+
1101
+ .ace-twilight .ace_indent-guide {
1102
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
1103
+ }
1104
+
1105
+ .ace-twilight .ace_indent-guide-active {
1106
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
1107
+ }
1108
+ `}),ace.define("ace/theme/twilight",["require","exports","module","ace/theme/twilight-css","ace/lib/dom"],function(o,h,R){h.isDark=!0,h.cssClass="ace-twilight",h.cssText=o("./twilight-css");var x=o("../lib/dom");x.importCssString(h.cssText,h.cssClass,!1)}),function(){ace.require(["ace/theme/twilight"],function(o){f&&(f.exports=o)})}()})(J0);var eb={exports:{}};(function(f,g){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(o,h,R){function x(m){var $=new Date().toLocaleString("en-us",m);return $.length==1?"0"+$:$}var y=o("./lib/dom"),_=o("./lib/oop"),u=o("./lib/event_emitter").EventEmitter,d=o("./lib/lang"),s=o("./range").Range,r=o("./range_list").RangeList,n=o("./keyboard/hash_handler").HashHandler,i=o("./tokenizer").Tokenizer,t=o("./clipboard"),a={CURRENT_WORD:function(m){return m.session.getTextRange(m.session.getWordRange())},SELECTION:function(m,$,L){var O=m.session.getTextRange();return L?O.replace(/\n\r?([ \t]*\S)/g,`
1109
+ `+L+"$1"):O},CURRENT_LINE:function(m){return m.session.getLine(m.getCursorPosition().row)},PREV_LINE:function(m){return m.session.getLine(m.getCursorPosition().row-1)},LINE_INDEX:function(m){return m.getCursorPosition().row},LINE_NUMBER:function(m){return m.getCursorPosition().row+1},SOFT_TABS:function(m){return m.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(m){return m.session.getTabSize()},CLIPBOARD:function(m){return t.getText&&t.getText()},FILENAME:function(m){return/[^/\\]*$/.exec(this.FILEPATH(m))[0]},FILENAME_BASE:function(m){return/[^/\\]*$/.exec(this.FILEPATH(m))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(m){return this.FILEPATH(m).replace(/[^/\\]*$/,"")},FILEPATH:function(m){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(m){var $=m.session.$mode||{};return $.blockComment&&$.blockComment.start||""},BLOCK_COMMENT_END:function(m){var $=m.session.$mode||{};return $.blockComment&&$.blockComment.end||""},LINE_COMMENT:function(m){var $=m.session.$mode||{};return $.lineCommentStart||""},CURRENT_YEAR:x.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:x.bind(null,{year:"2-digit"}),CURRENT_MONTH:x.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:x.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:x.bind(null,{month:"short"}),CURRENT_DATE:x.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:x.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:x.bind(null,{weekday:"short"}),CURRENT_HOUR:x.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:x.bind(null,{minute:"2-digit"}),CURRENT_SECOND:x.bind(null,{second:"2-digit"})};a.SELECTED_TEXT=a.SELECTION;var c=function(){function m(){this.snippetMap={},this.snippetNameMap={},this.variables=a}return m.prototype.getTokenizer=function(){return m.$tokenizer||this.createTokenizer()},m.prototype.createTokenizer=function(){function $(A){return A=A.substr(1),/^\d+$/.test(A)?[{tabstopId:parseInt(A,10)}]:[{text:A}]}function L(A){return"(?:[^\\\\"+A+"]|\\\\.)"}var O={regex:"/("+L("/")+"+)/",onMatch:function(A,E,k){var T=k[0];return T.fmtString=!0,T.guard=A.slice(1,-1),T.flag="",""},next:"formatString"};return m.$tokenizer=new i({start:[{regex:/\\./,onMatch:function(A,E,k){var T=A[1];return(T=="}"&&k.length||"`$\\".indexOf(T)!=-1)&&(A=T),[A]}},{regex:/}/,onMatch:function(A,E,k){return[k.length?k.shift():A]}},{regex:/\$(?:\d+|\w+)/,onMatch:$},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(A,E,k){var T=$(A.substr(1));return k.unshift(T[0]),T},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+L("\\|")+"*\\|",onMatch:function(A,E,k){var T=A.slice(1,-1).replace(/\\[,|\\]|,/g,function(w){return w.length==2?w[1]:"\0"}).split("\0").map(function(w){return{value:w}});return k[0].choices=T,[T[0]]},next:"start"},O,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(A,E,k){return k.length&&k[0].expectElse?(k[0].expectElse=!1,k[0].ifEnd={elseEnd:k[0]},[k[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(A,E,k){var T=A[1];return T=="}"&&k.length||"`$\\".indexOf(T)!=-1?A=T:T=="n"?A=`
1110
+ `:T=="t"?A=" ":"ulULE".indexOf(T)!=-1&&(A={changeCase:T,local:T>"a"}),[A]}},{regex:"/\\w*}",onMatch:function(A,E,k){var T=k.shift();return T&&(T.flag=A.slice(1,-1)),this.next=T&&T.tabstopId?"start":"",[T||A]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(A,E,k){return[{text:A.slice(1)}]}},{regex:/\${\w+/,onMatch:function(A,E,k){var T={text:A.slice(2)};return k.unshift(T),[T]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(A,E,k){var T=k.shift();return this.next=T&&T.tabstopId?"start":"",[T||A]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(A,E,k){var T=k[0];return T.formatFunction=A.slice(2,-1),[k.shift()]},next:"formatString"},O,{regex:/:[\?\-+]?/,onMatch:function(A,E,k){A[1]=="+"&&(k[0].ifEnd=k[0]),A[1]=="?"&&(k[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),m.$tokenizer},m.prototype.tokenizeTmSnippet=function($,L){return this.getTokenizer().getLineTokens($,L).tokens.map(function(O){return O.value||O})},m.prototype.getVariableValue=function($,L,O){if(/^\d+$/.test(L))return(this.variables.__||{})[L]||"";if(/^[A-Z]\d+$/.test(L))return(this.variables[L[0]+"__"]||{})[L.substr(1)]||"";if(L=L.replace(/^TM_/,""),!this.variables.hasOwnProperty(L))return"";var A=this.variables[L];return typeof A=="function"&&(A=this.variables[L]($,L,O)),A??""},m.prototype.tmStrFormat=function($,L,O){if(!L.fmt)return $;var A=L.flag||"",E=L.guard;E=new RegExp(E,A.replace(/[^gim]/g,""));var k=typeof L.fmt=="string"?this.tokenizeTmSnippet(L.fmt,"formatString"):L.fmt,T=this,w=$.replace(E,function(){var M=T.variables.__;T.variables.__=[].slice.call(arguments);for(var D=T.resolveVariables(k,O),F="E",B=0;B<D.length;B++){var H=D[B];if(typeof H=="object")if(D[B]="",H.changeCase&&H.local){var j=D[B+1];j&&typeof j=="string"&&(H.changeCase=="u"?D[B]=j[0].toUpperCase():D[B]=j[0].toLowerCase(),D[B+1]=j.substr(1))}else H.changeCase&&(F=H.changeCase);else F=="U"?D[B]=H.toUpperCase():F=="L"&&(D[B]=H.toLowerCase())}return T.variables.__=M,D.join("")});return w},m.prototype.tmFormatFunction=function($,L,O){return L.formatFunction=="upcase"?$.toUpperCase():L.formatFunction=="downcase"?$.toLowerCase():$},m.prototype.resolveVariables=function($,L){function O(F){var B=$.indexOf(F,T+1);B!=-1&&(T=B)}for(var A=[],E="",k=!0,T=0;T<$.length;T++){var w=$[T];if(typeof w=="string"){A.push(w),w==`
1111
+ `?(k=!0,E=""):k&&(E=/^\t*/.exec(w)[0],k=/\S/.test(w));continue}if(w){if(k=!1,w.fmtString){var M=$.indexOf(w,T+1);M==-1&&(M=$.length),w.fmt=$.slice(T+1,M),T=M}if(w.text){var D=this.getVariableValue(L,w.text,E)+"";w.fmtString&&(D=this.tmStrFormat(D,w,L)),w.formatFunction&&(D=this.tmFormatFunction(D,w,L)),D&&!w.ifEnd?(A.push(D),O(w)):!D&&w.ifEnd&&O(w.ifEnd)}else w.elseEnd?O(w.elseEnd):(w.tabstopId!=null||w.changeCase!=null)&&A.push(w)}}return A},m.prototype.getDisplayTextForSnippet=function($,L){var O=p.call(this,$,L);return O.text},m.prototype.insertSnippetForSelection=function($,L,O){O===void 0&&(O={});var A=p.call(this,$,L,O),E=$.getSelectionRange(),k=$.session.replace(E,A.text),T=new v($),w=$.inVirtualSelectionMode&&$.selection.index;T.addTabstops(A.tabstops,E.start,k,w)},m.prototype.insertSnippet=function($,L,O){O===void 0&&(O={});var A=this;if($.inVirtualSelectionMode)return A.insertSnippetForSelection($,L,O);$.forEachSelection(function(){A.insertSnippetForSelection($,L,O)},null,{keepOrder:!0}),$.tabstopManager&&$.tabstopManager.tabNext()},m.prototype.$getScope=function($){var L=$.session.$mode.$id||"";if(L=L.split("/").pop(),L==="html"||L==="php"){L==="php"&&!$.session.$mode.inlinePhp&&(L="html");var O=$.getCursorPosition(),A=$.session.getState(O.row);typeof A=="object"&&(A=A[0]),A.substring&&(A.substring(0,3)=="js-"?L="javascript":A.substring(0,4)=="css-"?L="css":A.substring(0,4)=="php-"&&(L="php"))}return L},m.prototype.getActiveScopes=function($){var L=this.$getScope($),O=[L],A=this.snippetMap;return A[L]&&A[L].includeScopes&&O.push.apply(O,A[L].includeScopes),O.push("_"),O},m.prototype.expandWithTab=function($,L){var O=this,A=$.forEachSelection(function(){return O.expandSnippetForSelection($,L)},null,{keepOrder:!0});return A&&$.tabstopManager&&$.tabstopManager.tabNext(),A},m.prototype.expandSnippetForSelection=function($,L){var O=$.getCursorPosition(),A=$.session.getLine(O.row),E=A.substring(0,O.column),k=A.substr(O.column),T=this.snippetMap,w;return this.getActiveScopes($).some(function(M){var D=T[M];return D&&(w=this.findMatchingSnippet(D,E,k)),!!w},this),w?(L&&L.dryRun||($.session.doc.removeInLine(O.row,O.column-w.replaceBefore.length,O.column+w.replaceAfter.length),this.variables.M__=w.matchBefore,this.variables.T__=w.matchAfter,this.insertSnippetForSelection($,w.content),this.variables.M__=this.variables.T__=null),!0):!1},m.prototype.findMatchingSnippet=function($,L,O){for(var A=$.length;A--;){var E=$[A];if(!(E.startRe&&!E.startRe.test(L))&&!(E.endRe&&!E.endRe.test(O))&&!(!E.startRe&&!E.endRe))return E.matchBefore=E.startRe?E.startRe.exec(L):[""],E.matchAfter=E.endRe?E.endRe.exec(O):[""],E.replaceBefore=E.triggerRe?E.triggerRe.exec(L)[0]:"",E.replaceAfter=E.endTriggerRe?E.endTriggerRe.exec(O)[0]:"",E}},m.prototype.register=function($,L){function O(M){return M&&!/^\^?\(.*\)\$?$|^\\b$/.test(M)&&(M="(?:"+M+")"),M||""}function A(M,D,F){return M=O(M),D=O(D),M=D+M,M&&M[M.length-1]!="$"&&(M+="$"),new RegExp(M)}function E(M){M.scope||(M.scope=L||"_"),L=M.scope,k[L]||(k[L]=[],T[L]={});var D=T[L];if(M.name){var F=D[M.name];F&&w.unregister(F),D[M.name]=M}k[L].push(M),M.prefix&&(M.tabTrigger=M.prefix),!M.content&&M.body&&(M.content=Array.isArray(M.body)?M.body.join(`
1112
+ `):M.body),M.tabTrigger&&!M.trigger&&(!M.guard&&/^\w/.test(M.tabTrigger)&&(M.guard="\\b"),M.trigger=d.escapeRegExp(M.tabTrigger)),!(!M.trigger&&!M.guard&&!M.endTrigger&&!M.endGuard)&&(M.startRe=A(M.trigger,M.guard),M.triggerRe=new RegExp(M.trigger),M.endRe=A(M.endTrigger,M.endGuard),M.endTriggerRe=new RegExp(M.endTrigger))}var k=this.snippetMap,T=this.snippetNameMap,w=this;$||($=[]),Array.isArray($)?$.forEach(E):Object.keys($).forEach(function(M){E($[M])}),this._signal("registerSnippets",{scope:L})},m.prototype.unregister=function($,L){function O(k){var T=E[k.scope||L];if(T&&T[k.name]){delete T[k.name];var w=A[k.scope||L],M=w&&w.indexOf(k);M>=0&&w.splice(M,1)}}var A=this.snippetMap,E=this.snippetNameMap;$.content?O($):Array.isArray($)&&$.forEach(O)},m.prototype.parseSnippetFile=function($){$=$.replace(/\r/g,"");for(var L=[],O={},A=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,E;E=A.exec($);){if(E[1])try{O=JSON.parse(E[1]),L.push(O)}catch{}if(E[4])O.content=E[4].replace(/^\t/gm,""),L.push(O),O={};else{var k=E[2],T=E[3];if(k=="regex"){var w=/\/((?:[^\/\\]|\\.)*)|$/g;O.guard=w.exec(T)[1],O.trigger=w.exec(T)[1],O.endTrigger=w.exec(T)[1],O.endGuard=w.exec(T)[1]}else k=="snippet"?(O.tabTrigger=T.match(/^\S*/)[0],O.name||(O.name=T)):k&&(O[k]=T)}}return L},m.prototype.getSnippetByName=function($,L){var O=this.snippetNameMap,A;return this.getActiveScopes(L).some(function(E){var k=O[E];return k&&(A=k[$]),!!A},this),A},m}();_.implement(c.prototype,u);var p=function(m,$,L){function O(ie){for(var ae=[],he=0;he<ie.length;he++){var de=ie[he];if(typeof de=="object"){if(D[de.tabstopId])continue;var ye=ie.lastIndexOf(de,he-1);de=ae[ye]||{tabstopId:de.tabstopId}}ae[he]=de}return ae}L===void 0&&(L={});var A=m.getCursorPosition(),E=m.session.getLine(A.row),k=m.session.getTabString(),T=E.match(/^\s*/)[0];A.column<T.length&&(T=T.slice(0,A.column)),$=$.replace(/\r/g,"");var w=this.tokenizeTmSnippet($);w=this.resolveVariables(w,m),w=w.map(function(ie){return ie==`
1113
+ `&&!L.excludeExtraIndent?ie+T:typeof ie=="string"?ie.replace(/\t/g,k):ie});var M=[];w.forEach(function(ie,ae){if(typeof ie=="object"){var he=ie.tabstopId,de=M[he];if(de||(de=M[he]=[],de.index=he,de.value="",de.parents={}),de.indexOf(ie)===-1){ie.choices&&!de.choices&&(de.choices=ie.choices),de.push(ie);var ye=w.indexOf(ie,ae+1);if(ye!==-1){var Ae=w.slice(ae+1,ye),ze=Ae.some(function($t){return typeof $t=="object"});ze&&!de.value?de.value=Ae:Ae.length&&(!de.value||typeof de.value!="string")&&(de.value=Ae.join(""))}}}}),M.forEach(function(ie){ie.length=0});for(var D={},F=0;F<w.length;F++){var B=w[F];if(typeof B=="object"){var H=B.tabstopId,j=M[H],Y=w.indexOf(B,F+1);if(D[H]){D[H]===B&&(delete D[H],Object.keys(D).forEach(function(ie){j.parents[ie]=!0}));continue}D[H]=B;var X=j.value;typeof X!="string"?X=O(X):B.fmt&&(X=this.tmStrFormat(X,B,m)),w.splice.apply(w,[F+1,Math.max(0,Y-F)].concat(X,B)),j.indexOf(B)===-1&&j.push(B)}}var Q=0,q=0,ee="";return w.forEach(function(ie){if(typeof ie=="string"){var ae=ie.split(`
1114
+ `);ae.length>1?(q=ae[ae.length-1].length,Q+=ae.length-1):q+=ie.length,ee+=ie}else ie&&(ie.start?ie.end={row:Q,column:q}:ie.start={row:Q,column:q})}),{text:ee,tabstops:M,tokens:w}},v=function(){function m($){if(this.index=0,this.ranges=[],this.tabstops=[],$.tabstopManager)return $.tabstopManager;$.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=d.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach($)}return m.prototype.attach=function($){this.$openTabstops=null,this.selectedTabstop=null,this.editor=$,this.session=$.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},m.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},m.prototype.onChange=function($){for(var L=$.action[0]=="r",O=this.selectedTabstop||{},A=O.parents||{},E=this.tabstops.slice(),k=0;k<E.length;k++){var T=E[k],w=T==O||A[T.index];if(T.rangeList.$bias=w?0:1,$.action=="remove"&&T!==O){var M=T.parents&&T.parents[O.index],D=T.rangeList.pointIndex($.start,M);D=D<0?-D-1:D+1;var F=T.rangeList.pointIndex($.end,M);F=F<0?-F-1:F-1;for(var B=T.rangeList.ranges.slice(D,F),H=0;H<B.length;H++)this.removeRange(B[H])}T.rangeList.$onChange($)}var j=this.session;!this.$inChange&&L&&j.getLength()==1&&!j.getValue()&&this.detach()},m.prototype.updateLinkedFields=function(){var $=this.selectedTabstop;if(!(!$||!$.hasLinkedRanges||!$.firstNonLinked)){this.$inChange=!0;for(var L=this.session,O=L.getTextRange($.firstNonLinked),A=0;A<$.length;A++){var E=$[A];if(E.linked){var k=E.original,T=h.snippetManager.tmStrFormat(O,k,this.editor);L.replace(E,T)}}this.$inChange=!1}},m.prototype.onAfterExec=function($){$.command&&!$.command.readOnly&&this.updateLinkedFields()},m.prototype.onChangeSelection=function(){if(this.editor){for(var $=this.editor.selection.lead,L=this.editor.selection.anchor,O=this.editor.selection.isEmpty(),A=0;A<this.ranges.length;A++)if(!this.ranges[A].linked){var E=this.ranges[A].contains($.row,$.column),k=O||this.ranges[A].contains(L.row,L.column);if(E&&k)return}this.detach()}},m.prototype.onChangeSession=function(){this.detach()},m.prototype.tabNext=function($){var L=this.tabstops.length,O=this.index+($||1);O=Math.min(Math.max(O,1),L),O==L&&(O=0),this.selectTabstop(O),this.updateTabstopMarkers(),O===0&&this.detach()},m.prototype.selectTabstop=function($){this.$openTabstops=null;var L=this.tabstops[this.index];if(L&&this.addTabstopMarkers(L),this.index=$,L=this.tabstops[this.index],!(!L||!L.length)){this.selectedTabstop=L;var O=L.firstNonLinked||L;if(L.choices&&(O.cursor=O.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(O);else{var A=this.editor.multiSelect;A.toSingleRange(O);for(var E=0;E<L.length;E++)L.hasLinkedRanges&&L[E].linked||A.addRange(L[E].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},m.prototype.addTabstops=function($,L,O){var A=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!$[0]){var E=s.fromPoints(O,O);C(E.start,L),C(E.end,L),$[0]=[E],$[0].index=0}var k=this.index,T=[k+1,0],w=this.ranges,M=this.snippetId=(this.snippetId||0)+1;$.forEach(function(D,F){var B=this.$openTabstops[F]||D;B.snippetId=M;for(var H=0;H<D.length;H++){var j=D[H],Y=s.fromPoints(j.start,j.end||j.start);I(Y.start,L),I(Y.end,L),Y.original=j,Y.tabstop=B,w.push(Y),B!=D?B.unshift(Y):B[H]=Y,j.fmtString||B.firstNonLinked&&A?(Y.linked=!0,B.hasLinkedRanges=!0):B.firstNonLinked||(B.firstNonLinked=Y)}B.firstNonLinked||(B.hasLinkedRanges=!1),B===D&&(T.push(B),this.$openTabstops[F]=B),this.addTabstopMarkers(B),B.rangeList=B.rangeList||new r,B.rangeList.$bias=0,B.rangeList.addList(B)},this),T.length>2&&(this.tabstops.length&&T.push(T.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,T))},m.prototype.addTabstopMarkers=function($){var L=this.session;$.forEach(function(O){O.markerId||(O.markerId=L.addMarker(O,"ace_snippet-marker","text"))})},m.prototype.removeTabstopMarkers=function($){var L=this.session;$.forEach(function(O){L.removeMarker(O.markerId),O.markerId=null})},m.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var $=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&$--,this.tabstops.forEach(function(L){L.snippetId===$?this.addTabstopMarkers(L):this.removeTabstopMarkers(L)},this)}},m.prototype.removeRange=function($){var L=$.tabstop.indexOf($);L!=-1&&$.tabstop.splice(L,1),L=this.ranges.indexOf($),L!=-1&&this.ranges.splice(L,1),L=$.tabstop.rangeList.ranges.indexOf($),L!=-1&&$.tabstop.splice(L,1),this.session.removeMarker($.markerId),$.tabstop.length||(L=this.tabstops.indexOf($.tabstop),L!=-1&&this.tabstops.splice(L,1),this.tabstops.length||this.detach())},m}();v.prototype.keyboardHandler=new n,v.prototype.keyboardHandler.bindKeys({Tab:function(m){h.snippetManager&&h.snippetManager.expandWithTab(m)||(m.tabstopManager.tabNext(1),m.renderer.scrollCursorIntoView())},"Shift-Tab":function(m){m.tabstopManager.tabNext(-1),m.renderer.scrollCursorIntoView()},Esc:function(m){m.tabstopManager.detach()}});var I=function(m,$){m.row==0&&(m.column+=$.column),m.row+=$.row},C=function(m,$){m.row==$.row&&(m.column-=$.column),m.row-=$.row};y.importCssString(`
1115
+ .ace_snippet-marker {
1116
+ -moz-box-sizing: border-box;
1117
+ box-sizing: border-box;
1118
+ background: rgba(194, 193, 208, 0.09);
1119
+ border: 1px dotted rgba(211, 208, 235, 0.62);
1120
+ position: absolute;
1121
+ }`,"snippets.css",!1),h.snippetManager=new c;var b=o("./editor").Editor;(function(){this.insertSnippet=function(m,$){return h.snippetManager.insertSnippet(this,m,$)},this.expandSnippet=function(m){return h.snippetManager.expandWithTab(this,m)}}).call(b.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(o,h,R){var x=o("../virtual_renderer").VirtualRenderer,y=o("../editor").Editor,_=o("../range").Range,u=o("../lib/event"),d=o("../lib/lang"),s=o("../lib/dom"),r=o("../config").nls,n=o("./../lib/useragent"),i=function(I){return"suggest-aria-id:".concat(I)},t=n.isSafari?"menu":"listbox",a=n.isSafari?"menuitem":"option",c=n.isSafari?"aria-current":"aria-selected",p=function(I){var C=new x(I);C.$maxLines=4;var b=new y(C);return b.setHighlightActiveLine(!1),b.setShowPrintMargin(!1),b.renderer.setShowGutter(!1),b.renderer.setHighlightGutterLine(!1),b.$mouseHandler.$focusTimeout=0,b.$highlightTagPending=!0,b},v=function(){function I(C){var b=s.createElement("div"),m=p(b);C&&C.appendChild(b),b.style.display="none",m.renderer.content.style.cursor="default",m.renderer.setStyle("ace_autocomplete"),m.renderer.$textLayer.element.setAttribute("role",t),m.renderer.$textLayer.element.setAttribute("aria-roledescription",r("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),m.renderer.$textLayer.element.setAttribute("aria-label",r("autocomplete.popup.aria-label","Autocomplete suggestions")),m.renderer.textarea.setAttribute("aria-hidden","true"),m.setOption("displayIndentGuides",!1),m.setOption("dragDelay",150);var $=function(){};m.focus=$,m.$isFocused=!0,m.renderer.$cursorLayer.restartTimer=$,m.renderer.$cursorLayer.element.style.opacity="0",m.renderer.$maxLines=8,m.renderer.$keepTextAreaAtCursor=!1,m.setHighlightActiveLine(!1),m.session.highlight(""),m.session.$searchHighlight.clazz="ace_highlight-marker",m.on("mousedown",function(w){var M=w.getDocumentPosition();m.selection.moveToPosition(M),A.start.row=A.end.row=M.row,w.stop()});var L,O=new _(-1,0,-1,1/0),A=new _(-1,0,-1,1/0);A.id=m.session.addMarker(A,"ace_active-line","fullLine"),m.setSelectOnHover=function(w){w?O.id&&(m.session.removeMarker(O.id),O.id=null):O.id=m.session.addMarker(O,"ace_line-hover","fullLine")},m.setSelectOnHover(!1),m.on("mousemove",function(w){if(!L){L=w;return}if(!(L.x==w.x&&L.y==w.y)){L=w,L.scrollTop=m.renderer.scrollTop,m.isMouseOver=!0;var M=L.getDocumentPosition().row;O.start.row!=M&&(O.id||m.setRow(M),k(M))}}),m.renderer.on("beforeRender",function(){if(L&&O.start.row!=-1){L.$pos=null;var w=L.getDocumentPosition().row;O.id||m.setRow(w),k(w,!0)}}),m.renderer.on("afterRender",function(){var w=m.getRow(),M=m.renderer.$textLayer,D=M.element.childNodes[w-M.config.firstRow],F=document.activeElement;if(D!==m.selectedNode&&m.selectedNode&&(s.removeCssClass(m.selectedNode,"ace_selected"),F.removeAttribute("aria-activedescendant"),m.selectedNode.removeAttribute(c),m.selectedNode.removeAttribute("id")),m.selectedNode=D,D){s.addCssClass(D,"ace_selected");var B=i(w);D.id=B,M.element.setAttribute("aria-activedescendant",B),F.setAttribute("aria-activedescendant",B),D.setAttribute("role",a),D.setAttribute("aria-roledescription",r("autocomplete.popup.item.aria-roledescription","item")),D.setAttribute("aria-label",m.getData(w).caption||m.getData(w).value),D.setAttribute("aria-setsize",m.data.length),D.setAttribute("aria-posinset",w+1),D.setAttribute("aria-describedby","doc-tooltip"),D.setAttribute(c,"true")}});var E=function(){k(-1)},k=function(w,M){w!==O.start.row&&(O.start.row=O.end.row=w,M||m.session._emit("changeBackMarker"),m._emit("changeHoverMarker"))};m.getHoveredRow=function(){return O.start.row},u.addListener(m.container,"mouseout",function(){m.isMouseOver=!1,E()}),m.on("hide",E),m.on("changeSelection",E),m.session.doc.getLength=function(){return m.data.length},m.session.doc.getLine=function(w){var M=m.data[w];return typeof M=="string"?M:M&&M.value||""};var T=m.session.bgTokenizer;return T.$tokenizeRow=function(w){function M(ie,ae){ie&&F.push({type:(D.className||"")+(ae||""),value:ie})}var D=m.data[w],F=[];if(!D)return F;typeof D=="string"&&(D={value:D});for(var B=D.caption||D.value||D.name,H=B.toLowerCase(),j=(m.filterText||"").toLowerCase(),Y=0,X=0,Q=0;Q<=j.length;Q++)if(Q!=X&&(D.matchMask&1<<Q||Q==j.length)){var q=j.slice(X,Q);X=Q;var ee=H.indexOf(q,Y);if(ee==-1)continue;M(B.slice(Y,ee),""),Y=ee+q.length,M(B.slice(ee,Y),"completion-highlight")}return M(B.slice(Y,B.length),""),F.push({type:"completion-spacer",value:" "}),D.meta&&F.push({type:"completion-meta",value:D.meta}),D.message&&F.push({type:"completion-message",value:D.message}),F},T.$updateOnChange=$,T.start=$,m.session.$computeWidth=function(){return this.screenWidth=0},m.isOpen=!1,m.isTopdown=!1,m.autoSelect=!0,m.filterText="",m.isMouseOver=!1,m.data=[],m.setData=function(w,M){m.filterText=M||"",m.setValue(d.stringRepeat(`
1122
+ `,w.length),-1),m.data=w||[],m.setRow(0)},m.getData=function(w){return m.data[w]},m.getRow=function(){return A.start.row},m.setRow=function(w){w=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,w)),A.start.row!=w&&(m.selection.clearSelection(),A.start.row=A.end.row=w||0,m.session._emit("changeBackMarker"),m.moveCursorTo(w||0,0),m.isOpen&&m._signal("select"))},m.on("changeSelection",function(){m.isOpen&&m.setRow(m.selection.lead.row),m.renderer.scrollCursorIntoView()}),m.hide=function(){this.container.style.display="none",m.anchorPos=null,m.anchor=null,m.isOpen&&(m.isOpen=!1,this._signal("hide"))},m.tryShow=function(w,M,D,F){if(!F&&m.isOpen&&m.anchorPos&&m.anchor&&m.anchorPos.top===w.top&&m.anchorPos.left===w.left&&m.anchor===D)return!0;var B=this.container,H=window.innerHeight,j=window.innerWidth,Y=this.renderer,X=Y.$maxLines*M*1.4,Q={top:0,bottom:0,left:0},q=H-w.top-3*this.$borderSize-M,ee=w.top-3*this.$borderSize;D||(ee<=q||q>=X?D="bottom":D="top"),D==="top"?(Q.bottom=w.top-this.$borderSize,Q.top=Q.bottom-X):D==="bottom"&&(Q.top=w.top+M+this.$borderSize,Q.bottom=Q.top+X);var ie=Q.top>=0&&Q.bottom<=H;if(!F&&!ie)return!1;ie?Y.$maxPixelHeight=null:D==="top"?Y.$maxPixelHeight=ee:Y.$maxPixelHeight=q,D==="top"?(B.style.top="",B.style.bottom=H-Q.bottom+"px",m.isTopdown=!1):(B.style.top=Q.top+"px",B.style.bottom="",m.isTopdown=!0),B.style.display="";var ae=w.left;return ae+B.offsetWidth>j&&(ae=j-B.offsetWidth),B.style.left=ae+"px",B.style.right="",m.isOpen||(m.isOpen=!0,this._signal("show"),L=null),m.anchorPos=w,m.anchor=D,!0},m.show=function(w,M,D){this.tryShow(w,M,D?"bottom":void 0,!0)},m.goTo=function(w){var M=this.getRow(),D=this.session.getLength()-1;switch(w){case"up":M=M<=0?D:M-1;break;case"down":M=M>=D?-1:M+1;break;case"start":M=0;break;case"end":M=D}this.setRow(M)},m.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},m.$imageSize=0,m.$borderSize=1,m}return I}();s.importCssString(`
1123
+ .ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1124
+ background-color: #CAD6FA;
1125
+ z-index: 1;
1126
+ }
1127
+ .ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
1128
+ background-color: #3a674e;
1129
+ }
1130
+ .ace_editor.ace_autocomplete .ace_line-hover {
1131
+ border: 1px solid #abbffe;
1132
+ margin-top: -1px;
1133
+ background: rgba(233,233,253,0.4);
1134
+ position: absolute;
1135
+ z-index: 2;
1136
+ }
1137
+ .ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
1138
+ border: 1px solid rgba(109, 150, 13, 0.8);
1139
+ background: rgba(58, 103, 78, 0.62);
1140
+ }
1141
+ .ace_completion-meta {
1142
+ opacity: 0.5;
1143
+ margin-left: 0.9em;
1144
+ }
1145
+ .ace_completion-message {
1146
+ margin-left: 0.9em;
1147
+ color: blue;
1148
+ }
1149
+ .ace_editor.ace_autocomplete .ace_completion-highlight{
1150
+ color: #2d69c7;
1151
+ }
1152
+ .ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{
1153
+ color: #93ca12;
1154
+ }
1155
+ .ace_editor.ace_autocomplete {
1156
+ width: 300px;
1157
+ z-index: 200000;
1158
+ border: 1px lightgray solid;
1159
+ position: fixed;
1160
+ box-shadow: 2px 3px 5px rgba(0,0,0,.2);
1161
+ line-height: 1.4;
1162
+ background: #fefefe;
1163
+ color: #111;
1164
+ }
1165
+ .ace_dark.ace_editor.ace_autocomplete {
1166
+ border: 1px #484747 solid;
1167
+ box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
1168
+ line-height: 1.4;
1169
+ background: #25282c;
1170
+ color: #c1c1c1;
1171
+ }
1172
+ .ace_autocomplete .ace_text-layer {
1173
+ width: calc(100% - 8px);
1174
+ }
1175
+ .ace_autocomplete .ace_line {
1176
+ display: flex;
1177
+ align-items: center;
1178
+ }
1179
+ .ace_autocomplete .ace_line > * {
1180
+ min-width: 0;
1181
+ flex: 0 0 auto;
1182
+ }
1183
+ .ace_autocomplete .ace_line .ace_ {
1184
+ flex: 0 1 auto;
1185
+ overflow: hidden;
1186
+ text-overflow: ellipsis;
1187
+ }
1188
+ .ace_autocomplete .ace_completion-spacer {
1189
+ flex: 1;
1190
+ }
1191
+ .ace_autocomplete.ace_loading:after {
1192
+ content: "";
1193
+ position: absolute;
1194
+ top: 0px;
1195
+ height: 2px;
1196
+ width: 8%;
1197
+ background: blue;
1198
+ z-index: 100;
1199
+ animation: ace_progress 3s infinite linear;
1200
+ animation-delay: 300ms;
1201
+ transform: translateX(-100%) scaleX(1);
1202
+ }
1203
+ @keyframes ace_progress {
1204
+ 0% { transform: translateX(-100%) scaleX(1) }
1205
+ 50% { transform: translateX(625%) scaleX(2) }
1206
+ 100% { transform: translateX(1500%) scaleX(3) }
1207
+ }
1208
+ @media (prefers-reduced-motion) {
1209
+ .ace_autocomplete.ace_loading:after {
1210
+ transform: translateX(625%) scaleX(2);
1211
+ animation: none;
1212
+ }
1213
+ }
1214
+ `,"autocompletion.css",!1),h.AcePopup=v,h.$singleLineEditor=p,h.getAriaId=i}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(o,h,R){var x=function(){function y(_){this.editor=_,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return y.prototype.setScreenReaderContent=function(_){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",(function(){var d=this.popup.getRow(),s=this.popup.renderer.$textLayer,r=s.element.childNodes[d-s.config.firstRow];if(r){for(var n="doc-tooltip ",i=0;i<this._lines.length;i++)n+="ace-inline-screenreader-line-".concat(i," ");r.setAttribute("aria-describedby",n)}}).bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=_.split(/\r\n|\r|\n/);var u=this.createCodeBlock();this.screenReaderDiv.appendChild(u)},y.prototype.destroy=function(){this.screenReaderDiv.remove()},y.prototype.createCodeBlock=function(){var _=document.createElement("pre");_.setAttribute("id","ace-inline-screenreader");for(var u=0;u<this._lines.length;u++){var d=document.createElement("code");d.setAttribute("id","ace-inline-screenreader-line-".concat(u));var s=document.createTextNode(this._lines[u]);d.appendChild(s),_.appendChild(d)}return _},y}();h.AceInlineScreenReader=x}),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],function(o,h,R){var x=o("../snippets").snippetManager,y=o("./inline_screenreader").AceInlineScreenReader,_=function(){function u(){this.editor=null}return u.prototype.show=function(d,s,r){if(r=r||"",d&&this.editor&&this.editor!==d&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!d||!s)return!1;this.inlineScreenReader||(this.inlineScreenReader=new y(d));var n=s.snippet?x.getDisplayTextForSnippet(d,s.snippet):s.value;return s.hideInlinePreview||!n||!n.startsWith(r)?!1:(this.editor=d,this.inlineScreenReader.setScreenReaderContent(n),n=n.slice(r.length),n===""?d.removeGhostText():d.setGhostText(n),!0)},u.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},u.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},u.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},u}();h.AceInline=_}),ace.define("ace/autocomplete/util",["require","exports","module"],function(o,h,R){h.parForEach=function(y,_,u){var d=0,s=y.length;s===0&&u();for(var r=0;r<s;r++)_(y[r],function(n,i){d++,d===s&&u(n,i)})};var x=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;h.retrievePrecedingIdentifier=function(y,_,u){u=u||x;for(var d=[],s=_-1;s>=0&&u.test(y[s]);s--)d.push(y[s]);return d.reverse().join("")},h.retrieveFollowingIdentifier=function(y,_,u){u=u||x;for(var d=[],s=_;s<y.length&&u.test(y[s]);s++)d.push(y[s]);return d},h.getCompletionPrefix=function(y){var _=y.getCursorPosition(),u=y.session.getLine(_.row),d;return y.completers.forEach((function(s){s.identifierRegexps&&s.identifierRegexps.forEach((function(r){!d&&r&&(d=this.retrievePrecedingIdentifier(u,_.column,r))}).bind(this))}).bind(this)),d||this.retrievePrecedingIdentifier(u,_.column)},h.triggerAutocomplete=function(y,u){var u=u??y.session.getPrecedingCharacter();return y.completers.some(function(d){if(d.triggerCharacters&&Array.isArray(d.triggerCharacters))return d.triggerCharacters.includes(u)})}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],function(o,h,R){var x=o("./keyboard/hash_handler").HashHandler,y=o("./autocomplete/popup").AcePopup,_=o("./autocomplete/inline").AceInline,u=o("./autocomplete/popup").getAriaId,d=o("./autocomplete/util"),s=o("./lib/lang"),r=o("./lib/dom"),n=o("./snippets").snippetManager,i=o("./config"),t=o("./lib/event"),a=o("./lib/scroll").preventParentScroll,c=function(C,b){b.completer&&b.completer.destroy()},p=function(){function C(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new x,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=s.delayedCall((function(){this.updateCompletions(!0)}).bind(this)),this.tooltipTimer=s.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=s.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=s.delayedCall((function(){this.stickySelection=!0}).bind(this),this.stickySelectionDelay),this.$firstOpenTimer=s.delayedCall((function(){var b=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!b||this.editor.completers.length===0||(this.completions=new I(C.completionsForLoading),this.openPopup(this.editor,b.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}).bind(this),this.stickySelectionDelay)}return Object.defineProperty(C,"completionsForLoading",{get:function(){return[{caption:i.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),C.prototype.$init=function(){return this.popup=new y(this.parentNode||document.body||document.documentElement),this.popup.on("click",(function(b){this.insertMatch(),b.stop()}).bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),t.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},C.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new _,this.inlineRenderer},C.prototype.getPopup=function(){return this.popup||this.$init()},C.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},C.prototype.$seen=function(b){!this.hasSeen.has(b)&&b&&b.completer&&b.completer.onSeen&&typeof b.completer.onSeen=="function"&&(b.completer.onSeen(this.editor,b),this.hasSeen.add(b))},C.prototype.$onPopupChange=function(b){if(this.inlineRenderer&&this.inlineEnabled){var m=b?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(m),this.popup.isMouseOver&&this.setSelectOnHover){this.tooltipTimer.call(null,null);return}this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},C.prototype.$updateGhostText=function(b){var m=this.base.row,$=this.base.column,L=this.editor.getCursorPosition().column,O=this.editor.session.getLine(m).slice($,L);this.inlineRenderer.show(this.editor,b,O)?this.$seen(b):this.inlineRenderer.hide()},C.prototype.$onPopupRender=function(){var b=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var m=this.popup.getFirstVisibleRow();m<=this.popup.getLastVisibleRow();m++){var $=this.popup.getData(m);$&&(!b||$.hideInlinePreview)&&this.$seen($)}},C.prototype.$onPopupShow=function(b){this.$onPopupChange(b),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},C.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var b=this.editor.container.parentNode,m=[];b;)m.push(b),b.addEventListener("scroll",this.onLayoutChange,{passive:!0}),b=b.parentNode;this.$elements=m}},C.prototype.unObserveLayoutChanges=function(){var b=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(m){m.removeEventListener("scroll",b.onLayoutChange,{passive:!0})}),this.$elements=null},C.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},C.prototype.$updatePopupPosition=function(){var b=this.editor,m=b.renderer,$=m.layerConfig.lineHeight,L=m.$cursorLayer.getPixelPosition(this.base,!0);L.left-=this.popup.getTextLeftOffset();var O=b.container.getBoundingClientRect();L.top+=O.top-m.layerConfig.offset,L.left+=O.left-b.renderer.scrollLeft,L.left+=m.gutterWidth;var A={top:L.top,left:L.left};m.$ghostText&&m.$ghostTextWidget&&this.base.row===m.$ghostText.position.row&&(A.top+=m.$ghostTextWidget.el.offsetHeight);var E=b.container.getBoundingClientRect().bottom-$,k=E<A.top?{top:E,left:A.left}:A;this.popup.tryShow(k,$,"bottom")||this.popup.tryShow(L,$,"top")||this.popup.show(L,$)},C.prototype.openPopup=function(b,m,$){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var L=this.popup.getRow(),O=this.popup.data[L];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:u(this.popup.getRow()),inline:this.inlineEnabled}),b.keyBinding.addKeyboardHandler(this.keyboardHandler);var A;this.stickySelection&&(A=this.popup.data.indexOf(O)),(!A||A===-1)&&(A=0),this.popup.setRow(this.autoSelect?A:-1),A===L&&O!==this.completions.filtered[A]&&this.$onPopupChange();var E=this.inlineRenderer&&this.inlineEnabled;if(A===L&&E){var k=this.popup.getData(this.popup.getRow());this.$updateGhostText(k)}$||(this.popup.setTheme(b.getTheme()),this.popup.setFontSize(b.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},C.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},C.prototype.changeListener=function(b){var m=this.editor.selection.lead;(m.row!=this.base.row||m.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},C.prototype.blurListener=function(b){var m=document.activeElement,$=this.editor.textInput.getElement(),L=b.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(b.relatedTarget),O=this.popup&&this.popup.container;m!=$&&m.parentNode!=O&&!L&&m!=this.tooltipNode&&b.relatedTarget!=$&&this.detach()},C.prototype.mousedownListener=function(b){this.detach()},C.prototype.mousewheelListener=function(b){this.popup&&!this.popup.isMouseOver&&this.detach()},C.prototype.mouseOutListener=function(b){this.popup.isOpen&&this.$updatePopupPosition()},C.prototype.goTo=function(b){this.popup.goTo(b)},C.prototype.insertMatch=function(b,m){if(b||(b=this.popup.getData(this.popup.getRow())),!b)return!1;if(b.value==="")return this.detach();var $=this.completions,L=this.getCompletionProvider().insertMatch(this.editor,b,$.filterText,m);return this.completions==$&&this.detach(),L},C.prototype.showPopup=function(b,m){this.editor&&this.detach(),this.activated=!0,this.editor=b,b.completer!=this&&(b.completer&&b.completer.detach(),b.completer=this),b.on("changeSelection",this.changeListener),b.on("blur",this.blurListener),b.on("mousedown",this.mousedownListener),b.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,m)},C.prototype.getCompletionProvider=function(b){return this.completionProvider||(this.completionProvider=new v(b)),this.completionProvider},C.prototype.gatherCompletions=function(b,m){return this.getCompletionProvider().gatherCompletions(b,m)},C.prototype.updateCompletions=function(b,m){if(b&&this.base&&this.completions){var L=this.editor.getCursorPosition(),O=this.editor.session.getTextRange({start:this.base,end:L});if(O==this.completions.filterText)return;if(this.completions.setFilter(O),!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==O&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,O,b);return}if(m&&m.matches){var L=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(L.row,L.column),this.base.$insertRight=!0,this.completions=new I(m.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",b)}var $=this.editor.getSession(),L=this.editor.getCursorPosition(),O=d.getCompletionPrefix(this.editor);this.base=$.doc.createAnchor(L.row,L.column-O.length),this.base.$insertRight=!0;var A={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:O,pos:L}).provideCompletions(this.editor,A,(function(E,k,T){var w=k.filtered,M=d.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),T){if(!w.length){var D=!this.autoShown&&this.emptyMessage;if(typeof D=="function"&&(D=this.emptyMessage(M)),D){var F=[{caption:D,value:""}];this.completions=new I(F),this.openPopup(this.editor,M,b),this.popup.renderer.setStyle("ace_loading",!1),this.popup.renderer.setStyle("ace_empty-message",!0);return}return this.detach()}if(w.length==1&&w[0].value==M&&!w[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&w.length==1)return this.insertMatch(w[0])}this.completions=!T&&this.showLoadingState?new I(C.completionsForLoading.concat(w),k.filterText):k,this.openPopup(this.editor,M,b),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!T)}).bind(this)),this.showLoadingState&&!this.autoShown&&(!this.popup||!this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},C.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},C.prototype.updateDocTooltip=function(){var b=this.popup,m=this.completions.filtered,$=m&&(m[b.getHoveredRow()]||m[b.getRow()]),L=null;if(!$||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var O=this.editor.completers.length,A=0;A<O;A++){var E=this.editor.completers[A];if(E.getDocTooltip&&$.completerId===E.id){L=E.getDocTooltip($);break}}if(!L&&typeof $!="string"&&(L=$),typeof L=="string"&&(L={docText:L}),!L||!L.docHTML&&!L.docText)return this.hideDocTooltip();this.showDocTooltip(L)},C.prototype.showDocTooltip=function(b){this.tooltipNode||(this.tooltipNode=r.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",a));var m=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(m.isDark?"ace_dark ":"")+(m.cssClass||"");var $=this.tooltipNode;b.docHTML?$.innerHTML=b.docHTML:b.docText&&($.textContent=b.docText),$.parentNode||this.popup.container.appendChild(this.tooltipNode);var L=this.popup,O=L.container.getBoundingClientRect();$.style.top=L.container.style.top,$.style.bottom=L.container.style.bottom,$.style.display="block",window.innerWidth-O.right<320?O.left<320?L.isTopdown?($.style.top=O.bottom+"px",$.style.left=O.left+"px",$.style.right="",$.style.bottom=""):($.style.top=L.container.offsetTop-$.offsetHeight+"px",$.style.left=O.left+"px",$.style.right="",$.style.bottom=""):($.style.right=window.innerWidth-O.left+"px",$.style.left=""):($.style.left=O.right+1+"px",$.style.right="")},C.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),!!this.tooltipNode){var b=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==b&&this.editor.focus(),this.tooltipNode=null,b.parentNode&&b.parentNode.removeChild(b)}},C.prototype.onTooltipClick=function(b){for(var m=b.target;m&&m!=this.tooltipNode;){if(m.nodeName=="A"&&m.href){m.rel="noreferrer",m.target="_blank";break}m=m.parentNode}},C.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var b=this.popup.container;b&&b.parentNode&&b.parentNode.removeChild(b)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",c),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},C}();p.prototype.commands={Up:function(C){C.completer.goTo("up")},Down:function(C){C.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(C){C.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(C){C.completer.goTo("end")},Esc:function(C){C.completer.detach()},Return:function(C){return C.completer.insertMatch()},"Shift-Return":function(C){C.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(C){var b=C.completer.insertMatch();if(b||C.tabstopManager)return b;C.completer.goTo("down")},Backspace:function(C){C.execCommand("backspace");var b=d.getCompletionPrefix(C);!b&&C.completer&&C.completer.detach()},PageUp:function(C){C.completer.popup.gotoPageUp()},PageDown:function(C){C.completer.popup.gotoPageDown()}},p.for=function(C){return C.completer instanceof p||(C.completer&&(C.completer.destroy(),C.completer=null),i.get("sharedPopups")?(p.$sharedInstance||(p.$sharedInstance=new p),C.completer=p.$sharedInstance):(C.completer=new p,C.once("destroy",c))),C.completer},p.startCommand={name:"startAutocomplete",exec:function(C,b){var m=p.for(C);m.autoInsert=!1,m.autoSelect=!0,m.autoShown=!1,m.showPopup(C,b),m.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var v=function(){function C(b){this.initialPosition=b,this.active=!0}return C.prototype.insertByIndex=function(b,m,$){return!this.completions||!this.completions.filtered?!1:this.insertMatch(b,this.completions.filtered[m],$)},C.prototype.insertMatch=function(b,m,$){if(!m)return!1;if(b.startOperation({command:{name:"insertMatch"}}),m.completer&&m.completer.insertMatch)m.completer.insertMatch(b,m);else{if(!this.completions)return!1;var L=this.completions.filterText.length,O=0;if(m.range&&m.range.start.row===m.range.end.row&&(L-=this.initialPosition.prefix.length,L+=this.initialPosition.pos.column-m.range.start.column,O+=m.range.end.column-this.initialPosition.pos.column),L||O){var A;b.selection.getAllRanges?A=b.selection.getAllRanges():A=[b.getSelectionRange()];for(var E=0,k;k=A[E];E++)k.start.column-=L,k.end.column+=O,b.session.remove(k)}m.snippet?n.insertSnippet(b,m.snippet):this.$insertString(b,m),m.completer&&m.completer.onInsert&&typeof m.completer.onInsert=="function"&&m.completer.onInsert(b,m),m.command&&m.command==="startAutocomplete"&&b.execCommand(m.command)}return b.endOperation(),!0},C.prototype.$insertString=function(b,m){var $=m.value||m;b.execCommand("insertstring",$)},C.prototype.gatherCompletions=function(b,m){var $=b.getSession(),L=b.getCursorPosition(),O=d.getCompletionPrefix(b),A=[];this.completers=b.completers;var E=b.completers.length;return b.completers.forEach(function(k,T){k.getCompletions(b,$,L,O,function(w,M){k.hideInlinePreview&&(M=M.map(function(D){return Object.assign(D,{hideInlinePreview:k.hideInlinePreview})})),!w&&M&&(A=A.concat(M)),m(null,{prefix:d.getCompletionPrefix(b),matches:A,finished:--E===0})})}),!0},C.prototype.provideCompletions=function(b,m,$){var L=(function(k){var T=k.prefix,w=k.matches;this.completions=new I(w),m.exactMatch&&(this.completions.exactMatch=!0),m.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(T),(k.finished||this.completions.filtered.length)&&$(null,this.completions,k.finished)}).bind(this),O=!0,A=null;if(this.gatherCompletions(b,(function(k,T){if(this.active){k&&($(k,[],!0),this.detach());var w=T.prefix;if(w.indexOf(T.prefix)===0){if(O){A=T;return}L(T)}}}).bind(this)),O=!1,A){var E=A;A=null,L(E)}},C.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(b){typeof b.cancel=="function"&&b.cancel()})},C}(),I=function(){function C(b,m){this.all=b,this.filtered=b,this.filterText=m||"",this.exactMatch=!1,this.ignoreCaption=!1}return C.prototype.setFilter=function(b){if(b.length>this.filterText&&b.lastIndexOf(this.filterText,0)===0)var m=this.filtered;else var m=this.all;this.filterText=b,m=this.filterCompletions(m,this.filterText),m=m.sort(function(L,O){return O.exactMatch-L.exactMatch||O.$score-L.$score||(L.caption||L.value).localeCompare(O.caption||O.value)});var $=null;m=m.filter(function(L){var O=L.snippet||L.caption||L.value;return O===$?!1:($=O,!0)}),this.filtered=m},C.prototype.filterCompletions=function(b,m){var $=[],L=m.toUpperCase(),O=m.toLowerCase();e:for(var A=0,E;E=b[A];A++){var k=!this.ignoreCaption&&E.caption||E.value||E.snippet;if(k){var T=-1,w=0,M=0,D,F;if(this.exactMatch){if(m!==k.substr(0,m.length))continue e}else{var B=k.toLowerCase().indexOf(O);if(B>-1)M=B;else for(var H=0;H<m.length;H++){var j=k.indexOf(O[H],T+1),Y=k.indexOf(L[H],T+1);if(D=j>=0&&(Y<0||j<Y)?j:Y,D<0)continue e;F=D-T-1,F>0&&(T===-1&&(M+=10),M+=F,w|=1<<H),T=D}}E.matchMask=w,E.exactMatch=M?0:1,E.$score=(E.score||0)-M,$.push(E)}}return $},C}();h.Autocomplete=p,h.CompletionProvider=v,h.FilteredList=I}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(o,h,R){function x(d,s){var r=d.getTextRange(_.fromPoints({row:0,column:0},s));return r.split(u).length-1}function y(d,s){var r=x(d,s),n=d.getValue().split(u),i=Object.create(null),t=n[r];return n.forEach(function(a,c){if(!(!a||a===t)){var p=Math.abs(r-c),v=n.length-p;i[a]?i[a]=Math.max(v,i[a]):i[a]=v}}),i}var _=o("../range").Range,u=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;h.getCompletions=function(d,s,r,n,i){var t=y(s,r),a=Object.keys(t);i(null,a.map(function(c){return{caption:c,value:c,score:t[c],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"],function(o,h,R){var x=o("../snippets").snippetManager,y=o("../autocomplete").Autocomplete,_=o("../config"),u=o("../lib/lang"),d=o("../autocomplete/util"),s=o("../autocomplete/text_completer"),r={getCompletions:function(L,O,A,E,k){if(O.$mode.completer)return O.$mode.completer.getCompletions(L,O,A,E,k);var T=L.session.getState(A.row),w=O.$mode.getCompletions(T,O,A,E);w=w.map(function(M){return M.completerId=r.id,M}),k(null,w)},id:"keywordCompleter"},n=function(L){var O={};return L.replace(/\${(\d+)(:(.*?))?}/g,function(A,E,k,T){return O[E]=T||""}).replace(/\$(\d+?)/g,function(A,E){return O[E]})},i={getCompletions:function(L,O,A,E,k){var T=[],w=O.getTokenAt(A.row,A.column);w&&w.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?T.push("html-tag"):T=x.getActiveScopes(L);var M=x.snippetMap,D=[];T.forEach(function(F){for(var B=M[F]||[],H=B.length;H--;){var j=B[H],Y=j.name||j.tabTrigger;Y&&D.push({caption:Y,snippet:j.content,meta:j.tabTrigger&&!j.name?j.tabTrigger+"⇥ ":"snippet",completerId:i.id})}},this),k(null,D)},getDocTooltip:function(L){L.snippet&&!L.docHTML&&(L.docHTML=["<b>",u.escapeHTML(L.caption),"</b>","<hr></hr>",u.escapeHTML(n(L.snippet))].join(""))},id:"snippetCompleter"},t=[i,s,r];h.setCompleters=function(L){t.length=0,L&&t.push.apply(t,L)},h.addCompleter=function(L){t.push(L)},h.textCompleter=s,h.keyWordCompleter=r,h.snippetCompleter=i;var a={name:"expandSnippet",exec:function(L){return x.expandWithTab(L)},bindKey:"Tab"},c=function(L,O){p(O.session.$mode)},p=function(L){typeof L=="string"&&(L=_.$modes[L]),L&&(x.files||(x.files={}),v(L.$id,L.snippetFileId),L.modes&&L.modes.forEach(p))},v=function(L,O){!O||!L||x.files[L]||(x.files[L]={},_.loadModule(O,function(A){A&&(x.files[L]=A,!A.snippets&&A.snippetText&&(A.snippets=x.parseSnippetFile(A.snippetText)),x.register(A.snippets||[],A.scope),A.includeScopes&&(x.snippetMap[A.scope].includeScopes=A.includeScopes,A.includeScopes.forEach(function(E){p("ace/mode/"+E)})))}))},I=function(L){var O=L.editor,A=O.completer&&O.completer.activated;if(L.command.name==="backspace")A&&!d.getCompletionPrefix(O)&&O.completer.detach();else if(L.command.name==="insertstring"&&!A){C=L;var E=L.editor.$liveAutocompletionDelay;E?b.delay(E):m(L)}},C,b=u.delayedCall(function(){m(C)},0),m=function(L){var O=L.editor,A=d.getCompletionPrefix(O),E=L.args,k=d.triggerAutocomplete(O,E);if(A&&A.length>=O.$liveAutocompletionThreshold||k){var T=y.for(O);T.autoShown=!0,T.showPopup(O)}},$=o("../editor").Editor;o("../config").defineOptions($.prototype,"editor",{enableBasicAutocompletion:{set:function(L){L?(this.completers||(this.completers=Array.isArray(L)?L:t),this.commands.addCommand(y.startCommand)):this.commands.removeCommand(y.startCommand)},value:!1},enableLiveAutocompletion:{set:function(L){L?(this.completers||(this.completers=Array.isArray(L)?L:t),this.commands.on("afterExec",I)):this.commands.off("afterExec",I)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(L){L?(this.commands.addCommand(a),this.on("changeMode",c),c(null,this)):(this.commands.removeCommand(a),this.off("changeMode",c))},value:!1}})}),function(){ace.require(["ace/ext/language_tools"],function(o){f&&(f.exports=o)})}()})(eb);var tb={exports:{}};(function(f,g){ace.define("ace/ext/searchbox-css",["require","exports","module"],function(o,h,R){R.exports=`
1215
+
1216
+ /* ------------------------------------------------------------------------------------------
1217
+ * Editor Search Form
1218
+ * --------------------------------------------------------------------------------------- */
1219
+ .ace_search {
1220
+ background-color: #ddd;
1221
+ color: #666;
1222
+ border: 1px solid #cbcbcb;
1223
+ border-top: 0 none;
1224
+ overflow: hidden;
1225
+ margin: 0;
1226
+ padding: 4px 6px 0 4px;
1227
+ position: absolute;
1228
+ top: 0;
1229
+ z-index: 99;
1230
+ white-space: normal;
1231
+ }
1232
+ .ace_search.left {
1233
+ border-left: 0 none;
1234
+ border-radius: 0px 0px 5px 0px;
1235
+ left: 0;
1236
+ }
1237
+ .ace_search.right {
1238
+ border-radius: 0px 0px 0px 5px;
1239
+ border-right: 0 none;
1240
+ right: 0;
1241
+ }
1242
+
1243
+ .ace_search_form, .ace_replace_form {
1244
+ margin: 0 20px 4px 0;
1245
+ overflow: hidden;
1246
+ line-height: 1.9;
1247
+ }
1248
+ .ace_replace_form {
1249
+ margin-right: 0;
1250
+ }
1251
+ .ace_search_form.ace_nomatch {
1252
+ outline: 1px solid red;
1253
+ }
1254
+
1255
+ .ace_search_field {
1256
+ border-radius: 3px 0 0 3px;
1257
+ background-color: white;
1258
+ color: black;
1259
+ border: 1px solid #cbcbcb;
1260
+ border-right: 0 none;
1261
+ outline: 0;
1262
+ padding: 0;
1263
+ font-size: inherit;
1264
+ margin: 0;
1265
+ line-height: inherit;
1266
+ padding: 0 6px;
1267
+ min-width: 17em;
1268
+ vertical-align: top;
1269
+ min-height: 1.8em;
1270
+ box-sizing: content-box;
1271
+ }
1272
+ .ace_searchbtn {
1273
+ border: 1px solid #cbcbcb;
1274
+ line-height: inherit;
1275
+ display: inline-block;
1276
+ padding: 0 6px;
1277
+ background: #fff;
1278
+ border-right: 0 none;
1279
+ border-left: 1px solid #dcdcdc;
1280
+ cursor: pointer;
1281
+ margin: 0;
1282
+ position: relative;
1283
+ color: #666;
1284
+ }
1285
+ .ace_searchbtn:last-child {
1286
+ border-radius: 0 3px 3px 0;
1287
+ border-right: 1px solid #cbcbcb;
1288
+ }
1289
+ .ace_searchbtn:disabled {
1290
+ background: none;
1291
+ cursor: default;
1292
+ }
1293
+ .ace_searchbtn:hover {
1294
+ background-color: #eef1f6;
1295
+ }
1296
+ .ace_searchbtn.prev, .ace_searchbtn.next {
1297
+ padding: 0px 0.7em
1298
+ }
1299
+ .ace_searchbtn.prev:after, .ace_searchbtn.next:after {
1300
+ content: "";
1301
+ border: solid 2px #888;
1302
+ width: 0.5em;
1303
+ height: 0.5em;
1304
+ border-width: 2px 0 0 2px;
1305
+ display:inline-block;
1306
+ transform: rotate(-45deg);
1307
+ }
1308
+ .ace_searchbtn.next:after {
1309
+ border-width: 0 2px 2px 0 ;
1310
+ }
1311
+ .ace_searchbtn_close {
1312
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;
1313
+ border-radius: 50%;
1314
+ border: 0 none;
1315
+ color: #656565;
1316
+ cursor: pointer;
1317
+ font: 16px/16px Arial;
1318
+ padding: 0;
1319
+ height: 14px;
1320
+ width: 14px;
1321
+ top: 9px;
1322
+ right: 7px;
1323
+ position: absolute;
1324
+ }
1325
+ .ace_searchbtn_close:hover {
1326
+ background-color: #656565;
1327
+ background-position: 50% 100%;
1328
+ color: white;
1329
+ }
1330
+
1331
+ .ace_button {
1332
+ margin-left: 2px;
1333
+ cursor: pointer;
1334
+ -webkit-user-select: none;
1335
+ -moz-user-select: none;
1336
+ -o-user-select: none;
1337
+ -ms-user-select: none;
1338
+ user-select: none;
1339
+ overflow: hidden;
1340
+ opacity: 0.7;
1341
+ border: 1px solid rgba(100,100,100,0.23);
1342
+ padding: 1px;
1343
+ box-sizing: border-box!important;
1344
+ color: black;
1345
+ }
1346
+
1347
+ .ace_button:hover {
1348
+ background-color: #eee;
1349
+ opacity:1;
1350
+ }
1351
+ .ace_button:active {
1352
+ background-color: #ddd;
1353
+ }
1354
+
1355
+ .ace_button.checked {
1356
+ border-color: #3399ff;
1357
+ opacity:1;
1358
+ }
1359
+
1360
+ .ace_search_options{
1361
+ margin-bottom: 3px;
1362
+ text-align: right;
1363
+ -webkit-user-select: none;
1364
+ -moz-user-select: none;
1365
+ -o-user-select: none;
1366
+ -ms-user-select: none;
1367
+ user-select: none;
1368
+ clear: both;
1369
+ }
1370
+
1371
+ .ace_search_counter {
1372
+ float: left;
1373
+ font-family: arial;
1374
+ padding: 0 8px;
1375
+ }`}),ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],function(o,h,R){var x=o("../lib/dom"),y=o("../lib/lang"),_=o("../lib/event"),u=o("./searchbox-css"),d=o("../keyboard/hash_handler").HashHandler,s=o("../lib/keys"),r=o("../config").nls,n=999;x.importCssString(u,"ace_searchbox",!1);var i=function(){function c(p,v,I){this.activeInput;var C=x.createElement("div");x.buildDom(["div",{class:"ace_search right"},["span",{action:"hide",class:"ace_searchbtn_close"}],["div",{class:"ace_search_form"},["input",{class:"ace_search_field",placeholder:r("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev",class:"ace_searchbtn prev"},"​"],["span",{action:"findNext",class:"ace_searchbtn next"},"​"],["span",{action:"findAll",class:"ace_searchbtn",title:"Alt-Enter"},r("search-box.find-all.text","All")]],["div",{class:"ace_replace_form"},["input",{class:"ace_search_field",placeholder:r("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext",class:"ace_searchbtn"},r("search-box.replace-next.text","Replace")],["span",{action:"replaceAll",class:"ace_searchbtn"},r("search-box.replace-all.text","All")]],["div",{class:"ace_search_options"},["span",{action:"toggleReplace",class:"ace_button",title:r("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{class:"ace_search_counter"}],["span",{action:"toggleRegexpMode",class:"ace_button",title:r("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive",class:"ace_button",title:r("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords",class:"ace_button",title:r("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection",class:"ace_button",title:r("search-box.toggle-in-selection.title","Search In Selection")},"S"]]],C),this.element=C.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(p),x.importCssString(u,"ace_searchbox",p.container)}return c.prototype.setEditor=function(p){p.searchBox=this,p.renderer.scroller.appendChild(this.element),this.editor=p},c.prototype.setSession=function(p){this.searchRange=null,this.$syncOptions(!0)},c.prototype.$initElements=function(p){this.searchBox=p.querySelector(".ace_search_form"),this.replaceBox=p.querySelector(".ace_replace_form"),this.searchOption=p.querySelector("[action=searchInSelection]"),this.replaceOption=p.querySelector("[action=toggleReplace]"),this.regExpOption=p.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=p.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=p.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=p.querySelector(".ace_search_counter")},c.prototype.$init=function(){var p=this.element;this.$initElements(p);var v=this;_.addListener(p,"mousedown",function(I){setTimeout(function(){v.activeInput.focus()},0),_.stopPropagation(I)}),_.addListener(p,"click",function(I){var C=I.target||I.srcElement,b=C.getAttribute("action");b&&v[b]?v[b]():v.$searchBarKb.commands[b]&&v.$searchBarKb.commands[b].exec(v),_.stopPropagation(I)}),_.addCommandKeyListener(p,function(I,C,b){var m=s.keyCodeToString(b),$=v.$searchBarKb.findKeyCommand(C,m);$&&$.exec&&($.exec(v),_.stopEvent(I))}),this.$onChange=y.delayedCall(function(){v.find(!1,!1)}),_.addListener(this.searchInput,"input",function(){v.$onChange.schedule(20)}),_.addListener(this.searchInput,"focus",function(){v.activeInput=v.searchInput,v.searchInput.value&&v.highlight()}),_.addListener(this.replaceInput,"focus",function(){v.activeInput=v.replaceInput,v.searchInput.value&&v.highlight()})},c.prototype.setSearchRange=function(p){this.searchRange=p,p?this.searchRangeMarker=this.editor.session.addMarker(p,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},c.prototype.$syncOptions=function(p){x.setCssClass(this.replaceOption,"checked",this.searchRange),x.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",x.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),x.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),x.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var v=this.editor.getReadOnly();this.replaceOption.style.display=v?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!v?"":"none",this.find(!1,!1,p)},c.prototype.highlight=function(p){this.editor.session.highlight(p||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},c.prototype.find=function(p,v,I){var C=this.editor.find(this.searchInput.value,{skipCurrent:p,backwards:v,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:I,range:this.searchRange}),b=!C&&this.searchInput.value;x.setCssClass(this.searchBox,"ace_nomatch",b),this.editor._emit("findSearchBox",{match:!b}),this.highlight(),this.updateCounter()},c.prototype.updateCounter=function(){var p=this.editor,v=p.$search.$options.re,I=v.unicode,C=0,b=0;if(v){var m=this.searchRange?p.session.getTextRange(this.searchRange):p.getValue(),$=p.session.doc.positionToIndex(p.selection.anchor);this.searchRange&&($-=p.session.doc.positionToIndex(this.searchRange.start));for(var L=v.lastIndex=0,O;(O=v.exec(m))&&(C++,L=O.index,L<=$&&b++,!(C>n||!O[0]&&(v.lastIndex=L+=y.skipEmptyMatch(m,L,I),L>=m.length))););}this.searchCounter.textContent=r("search-box.search-counter","$0 of $1",[b,C>n?n+"+":C])},c.prototype.findNext=function(){this.find(!0,!1)},c.prototype.findPrev=function(){this.find(!0,!0)},c.prototype.findAll=function(){var p=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),v=!p&&this.searchInput.value;x.setCssClass(this.searchBox,"ace_nomatch",v),this.editor._emit("findSearchBox",{match:!v}),this.highlight(),this.hide()},c.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},c.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},c.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},c.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},c.prototype.show=function(p,v){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=v,p&&(this.searchInput.value=p),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},c.prototype.isFocused=function(){var p=document.activeElement;return p==this.searchInput||p==this.replaceInput},c}(),t=new d;t.bindKeys({"Ctrl-f|Command-f":function(c){var p=c.isReplace=!c.isReplace;c.replaceBox.style.display=p?"":"none",c.replaceOption.checked=!1,c.$syncOptions(),c.searchInput.focus()},"Ctrl-H|Command-Option-F":function(c){c.editor.getReadOnly()||(c.replaceOption.checked=!0,c.$syncOptions(),c.replaceInput.focus())},"Ctrl-G|Command-G":function(c){c.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(c){c.findPrev()},esc:function(c){setTimeout(function(){c.hide()})},Return:function(c){c.activeInput==c.replaceInput&&c.replace(),c.findNext()},"Shift-Return":function(c){c.activeInput==c.replaceInput&&c.replace(),c.findPrev()},"Alt-Return":function(c){c.activeInput==c.replaceInput&&c.replaceAll(),c.findAll()},Tab:function(c){(c.activeInput==c.replaceInput?c.searchInput:c.replaceInput).focus()}}),t.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(c){c.regExpOption.checked=!c.regExpOption.checked,c.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(c){c.caseSensitiveOption.checked=!c.caseSensitiveOption.checked,c.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(c){c.wholeWordOption.checked=!c.wholeWordOption.checked,c.$syncOptions()}},{name:"toggleReplace",exec:function(c){c.replaceOption.checked=!c.replaceOption.checked,c.$syncOptions()}},{name:"searchInSelection",exec:function(c){c.searchOption.checked=!c.searchRange,c.setSearchRange(c.searchOption.checked&&c.editor.getSelectionRange()),c.$syncOptions()}}]);var a=new d([{bindKey:"Esc",name:"closeSearchBar",exec:function(c){c.searchBox.hide()}}]);i.prototype.$searchBarKb=t,i.prototype.$closeSearchBarKb=a,h.SearchBox=i,h.Search=function(c,p){var v=c.searchBox||new i(c);v.show(c.session.getTextRange(),p)}}),function(){ace.require(["ace/ext/searchbox"],function(o){f&&(f.exports=o)})}()})(tb);var nb=Object.defineProperty,ib=(f,g,o)=>g in f?nb(f,g,{enumerable:!0,configurable:!0,writable:!0,value:o}):f[g]=o,Tr=(f,g,o)=>ib(f,typeof g!="symbol"?g+"":g,o);function lf(f,g){return function(){return f.apply(g,arguments)}}const{toString:rb}=Object.prototype,{getPrototypeOf:Nc}=Object,Ba=(f=>g=>{const o=rb.call(g);return f[o]||(f[o]=o.slice(8,-1).toLowerCase())})(Object.create(null)),ui=f=>(f=f.toLowerCase(),g=>Ba(g)===f),za=f=>g=>typeof g===f,{isArray:mo}=Array,vs=za("undefined");function ob(f){return f!==null&&!vs(f)&&f.constructor!==null&&!vs(f.constructor)&&Hn(f.constructor.isBuffer)&&f.constructor.isBuffer(f)}const cf=ui("ArrayBuffer");function sb(f){let g;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?g=ArrayBuffer.isView(f):g=f&&f.buffer&&cf(f.buffer),g}const ab=za("string"),Hn=za("function"),uf=za("number"),Ha=f=>f!==null&&typeof f=="object",lb=f=>f===!0||f===!1,Ma=f=>{if(Ba(f)!=="object")return!1;const g=Nc(f);return(g===null||g===Object.prototype||Object.getPrototypeOf(g)===null)&&!(Symbol.toStringTag in f)&&!(Symbol.iterator in f)},cb=ui("Date"),ub=ui("File"),hb=ui("Blob"),db=ui("FileList"),fb=f=>Ha(f)&&Hn(f.pipe),pb=f=>{let g;return f&&(typeof FormData=="function"&&f instanceof FormData||Hn(f.append)&&((g=Ba(f))==="formdata"||g==="object"&&Hn(f.toString)&&f.toString()==="[object FormData]"))},gb=ui("URLSearchParams"),[mb,vb,yb,wb]=["ReadableStream","Request","Response","Headers"].map(ui),bb=f=>f.trim?f.trim():f.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ws(f,g,{allOwnKeys:o=!1}={}){if(f===null||typeof f>"u")return;let h,R;if(typeof f!="object"&&(f=[f]),mo(f))for(h=0,R=f.length;h<R;h++)g.call(null,f[h],h,f);else{const x=o?Object.getOwnPropertyNames(f):Object.keys(f),y=x.length;let _;for(h=0;h<y;h++)_=x[h],g.call(null,f[_],_,f)}}function hf(f,g){g=g.toLowerCase();const o=Object.keys(f);let h=o.length,R;for(;h-- >0;)if(R=o[h],g===R.toLowerCase())return R;return null}const Rr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,df=f=>!vs(f)&&f!==Rr;function pc(){const{caseless:f}=df(this)&&this||{},g={},o=(h,R)=>{const x=f&&hf(g,R)||R;Ma(g[x])&&Ma(h)?g[x]=pc(g[x],h):Ma(h)?g[x]=pc({},h):mo(h)?g[x]=h.slice():g[x]=h};for(let h=0,R=arguments.length;h<R;h++)arguments[h]&&ws(arguments[h],o);return g}const xb=(f,g,o,{allOwnKeys:h}={})=>(ws(g,(R,x)=>{o&&Hn(R)?f[x]=lf(R,o):f[x]=R},{allOwnKeys:h}),f),_b=f=>(f.charCodeAt(0)===65279&&(f=f.slice(1)),f),Sb=(f,g,o,h)=>{f.prototype=Object.create(g.prototype,h),f.prototype.constructor=f,Object.defineProperty(f,"super",{value:g.prototype}),o&&Object.assign(f.prototype,o)},kb=(f,g,o,h)=>{let R,x,y;const _={};if(g=g||{},f==null)return g;do{for(R=Object.getOwnPropertyNames(f),x=R.length;x-- >0;)y=R[x],(!h||h(y,f,g))&&!_[y]&&(g[y]=f[y],_[y]=!0);f=o!==!1&&Nc(f)}while(f&&(!o||o(f,g))&&f!==Object.prototype);return g},Cb=(f,g,o)=>{f=String(f),(o===void 0||o>f.length)&&(o=f.length),o-=g.length;const h=f.indexOf(g,o);return h!==-1&&h===o},$b=f=>{if(!f)return null;if(mo(f))return f;let g=f.length;if(!uf(g))return null;const o=new Array(g);for(;g-- >0;)o[g]=f[g];return o},Ab=(f=>g=>f&&g instanceof f)(typeof Uint8Array<"u"&&Nc(Uint8Array)),Tb=(f,g)=>{const o=(f&&f[Symbol.iterator]).call(f);let h;for(;(h=o.next())&&!h.done;){const R=h.value;g.call(f,R[0],R[1])}},Mb=(f,g)=>{let o;const h=[];for(;(o=f.exec(g))!==null;)h.push(o);return h},Lb=ui("HTMLFormElement"),Eb=f=>f.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(g,o,h){return o.toUpperCase()+h}),Kh=(({hasOwnProperty:f})=>(g,o)=>f.call(g,o))(Object.prototype),Rb=ui("RegExp"),ff=(f,g)=>{const o=Object.getOwnPropertyDescriptors(f),h={};ws(o,(R,x)=>{let y;(y=g(R,x,f))!==!1&&(h[x]=y||R)}),Object.defineProperties(f,h)},Ib=f=>{ff(f,(g,o)=>{if(Hn(f)&&["arguments","caller","callee"].indexOf(o)!==-1)return!1;const h=f[o];if(Hn(h)){if(g.enumerable=!1,"writable"in g){g.writable=!1;return}g.set||(g.set=()=>{throw Error("Can not rewrite read-only method '"+o+"'")})}})},Ob=(f,g)=>{const o={},h=R=>{R.forEach(x=>{o[x]=!0})};return mo(f)?h(f):h(String(f).split(g)),o},Db=()=>{},Nb=(f,g)=>f!=null&&Number.isFinite(f=+f)?f:g,rc="abcdefghijklmnopqrstuvwxyz",Yh="0123456789",pf={DIGIT:Yh,ALPHA:rc,ALPHA_DIGIT:rc+rc.toUpperCase()+Yh},Fb=(f=16,g=pf.ALPHA_DIGIT)=>{let o="";const{length:h}=g;for(;f--;)o+=g[Math.random()*h|0];return o};function Pb(f){return!!(f&&Hn(f.append)&&f[Symbol.toStringTag]==="FormData"&&f[Symbol.iterator])}const Wb=f=>{const g=new Array(10),o=(h,R)=>{if(Ha(h)){if(g.indexOf(h)>=0)return;if(!("toJSON"in h)){g[R]=h;const x=mo(h)?[]:{};return ws(h,(y,_)=>{const u=o(y,R+1);!vs(u)&&(x[_]=u)}),g[R]=void 0,x}}return h};return o(f,0)},Bb=ui("AsyncFunction"),zb=f=>f&&(Ha(f)||Hn(f))&&Hn(f.then)&&Hn(f.catch),gf=((f,g)=>f?setImmediate:g?((o,h)=>(Rr.addEventListener("message",({source:R,data:x})=>{R===Rr&&x===o&&h.length&&h.shift()()},!1),R=>{h.push(R),Rr.postMessage(o,"*")}))(`axios@${Math.random()}`,[]):o=>setTimeout(o))(typeof setImmediate=="function",Hn(Rr.postMessage)),Hb=typeof queueMicrotask<"u"?queueMicrotask.bind(Rr):typeof process<"u"&&process.nextTick||gf,ce={isArray:mo,isArrayBuffer:cf,isBuffer:ob,isFormData:pb,isArrayBufferView:sb,isString:ab,isNumber:uf,isBoolean:lb,isObject:Ha,isPlainObject:Ma,isReadableStream:mb,isRequest:vb,isResponse:yb,isHeaders:wb,isUndefined:vs,isDate:cb,isFile:ub,isBlob:hb,isRegExp:Rb,isFunction:Hn,isStream:fb,isURLSearchParams:gb,isTypedArray:Ab,isFileList:db,forEach:ws,merge:pc,extend:xb,trim:bb,stripBOM:_b,inherits:Sb,toFlatObject:kb,kindOf:Ba,kindOfTest:ui,endsWith:Cb,toArray:$b,forEachEntry:Tb,matchAll:Mb,isHTMLForm:Lb,hasOwnProperty:Kh,hasOwnProp:Kh,reduceDescriptors:ff,freezeMethods:Ib,toObjectSet:Ob,toCamelCase:Eb,noop:Db,toFiniteNumber:Nb,findKey:hf,global:Rr,isContextDefined:df,ALPHABET:pf,generateString:Fb,isSpecCompliantForm:Pb,toJSONObject:Wb,isAsyncFn:Bb,isThenable:zb,setImmediate:gf,asap:Hb};function Qe(f,g,o,h,R){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=f,this.name="AxiosError",g&&(this.code=g),o&&(this.config=o),h&&(this.request=h),R&&(this.response=R,this.status=R.status?R.status:null)}ce.inherits(Qe,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ce.toJSONObject(this.config),code:this.code,status:this.status}}});const mf=Qe.prototype,vf={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(f=>{vf[f]={value:f}});Object.defineProperties(Qe,vf);Object.defineProperty(mf,"isAxiosError",{value:!0});Qe.from=(f,g,o,h,R,x)=>{const y=Object.create(mf);return ce.toFlatObject(f,y,function(_){return _!==Error.prototype},_=>_!=="isAxiosError"),Qe.call(y,f.message,g,o,h,R),y.cause=f,y.name=f.name,x&&Object.assign(y,x),y};const Ub=null;function gc(f){return ce.isPlainObject(f)||ce.isArray(f)}function yf(f){return ce.endsWith(f,"[]")?f.slice(0,-2):f}function qh(f,g,o){return f?f.concat(g).map(function(h,R){return h=yf(h),!o&&R?"["+h+"]":h}).join(o?".":""):g}function Vb(f){return ce.isArray(f)&&!f.some(gc)}const jb=ce.toFlatObject(ce,{},null,function(f){return/^is[A-Z]/.test(f)});function Ua(f,g,o){if(!ce.isObject(f))throw new TypeError("target must be an object");g=g||new FormData,o=ce.toFlatObject(o,{metaTokens:!0,dots:!1,indexes:!1},!1,function(i,t){return!ce.isUndefined(t[i])});const h=o.metaTokens,R=o.visitor||d,x=o.dots,y=o.indexes,_=(o.Blob||typeof Blob<"u"&&Blob)&&ce.isSpecCompliantForm(g);if(!ce.isFunction(R))throw new TypeError("visitor must be a function");function u(i){if(i===null)return"";if(ce.isDate(i))return i.toISOString();if(!_&&ce.isBlob(i))throw new Qe("Blob is not supported. Use a Buffer instead.");return ce.isArrayBuffer(i)||ce.isTypedArray(i)?_&&typeof Blob=="function"?new Blob([i]):Buffer.from(i):i}function d(i,t,a){let c=i;if(i&&!a&&typeof i=="object"){if(ce.endsWith(t,"{}"))t=h?t:t.slice(0,-2),i=JSON.stringify(i);else if(ce.isArray(i)&&Vb(i)||(ce.isFileList(i)||ce.endsWith(t,"[]"))&&(c=ce.toArray(i)))return t=yf(t),c.forEach(function(p,v){!(ce.isUndefined(p)||p===null)&&g.append(y===!0?qh([t],v,x):y===null?t:t+"[]",u(p))}),!1}return gc(i)?!0:(g.append(qh(a,t,x),u(i)),!1)}const s=[],r=Object.assign(jb,{defaultVisitor:d,convertValue:u,isVisitable:gc});function n(i,t){if(!ce.isUndefined(i)){if(s.indexOf(i)!==-1)throw Error("Circular reference detected in "+t.join("."));s.push(i),ce.forEach(i,function(a,c){(!(ce.isUndefined(a)||a===null)&&R.call(g,a,ce.isString(c)?c.trim():c,t,r))===!0&&n(a,t?t.concat(c):[c])}),s.pop()}}if(!ce.isObject(f))throw new TypeError("data must be an object");return n(f),g}function Zh(f){const g={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(f).replace(/[!'()~]|%20|%00/g,function(o){return g[o]})}function Fc(f,g){this._pairs=[],f&&Ua(f,this,g)}const wf=Fc.prototype;wf.append=function(f,g){this._pairs.push([f,g])};wf.toString=function(f){const g=f?function(o){return f.call(this,o,Zh)}:Zh;return this._pairs.map(function(o){return g(o[0])+"="+g(o[1])},"").join("&")};function Gb(f){return encodeURIComponent(f).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function bf(f,g,o){if(!g)return f;const h=o&&o.encode||Gb,R=o&&o.serialize;let x;if(R?x=R(g,o):x=ce.isURLSearchParams(g)?g.toString():new Fc(g,o).toString(h),x){const y=f.indexOf("#");y!==-1&&(f=f.slice(0,y)),f+=(f.indexOf("?")===-1?"?":"&")+x}return f}class Qh{constructor(){this.handlers=[]}use(g,o,h){return this.handlers.push({fulfilled:g,rejected:o,synchronous:h?h.synchronous:!1,runWhen:h?h.runWhen:null}),this.handlers.length-1}eject(g){this.handlers[g]&&(this.handlers[g]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(g){ce.forEach(this.handlers,function(o){o!==null&&g(o)})}}const xf={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Kb=typeof URLSearchParams<"u"?URLSearchParams:Fc,Yb=typeof FormData<"u"?FormData:null,qb=typeof Blob<"u"?Blob:null,Zb={isBrowser:!0,classes:{URLSearchParams:Kb,FormData:Yb,Blob:qb},protocols:["http","https","file","blob","url","data"]},Pc=typeof window<"u"&&typeof document<"u",mc=typeof navigator=="object"&&navigator||void 0,Qb=Pc&&(!mc||["ReactNative","NativeScript","NS"].indexOf(mc.product)<0),Xb=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Jb=Pc&&window.location.href||"http://localhost",ex=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Pc,hasStandardBrowserEnv:Qb,hasStandardBrowserWebWorkerEnv:Xb,navigator:mc,origin:Jb},Symbol.toStringTag,{value:"Module"})),On={...ex,...Zb};function tx(f,g){return Ua(f,new On.classes.URLSearchParams,Object.assign({visitor:function(o,h,R,x){return On.isNode&&ce.isBuffer(o)?(this.append(h,o.toString("base64")),!1):x.defaultVisitor.apply(this,arguments)}},g))}function nx(f){return ce.matchAll(/\w+|\[(\w*)]/g,f).map(g=>g[0]==="[]"?"":g[1]||g[0])}function ix(f){const g={},o=Object.keys(f);let h;const R=o.length;let x;for(h=0;h<R;h++)x=o[h],g[x]=f[x];return g}function _f(f){function g(o,h,R,x){let y=o[x++];if(y==="__proto__")return!0;const _=Number.isFinite(+y),u=x>=o.length;return y=!y&&ce.isArray(R)?R.length:y,u?(ce.hasOwnProp(R,y)?R[y]=[R[y],h]:R[y]=h,!_):((!R[y]||!ce.isObject(R[y]))&&(R[y]=[]),g(o,h,R[y],x)&&ce.isArray(R[y])&&(R[y]=ix(R[y])),!_)}if(ce.isFormData(f)&&ce.isFunction(f.entries)){const o={};return ce.forEachEntry(f,(h,R)=>{g(nx(h),R,o,0)}),o}return null}function rx(f,g,o){if(ce.isString(f))try{return(g||JSON.parse)(f),ce.trim(f)}catch(h){if(h.name!=="SyntaxError")throw h}return(0,JSON.stringify)(f)}const bs={transitional:xf,adapter:["xhr","http","fetch"],transformRequest:[function(f,g){const o=g.getContentType()||"",h=o.indexOf("application/json")>-1,R=ce.isObject(f);if(R&&ce.isHTMLForm(f)&&(f=new FormData(f)),ce.isFormData(f))return h?JSON.stringify(_f(f)):f;if(ce.isArrayBuffer(f)||ce.isBuffer(f)||ce.isStream(f)||ce.isFile(f)||ce.isBlob(f)||ce.isReadableStream(f))return f;if(ce.isArrayBufferView(f))return f.buffer;if(ce.isURLSearchParams(f))return g.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),f.toString();let x;if(R){if(o.indexOf("application/x-www-form-urlencoded")>-1)return tx(f,this.formSerializer).toString();if((x=ce.isFileList(f))||o.indexOf("multipart/form-data")>-1){const y=this.env&&this.env.FormData;return Ua(x?{"files[]":f}:f,y&&new y,this.formSerializer)}}return R||h?(g.setContentType("application/json",!1),rx(f)):f}],transformResponse:[function(f){const g=this.transitional||bs.transitional,o=g&&g.forcedJSONParsing,h=this.responseType==="json";if(ce.isResponse(f)||ce.isReadableStream(f))return f;if(f&&ce.isString(f)&&(o&&!this.responseType||h)){const R=!(g&&g.silentJSONParsing)&&h;try{return JSON.parse(f)}catch(x){if(R)throw x.name==="SyntaxError"?Qe.from(x,Qe.ERR_BAD_RESPONSE,this,null,this.response):x}}return f}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:On.classes.FormData,Blob:On.classes.Blob},validateStatus:function(f){return f>=200&&f<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ce.forEach(["delete","get","head","post","put","patch"],f=>{bs.headers[f]={}});const ox=ce.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),sx=f=>{const g={};let o,h,R;return f&&f.split(`
1376
+ `).forEach(function(x){R=x.indexOf(":"),o=x.substring(0,R).trim().toLowerCase(),h=x.substring(R+1).trim(),!(!o||g[o]&&ox[o])&&(o==="set-cookie"?g[o]?g[o].push(h):g[o]=[h]:g[o]=g[o]?g[o]+", "+h:h)}),g},Xh=Symbol("internals");function ss(f){return f&&String(f).trim().toLowerCase()}function La(f){return f===!1||f==null?f:ce.isArray(f)?f.map(La):String(f)}function ax(f){const g=Object.create(null),o=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let h;for(;h=o.exec(f);)g[h[1]]=h[2];return g}const lx=f=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(f.trim());function oc(f,g,o,h,R){if(ce.isFunction(h))return h.call(this,g,o);if(R&&(g=o),!!ce.isString(g)){if(ce.isString(h))return g.indexOf(h)!==-1;if(ce.isRegExp(h))return h.test(g)}}function cx(f){return f.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(g,o,h)=>o.toUpperCase()+h)}function ux(f,g){const o=ce.toCamelCase(" "+g);["get","set","has"].forEach(h=>{Object.defineProperty(f,h+o,{value:function(R,x,y){return this[h].call(this,g,R,x,y)},configurable:!0})})}class Dn{constructor(g){g&&this.set(g)}set(g,o,h){const R=this;function x(_,u,d){const s=ss(u);if(!s)throw new Error("header name must be a non-empty string");const r=ce.findKey(R,s);(!r||R[r]===void 0||d===!0||d===void 0&&R[r]!==!1)&&(R[r||u]=La(_))}const y=(_,u)=>ce.forEach(_,(d,s)=>x(d,s,u));if(ce.isPlainObject(g)||g instanceof this.constructor)y(g,o);else if(ce.isString(g)&&(g=g.trim())&&!lx(g))y(sx(g),o);else if(ce.isHeaders(g))for(const[_,u]of g.entries())x(u,_,h);else g!=null&&x(o,g,h);return this}get(g,o){if(g=ss(g),g){const h=ce.findKey(this,g);if(h){const R=this[h];if(!o)return R;if(o===!0)return ax(R);if(ce.isFunction(o))return o.call(this,R,h);if(ce.isRegExp(o))return o.exec(R);throw new TypeError("parser must be boolean|regexp|function")}}}has(g,o){if(g=ss(g),g){const h=ce.findKey(this,g);return!!(h&&this[h]!==void 0&&(!o||oc(this,this[h],h,o)))}return!1}delete(g,o){const h=this;let R=!1;function x(y){if(y=ss(y),y){const _=ce.findKey(h,y);_&&(!o||oc(h,h[_],_,o))&&(delete h[_],R=!0)}}return ce.isArray(g)?g.forEach(x):x(g),R}clear(g){const o=Object.keys(this);let h=o.length,R=!1;for(;h--;){const x=o[h];(!g||oc(this,this[x],x,g,!0))&&(delete this[x],R=!0)}return R}normalize(g){const o=this,h={};return ce.forEach(this,(R,x)=>{const y=ce.findKey(h,x);if(y){o[y]=La(R),delete o[x];return}const _=g?cx(x):String(x).trim();_!==x&&delete o[x],o[_]=La(R),h[_]=!0}),this}concat(...g){return this.constructor.concat(this,...g)}toJSON(g){const o=Object.create(null);return ce.forEach(this,(h,R)=>{h!=null&&h!==!1&&(o[R]=g&&ce.isArray(h)?h.join(", "):h)}),o}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([g,o])=>g+": "+o).join(`
1377
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(g){return g instanceof this?g:new this(g)}static concat(g,...o){const h=new this(g);return o.forEach(R=>h.set(R)),h}static accessor(g){const o=(this[Xh]=this[Xh]={accessors:{}}).accessors,h=this.prototype;function R(x){const y=ss(x);o[y]||(ux(h,x),o[y]=!0)}return ce.isArray(g)?g.forEach(R):R(g),this}}Dn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ce.reduceDescriptors(Dn.prototype,({value:f},g)=>{let o=g[0].toUpperCase()+g.slice(1);return{get:()=>f,set(h){this[o]=h}}});ce.freezeMethods(Dn);function sc(f,g){const o=this||bs,h=g||o,R=Dn.from(h.headers);let x=h.data;return ce.forEach(f,function(y){x=y.call(o,x,R.normalize(),g?g.status:void 0)}),R.normalize(),x}function Sf(f){return!!(f&&f.__CANCEL__)}function vo(f,g,o){Qe.call(this,f??"canceled",Qe.ERR_CANCELED,g,o),this.name="CanceledError"}ce.inherits(vo,Qe,{__CANCEL__:!0});function kf(f,g,o){const h=o.config.validateStatus;!o.status||!h||h(o.status)?f(o):g(new Qe("Request failed with status code "+o.status,[Qe.ERR_BAD_REQUEST,Qe.ERR_BAD_RESPONSE][Math.floor(o.status/100)-4],o.config,o.request,o))}function hx(f){const g=/^([-+\w]{1,25})(:?\/\/|:)/.exec(f);return g&&g[1]||""}function dx(f,g){f=f||10;const o=new Array(f),h=new Array(f);let R=0,x=0,y;return g=g!==void 0?g:1e3,function(_){const u=Date.now(),d=h[x];y||(y=u),o[R]=_,h[R]=u;let s=x,r=0;for(;s!==R;)r+=o[s++],s=s%f;if(R=(R+1)%f,R===x&&(x=(x+1)%f),u-y<g)return;const n=d&&u-d;return n?Math.round(r*1e3/n):void 0}}function fx(f,g){let o=0,h=1e3/g,R,x;const y=(_,u=Date.now())=>{o=u,R=null,x&&(clearTimeout(x),x=null),f.apply(null,_)};return[(..._)=>{const u=Date.now(),d=u-o;d>=h?y(_,u):(R=_,x||(x=setTimeout(()=>{x=null,y(R)},h-d)))},()=>R&&y(R)]}const Ia=(f,g,o=3)=>{let h=0;const R=dx(50,250);return fx(x=>{const y=x.loaded,_=x.lengthComputable?x.total:void 0,u=y-h,d=R(u),s=y<=_;h=y;const r={loaded:y,total:_,progress:_?y/_:void 0,bytes:u,rate:d||void 0,estimated:d&&_&&s?(_-y)/d:void 0,event:x,lengthComputable:_!=null,[g?"download":"upload"]:!0};f(r)},o)},Jh=(f,g)=>{const o=f!=null;return[h=>g[0]({lengthComputable:o,total:f,loaded:h}),g[1]]},ed=f=>(...g)=>ce.asap(()=>f(...g)),px=On.hasStandardBrowserEnv?function(){const f=On.navigator&&/(msie|trident)/i.test(On.navigator.userAgent),g=document.createElement("a");let o;function h(R){let x=R;return f&&(g.setAttribute("href",x),x=g.href),g.setAttribute("href",x),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:g.pathname.charAt(0)==="/"?g.pathname:"/"+g.pathname}}return o=h(window.location.href),function(R){const x=ce.isString(R)?h(R):R;return x.protocol===o.protocol&&x.host===o.host}}():function(){return function(){return!0}}(),gx=On.hasStandardBrowserEnv?{write(f,g,o,h,R,x){const y=[f+"="+encodeURIComponent(g)];ce.isNumber(o)&&y.push("expires="+new Date(o).toGMTString()),ce.isString(h)&&y.push("path="+h),ce.isString(R)&&y.push("domain="+R),x===!0&&y.push("secure"),document.cookie=y.join("; ")},read(f){const g=document.cookie.match(new RegExp("(^|;\\s*)("+f+")=([^;]*)"));return g?decodeURIComponent(g[3]):null},remove(f){this.write(f,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function mx(f){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(f)}function vx(f,g){return g?f.replace(/\/?\/$/,"")+"/"+g.replace(/^\/+/,""):f}function Cf(f,g){return f&&!mx(g)?vx(f,g):g}const td=f=>f instanceof Dn?{...f}:f;function Dr(f,g){g=g||{};const o={};function h(d,s,r){return ce.isPlainObject(d)&&ce.isPlainObject(s)?ce.merge.call({caseless:r},d,s):ce.isPlainObject(s)?ce.merge({},s):ce.isArray(s)?s.slice():s}function R(d,s,r){if(ce.isUndefined(s)){if(!ce.isUndefined(d))return h(void 0,d,r)}else return h(d,s,r)}function x(d,s){if(!ce.isUndefined(s))return h(void 0,s)}function y(d,s){if(ce.isUndefined(s)){if(!ce.isUndefined(d))return h(void 0,d)}else return h(void 0,s)}function _(d,s,r){if(r in g)return h(d,s);if(r in f)return h(void 0,d)}const u={url:x,method:x,data:x,baseURL:y,transformRequest:y,transformResponse:y,paramsSerializer:y,timeout:y,timeoutMessage:y,withCredentials:y,withXSRFToken:y,adapter:y,responseType:y,xsrfCookieName:y,xsrfHeaderName:y,onUploadProgress:y,onDownloadProgress:y,decompress:y,maxContentLength:y,maxBodyLength:y,beforeRedirect:y,transport:y,httpAgent:y,httpsAgent:y,cancelToken:y,socketPath:y,responseEncoding:y,validateStatus:_,headers:(d,s)=>R(td(d),td(s),!0)};return ce.forEach(Object.keys(Object.assign({},f,g)),function(d){const s=u[d]||R,r=s(f[d],g[d],d);ce.isUndefined(r)&&s!==_||(o[d]=r)}),o}const $f=f=>{const g=Dr({},f);let{data:o,withXSRFToken:h,xsrfHeaderName:R,xsrfCookieName:x,headers:y,auth:_}=g;g.headers=y=Dn.from(y),g.url=bf(Cf(g.baseURL,g.url),f.params,f.paramsSerializer),_&&y.set("Authorization","Basic "+btoa((_.username||"")+":"+(_.password?unescape(encodeURIComponent(_.password)):"")));let u;if(ce.isFormData(o)){if(On.hasStandardBrowserEnv||On.hasStandardBrowserWebWorkerEnv)y.setContentType(void 0);else if((u=y.getContentType())!==!1){const[d,...s]=u?u.split(";").map(r=>r.trim()).filter(Boolean):[];y.setContentType([d||"multipart/form-data",...s].join("; "))}}if(On.hasStandardBrowserEnv&&(h&&ce.isFunction(h)&&(h=h(g)),h||h!==!1&&px(g.url))){const d=R&&x&&gx.read(x);d&&y.set(R,d)}return g},yx=typeof XMLHttpRequest<"u",wx=yx&&function(f){return new Promise(function(g,o){const h=$f(f);let R=h.data;const x=Dn.from(h.headers).normalize();let{responseType:y,onUploadProgress:_,onDownloadProgress:u}=h,d,s,r,n,i;function t(){n&&n(),i&&i(),h.cancelToken&&h.cancelToken.unsubscribe(d),h.signal&&h.signal.removeEventListener("abort",d)}let a=new XMLHttpRequest;a.open(h.method.toUpperCase(),h.url,!0),a.timeout=h.timeout;function c(){if(!a)return;const v=Dn.from("getAllResponseHeaders"in a&&a.getAllResponseHeaders()),I={data:!y||y==="text"||y==="json"?a.responseText:a.response,status:a.status,statusText:a.statusText,headers:v,config:f,request:a};kf(function(C){g(C),t()},function(C){o(C),t()},I),a=null}"onloadend"in a?a.onloadend=c:a.onreadystatechange=function(){!a||a.readyState!==4||a.status===0&&!(a.responseURL&&a.responseURL.indexOf("file:")===0)||setTimeout(c)},a.onabort=function(){a&&(o(new Qe("Request aborted",Qe.ECONNABORTED,f,a)),a=null)},a.onerror=function(){o(new Qe("Network Error",Qe.ERR_NETWORK,f,a)),a=null},a.ontimeout=function(){let v=h.timeout?"timeout of "+h.timeout+"ms exceeded":"timeout exceeded";const I=h.transitional||xf;h.timeoutErrorMessage&&(v=h.timeoutErrorMessage),o(new Qe(v,I.clarifyTimeoutError?Qe.ETIMEDOUT:Qe.ECONNABORTED,f,a)),a=null},R===void 0&&x.setContentType(null),"setRequestHeader"in a&&ce.forEach(x.toJSON(),function(v,I){a.setRequestHeader(I,v)}),ce.isUndefined(h.withCredentials)||(a.withCredentials=!!h.withCredentials),y&&y!=="json"&&(a.responseType=h.responseType),u&&([r,i]=Ia(u,!0),a.addEventListener("progress",r)),_&&a.upload&&([s,n]=Ia(_),a.upload.addEventListener("progress",s),a.upload.addEventListener("loadend",n)),(h.cancelToken||h.signal)&&(d=v=>{a&&(o(!v||v.type?new vo(null,f,a):v),a.abort(),a=null)},h.cancelToken&&h.cancelToken.subscribe(d),h.signal&&(h.signal.aborted?d():h.signal.addEventListener("abort",d)));const p=hx(h.url);if(p&&On.protocols.indexOf(p)===-1){o(new Qe("Unsupported protocol "+p+":",Qe.ERR_BAD_REQUEST,f));return}a.send(R||null)})},bx=(f,g)=>{const{length:o}=f=f?f.filter(Boolean):[];if(g||o){let h=new AbortController,R;const x=function(d){if(!R){R=!0,_();const s=d instanceof Error?d:this.reason;h.abort(s instanceof Qe?s:new vo(s instanceof Error?s.message:s))}};let y=g&&setTimeout(()=>{y=null,x(new Qe(`timeout ${g} of ms exceeded`,Qe.ETIMEDOUT))},g);const _=()=>{f&&(y&&clearTimeout(y),y=null,f.forEach(d=>{d.unsubscribe?d.unsubscribe(x):d.removeEventListener("abort",x)}),f=null)};f.forEach(d=>d.addEventListener("abort",x));const{signal:u}=h;return u.unsubscribe=()=>ce.asap(_),u}},xx=function*(f,g){let o=f.byteLength;if(o<g){yield f;return}let h=0,R;for(;h<o;)R=h+g,yield f.slice(h,R),h=R},_x=async function*(f,g){for await(const o of Sx(f))yield*xx(o,g)},Sx=async function*(f){if(f[Symbol.asyncIterator]){yield*f;return}const g=f.getReader();try{for(;;){const{done:o,value:h}=await g.read();if(o)break;yield h}}finally{await g.cancel()}},nd=(f,g,o,h)=>{const R=_x(f,g);let x=0,y,_=u=>{y||(y=!0,h&&h(u))};return new ReadableStream({async pull(u){try{const{done:d,value:s}=await R.next();if(d){_(),u.close();return}let r=s.byteLength;if(o){let n=x+=r;o(n)}u.enqueue(new Uint8Array(s))}catch(d){throw _(d),d}},cancel(u){return _(u),R.return()}},{highWaterMark:2})},Va=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Af=Va&&typeof ReadableStream=="function",kx=Va&&(typeof TextEncoder=="function"?(f=>g=>f.encode(g))(new TextEncoder):async f=>new Uint8Array(await new Response(f).arrayBuffer())),Tf=(f,...g)=>{try{return!!f(...g)}catch{return!1}},Cx=Af&&Tf(()=>{let f=!1;const g=new Request(On.origin,{body:new ReadableStream,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!g}),id=64*1024,vc=Af&&Tf(()=>ce.isReadableStream(new Response("").body)),Oa={stream:vc&&(f=>f.body)};Va&&(f=>{["text","arrayBuffer","blob","formData","stream"].forEach(g=>{!Oa[g]&&(Oa[g]=ce.isFunction(f[g])?o=>o[g]():(o,h)=>{throw new Qe(`Response type '${g}' is not supported`,Qe.ERR_NOT_SUPPORT,h)})})})(new Response);const $x=async f=>{if(f==null)return 0;if(ce.isBlob(f))return f.size;if(ce.isSpecCompliantForm(f))return(await new Request(On.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(ce.isArrayBufferView(f)||ce.isArrayBuffer(f))return f.byteLength;if(ce.isURLSearchParams(f)&&(f=f+""),ce.isString(f))return(await kx(f)).byteLength},Ax=async(f,g)=>ce.toFiniteNumber(f.getContentLength())??$x(g),Tx=Va&&(async f=>{let{url:g,method:o,data:h,signal:R,cancelToken:x,timeout:y,onDownloadProgress:_,onUploadProgress:u,responseType:d,headers:s,withCredentials:r="same-origin",fetchOptions:n}=$f(f);d=d?(d+"").toLowerCase():"text";let i=bx([R,x&&x.toAbortSignal()],y),t;const a=i&&i.unsubscribe&&(()=>{i.unsubscribe()});let c;try{if(u&&Cx&&o!=="get"&&o!=="head"&&(c=await Ax(s,h))!==0){let b=new Request(g,{method:"POST",body:h,duplex:"half"}),m;if(ce.isFormData(h)&&(m=b.headers.get("content-type"))&&s.setContentType(m),b.body){const[$,L]=Jh(c,Ia(ed(u)));h=nd(b.body,id,$,L)}}ce.isString(r)||(r=r?"include":"omit");const p="credentials"in Request.prototype;t=new Request(g,{...n,signal:i,method:o.toUpperCase(),headers:s.normalize().toJSON(),body:h,duplex:"half",credentials:p?r:void 0});let v=await fetch(t);const I=vc&&(d==="stream"||d==="response");if(vc&&(_||I&&a)){const b={};["status","statusText","headers"].forEach(O=>{b[O]=v[O]});const m=ce.toFiniteNumber(v.headers.get("content-length")),[$,L]=_&&Jh(m,Ia(ed(_),!0))||[];v=new Response(nd(v.body,id,$,()=>{L&&L(),a&&a()}),b)}d=d||"text";let C=await Oa[ce.findKey(Oa,d)||"text"](v,f);return!I&&a&&a(),await new Promise((b,m)=>{kf(b,m,{data:C,headers:Dn.from(v.headers),status:v.status,statusText:v.statusText,config:f,request:t})})}catch(p){throw a&&a(),p&&p.name==="TypeError"&&/fetch/i.test(p.message)?Object.assign(new Qe("Network Error",Qe.ERR_NETWORK,f,t),{cause:p.cause||p}):Qe.from(p,p&&p.code,f,t)}}),yc={http:Ub,xhr:wx,fetch:Tx};ce.forEach(yc,(f,g)=>{if(f){try{Object.defineProperty(f,"name",{value:g})}catch{}Object.defineProperty(f,"adapterName",{value:g})}});const rd=f=>`- ${f}`,Mx=f=>ce.isFunction(f)||f===null||f===!1,Mf={getAdapter:f=>{f=ce.isArray(f)?f:[f];const{length:g}=f;let o,h;const R={};for(let x=0;x<g;x++){o=f[x];let y;if(h=o,!Mx(o)&&(h=yc[(y=String(o)).toLowerCase()],h===void 0))throw new Qe(`Unknown adapter '${y}'`);if(h)break;R[y||"#"+x]=h}if(!h){const x=Object.entries(R).map(([_,u])=>`adapter ${_} `+(u===!1?"is not supported by the environment":"is not available in the build"));let y=g?x.length>1?`since :
1378
+ `+x.map(rd).join(`
1379
+ `):" "+rd(x[0]):"as no adapter specified";throw new Qe("There is no suitable adapter to dispatch the request "+y,"ERR_NOT_SUPPORT")}return h},adapters:yc};function ac(f){if(f.cancelToken&&f.cancelToken.throwIfRequested(),f.signal&&f.signal.aborted)throw new vo(null,f)}function od(f){return ac(f),f.headers=Dn.from(f.headers),f.data=sc.call(f,f.transformRequest),["post","put","patch"].indexOf(f.method)!==-1&&f.headers.setContentType("application/x-www-form-urlencoded",!1),Mf.getAdapter(f.adapter||bs.adapter)(f).then(function(g){return ac(f),g.data=sc.call(f,f.transformResponse,g),g.headers=Dn.from(g.headers),g},function(g){return Sf(g)||(ac(f),g&&g.response&&(g.response.data=sc.call(f,f.transformResponse,g.response),g.response.headers=Dn.from(g.response.headers))),Promise.reject(g)})}const Lf="1.7.7",Wc={};["object","boolean","number","function","string","symbol"].forEach((f,g)=>{Wc[f]=function(o){return typeof o===f||"a"+(g<1?"n ":" ")+f}});const sd={};Wc.transitional=function(f,g,o){function h(R,x){return"[Axios v"+Lf+"] Transitional option '"+R+"'"+x+(o?". "+o:"")}return(R,x,y)=>{if(f===!1)throw new Qe(h(x," has been removed"+(g?" in "+g:"")),Qe.ERR_DEPRECATED);return g&&!sd[x]&&(sd[x]=!0,console.warn(h(x," has been deprecated since v"+g+" and will be removed in the near future"))),f?f(R,x,y):!0}};function Lx(f,g,o){if(typeof f!="object")throw new Qe("options must be an object",Qe.ERR_BAD_OPTION_VALUE);const h=Object.keys(f);let R=h.length;for(;R-- >0;){const x=h[R],y=g[x];if(y){const _=f[x],u=_===void 0||y(_,x,f);if(u!==!0)throw new Qe("option "+x+" must be "+u,Qe.ERR_BAD_OPTION_VALUE);continue}if(o!==!0)throw new Qe("Unknown option "+x,Qe.ERR_BAD_OPTION)}}const wc={assertOptions:Lx,validators:Wc},lr=wc.validators;class Ir{constructor(g){this.defaults=g,this.interceptors={request:new Qh,response:new Qh}}async request(g,o){try{return await this._request(g,o)}catch(h){if(h instanceof Error){let R;Error.captureStackTrace?Error.captureStackTrace(R={}):R=new Error;const x=R.stack?R.stack.replace(/^.+\n/,""):"";try{h.stack?x&&!String(h.stack).endsWith(x.replace(/^.+\n.+\n/,""))&&(h.stack+=`
1380
+ `+x):h.stack=x}catch{}}throw h}}_request(g,o){typeof g=="string"?(o=o||{},o.url=g):o=g||{},o=Dr(this.defaults,o);const{transitional:h,paramsSerializer:R,headers:x}=o;h!==void 0&&wc.assertOptions(h,{silentJSONParsing:lr.transitional(lr.boolean),forcedJSONParsing:lr.transitional(lr.boolean),clarifyTimeoutError:lr.transitional(lr.boolean)},!1),R!=null&&(ce.isFunction(R)?o.paramsSerializer={serialize:R}:wc.assertOptions(R,{encode:lr.function,serialize:lr.function},!0)),o.method=(o.method||this.defaults.method||"get").toLowerCase();let y=x&&ce.merge(x.common,x[o.method]);x&&ce.forEach(["delete","get","head","post","put","patch","common"],t=>{delete x[t]}),o.headers=Dn.concat(y,x);const _=[];let u=!0;this.interceptors.request.forEach(function(t){typeof t.runWhen=="function"&&t.runWhen(o)===!1||(u=u&&t.synchronous,_.unshift(t.fulfilled,t.rejected))});const d=[];this.interceptors.response.forEach(function(t){d.push(t.fulfilled,t.rejected)});let s,r=0,n;if(!u){const t=[od.bind(this),void 0];for(t.unshift.apply(t,_),t.push.apply(t,d),n=t.length,s=Promise.resolve(o);r<n;)s=s.then(t[r++],t[r++]);return s}n=_.length;let i=o;for(r=0;r<n;){const t=_[r++],a=_[r++];try{i=t(i)}catch(c){a.call(this,c);break}}try{s=od.call(this,i)}catch(t){return Promise.reject(t)}for(r=0,n=d.length;r<n;)s=s.then(d[r++],d[r++]);return s}getUri(g){g=Dr(this.defaults,g);const o=Cf(g.baseURL,g.url);return bf(o,g.params,g.paramsSerializer)}}ce.forEach(["delete","get","head","options"],function(f){Ir.prototype[f]=function(g,o){return this.request(Dr(o||{},{method:f,url:g,data:(o||{}).data}))}});ce.forEach(["post","put","patch"],function(f){function g(o){return function(h,R,x){return this.request(Dr(x||{},{method:f,headers:o?{"Content-Type":"multipart/form-data"}:{},url:h,data:R}))}}Ir.prototype[f]=g(),Ir.prototype[f+"Form"]=g(!0)});class Bc{constructor(g){if(typeof g!="function")throw new TypeError("executor must be a function.");let o;this.promise=new Promise(function(R){o=R});const h=this;this.promise.then(R=>{if(!h._listeners)return;let x=h._listeners.length;for(;x-- >0;)h._listeners[x](R);h._listeners=null}),this.promise.then=R=>{let x;const y=new Promise(_=>{h.subscribe(_),x=_}).then(R);return y.cancel=function(){h.unsubscribe(x)},y},g(function(R,x,y){h.reason||(h.reason=new vo(R,x,y),o(h.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(g){if(this.reason){g(this.reason);return}this._listeners?this._listeners.push(g):this._listeners=[g]}unsubscribe(g){if(!this._listeners)return;const o=this._listeners.indexOf(g);o!==-1&&this._listeners.splice(o,1)}toAbortSignal(){const g=new AbortController,o=h=>{g.abort(h)};return this.subscribe(o),g.signal.unsubscribe=()=>this.unsubscribe(o),g.signal}static source(){let g;return{token:new Bc(function(o){g=o}),cancel:g}}}function Ex(f){return function(g){return f.apply(null,g)}}function Rx(f){return ce.isObject(f)&&f.isAxiosError===!0}const bc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(bc).forEach(([f,g])=>{bc[g]=f});function Ef(f){const g=new Ir(f),o=lf(Ir.prototype.request,g);return ce.extend(o,Ir.prototype,g,{allOwnKeys:!0}),ce.extend(o,g,null,{allOwnKeys:!0}),o.create=function(h){return Ef(Dr(f,h))},o}const Zt=Ef(bs);Zt.Axios=Ir;Zt.CanceledError=vo;Zt.CancelToken=Bc;Zt.isCancel=Sf;Zt.VERSION=Lf;Zt.toFormData=Ua;Zt.AxiosError=Qe;Zt.Cancel=Zt.CanceledError;Zt.all=function(f){return Promise.all(f)};Zt.spread=Ex;Zt.isAxiosError=Rx;Zt.mergeConfig=Dr;Zt.AxiosHeaders=Dn;Zt.formToJSON=f=>_f(ce.isHTMLForm(f)?new FormData(f):f);Zt.getAdapter=Mf.getAdapter;Zt.HttpStatusCode=bc;Zt.default=Zt;const zc=Zt.create({baseURL:location.origin,timeout:6e4,params:{}});zc.interceptors.response.use(f=>f,f=>{var g,o,h,R,x,y,_,u,d,s,r;if(f.response){if(f.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(t){t&&OpenC3Auth.setTokens()}),f.response.config.headers["Ignore-Errors"]&&f.response.config.headers["Ignore-Errors"].includes(f.response.status.toString()))return Promise.reject(f);let n=`HTTP ${f.response.status} - `;(g=f.response)!=null&&g.statusText&&(n+=`${f.response.statusText} `),(h=(o=f.response)==null?void 0:o.config)!=null&&h.data&&(n+=`${f.response.config.data} `),(x=(R=f.response)==null?void 0:R.data)!=null&&x.message?n+=`${f.response.data.message}`:(_=(y=f.response)==null?void 0:y.data)!=null&&_.exception?n+=`${f.response.data.exception}`:(s=(d=(u=f.response)==null?void 0:u.data)==null?void 0:d.error)!=null&&s.message?(f.response.data.error.class&&(n+=`${f.response.data.error.class} `),n+=`${f.response.data.error.message}`):n+=`${(r=f.response)==null?void 0:r.data}`;const{$cosmosNotify:i}=window;throw i&&i.serious({title:"Network error",body:n}),f}else throw f});const ka=async function(f,g,{data:o,params:h={},headers:R,noAuth:x=!1,noScope:y=!1,onUploadProgress:_=!1}={}){if(!x){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}R.Authorization=localStorage.openc3Token}return R.manual=!0,!y&&!h.scope&&(h.scope=window.openc3Scope),zc({method:f,url:g,data:o,params:h,headers:R,onUploadProgress:_})},xc={Accept:"application/json"},ad={...xc,"Content-Type":"application/json"},Ix={get:function(f,{params:g,headers:o=xc,noScope:h,noAuth:R,onUploadProgress:x}={}){return ka("get",f,{params:g,headers:o,noScope:h,noAuth:R,onUploadProgress:x})},put:function(f,{data:g,params:o,headers:h=ad,noScope:R,noAuth:x,onUploadProgress:y}={}){return ka("put",f,{data:g,params:o,headers:h,noScope:R,noAuth:x,onUploadProgress:y})},post:function(f,{data:g,params:o,headers:h=ad,noScope:R,noAuth:x,onUploadProgress:y}={}){return ka("post",f,{data:g,params:o,headers:h,noScope:R,noAuth:x,onUploadProgress:y})},delete:function(f,{params:g,headers:o=xc,noScope:h,noAuth:R,onUploadProgress:x}={}){return ka("delete",f,{params:g,headers:o,noScope:h,noAuth:R,onUploadProgress:x})}};var Ea={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},Ft={log(...f){this.enabled&&(f.push(Date.now()),Ea.logger.log("[ActionCable]",...f))}};const hs=()=>new Date().getTime(),Ca=f=>(hs()-f)/1e3;class ja{constructor(g){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=g,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=hs(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),Ft.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=hs(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),Ft.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=hs()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,Ft.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=hs(),Ft.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout(()=>{this.reconnectIfStale(),this.poll()},this.getPollInterval())}getPollInterval(){const{staleThreshold:g,reconnectionBackoffRate:o}=this.constructor,h=Math.pow(1+o,Math.min(this.reconnectAttempts,10)),R=(this.reconnectAttempts===0?1:o)*Math.random();return g*1e3*h*(1+R)}reconnectIfStale(){this.connectionIsStale()&&(Ft.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Ca(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?Ft.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Ca(this.disconnectedAt)} s`):(Ft.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Ca(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Ca(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){document.visibilityState==="visible"&&setTimeout(()=>{(this.connectionIsStale()||!this.connection.isOpen())&&(Ft.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())},200)}}ja.staleThreshold=6;ja.reconnectionBackoffRate=.15;var Rf={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]};const{message_types:as,protocols:_c}=Rf,Ox=_c.slice(0,_c.length-1),ld=[].indexOf;class Hc{constructor(g){this.open=this.open.bind(this),this.consumer=g,this.subscriptions=this.consumer.subscriptions,this.monitor=new ja(this),this.disconnected=!0}send(g){return this.isOpen()?(this.webSocket.send(JSON.stringify(g)),!0):!1}open(){if(this.isActive())return Ft.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{const g=[..._c,...this.consumer.subprotocols||[]];return Ft.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${g}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new Ea.WebSocket(this.consumer.url,g),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:g}={allowReconnect:!0}){if(g||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(Ft.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(g){Ft.log("Failed to reopen WebSocket",g)}finally{Ft.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return ld.call(Ox,this.getProtocol())>=0}isState(...g){return ld.call(g,this.getState())>=0}getState(){if(this.webSocket){for(let g in Ea.WebSocket)if(Ea.WebSocket[g]===this.webSocket.readyState)return g.toLowerCase()}return null}installEventHandlers(){for(let g in this.events){const o=this.events[g].bind(this);this.webSocket[`on${g}`]=o}}uninstallEventHandlers(){for(let g in this.events)this.webSocket[`on${g}`]=function(){}}}Hc.reopenDelay=500;Hc.prototype.events={message(f){if(!this.isProtocolSupported())return;const{identifier:g,message:o,reason:h,reconnect:R,type:x}=JSON.parse(f.data);switch(x){case as.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case as.disconnect:return Ft.log(`Disconnecting. Reason: ${h}`),this.close({allowReconnect:R});case as.ping:return this.monitor.recordPing();case as.confirmation:return this.subscriptions.confirmSubscription(g),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(g,"connected",{reconnected:!0})):this.subscriptions.notify(g,"connected",{reconnected:!1});case as.rejection:return this.subscriptions.reject(g);default:return this.subscriptions.notify(g,"received",o)}},open(){if(Ft.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return Ft.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(f){if(Ft.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){Ft.log("WebSocket onerror event")}};const Dx=function(f,g){if(g!=null)for(let o in g){const h=g[o];f[o]=h}return f};class Nx{constructor(g,o={},h){this.consumer=g,this.identifier=JSON.stringify(o),Dx(this,h)}perform(g,o={}){return o.action=g,this.send(o)}send(g){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(g)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class Fx{constructor(g){this.subscriptions=g,this.pendingSubscriptions=[]}guarantee(g){this.pendingSubscriptions.indexOf(g)==-1?(Ft.log(`SubscriptionGuarantor guaranteeing ${g.identifier}`),this.pendingSubscriptions.push(g)):Ft.log(`SubscriptionGuarantor already guaranteeing ${g.identifier}`),this.startGuaranteeing()}forget(g){Ft.log(`SubscriptionGuarantor forgetting ${g.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter(o=>o!==g)}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout(()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map(g=>{Ft.log(`SubscriptionGuarantor resubscribing ${g.identifier}`),this.subscriptions.subscribe(g)})},500)}}class Px{constructor(g){this.consumer=g,this.guarantor=new Fx(this),this.subscriptions=[]}create(g,o){const h=g,R=typeof h=="object"?h:{channel:h},x=new Nx(this.consumer,R,o);return this.add(x)}add(g){return this.subscriptions.push(g),this.consumer.ensureActiveConnection(),this.notify(g,"initialized"),this.subscribe(g),g}remove(g){return this.forget(g),this.findAll(g.identifier).length||this.sendCommand(g,"unsubscribe"),g}reject(g){return this.findAll(g).map(o=>(this.forget(o),this.notify(o,"rejected"),o))}forget(g){return this.guarantor.forget(g),this.subscriptions=this.subscriptions.filter(o=>o!==g),g}findAll(g){return this.subscriptions.filter(o=>o.identifier===g)}reload(){return this.subscriptions.map(g=>this.subscribe(g))}notifyAll(g,...o){return this.subscriptions.map(h=>this.notify(h,g,...o))}notify(g,o,...h){let R;return typeof g=="string"?R=this.findAll(g):R=[g],R.map(x=>typeof x[o]=="function"?x[o](...h):void 0)}subscribe(g){this.sendCommand(g,"subscribe")&&this.guarantor.guarantee(g)}confirmSubscription(g){Ft.log(`Subscription confirmed ${g}`),this.findAll(g).map(o=>this.guarantor.forget(o))}sendCommand(g,o){const{identifier:h}=g;return this.consumer.send({command:o,identifier:h})}}class Wx{constructor(g){this._url=g,this.subscriptions=new Px(this),this.connection=new Hc(this),this.subprotocols=[]}get url(){return Bx(this._url)}send(g){return this.connection.send(g)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(g){this.subprotocols=[...this.subprotocols,g]}}function Bx(f){if(typeof f=="function"&&(f=f()),f&&!/^wss?:/i.test(f)){const g=document.createElement("a");return g.href=f,g.href=g.href,g.protocol=g.protocol.replace("http","ws"),g.href}else return f}function zx(f=Hx("url")||Rf.default_mount_path){return new Wx(f)}function Hx(f){const g=document.head.querySelector(`meta[name='action-cable-${f}']`);if(g)return g.getAttribute("content")}ja.staleThreshold=10;class Ux{constructor(g="/openc3-api/cable"){this._cable=null,this._url=g}disconnect(){this._cable&&this._cable.disconnect()}createSubscription(g,o,h={},R={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(x=>{if(x&&OpenC3Auth.setTokens(),this._cable==null){let y=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);this._cable=zx(y)}return this._cable.subscriptions.create({channel:g,...R},h)})}recordPing(){this._cable.connection.monitor.recordPing()}}class Sc{constructor(g,o,h="",R=""){this.keyword=g.keyword,this.parameters=g.parameters,this.filename=g.filename,this.line=g.line,this.lineNumber=g.lineNumber,this.message=o,this.usage=h,this.url=R}}class Vx{constructor(){Tr(this,"keyword",null),Tr(this,"parameters",[]),Tr(this,"filename",""),Tr(this,"line",""),Tr(this,"lineNumber",0),Tr(this,"url","https://docs.openc3.com/docs/configuration")}verify_num_parameters(g,o,h=""){for(let R=1;R<=g;R++)if(this.parameters[R-1]===void 0)throw new Sc(this,`Not enough parameters for ${this.keyword}.`,h,this.url);if(o&&this.parameters[o]!==void 0)throw new Sc(this,`Too many parameters for ${this.keyword}.`,h,this.url)}remove_quotes(g){if(g.length<2)return g;let o=g.charAt(0);if(o!=='"'&&o!=="'")return g;let h=g.charAt(g.length-1);return o!==h?g:g.substring(1,g.length-1)}scan_string(g,o){if(!o.global)throw"rx must have 'global' flag set";let h=[];return g.replace(o,function(R){return h.push(R),R}),h}parse_string(g,o,h,R,x){let y=!1;this.line="",this.keyword=null,this.parameters=[],this.filename=o;let _=g.split(`
1381
+ `),u=_.length;for(let d=0;d<u;d++){this.lineNumber=d+1;let s=_[d].trim();if(s.length===0)continue;if(y===!0){if(s[0]==="#")continue;s=s.substring(1,s.length)}let r=s.charAt(s.length-1),n=!1;switch(r){case"+":n=!0;case"\\":let p=s.substring(0,s.length-1).trim();this.line+=p.substring(0,p.length-1),n&&(this.line+=`
1382
+ `),y=!0;continue;case"&":this.line+=s.substring(0,s.length-1);continue;default:this.line+=s}y=!1;let i=/("([^\\"]|\\.)*")|('([^\\']|\\.)*')|\S+/g,t=this.scan_string(this.line,i),a="";if(t.length>0&&(a=a+t[0]),a.length===0||a.charAt(0)==="#"?this.keyword=null:this.keyword=a.toUpperCase(),this.parameters=[],this.keyword===null){h&&x(this.keyword,this.parameters,this.line,this.lineNumber),this.line="";continue}let c=t.length;if(c>1)for(let p=1;p<c;p++){let v=t[p];if(v.length>0&&v.charAt(0)==="#")break;R?this.parameters.push(this.remove_quotes(v)):this.parameters.push(v)}x(this.keyword,this.parameters,this.line,this.lineNumber),this.line=""}}}class jx{constructor(){Tr(this,"id",1)}async exec(g,o,h={},R={},x=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return h.scope=window.openc3Scope,R.manual=!0,(await zc.post("/openc3-api/api",{jsonrpc:"2.0",method:g,params:o,id:this.id,keyword_params:h},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...R},timeout:x})).data.result}catch(y){let _=new Error;throw y.response?(_.name=y.response.data.error.data.class,_.message=y.response.data.error.data.message,_.object=y.response.data.error):y.request?(_.name="Request error",_.message="Request error, no response received"):_.name="Unknown error",_}}decode_openc3_type(g){if(g!==null&&typeof g=="object"&&g.json_class=="Float"&&g.raw){if(g.raw=="NaN")return NaN;if(g.raw=="Infinity")return 1/0;if(g.raw=="-Infinity")return-1/0}return null}encode_openc3_type(g){return Number.isNaN(g)?{json_class:"Float",raw:"NaN"}:g==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:g==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(g=>{g&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(g){return this.exec("set_offline_access",[g])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(g,o){return this.exec("map_target_to_interface",[g,o])}connect_interface(g,...o){return o.length>0?this.exec("connect_interface",[g,...o]):this.exec("connect_interface",[g])}disconnect_interface(g){return this.exec("disconnect_interface",[g])}interface_cmd(g,o,...h){return this.exec("interface_cmd",[g,o,...h])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(g){return this.exec("connect_router",[g])}disconnect_router(g){return this.exec("disconnect_router",[g])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(g){return this.exec("get_tlm_cnts",[g])}get_item(g,o,h){return this.exec("get_item",[g,o,h])}get_param(g,o,h){return this.exec("get_param",[g,o,h])}get_parameter(g,o,h){return this.exec("get_param",[g,o,h])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(g){return this.exec("set_limits_set",[g])}get_target(g){return this.exec("get_target",[g])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(g,o){return this.exec("get_tlm",[g,o])}get_telemetry(g,o){return this.exec("get_tlm",[g,o])}get_all_tlm(g){return this.exec("get_all_tlm",[g])}get_all_telemetry(g){return this.exec("get_all_tlm",[g])}get_all_tlm_names(g,o=!1){return this.exec("get_all_tlm_names",[g],{hidden:o})}get_all_telemetry_names(g){return this.exec("get_all_tlm_names",[g])}async get_tlm_packet(g,o,h,R=30){const x=await this.exec("get_tlm_packet",[g,o],{type:h,stale_time:R});if(x!=null){let y=x.length,_=null;for(let u=0;u<y;u++)_=this.decode_openc3_type(x[u][1]),_!==null&&(x[u][1]=_)}return x}get_packet_derived_items(g,o){return this.exec("get_packet_derived_items",[g,o])}get_tlm_buffer(g,o){return this.exec("get_tlm_buffer",[g,o])}async get_tlm_values(g,o=30,h=null){let R={stale_time:o};h!==null&&(R.cache_timeout=h);const x=await this.exec("get_tlm_values",[g],R,{},1e4);let y=x[0].length,_=null;for(let u=0;u<y;u++)_=this.decode_openc3_type(x[0][u]),_!==null&&(x[0][u]=_);return x}get_limits(g,o,h){return this.exec("get_limits",[g,o,h])}async tlm(g,o,h,R="CONVERTED"){let x=null;if(o===void 0)x=await this.exec("tlm",[g]);else if(h===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(o))x=await this.exec("tlm",[g],{type:o});else{let _=new Error;throw _.name="TypeError",_.message=`Invalid data type ${o}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,_}else x=await this.exec("tlm",[g,o,h],{type:R});let y=this.decode_openc3_type(x);return y!==null&&(x=y),x}async inject_tlm(g,o,h=null,R="CONVERTED"){data=await this.exec("inject_tlm",[g,o,h],{type:R})}set_tlm(g,o,h,R){return this.exec("set_tlm",[g,o,h],{type:R})}override_tlm(g,o,h,R){return this.exec("override_tlm",[g,o,h],{type:R})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(g,o,h,R){return this.exec("normalize_tlm",[g,o,h],{type:R})}get_all_cmds(g){return this.exec("get_all_cmds",[g])}get_all_commands(g){return this.exec("get_all_cmds",[g])}get_all_cmd_names(g,o=!1){return this.exec("get_all_cmd_names",[g],{hidden:o})}get_all_command_names(g){return this.exec("get_all_cmd_names",[g])}get_cmd(g,o){return this.exec("get_cmd",[g,o])}get_command(g,o){return this.exec("get_cmd",[g,o])}get_cmd_cnts(g){return this.exec("get_cmd_cnts",[g])}get_cmd_value(g,o,h,R="CONVERTED"){return this.exec("get_cmd_value",[g,o,h,R])}get_cmd_buffer(g,o){return this.exec("get_cmd_buffer",[g,o])}_cmd(g,o,h,R,x){let y=null;for(let _ in R)Object.prototype.hasOwnProperty.call(R,_)&&(y=this.encode_openc3_type(R[_]),y!==null&&(R[_]=y));return this.exec(g,[o,h,R],{},x)}get_cmd_hazardous(g,o,h,R={}){return o===void 0?this.exec("get_cmd_hazardous",g,{},R):this._cmd("get_cmd_hazardous",g,o,h,R)}cmd(g,o,h,R={}){return o===void 0?this.exec("cmd",g,{},R):this._cmd("cmd",g,o,h,R)}cmd_no_range_check(g,o,h,R={}){return o===void 0?this.exec("cmd_no_range_check",g,{},R):this._cmd("cmd_no_range_check",g,o,h,R)}cmd_raw(g,o,h,R={}){return o===void 0?this.exec("cmd_raw",g,{},R):this._cmd("cmd_raw",g,o,h,R)}cmd_raw_no_range_check(g,o,h,R={}){return o===void 0?this.exec("cmd_raw_no_range_check",g,{},R):this._cmd("cmd_raw_no_range_check",g,o,h,R)}cmd_no_hazardous_check(g,o,h,R={}){return o===void 0?this.exec("cmd_no_hazardous_check",g,{},R):this._cmd("cmd_no_hazardous_check",g,o,h,R)}cmd_no_checks(g,o,h,R={}){return o===void 0?this.exec("cmd_no_checks",g,{},R):this._cmd("cmd_no_checks",g,o,h,R)}cmd_raw_no_hazardous_check(g,o,h,R={}){return o===void 0?this.exec("cmd_raw_no_hazardous_check",g,{},R):this._cmd("cmd_raw_no_hazardous_check",g,o,h,R)}cmd_raw_no_checks(g,o,h,R={}){return o===void 0?this.exec("cmd_raw_no_checks",g,{},R):this._cmd("cmd_raw_no_checks",g,o,h,R)}build_cmd(g,o,h){return o===void 0?this.exec("build_cmd",g):this._cmd("build_cmd",g,o,h)}build_command(g,o,h){return o===void 0?this.exec("build_cmd",g):this._cmd("build_cmd",g,o,h)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(g,o){return this.exec("send_raw",[g,o])}list_configs(g){return this.exec("list_configs",[g])}load_config(g,o){return this.exec("load_config",[g,o])}save_config(g,o,h){return this.exec("save_config",[g,o,h])}delete_config(g,o){return this.exec("delete_config",[g,o])}enable_limits(g,o,h){return this.exec("enable_limits",[g,o,h])}disable_limits(g,o,h){return this.exec("disable_limits",[g,o,h])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(g){return this.exec("get_overall_limits_state",[g])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(g){return this.exec("get_setting",[g])}get_settings(g){return this.exec("get_settings",g)}set_setting(g,o){return this.exec("set_setting",[g,o])}save_setting(g,o){return this.exec("set_setting",[g,o])}get_metrics(){return this.exec("get_metrics",[])}async hashString(g){if(window.isSecureContext){const o=new TextEncoder().encode(g),h=await crypto.subtle.digest("SHA-256",o),R=new Uint8Array(h);return Array.from(R).map(x=>x.toString(16).padStart(2,"0")).join("")}}}const If={props:{config:{type:Object},packets:{type:Array}},data:function(){return{currentConfig:{},currentPackets:[],latestData:null}},computed:{hasRaw:function(){for(let f=0;f<this.currentPackets.length;f++)if(this.currentPackets[f].mode==="RAW")return!0;return!1},hasDecom:function(){for(let f=0;f<this.currentPackets.length;f++)if(this.currentPackets[f].mode==="DECOM")return!0;return!1}},watch:{currentConfig:{deep:!0,handler:function(f){this.$emit("config",f)}}},created:function(){this.config&&(this.currentConfig={...this.config}),this.packets&&(this.currentPackets=[...this.packets])},methods:{receive:function(f){this.latestData=f}}};var Da={exports:{}};/**
1383
+ * @license
1384
+ * Lodash <https://lodash.com/>
1385
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
1386
+ * Released under MIT license <https://lodash.com/license>
1387
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
1388
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1389
+ */Da.exports;(function(f,g){(function(){var o,h="4.17.21",R=200,x="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",y="Expected a function",_="Invalid `variable` option passed into `_.template`",u="__lodash_hash_undefined__",d=500,s="__lodash_placeholder__",r=1,n=2,i=4,t=1,a=2,c=1,p=2,v=4,I=8,C=16,b=32,m=64,$=128,L=256,O=512,A=30,E="...",k=800,T=16,w=1,M=2,D=3,F=1/0,B=9007199254740991,H=17976931348623157e292,j=NaN,Y=4294967295,X=Y-1,Q=Y>>>1,q=[["ary",$],["bind",c],["bindKey",p],["curry",I],["curryRight",C],["flip",O],["partial",b],["partialRight",m],["rearg",L]],ee="[object Arguments]",ie="[object Array]",ae="[object AsyncFunction]",he="[object Boolean]",de="[object Date]",ye="[object DOMException]",Ae="[object Error]",ze="[object Function]",$t="[object GeneratorFunction]",it="[object Map]",st="[object Number]",Ht="[object Null]",xt="[object Object]",It="[object Promise]",hi="[object Proxy]",Qt="[object RegExp]",Pt="[object Set]",Re="[object String]",De="[object Symbol]",Wt="[object Undefined]",Ne="[object WeakMap]",ue="[object WeakSet]",Se="[object ArrayBuffer]",$e="[object DataView]",He="[object Float32Array]",Ue="[object Float64Array]",rt="[object Int8Array]",ot="[object Int16Array]",et="[object Int32Array]",tt="[object Uint8Array]",qe="[object Uint8ClampedArray]",Mt="[object Uint16Array]",hn="[object Uint32Array]",Si=/\b__p \+= '';/g,$n=/\b(__p \+=) '' \+/g,xo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_o=/&(?:amp|lt|gt|quot|#39);/g,xs=/[&<>"']/g,el=RegExp(_o.source),tl=RegExp(xs.source),nl=/<%-([\s\S]+?)%>/g,il=/<%([\s\S]+?)%>/g,Ie=/<%=([\s\S]+?)%>/g,ki=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ln=/^\w*$/,di=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fi=/[\\^$.*+?()[\]{}|]/g,Hi=RegExp(fi.source),fn=/^\s+/,Ui=/\s/,Vi=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,_s=/\{\n\/\* \[wrapped with (.+)\] \*/,Ss=/,? & /,rl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ol=/[()=,{}\[\]\/\s]/,Ci=/\\(\\)?/g,sl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ji=/\w*$/,ks=/^[-+]0x[0-9a-f]+$/i,pi=/^0b[01]+$/i,Xt=/^\[object .+?Constructor\]$/,jt=/^0o[0-7]+$/i,Gt=/^(?:0|[1-9]\d*)$/,Pr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,pn=/($^)/,hr=/['\n\r\u2028\u2029\\]/g,dr="\\ud800-\\udfff",So="\\u0300-\\u036f",Wr="\\ufe20-\\ufe2f",Gi="\\u20d0-\\u20ff",Br=So+Wr+Gi,zr="\\u2700-\\u27bf",Hr="a-z\\xdf-\\xf6\\xf8-\\xff",ko="\\xac\\xb1\\xd7\\xf7",Co="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",$o="\\u2000-\\u206f",Ao=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",jn="A-Z\\xc0-\\xd6\\xd8-\\xde",To="\\ufe0e\\ufe0f",Mo=ko+Co+$o+Ao,fr="['’]",Cs="["+dr+"]",$s="["+Mo+"]",Ur="["+Br+"]",As="\\d+",Ts="["+zr+"]",Lo="["+Hr+"]",Ms="[^"+dr+Mo+As+zr+Hr+jn+"]",Vr="\\ud83c[\\udffb-\\udfff]",Eo="(?:"+Ur+"|"+Vr+")",pr="[^"+dr+"]",Ki="(?:\\ud83c[\\udde6-\\uddff]){2}",Ro="[\\ud800-\\udbff][\\udc00-\\udfff]",gi="["+jn+"]",Ls="\\u200d",Es="(?:"+Lo+"|"+Ms+")",al="(?:"+gi+"|"+Ms+")",$i="(?:"+fr+"(?:d|ll|m|re|s|t|ve))?",gr="(?:"+fr+"(?:D|LL|M|RE|S|T|VE))?",jr=Eo+"?",Yi="["+To+"]?",ll="(?:"+Ls+"(?:"+[pr,Ki,Ro].join("|")+")"+Yi+jr+")*",qi="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",cl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Io=Yi+jr+ll,Oo="(?:"+[Ts,Ki,Ro].join("|")+")"+Io,Do="(?:"+[pr+Ur+"?",Ur,Ki,Ro,Cs].join("|")+")",No=RegExp(fr,"g"),Zi=RegExp(Ur,"g"),mi=RegExp(Vr+"(?="+Vr+")|"+Do+Io,"g"),Rs=RegExp([gi+"?"+Lo+"+"+$i+"(?="+[$s,gi,"$"].join("|")+")",al+"+"+gr+"(?="+[$s,gi+Es,"$"].join("|")+")",gi+"?"+Es+"+"+$i,gi+"+"+gr,cl,qi,As,Oo].join("|"),"g"),Is=RegExp("["+Ls+dr+Br+To+"]"),Qi=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xi=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Os=-1,bt={};bt[He]=bt[Ue]=bt[rt]=bt[ot]=bt[et]=bt[tt]=bt[qe]=bt[Mt]=bt[hn]=!0,bt[ee]=bt[ie]=bt[Se]=bt[he]=bt[$e]=bt[de]=bt[Ae]=bt[ze]=bt[it]=bt[st]=bt[xt]=bt[Qt]=bt[Pt]=bt[Re]=bt[Ne]=!1;var Oe={};Oe[ee]=Oe[ie]=Oe[Se]=Oe[$e]=Oe[he]=Oe[de]=Oe[He]=Oe[Ue]=Oe[rt]=Oe[ot]=Oe[et]=Oe[it]=Oe[st]=Oe[xt]=Oe[Qt]=Oe[Pt]=Oe[Re]=Oe[De]=Oe[tt]=Oe[qe]=Oe[Mt]=Oe[hn]=!0,Oe[Ae]=Oe[ze]=Oe[Ne]=!1;var At={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},vi={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Jt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},Kt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Yt=parseFloat,_t=parseInt,Ai=typeof Wi=="object"&&Wi&&Wi.Object===Object&&Wi,Gr=typeof self=="object"&&self&&self.Object===Object&&self,en=Ai||Gr||Function("return this")(),Gn=g&&!g.nodeType&&g,cn=Gn&&!0&&f&&!f.nodeType&&f,Ds=cn&&cn.exports===Gn,Fo=Ds&&Ai.process,An=function(){try{var ne=cn&&cn.require&&cn.require("util").types;return ne||Fo&&Fo.binding&&Fo.binding("util")}catch{}}(),Ns=An&&An.isArrayBuffer,Kn=An&&An.isDate,ii=An&&An.isMap,yi=An&&An.isRegExp,Ti=An&&An.isSet,Fs=An&&An.isTypedArray;function Et(ne,le,se){switch(se.length){case 0:return ne.call(le);case 1:return ne.call(le,se[0]);case 2:return ne.call(le,se[0],se[1]);case 3:return ne.call(le,se[0],se[1],se[2])}return ne.apply(le,se)}function ul(ne,le,se,_e){for(var Ee=-1,je=ne==null?0:ne.length;++Ee<je;){var gt=ne[Ee];le(_e,gt,se(gt),ne)}return _e}function xn(ne,le){for(var se=-1,_e=ne==null?0:ne.length;++se<_e&&le(ne[se],se,ne)!==!1;);return ne}function Ps(ne,le){for(var se=ne==null?0:ne.length;se--&&le(ne[se],se,ne)!==!1;);return ne}function Ji(ne,le){for(var se=-1,_e=ne==null?0:ne.length;++se<_e;)if(!le(ne[se],se,ne))return!1;return!0}function Tn(ne,le){for(var se=-1,_e=ne==null?0:ne.length,Ee=0,je=[];++se<_e;){var gt=ne[se];le(gt,se,ne)&&(je[Ee++]=gt)}return je}function Kr(ne,le){var se=ne==null?0:ne.length;return!!se&&Mi(ne,le,0)>-1}function mr(ne,le,se){for(var _e=-1,Ee=ne==null?0:ne.length;++_e<Ee;)if(se(le,ne[_e]))return!0;return!1}function Tt(ne,le){for(var se=-1,_e=ne==null?0:ne.length,Ee=Array(_e);++se<_e;)Ee[se]=le(ne[se],se,ne);return Ee}function gn(ne,le){for(var se=-1,_e=le.length,Ee=ne.length;++se<_e;)ne[Ee+se]=le[se];return ne}function Yn(ne,le,se,_e){var Ee=-1,je=ne==null?0:ne.length;for(_e&&je&&(se=ne[++Ee]);++Ee<je;)se=le(se,ne[Ee],Ee,ne);return se}function vr(ne,le,se,_e){var Ee=ne==null?0:ne.length;for(_e&&Ee&&(se=ne[--Ee]);Ee--;)se=le(se,ne[Ee],Ee,ne);return se}function Yr(ne,le){for(var se=-1,_e=ne==null?0:ne.length;++se<_e;)if(le(ne[se],se,ne))return!0;return!1}var Po=Uo("length");function Wo(ne){return ne.split("")}function qr(ne){return ne.match(rl)||[]}function Bo(ne,le,se){var _e;return se(ne,function(Ee,je,gt){if(le(Ee,je,gt))return _e=je,!1}),_e}function yr(ne,le,se,_e){for(var Ee=ne.length,je=se+(_e?1:-1);_e?je--:++je<Ee;)if(le(ne[je],je,ne))return je;return-1}function Mi(ne,le,se){return le===le?Ve(ne,le,se):yr(ne,zo,se)}function Ws(ne,le,se,_e){for(var Ee=se-1,je=ne.length;++Ee<je;)if(_e(ne[Ee],le))return Ee;return-1}function zo(ne){return ne!==ne}function Ho(ne,le){var se=ne==null?0:ne.length;return se?tr(ne,le)/se:j}function Uo(ne){return function(le){return le==null?o:le[ne]}}function Zr(ne){return function(le){return ne==null?o:ne[le]}}function Vo(ne,le,se,_e,Ee){return Ee(ne,function(je,gt,Ke){se=_e?(_e=!1,je):le(se,je,gt,Ke)}),se}function er(ne,le){var se=ne.length;for(ne.sort(le);se--;)ne[se]=ne[se].value;return ne}function tr(ne,le){for(var se,_e=-1,Ee=ne.length;++_e<Ee;){var je=le(ne[_e]);je!==o&&(se=se===o?je:se+je)}return se}function Bt(ne,le){for(var se=-1,_e=Array(ne);++se<ne;)_e[se]=le(se);return _e}function Bs(ne,le){return Tt(le,function(se){return[se,ne[se]]})}function Ot(ne){return ne&&ne.slice(0,Ge(ne)+1).replace(fn,"")}function mn(ne){return function(le){return ne(le)}}function wr(ne,le){return Tt(le,function(se){return ne[se]})}function ri(ne,le){return ne.has(le)}function zs(ne,le){for(var se=-1,_e=ne.length;++se<_e&&Mi(le,ne[se],0)>-1;);return se}function Hs(ne,le){for(var se=ne.length;se--&&Mi(le,ne[se],0)>-1;);return se}function jo(ne,le){for(var se=ne.length,_e=0;se--;)ne[se]===le&&++_e;return _e}var P=Zr(At),z=Zr(vi);function G(ne){return"\\"+Kt[ne]}function K(ne,le){return ne==null?o:ne[le]}function te(ne){return Is.test(ne)}function oe(ne){return Qi.test(ne)}function fe(ne){for(var le,se=[];!(le=ne.next()).done;)se.push(le.value);return se}function ve(ne){var le=-1,se=Array(ne.size);return ne.forEach(function(_e,Ee){se[++le]=[Ee,_e]}),se}function we(ne,le){return function(se){return ne(le(se))}}function xe(ne,le){for(var se=-1,_e=ne.length,Ee=0,je=[];++se<_e;){var gt=ne[se];(gt===le||gt===s)&&(ne[se]=s,je[Ee++]=se)}return je}function ke(ne){var le=-1,se=Array(ne.size);return ne.forEach(function(_e){se[++le]=_e}),se}function Te(ne){var le=-1,se=Array(ne.size);return ne.forEach(function(_e){se[++le]=[_e,_e]}),se}function Ve(ne,le,se){for(var _e=se-1,Ee=ne.length;++_e<Ee;)if(ne[_e]===le)return _e;return-1}function yt(ne,le,se){for(var _e=se+1;_e--;)if(ne[_e]===le)return _e;return _e}function Ze(ne){return te(ne)?pt(ne):Po(ne)}function Be(ne){return te(ne)?Dt(ne):Wo(ne)}function Ge(ne){for(var le=ne.length;le--&&Ui.test(ne.charAt(le)););return le}var Me=Zr(Jt);function pt(ne){for(var le=mi.lastIndex=0;mi.test(ne);)++le;return le}function Dt(ne){return ne.match(mi)||[]}function Rt(ne){return ne.match(Rs)||[]}var St=function ne(le){le=le==null?en:kt.defaults(en.Object(),le,kt.pick(en,Xi));var se=le.Array,_e=le.Date,Ee=le.Error,je=le.Function,gt=le.Math,Ke=le.Object,tn=le.RegExp,_n=le.String,nn=le.TypeError,Nn=se.prototype,Mn=je.prototype,Qr=Ke.prototype,Us=le["__core-js_shared__"],Vs=Mn.toString,wt=Qr.hasOwnProperty,zp=0,ru=function(){var e=/[^.]+$/.exec(Us&&Us.keys&&Us.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),js=Qr.toString,Hp=Vs.call(Ke),Up=en._,Vp=tn("^"+Vs.call(wt).replace(fi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Gs=Ds?le.Buffer:o,nr=le.Symbol,Ks=le.Uint8Array,ou=Gs?Gs.allocUnsafe:o,Ys=we(Ke.getPrototypeOf,Ke),su=Ke.create,au=Qr.propertyIsEnumerable,qs=Nn.splice,lu=nr?nr.isConcatSpreadable:o,Go=nr?nr.iterator:o,br=nr?nr.toStringTag:o,Zs=function(){try{var e=Cr(Ke,"defineProperty");return e({},"",{}),e}catch{}}(),jp=le.clearTimeout!==en.clearTimeout&&le.clearTimeout,Gp=_e&&_e.now!==en.Date.now&&_e.now,Kp=le.setTimeout!==en.setTimeout&&le.setTimeout,Qs=gt.ceil,Xs=gt.floor,hl=Ke.getOwnPropertySymbols,Yp=Gs?Gs.isBuffer:o,cu=le.isFinite,qp=Nn.join,Zp=we(Ke.keys,Ke),rn=gt.max,vn=gt.min,Qp=_e.now,Xp=le.parseInt,uu=gt.random,Jp=Nn.reverse,dl=Cr(le,"DataView"),Ko=Cr(le,"Map"),fl=Cr(le,"Promise"),Xr=Cr(le,"Set"),Yo=Cr(le,"WeakMap"),qo=Cr(Ke,"create"),Js=Yo&&new Yo,Jr={},eg=$r(dl),tg=$r(Ko),ng=$r(fl),ig=$r(Xr),rg=$r(Yo),ea=nr?nr.prototype:o,Zo=ea?ea.valueOf:o,hu=ea?ea.toString:o;function U(e){if(zt(e)&&!Ye(e)&&!(e instanceof lt)){if(e instanceof qn)return e;if(wt.call(e,"__wrapped__"))return dh(e)}return new qn(e)}var eo=function(){function e(){}return function(l){if(!Nt(l))return{};if(su)return su(l);e.prototype=l;var S=new e;return e.prototype=o,S}}();function ta(){}function qn(e,l){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!l,this.__index__=0,this.__values__=o}U.templateSettings={escape:nl,evaluate:il,interpolate:Ie,variable:"",imports:{_:U}},U.prototype=ta.prototype,U.prototype.constructor=U,qn.prototype=eo(ta.prototype),qn.prototype.constructor=qn;function lt(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Y,this.__views__=[]}function og(){var e=new lt(this.__wrapped__);return e.__actions__=Ln(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ln(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ln(this.__views__),e}function sg(){if(this.__filtered__){var e=new lt(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function ag(){var e=this.__wrapped__.value(),l=this.__dir__,S=Ye(e),N=l<0,W=S?e.length:0,V=wm(0,W,this.__views__),Z=V.start,J=V.end,re=J-Z,pe=N?J:Z-1,ge=this.__iteratees__,me=ge.length,Ce=0,Le=vn(re,this.__takeCount__);if(!S||!N&&W==re&&Le==re)return Du(e,this.__actions__);var Pe=[];e:for(;re--&&Ce<Le;){pe+=l;for(var Je=-1,We=e[pe];++Je<me;){var at=ge[Je],ht=at.iteratee,Wn=at.type,Cn=ht(We);if(Wn==M)We=Cn;else if(!Cn){if(Wn==w)continue e;break e}}Pe[Ce++]=We}return Pe}lt.prototype=eo(ta.prototype),lt.prototype.constructor=lt;function xr(e){var l=-1,S=e==null?0:e.length;for(this.clear();++l<S;){var N=e[l];this.set(N[0],N[1])}}function lg(){this.__data__=qo?qo(null):{},this.size=0}function cg(e){var l=this.has(e)&&delete this.__data__[e];return this.size-=l?1:0,l}function ug(e){var l=this.__data__;if(qo){var S=l[e];return S===u?o:S}return wt.call(l,e)?l[e]:o}function hg(e){var l=this.__data__;return qo?l[e]!==o:wt.call(l,e)}function dg(e,l){var S=this.__data__;return this.size+=this.has(e)?0:1,S[e]=qo&&l===o?u:l,this}xr.prototype.clear=lg,xr.prototype.delete=cg,xr.prototype.get=ug,xr.prototype.has=hg,xr.prototype.set=dg;function Li(e){var l=-1,S=e==null?0:e.length;for(this.clear();++l<S;){var N=e[l];this.set(N[0],N[1])}}function fg(){this.__data__=[],this.size=0}function pg(e){var l=this.__data__,S=na(l,e);if(S<0)return!1;var N=l.length-1;return S==N?l.pop():qs.call(l,S,1),--this.size,!0}function gg(e){var l=this.__data__,S=na(l,e);return S<0?o:l[S][1]}function mg(e){return na(this.__data__,e)>-1}function vg(e,l){var S=this.__data__,N=na(S,e);return N<0?(++this.size,S.push([e,l])):S[N][1]=l,this}Li.prototype.clear=fg,Li.prototype.delete=pg,Li.prototype.get=gg,Li.prototype.has=mg,Li.prototype.set=vg;function Ei(e){var l=-1,S=e==null?0:e.length;for(this.clear();++l<S;){var N=e[l];this.set(N[0],N[1])}}function yg(){this.size=0,this.__data__={hash:new xr,map:new(Ko||Li),string:new xr}}function wg(e){var l=pa(this,e).delete(e);return this.size-=l?1:0,l}function bg(e){return pa(this,e).get(e)}function xg(e){return pa(this,e).has(e)}function _g(e,l){var S=pa(this,e),N=S.size;return S.set(e,l),this.size+=S.size==N?0:1,this}Ei.prototype.clear=yg,Ei.prototype.delete=wg,Ei.prototype.get=bg,Ei.prototype.has=xg,Ei.prototype.set=_g;function _r(e){var l=-1,S=e==null?0:e.length;for(this.__data__=new Ei;++l<S;)this.add(e[l])}function Sg(e){return this.__data__.set(e,u),this}function kg(e){return this.__data__.has(e)}_r.prototype.add=_r.prototype.push=Sg,_r.prototype.has=kg;function oi(e){var l=this.__data__=new Li(e);this.size=l.size}function Cg(){this.__data__=new Li,this.size=0}function $g(e){var l=this.__data__,S=l.delete(e);return this.size=l.size,S}function Ag(e){return this.__data__.get(e)}function Tg(e){return this.__data__.has(e)}function Mg(e,l){var S=this.__data__;if(S instanceof Li){var N=S.__data__;if(!Ko||N.length<R-1)return N.push([e,l]),this.size=++S.size,this;S=this.__data__=new Ei(N)}return S.set(e,l),this.size=S.size,this}oi.prototype.clear=Cg,oi.prototype.delete=$g,oi.prototype.get=Ag,oi.prototype.has=Tg,oi.prototype.set=Mg;function du(e,l){var S=Ye(e),N=!S&&Ar(e),W=!S&&!N&&ar(e),V=!S&&!N&&!W&&ro(e),Z=S||N||W||V,J=Z?Bt(e.length,_n):[],re=J.length;for(var pe in e)(l||wt.call(e,pe))&&!(Z&&(pe=="length"||W&&(pe=="offset"||pe=="parent")||V&&(pe=="buffer"||pe=="byteLength"||pe=="byteOffset")||Di(pe,re)))&&J.push(pe);return J}function fu(e){var l=e.length;return l?e[kl(0,l-1)]:o}function Lg(e,l){return ga(Ln(e),Sr(l,0,e.length))}function Eg(e){return ga(Ln(e))}function pl(e,l,S){(S!==o&&!si(e[l],S)||S===o&&!(l in e))&&Ri(e,l,S)}function Qo(e,l,S){var N=e[l];(!(wt.call(e,l)&&si(N,S))||S===o&&!(l in e))&&Ri(e,l,S)}function na(e,l){for(var S=e.length;S--;)if(si(e[S][0],l))return S;return-1}function Rg(e,l,S,N){return ir(e,function(W,V,Z){l(N,W,S(W),Z)}),N}function pu(e,l){return e&&bi(l,un(l),e)}function Ig(e,l){return e&&bi(l,Rn(l),e)}function Ri(e,l,S){l=="__proto__"&&Zs?Zs(e,l,{configurable:!0,enumerable:!0,value:S,writable:!0}):e[l]=S}function gl(e,l){for(var S=-1,N=l.length,W=se(N),V=e==null;++S<N;)W[S]=V?o:ql(e,l[S]);return W}function Sr(e,l,S){return e===e&&(S!==o&&(e=e<=S?e:S),l!==o&&(e=e>=l?e:l)),e}function Zn(e,l,S,N,W,V){var Z,J=l&r,re=l&n,pe=l&i;if(S&&(Z=W?S(e,N,W,V):S(e)),Z!==o)return Z;if(!Nt(e))return e;var ge=Ye(e);if(ge){if(Z=xm(e),!J)return Ln(e,Z)}else{var me=yn(e),Ce=me==ze||me==$t;if(ar(e))return Pu(e,J);if(me==xt||me==ee||Ce&&!W){if(Z=re||Ce?{}:ih(e),!J)return re?um(e,Ig(Z,e)):cm(e,pu(Z,e))}else{if(!Oe[me])return W?e:{};Z=_m(e,me,J)}}V||(V=new oi);var Le=V.get(e);if(Le)return Le;V.set(e,Z),Rh(e)?e.forEach(function(We){Z.add(Zn(We,l,S,We,e,V))}):Lh(e)&&e.forEach(function(We,at){Z.set(at,Zn(We,l,S,at,e,V))});var Pe=pe?re?Dl:Ol:re?Rn:un,Je=ge?o:Pe(e);return xn(Je||e,function(We,at){Je&&(at=We,We=e[at]),Qo(Z,at,Zn(We,l,S,at,e,V))}),Z}function Og(e){var l=un(e);return function(S){return gu(S,e,l)}}function gu(e,l,S){var N=S.length;if(e==null)return!N;for(e=Ke(e);N--;){var W=S[N],V=l[W],Z=e[W];if(Z===o&&!(W in e)||!V(Z))return!1}return!0}function mu(e,l,S){if(typeof e!="function")throw new nn(y);return rs(function(){e.apply(o,S)},l)}function Xo(e,l,S,N){var W=-1,V=Kr,Z=!0,J=e.length,re=[],pe=l.length;if(!J)return re;S&&(l=Tt(l,mn(S))),N?(V=mr,Z=!1):l.length>=R&&(V=ri,Z=!1,l=new _r(l));e:for(;++W<J;){var ge=e[W],me=S==null?ge:S(ge);if(ge=N||ge!==0?ge:0,Z&&me===me){for(var Ce=pe;Ce--;)if(l[Ce]===me)continue e;re.push(ge)}else V(l,me,N)||re.push(ge)}return re}var ir=Uu(wi),vu=Uu(vl,!0);function Dg(e,l){var S=!0;return ir(e,function(N,W,V){return S=!!l(N,W,V),S}),S}function ia(e,l,S){for(var N=-1,W=e.length;++N<W;){var V=e[N],Z=l(V);if(Z!=null&&(J===o?Z===Z&&!Pn(Z):S(Z,J)))var J=Z,re=V}return re}function Ng(e,l,S,N){var W=e.length;for(S=Xe(S),S<0&&(S=-S>W?0:W+S),N=N===o||N>W?W:Xe(N),N<0&&(N+=W),N=S>N?0:Oh(N);S<N;)e[S++]=l;return e}function yu(e,l){var S=[];return ir(e,function(N,W,V){l(N,W,V)&&S.push(N)}),S}function dn(e,l,S,N,W){var V=-1,Z=e.length;for(S||(S=km),W||(W=[]);++V<Z;){var J=e[V];l>0&&S(J)?l>1?dn(J,l-1,S,N,W):gn(W,J):N||(W[W.length]=J)}return W}var ml=Vu(),wu=Vu(!0);function wi(e,l){return e&&ml(e,l,un)}function vl(e,l){return e&&wu(e,l,un)}function ra(e,l){return Tn(l,function(S){return Ni(e[S])})}function kr(e,l){l=or(l,e);for(var S=0,N=l.length;e!=null&&S<N;)e=e[xi(l[S++])];return S&&S==N?e:o}function bu(e,l,S){var N=l(e);return Ye(e)?N:gn(N,S(e))}function Sn(e){return e==null?e===o?Wt:Ht:br&&br in Ke(e)?ym(e):Em(e)}function yl(e,l){return e>l}function Fg(e,l){return e!=null&&wt.call(e,l)}function Pg(e,l){return e!=null&&l in Ke(e)}function Wg(e,l,S){return e>=vn(l,S)&&e<rn(l,S)}function wl(e,l,S){for(var N=S?mr:Kr,W=e[0].length,V=e.length,Z=V,J=se(V),re=1/0,pe=[];Z--;){var ge=e[Z];Z&&l&&(ge=Tt(ge,mn(l))),re=vn(ge.length,re),J[Z]=!S&&(l||W>=120&&ge.length>=120)?new _r(Z&&ge):o}ge=e[0];var me=-1,Ce=J[0];e:for(;++me<W&&pe.length<re;){var Le=ge[me],Pe=l?l(Le):Le;if(Le=S||Le!==0?Le:0,!(Ce?ri(Ce,Pe):N(pe,Pe,S))){for(Z=V;--Z;){var Je=J[Z];if(!(Je?ri(Je,Pe):N(e[Z],Pe,S)))continue e}Ce&&Ce.push(Pe),pe.push(Le)}}return pe}function Bg(e,l,S,N){return wi(e,function(W,V,Z){l(N,S(W),V,Z)}),N}function Jo(e,l,S){l=or(l,e),e=ah(e,l);var N=e==null?e:e[xi(Xn(l))];return N==null?o:Et(N,e,S)}function xu(e){return zt(e)&&Sn(e)==ee}function zg(e){return zt(e)&&Sn(e)==Se}function Hg(e){return zt(e)&&Sn(e)==de}function es(e,l,S,N,W){return e===l?!0:e==null||l==null||!zt(e)&&!zt(l)?e!==e&&l!==l:Ug(e,l,S,N,es,W)}function Ug(e,l,S,N,W,V){var Z=Ye(e),J=Ye(l),re=Z?ie:yn(e),pe=J?ie:yn(l);re=re==ee?xt:re,pe=pe==ee?xt:pe;var ge=re==xt,me=pe==xt,Ce=re==pe;if(Ce&&ar(e)){if(!ar(l))return!1;Z=!0,ge=!1}if(Ce&&!ge)return V||(V=new oi),Z||ro(e)?eh(e,l,S,N,W,V):mm(e,l,re,S,N,W,V);if(!(S&t)){var Le=ge&&wt.call(e,"__wrapped__"),Pe=me&&wt.call(l,"__wrapped__");if(Le||Pe){var Je=Le?e.value():e,We=Pe?l.value():l;return V||(V=new oi),W(Je,We,S,N,V)}}return Ce?(V||(V=new oi),vm(e,l,S,N,W,V)):!1}function Vg(e){return zt(e)&&yn(e)==it}function bl(e,l,S,N){var W=S.length,V=W,Z=!N;if(e==null)return!V;for(e=Ke(e);W--;){var J=S[W];if(Z&&J[2]?J[1]!==e[J[0]]:!(J[0]in e))return!1}for(;++W<V;){J=S[W];var re=J[0],pe=e[re],ge=J[1];if(Z&&J[2]){if(pe===o&&!(re in e))return!1}else{var me=new oi;if(N)var Ce=N(pe,ge,re,e,l,me);if(!(Ce===o?es(ge,pe,t|a,N,me):Ce))return!1}}return!0}function _u(e){if(!Nt(e)||$m(e))return!1;var l=Ni(e)?Vp:Xt;return l.test($r(e))}function jg(e){return zt(e)&&Sn(e)==Qt}function Gg(e){return zt(e)&&yn(e)==Pt}function Kg(e){return zt(e)&&xa(e.length)&&!!bt[Sn(e)]}function Su(e){return typeof e=="function"?e:e==null?In:typeof e=="object"?Ye(e)?$u(e[0],e[1]):Cu(e):jh(e)}function xl(e){if(!is(e))return Zp(e);var l=[];for(var S in Ke(e))wt.call(e,S)&&S!="constructor"&&l.push(S);return l}function Yg(e){if(!Nt(e))return Lm(e);var l=is(e),S=[];for(var N in e)N=="constructor"&&(l||!wt.call(e,N))||S.push(N);return S}function _l(e,l){return e<l}function ku(e,l){var S=-1,N=En(e)?se(e.length):[];return ir(e,function(W,V,Z){N[++S]=l(W,V,Z)}),N}function Cu(e){var l=Fl(e);return l.length==1&&l[0][2]?oh(l[0][0],l[0][1]):function(S){return S===e||bl(S,e,l)}}function $u(e,l){return Wl(e)&&rh(l)?oh(xi(e),l):function(S){var N=ql(S,e);return N===o&&N===l?Zl(S,e):es(l,N,t|a)}}function oa(e,l,S,N,W){e!==l&&ml(l,function(V,Z){if(W||(W=new oi),Nt(V))qg(e,l,Z,S,oa,N,W);else{var J=N?N(zl(e,Z),V,Z+"",e,l,W):o;J===o&&(J=V),pl(e,Z,J)}},Rn)}function qg(e,l,S,N,W,V,Z){var J=zl(e,S),re=zl(l,S),pe=Z.get(re);if(pe){pl(e,S,pe);return}var ge=V?V(J,re,S+"",e,l,Z):o,me=ge===o;if(me){var Ce=Ye(re),Le=!Ce&&ar(re),Pe=!Ce&&!Le&&ro(re);ge=re,Ce||Le||Pe?Ye(J)?ge=J:Ut(J)?ge=Ln(J):Le?(me=!1,ge=Pu(re,!0)):Pe?(me=!1,ge=Wu(re,!0)):ge=[]:os(re)||Ar(re)?(ge=J,Ar(J)?ge=Dh(J):(!Nt(J)||Ni(J))&&(ge=ih(re))):me=!1}me&&(Z.set(re,ge),W(ge,re,N,V,Z),Z.delete(re)),pl(e,S,ge)}function Au(e,l){var S=e.length;if(S)return l+=l<0?S:0,Di(l,S)?e[l]:o}function Tu(e,l,S){l.length?l=Tt(l,function(V){return Ye(V)?function(Z){return kr(Z,V.length===1?V[0]:V)}:V}):l=[In];var N=-1;l=Tt(l,mn(Fe()));var W=ku(e,function(V,Z,J){var re=Tt(l,function(pe){return pe(V)});return{criteria:re,index:++N,value:V}});return er(W,function(V,Z){return lm(V,Z,S)})}function Zg(e,l){return Mu(e,l,function(S,N){return Zl(e,N)})}function Mu(e,l,S){for(var N=-1,W=l.length,V={};++N<W;){var Z=l[N],J=kr(e,Z);S(J,Z)&&ts(V,or(Z,e),J)}return V}function Qg(e){return function(l){return kr(l,e)}}function Sl(e,l,S,N){var W=N?Ws:Mi,V=-1,Z=l.length,J=e;for(e===l&&(l=Ln(l)),S&&(J=Tt(e,mn(S)));++V<Z;)for(var re=0,pe=l[V],ge=S?S(pe):pe;(re=W(J,ge,re,N))>-1;)J!==e&&qs.call(J,re,1),qs.call(e,re,1);return e}function Lu(e,l){for(var S=e?l.length:0,N=S-1;S--;){var W=l[S];if(S==N||W!==V){var V=W;Di(W)?qs.call(e,W,1):Al(e,W)}}return e}function kl(e,l){return e+Xs(uu()*(l-e+1))}function Xg(e,l,S,N){for(var W=-1,V=rn(Qs((l-e)/(S||1)),0),Z=se(V);V--;)Z[N?V:++W]=e,e+=S;return Z}function Cl(e,l){var S="";if(!e||l<1||l>B)return S;do l%2&&(S+=e),l=Xs(l/2),l&&(e+=e);while(l);return S}function nt(e,l){return Hl(sh(e,l,In),e+"")}function Jg(e){return fu(oo(e))}function em(e,l){var S=oo(e);return ga(S,Sr(l,0,S.length))}function ts(e,l,S,N){if(!Nt(e))return e;l=or(l,e);for(var W=-1,V=l.length,Z=V-1,J=e;J!=null&&++W<V;){var re=xi(l[W]),pe=S;if(re==="__proto__"||re==="constructor"||re==="prototype")return e;if(W!=Z){var ge=J[re];pe=N?N(ge,re,J):o,pe===o&&(pe=Nt(ge)?ge:Di(l[W+1])?[]:{})}Qo(J,re,pe),J=J[re]}return e}var Eu=Js?function(e,l){return Js.set(e,l),e}:In,tm=Zs?function(e,l){return Zs(e,"toString",{configurable:!0,enumerable:!1,value:Xl(l),writable:!0})}:In;function nm(e){return ga(oo(e))}function Qn(e,l,S){var N=-1,W=e.length;l<0&&(l=-l>W?0:W+l),S=S>W?W:S,S<0&&(S+=W),W=l>S?0:S-l>>>0,l>>>=0;for(var V=se(W);++N<W;)V[N]=e[N+l];return V}function im(e,l){var S;return ir(e,function(N,W,V){return S=l(N,W,V),!S}),!!S}function sa(e,l,S){var N=0,W=e==null?N:e.length;if(typeof l=="number"&&l===l&&W<=Q){for(;N<W;){var V=N+W>>>1,Z=e[V];Z!==null&&!Pn(Z)&&(S?Z<=l:Z<l)?N=V+1:W=V}return W}return $l(e,l,In,S)}function $l(e,l,S,N){var W=0,V=e==null?0:e.length;if(V===0)return 0;l=S(l);for(var Z=l!==l,J=l===null,re=Pn(l),pe=l===o;W<V;){var ge=Xs((W+V)/2),me=S(e[ge]),Ce=me!==o,Le=me===null,Pe=me===me,Je=Pn(me);if(Z)var We=N||Pe;else pe?We=Pe&&(N||Ce):J?We=Pe&&Ce&&(N||!Le):re?We=Pe&&Ce&&!Le&&(N||!Je):Le||Je?We=!1:We=N?me<=l:me<l;We?W=ge+1:V=ge}return vn(V,X)}function Ru(e,l){for(var S=-1,N=e.length,W=0,V=[];++S<N;){var Z=e[S],J=l?l(Z):Z;if(!S||!si(J,re)){var re=J;V[W++]=Z===0?0:Z}}return V}function Iu(e){return typeof e=="number"?e:Pn(e)?j:+e}function Fn(e){if(typeof e=="string")return e;if(Ye(e))return Tt(e,Fn)+"";if(Pn(e))return hu?hu.call(e):"";var l=e+"";return l=="0"&&1/e==-F?"-0":l}function rr(e,l,S){var N=-1,W=Kr,V=e.length,Z=!0,J=[],re=J;if(S)Z=!1,W=mr;else if(V>=R){var pe=l?null:pm(e);if(pe)return ke(pe);Z=!1,W=ri,re=new _r}else re=l?[]:J;e:for(;++N<V;){var ge=e[N],me=l?l(ge):ge;if(ge=S||ge!==0?ge:0,Z&&me===me){for(var Ce=re.length;Ce--;)if(re[Ce]===me)continue e;l&&re.push(me),J.push(ge)}else W(re,me,S)||(re!==J&&re.push(me),J.push(ge))}return J}function Al(e,l){return l=or(l,e),e=ah(e,l),e==null||delete e[xi(Xn(l))]}function Ou(e,l,S,N){return ts(e,l,S(kr(e,l)),N)}function aa(e,l,S,N){for(var W=e.length,V=N?W:-1;(N?V--:++V<W)&&l(e[V],V,e););return S?Qn(e,N?0:V,N?V+1:W):Qn(e,N?V+1:0,N?W:V)}function Du(e,l){var S=e;return S instanceof lt&&(S=S.value()),Yn(l,function(N,W){return W.func.apply(W.thisArg,gn([N],W.args))},S)}function Tl(e,l,S){var N=e.length;if(N<2)return N?rr(e[0]):[];for(var W=-1,V=se(N);++W<N;)for(var Z=e[W],J=-1;++J<N;)J!=W&&(V[W]=Xo(V[W]||Z,e[J],l,S));return rr(dn(V,1),l,S)}function Nu(e,l,S){for(var N=-1,W=e.length,V=l.length,Z={};++N<W;){var J=N<V?l[N]:o;S(Z,e[N],J)}return Z}function Ml(e){return Ut(e)?e:[]}function Ll(e){return typeof e=="function"?e:In}function or(e,l){return Ye(e)?e:Wl(e,l)?[e]:hh(mt(e))}var rm=nt;function sr(e,l,S){var N=e.length;return S=S===o?N:S,!l&&S>=N?e:Qn(e,l,S)}var Fu=jp||function(e){return en.clearTimeout(e)};function Pu(e,l){if(l)return e.slice();var S=e.length,N=ou?ou(S):new e.constructor(S);return e.copy(N),N}function El(e){var l=new e.constructor(e.byteLength);return new Ks(l).set(new Ks(e)),l}function om(e,l){var S=l?El(e.buffer):e.buffer;return new e.constructor(S,e.byteOffset,e.byteLength)}function sm(e){var l=new e.constructor(e.source,ji.exec(e));return l.lastIndex=e.lastIndex,l}function am(e){return Zo?Ke(Zo.call(e)):{}}function Wu(e,l){var S=l?El(e.buffer):e.buffer;return new e.constructor(S,e.byteOffset,e.length)}function Bu(e,l){if(e!==l){var S=e!==o,N=e===null,W=e===e,V=Pn(e),Z=l!==o,J=l===null,re=l===l,pe=Pn(l);if(!J&&!pe&&!V&&e>l||V&&Z&&re&&!J&&!pe||N&&Z&&re||!S&&re||!W)return 1;if(!N&&!V&&!pe&&e<l||pe&&S&&W&&!N&&!V||J&&S&&W||!Z&&W||!re)return-1}return 0}function lm(e,l,S){for(var N=-1,W=e.criteria,V=l.criteria,Z=W.length,J=S.length;++N<Z;){var re=Bu(W[N],V[N]);if(re){if(N>=J)return re;var pe=S[N];return re*(pe=="desc"?-1:1)}}return e.index-l.index}function zu(e,l,S,N){for(var W=-1,V=e.length,Z=S.length,J=-1,re=l.length,pe=rn(V-Z,0),ge=se(re+pe),me=!N;++J<re;)ge[J]=l[J];for(;++W<Z;)(me||W<V)&&(ge[S[W]]=e[W]);for(;pe--;)ge[J++]=e[W++];return ge}function Hu(e,l,S,N){for(var W=-1,V=e.length,Z=-1,J=S.length,re=-1,pe=l.length,ge=rn(V-J,0),me=se(ge+pe),Ce=!N;++W<ge;)me[W]=e[W];for(var Le=W;++re<pe;)me[Le+re]=l[re];for(;++Z<J;)(Ce||W<V)&&(me[Le+S[Z]]=e[W++]);return me}function Ln(e,l){var S=-1,N=e.length;for(l||(l=se(N));++S<N;)l[S]=e[S];return l}function bi(e,l,S,N){var W=!S;S||(S={});for(var V=-1,Z=l.length;++V<Z;){var J=l[V],re=N?N(S[J],e[J],J,S,e):o;re===o&&(re=e[J]),W?Ri(S,J,re):Qo(S,J,re)}return S}function cm(e,l){return bi(e,Pl(e),l)}function um(e,l){return bi(e,th(e),l)}function la(e,l){return function(S,N){var W=Ye(S)?ul:Rg,V=l?l():{};return W(S,e,Fe(N,2),V)}}function to(e){return nt(function(l,S){var N=-1,W=S.length,V=W>1?S[W-1]:o,Z=W>2?S[2]:o;for(V=e.length>3&&typeof V=="function"?(W--,V):o,Z&&kn(S[0],S[1],Z)&&(V=W<3?o:V,W=1),l=Ke(l);++N<W;){var J=S[N];J&&e(l,J,N,V)}return l})}function Uu(e,l){return function(S,N){if(S==null)return S;if(!En(S))return e(S,N);for(var W=S.length,V=l?W:-1,Z=Ke(S);(l?V--:++V<W)&&N(Z[V],V,Z)!==!1;);return S}}function Vu(e){return function(l,S,N){for(var W=-1,V=Ke(l),Z=N(l),J=Z.length;J--;){var re=Z[e?J:++W];if(S(V[re],re,V)===!1)break}return l}}function hm(e,l,S){var N=l&c,W=ns(e);function V(){var Z=this&&this!==en&&this instanceof V?W:e;return Z.apply(N?S:this,arguments)}return V}function ju(e){return function(l){l=mt(l);var S=te(l)?Be(l):o,N=S?S[0]:l.charAt(0),W=S?sr(S,1).join(""):l.slice(1);return N[e]()+W}}function no(e){return function(l){return Yn(Uh(Hh(l).replace(No,"")),e,"")}}function ns(e){return function(){var l=arguments;switch(l.length){case 0:return new e;case 1:return new e(l[0]);case 2:return new e(l[0],l[1]);case 3:return new e(l[0],l[1],l[2]);case 4:return new e(l[0],l[1],l[2],l[3]);case 5:return new e(l[0],l[1],l[2],l[3],l[4]);case 6:return new e(l[0],l[1],l[2],l[3],l[4],l[5]);case 7:return new e(l[0],l[1],l[2],l[3],l[4],l[5],l[6])}var S=eo(e.prototype),N=e.apply(S,l);return Nt(N)?N:S}}function dm(e,l,S){var N=ns(e);function W(){for(var V=arguments.length,Z=se(V),J=V,re=io(W);J--;)Z[J]=arguments[J];var pe=V<3&&Z[0]!==re&&Z[V-1]!==re?[]:xe(Z,re);if(V-=pe.length,V<S)return Zu(e,l,ca,W.placeholder,o,Z,pe,o,o,S-V);var ge=this&&this!==en&&this instanceof W?N:e;return Et(ge,this,Z)}return W}function Gu(e){return function(l,S,N){var W=Ke(l);if(!En(l)){var V=Fe(S,3);l=un(l),S=function(J){return V(W[J],J,W)}}var Z=e(l,S,N);return Z>-1?W[V?l[Z]:Z]:o}}function Ku(e){return Oi(function(l){var S=l.length,N=S,W=qn.prototype.thru;for(e&&l.reverse();N--;){var V=l[N];if(typeof V!="function")throw new nn(y);if(W&&!Z&&fa(V)=="wrapper")var Z=new qn([],!0)}for(N=Z?N:S;++N<S;){V=l[N];var J=fa(V),re=J=="wrapper"?Nl(V):o;re&&Bl(re[0])&&re[1]==($|I|b|L)&&!re[4].length&&re[9]==1?Z=Z[fa(re[0])].apply(Z,re[3]):Z=V.length==1&&Bl(V)?Z[J]():Z.thru(V)}return function(){var pe=arguments,ge=pe[0];if(Z&&pe.length==1&&Ye(ge))return Z.plant(ge).value();for(var me=0,Ce=S?l[me].apply(this,pe):ge;++me<S;)Ce=l[me].call(this,Ce);return Ce}})}function ca(e,l,S,N,W,V,Z,J,re,pe){var ge=l&$,me=l&c,Ce=l&p,Le=l&(I|C),Pe=l&O,Je=Ce?o:ns(e);function We(){for(var at=arguments.length,ht=se(at),Wn=at;Wn--;)ht[Wn]=arguments[Wn];if(Le)var Cn=io(We),Bn=jo(ht,Cn);if(N&&(ht=zu(ht,N,W,Le)),V&&(ht=Hu(ht,V,Z,Le)),at-=Bn,Le&&at<pe){var Vt=xe(ht,Cn);return Zu(e,l,ca,We.placeholder,S,ht,Vt,J,re,pe-at)}var ai=me?S:this,Pi=Ce?ai[e]:e;return at=ht.length,J?ht=Rm(ht,J):Pe&&at>1&&ht.reverse(),ge&&re<at&&(ht.length=re),this&&this!==en&&this instanceof We&&(Pi=Je||ns(Pi)),Pi.apply(ai,ht)}return We}function Yu(e,l){return function(S,N){return Bg(S,e,l(N),{})}}function ua(e,l){return function(S,N){var W;if(S===o&&N===o)return l;if(S!==o&&(W=S),N!==o){if(W===o)return N;typeof S=="string"||typeof N=="string"?(S=Fn(S),N=Fn(N)):(S=Iu(S),N=Iu(N)),W=e(S,N)}return W}}function Rl(e){return Oi(function(l){return l=Tt(l,mn(Fe())),nt(function(S){var N=this;return e(l,function(W){return Et(W,N,S)})})})}function ha(e,l){l=l===o?" ":Fn(l);var S=l.length;if(S<2)return S?Cl(l,e):l;var N=Cl(l,Qs(e/Ze(l)));return te(l)?sr(Be(N),0,e).join(""):N.slice(0,e)}function fm(e,l,S,N){var W=l&c,V=ns(e);function Z(){for(var J=-1,re=arguments.length,pe=-1,ge=N.length,me=se(ge+re),Ce=this&&this!==en&&this instanceof Z?V:e;++pe<ge;)me[pe]=N[pe];for(;re--;)me[pe++]=arguments[++J];return Et(Ce,W?S:this,me)}return Z}function qu(e){return function(l,S,N){return N&&typeof N!="number"&&kn(l,S,N)&&(S=N=o),l=Fi(l),S===o?(S=l,l=0):S=Fi(S),N=N===o?l<S?1:-1:Fi(N),Xg(l,S,N,e)}}function da(e){return function(l,S){return typeof l=="string"&&typeof S=="string"||(l=Jn(l),S=Jn(S)),e(l,S)}}function Zu(e,l,S,N,W,V,Z,J,re,pe){var ge=l&I,me=ge?Z:o,Ce=ge?o:Z,Le=ge?V:o,Pe=ge?o:V;l|=ge?b:m,l&=~(ge?m:b),l&v||(l&=~(c|p));var Je=[e,l,W,Le,me,Pe,Ce,J,re,pe],We=S.apply(o,Je);return Bl(e)&&lh(We,Je),We.placeholder=N,ch(We,e,l)}function Il(e){var l=gt[e];return function(S,N){if(S=Jn(S),N=N==null?0:vn(Xe(N),292),N&&cu(S)){var W=(mt(S)+"e").split("e"),V=l(W[0]+"e"+(+W[1]+N));return W=(mt(V)+"e").split("e"),+(W[0]+"e"+(+W[1]-N))}return l(S)}}var pm=Xr&&1/ke(new Xr([,-0]))[1]==F?function(e){return new Xr(e)}:tc;function Qu(e){return function(l){var S=yn(l);return S==it?ve(l):S==Pt?Te(l):Bs(l,e(l))}}function Ii(e,l,S,N,W,V,Z,J){var re=l&p;if(!re&&typeof e!="function")throw new nn(y);var pe=N?N.length:0;if(pe||(l&=~(b|m),N=W=o),Z=Z===o?Z:rn(Xe(Z),0),J=J===o?J:Xe(J),pe-=W?W.length:0,l&m){var ge=N,me=W;N=W=o}var Ce=re?o:Nl(e),Le=[e,l,S,N,W,ge,me,V,Z,J];if(Ce&&Mm(Le,Ce),e=Le[0],l=Le[1],S=Le[2],N=Le[3],W=Le[4],J=Le[9]=Le[9]===o?re?0:e.length:rn(Le[9]-pe,0),!J&&l&(I|C)&&(l&=~(I|C)),!l||l==c)var Pe=hm(e,l,S);else l==I||l==C?Pe=dm(e,l,J):(l==b||l==(c|b))&&!W.length?Pe=fm(e,l,S,N):Pe=ca.apply(o,Le);var Je=Ce?Eu:lh;return ch(Je(Pe,Le),e,l)}function Xu(e,l,S,N){return e===o||si(e,Qr[S])&&!wt.call(N,S)?l:e}function Ju(e,l,S,N,W,V){return Nt(e)&&Nt(l)&&(V.set(l,e),oa(e,l,o,Ju,V),V.delete(l)),e}function gm(e){return os(e)?o:e}function eh(e,l,S,N,W,V){var Z=S&t,J=e.length,re=l.length;if(J!=re&&!(Z&&re>J))return!1;var pe=V.get(e),ge=V.get(l);if(pe&&ge)return pe==l&&ge==e;var me=-1,Ce=!0,Le=S&a?new _r:o;for(V.set(e,l),V.set(l,e);++me<J;){var Pe=e[me],Je=l[me];if(N)var We=Z?N(Je,Pe,me,l,e,V):N(Pe,Je,me,e,l,V);if(We!==o){if(We)continue;Ce=!1;break}if(Le){if(!Yr(l,function(at,ht){if(!ri(Le,ht)&&(Pe===at||W(Pe,at,S,N,V)))return Le.push(ht)})){Ce=!1;break}}else if(!(Pe===Je||W(Pe,Je,S,N,V))){Ce=!1;break}}return V.delete(e),V.delete(l),Ce}function mm(e,l,S,N,W,V,Z){switch(S){case $e:if(e.byteLength!=l.byteLength||e.byteOffset!=l.byteOffset)return!1;e=e.buffer,l=l.buffer;case Se:return!(e.byteLength!=l.byteLength||!V(new Ks(e),new Ks(l)));case he:case de:case st:return si(+e,+l);case Ae:return e.name==l.name&&e.message==l.message;case Qt:case Re:return e==l+"";case it:var J=ve;case Pt:var re=N&t;if(J||(J=ke),e.size!=l.size&&!re)return!1;var pe=Z.get(e);if(pe)return pe==l;N|=a,Z.set(e,l);var ge=eh(J(e),J(l),N,W,V,Z);return Z.delete(e),ge;case De:if(Zo)return Zo.call(e)==Zo.call(l)}return!1}function vm(e,l,S,N,W,V){var Z=S&t,J=Ol(e),re=J.length,pe=Ol(l),ge=pe.length;if(re!=ge&&!Z)return!1;for(var me=re;me--;){var Ce=J[me];if(!(Z?Ce in l:wt.call(l,Ce)))return!1}var Le=V.get(e),Pe=V.get(l);if(Le&&Pe)return Le==l&&Pe==e;var Je=!0;V.set(e,l),V.set(l,e);for(var We=Z;++me<re;){Ce=J[me];var at=e[Ce],ht=l[Ce];if(N)var Wn=Z?N(ht,at,Ce,l,e,V):N(at,ht,Ce,e,l,V);if(!(Wn===o?at===ht||W(at,ht,S,N,V):Wn)){Je=!1;break}We||(We=Ce=="constructor")}if(Je&&!We){var Cn=e.constructor,Bn=l.constructor;Cn!=Bn&&"constructor"in e&&"constructor"in l&&!(typeof Cn=="function"&&Cn instanceof Cn&&typeof Bn=="function"&&Bn instanceof Bn)&&(Je=!1)}return V.delete(e),V.delete(l),Je}function Oi(e){return Hl(sh(e,o,gh),e+"")}function Ol(e){return bu(e,un,Pl)}function Dl(e){return bu(e,Rn,th)}var Nl=Js?function(e){return Js.get(e)}:tc;function fa(e){for(var l=e.name+"",S=Jr[l],N=wt.call(Jr,l)?S.length:0;N--;){var W=S[N],V=W.func;if(V==null||V==e)return W.name}return l}function io(e){var l=wt.call(U,"placeholder")?U:e;return l.placeholder}function Fe(){var e=U.iteratee||Jl;return e=e===Jl?Su:e,arguments.length?e(arguments[0],arguments[1]):e}function pa(e,l){var S=e.__data__;return Cm(l)?S[typeof l=="string"?"string":"hash"]:S.map}function Fl(e){for(var l=un(e),S=l.length;S--;){var N=l[S],W=e[N];l[S]=[N,W,rh(W)]}return l}function Cr(e,l){var S=K(e,l);return _u(S)?S:o}function ym(e){var l=wt.call(e,br),S=e[br];try{e[br]=o;var N=!0}catch{}var W=js.call(e);return N&&(l?e[br]=S:delete e[br]),W}var Pl=hl?function(e){return e==null?[]:(e=Ke(e),Tn(hl(e),function(l){return au.call(e,l)}))}:nc,th=hl?function(e){for(var l=[];e;)gn(l,Pl(e)),e=Ys(e);return l}:nc,yn=Sn;(dl&&yn(new dl(new ArrayBuffer(1)))!=$e||Ko&&yn(new Ko)!=it||fl&&yn(fl.resolve())!=It||Xr&&yn(new Xr)!=Pt||Yo&&yn(new Yo)!=Ne)&&(yn=function(e){var l=Sn(e),S=l==xt?e.constructor:o,N=S?$r(S):"";if(N)switch(N){case eg:return $e;case tg:return it;case ng:return It;case ig:return Pt;case rg:return Ne}return l});function wm(e,l,S){for(var N=-1,W=S.length;++N<W;){var V=S[N],Z=V.size;switch(V.type){case"drop":e+=Z;break;case"dropRight":l-=Z;break;case"take":l=vn(l,e+Z);break;case"takeRight":e=rn(e,l-Z);break}}return{start:e,end:l}}function bm(e){var l=e.match(_s);return l?l[1].split(Ss):[]}function nh(e,l,S){l=or(l,e);for(var N=-1,W=l.length,V=!1;++N<W;){var Z=xi(l[N]);if(!(V=e!=null&&S(e,Z)))break;e=e[Z]}return V||++N!=W?V:(W=e==null?0:e.length,!!W&&xa(W)&&Di(Z,W)&&(Ye(e)||Ar(e)))}function xm(e){var l=e.length,S=new e.constructor(l);return l&&typeof e[0]=="string"&&wt.call(e,"index")&&(S.index=e.index,S.input=e.input),S}function ih(e){return typeof e.constructor=="function"&&!is(e)?eo(Ys(e)):{}}function _m(e,l,S){var N=e.constructor;switch(l){case Se:return El(e);case he:case de:return new N(+e);case $e:return om(e,S);case He:case Ue:case rt:case ot:case et:case tt:case qe:case Mt:case hn:return Wu(e,S);case it:return new N;case st:case Re:return new N(e);case Qt:return sm(e);case Pt:return new N;case De:return am(e)}}function Sm(e,l){var S=l.length;if(!S)return e;var N=S-1;return l[N]=(S>1?"& ":"")+l[N],l=l.join(S>2?", ":" "),e.replace(Vi,`{
1390
+ /* [wrapped with `+l+`] */
1391
+ `)}function km(e){return Ye(e)||Ar(e)||!!(lu&&e&&e[lu])}function Di(e,l){var S=typeof e;return l=l??B,!!l&&(S=="number"||S!="symbol"&&Gt.test(e))&&e>-1&&e%1==0&&e<l}function kn(e,l,S){if(!Nt(S))return!1;var N=typeof l;return(N=="number"?En(S)&&Di(l,S.length):N=="string"&&l in S)?si(S[l],e):!1}function Wl(e,l){if(Ye(e))return!1;var S=typeof e;return S=="number"||S=="symbol"||S=="boolean"||e==null||Pn(e)?!0:ln.test(e)||!ki.test(e)||l!=null&&e in Ke(l)}function Cm(e){var l=typeof e;return l=="string"||l=="number"||l=="symbol"||l=="boolean"?e!=="__proto__":e===null}function Bl(e){var l=fa(e),S=U[l];if(typeof S!="function"||!(l in lt.prototype))return!1;if(e===S)return!0;var N=Nl(S);return!!N&&e===N[0]}function $m(e){return!!ru&&ru in e}var Am=Us?Ni:ic;function is(e){var l=e&&e.constructor,S=typeof l=="function"&&l.prototype||Qr;return e===S}function rh(e){return e===e&&!Nt(e)}function oh(e,l){return function(S){return S==null?!1:S[e]===l&&(l!==o||e in Ke(S))}}function Tm(e){var l=wa(e,function(N){return S.size===d&&S.clear(),N}),S=l.cache;return l}function Mm(e,l){var S=e[1],N=l[1],W=S|N,V=W<(c|p|$),Z=N==$&&S==I||N==$&&S==L&&e[7].length<=l[8]||N==($|L)&&l[7].length<=l[8]&&S==I;if(!(V||Z))return e;N&c&&(e[2]=l[2],W|=S&c?0:v);var J=l[3];if(J){var re=e[3];e[3]=re?zu(re,J,l[4]):J,e[4]=re?xe(e[3],s):l[4]}return J=l[5],J&&(re=e[5],e[5]=re?Hu(re,J,l[6]):J,e[6]=re?xe(e[5],s):l[6]),J=l[7],J&&(e[7]=J),N&$&&(e[8]=e[8]==null?l[8]:vn(e[8],l[8])),e[9]==null&&(e[9]=l[9]),e[0]=l[0],e[1]=W,e}function Lm(e){var l=[];if(e!=null)for(var S in Ke(e))l.push(S);return l}function Em(e){return js.call(e)}function sh(e,l,S){return l=rn(l===o?e.length-1:l,0),function(){for(var N=arguments,W=-1,V=rn(N.length-l,0),Z=se(V);++W<V;)Z[W]=N[l+W];W=-1;for(var J=se(l+1);++W<l;)J[W]=N[W];return J[l]=S(Z),Et(e,this,J)}}function ah(e,l){return l.length<2?e:kr(e,Qn(l,0,-1))}function Rm(e,l){for(var S=e.length,N=vn(l.length,S),W=Ln(e);N--;){var V=l[N];e[N]=Di(V,S)?W[V]:o}return e}function zl(e,l){if(!(l==="constructor"&&typeof e[l]=="function")&&l!="__proto__")return e[l]}var lh=uh(Eu),rs=Kp||function(e,l){return en.setTimeout(e,l)},Hl=uh(tm);function ch(e,l,S){var N=l+"";return Hl(e,Sm(N,Im(bm(N),S)))}function uh(e){var l=0,S=0;return function(){var N=Qp(),W=T-(N-S);if(S=N,W>0){if(++l>=k)return arguments[0]}else l=0;return e.apply(o,arguments)}}function ga(e,l){var S=-1,N=e.length,W=N-1;for(l=l===o?N:l;++S<l;){var V=kl(S,W),Z=e[V];e[V]=e[S],e[S]=Z}return e.length=l,e}var hh=Tm(function(e){var l=[];return e.charCodeAt(0)===46&&l.push(""),e.replace(di,function(S,N,W,V){l.push(W?V.replace(Ci,"$1"):N||S)}),l});function xi(e){if(typeof e=="string"||Pn(e))return e;var l=e+"";return l=="0"&&1/e==-F?"-0":l}function $r(e){if(e!=null){try{return Vs.call(e)}catch{}try{return e+""}catch{}}return""}function Im(e,l){return xn(q,function(S){var N="_."+S[0];l&S[1]&&!Kr(e,N)&&e.push(N)}),e.sort()}function dh(e){if(e instanceof lt)return e.clone();var l=new qn(e.__wrapped__,e.__chain__);return l.__actions__=Ln(e.__actions__),l.__index__=e.__index__,l.__values__=e.__values__,l}function Om(e,l,S){(S?kn(e,l,S):l===o)?l=1:l=rn(Xe(l),0);var N=e==null?0:e.length;if(!N||l<1)return[];for(var W=0,V=0,Z=se(Qs(N/l));W<N;)Z[V++]=Qn(e,W,W+=l);return Z}function Dm(e){for(var l=-1,S=e==null?0:e.length,N=0,W=[];++l<S;){var V=e[l];V&&(W[N++]=V)}return W}function Nm(){var e=arguments.length;if(!e)return[];for(var l=se(e-1),S=arguments[0],N=e;N--;)l[N-1]=arguments[N];return gn(Ye(S)?Ln(S):[S],dn(l,1))}var Fm=nt(function(e,l){return Ut(e)?Xo(e,dn(l,1,Ut,!0)):[]}),Pm=nt(function(e,l){var S=Xn(l);return Ut(S)&&(S=o),Ut(e)?Xo(e,dn(l,1,Ut,!0),Fe(S,2)):[]}),Wm=nt(function(e,l){var S=Xn(l);return Ut(S)&&(S=o),Ut(e)?Xo(e,dn(l,1,Ut,!0),o,S):[]});function Bm(e,l,S){var N=e==null?0:e.length;return N?(l=S||l===o?1:Xe(l),Qn(e,l<0?0:l,N)):[]}function zm(e,l,S){var N=e==null?0:e.length;return N?(l=S||l===o?1:Xe(l),l=N-l,Qn(e,0,l<0?0:l)):[]}function Hm(e,l){return e&&e.length?aa(e,Fe(l,3),!0,!0):[]}function Um(e,l){return e&&e.length?aa(e,Fe(l,3),!0):[]}function Vm(e,l,S,N){var W=e==null?0:e.length;return W?(S&&typeof S!="number"&&kn(e,l,S)&&(S=0,N=W),Ng(e,l,S,N)):[]}function fh(e,l,S){var N=e==null?0:e.length;if(!N)return-1;var W=S==null?0:Xe(S);return W<0&&(W=rn(N+W,0)),yr(e,Fe(l,3),W)}function ph(e,l,S){var N=e==null?0:e.length;if(!N)return-1;var W=N-1;return S!==o&&(W=Xe(S),W=S<0?rn(N+W,0):vn(W,N-1)),yr(e,Fe(l,3),W,!0)}function gh(e){var l=e==null?0:e.length;return l?dn(e,1):[]}function jm(e){var l=e==null?0:e.length;return l?dn(e,F):[]}function Gm(e,l){var S=e==null?0:e.length;return S?(l=l===o?1:Xe(l),dn(e,l)):[]}function Km(e){for(var l=-1,S=e==null?0:e.length,N={};++l<S;){var W=e[l];N[W[0]]=W[1]}return N}function mh(e){return e&&e.length?e[0]:o}function Ym(e,l,S){var N=e==null?0:e.length;if(!N)return-1;var W=S==null?0:Xe(S);return W<0&&(W=rn(N+W,0)),Mi(e,l,W)}function qm(e){var l=e==null?0:e.length;return l?Qn(e,0,-1):[]}var Zm=nt(function(e){var l=Tt(e,Ml);return l.length&&l[0]===e[0]?wl(l):[]}),Qm=nt(function(e){var l=Xn(e),S=Tt(e,Ml);return l===Xn(S)?l=o:S.pop(),S.length&&S[0]===e[0]?wl(S,Fe(l,2)):[]}),Xm=nt(function(e){var l=Xn(e),S=Tt(e,Ml);return l=typeof l=="function"?l:o,l&&S.pop(),S.length&&S[0]===e[0]?wl(S,o,l):[]});function Jm(e,l){return e==null?"":qp.call(e,l)}function Xn(e){var l=e==null?0:e.length;return l?e[l-1]:o}function ev(e,l,S){var N=e==null?0:e.length;if(!N)return-1;var W=N;return S!==o&&(W=Xe(S),W=W<0?rn(N+W,0):vn(W,N-1)),l===l?yt(e,l,W):yr(e,zo,W,!0)}function tv(e,l){return e&&e.length?Au(e,Xe(l)):o}var nv=nt(vh);function vh(e,l){return e&&e.length&&l&&l.length?Sl(e,l):e}function iv(e,l,S){return e&&e.length&&l&&l.length?Sl(e,l,Fe(S,2)):e}function rv(e,l,S){return e&&e.length&&l&&l.length?Sl(e,l,o,S):e}var ov=Oi(function(e,l){var S=e==null?0:e.length,N=gl(e,l);return Lu(e,Tt(l,function(W){return Di(W,S)?+W:W}).sort(Bu)),N});function sv(e,l){var S=[];if(!(e&&e.length))return S;var N=-1,W=[],V=e.length;for(l=Fe(l,3);++N<V;){var Z=e[N];l(Z,N,e)&&(S.push(Z),W.push(N))}return Lu(e,W),S}function Ul(e){return e==null?e:Jp.call(e)}function av(e,l,S){var N=e==null?0:e.length;return N?(S&&typeof S!="number"&&kn(e,l,S)?(l=0,S=N):(l=l==null?0:Xe(l),S=S===o?N:Xe(S)),Qn(e,l,S)):[]}function lv(e,l){return sa(e,l)}function cv(e,l,S){return $l(e,l,Fe(S,2))}function uv(e,l){var S=e==null?0:e.length;if(S){var N=sa(e,l);if(N<S&&si(e[N],l))return N}return-1}function hv(e,l){return sa(e,l,!0)}function dv(e,l,S){return $l(e,l,Fe(S,2),!0)}function fv(e,l){var S=e==null?0:e.length;if(S){var N=sa(e,l,!0)-1;if(si(e[N],l))return N}return-1}function pv(e){return e&&e.length?Ru(e):[]}function gv(e,l){return e&&e.length?Ru(e,Fe(l,2)):[]}function mv(e){var l=e==null?0:e.length;return l?Qn(e,1,l):[]}function vv(e,l,S){return e&&e.length?(l=S||l===o?1:Xe(l),Qn(e,0,l<0?0:l)):[]}function yv(e,l,S){var N=e==null?0:e.length;return N?(l=S||l===o?1:Xe(l),l=N-l,Qn(e,l<0?0:l,N)):[]}function wv(e,l){return e&&e.length?aa(e,Fe(l,3),!1,!0):[]}function bv(e,l){return e&&e.length?aa(e,Fe(l,3)):[]}var xv=nt(function(e){return rr(dn(e,1,Ut,!0))}),_v=nt(function(e){var l=Xn(e);return Ut(l)&&(l=o),rr(dn(e,1,Ut,!0),Fe(l,2))}),Sv=nt(function(e){var l=Xn(e);return l=typeof l=="function"?l:o,rr(dn(e,1,Ut,!0),o,l)});function kv(e){return e&&e.length?rr(e):[]}function Cv(e,l){return e&&e.length?rr(e,Fe(l,2)):[]}function $v(e,l){return l=typeof l=="function"?l:o,e&&e.length?rr(e,o,l):[]}function Vl(e){if(!(e&&e.length))return[];var l=0;return e=Tn(e,function(S){if(Ut(S))return l=rn(S.length,l),!0}),Bt(l,function(S){return Tt(e,Uo(S))})}function yh(e,l){if(!(e&&e.length))return[];var S=Vl(e);return l==null?S:Tt(S,function(N){return Et(l,o,N)})}var Av=nt(function(e,l){return Ut(e)?Xo(e,l):[]}),Tv=nt(function(e){return Tl(Tn(e,Ut))}),Mv=nt(function(e){var l=Xn(e);return Ut(l)&&(l=o),Tl(Tn(e,Ut),Fe(l,2))}),Lv=nt(function(e){var l=Xn(e);return l=typeof l=="function"?l:o,Tl(Tn(e,Ut),o,l)}),Ev=nt(Vl);function Rv(e,l){return Nu(e||[],l||[],Qo)}function Iv(e,l){return Nu(e||[],l||[],ts)}var Ov=nt(function(e){var l=e.length,S=l>1?e[l-1]:o;return S=typeof S=="function"?(e.pop(),S):o,yh(e,S)});function wh(e){var l=U(e);return l.__chain__=!0,l}function Dv(e,l){return l(e),e}function ma(e,l){return l(e)}var Nv=Oi(function(e){var l=e.length,S=l?e[0]:0,N=this.__wrapped__,W=function(V){return gl(V,e)};return l>1||this.__actions__.length||!(N instanceof lt)||!Di(S)?this.thru(W):(N=N.slice(S,+S+(l?1:0)),N.__actions__.push({func:ma,args:[W],thisArg:o}),new qn(N,this.__chain__).thru(function(V){return l&&!V.length&&V.push(o),V}))});function Fv(){return wh(this)}function Pv(){return new qn(this.value(),this.__chain__)}function Wv(){this.__values__===o&&(this.__values__=Ih(this.value()));var e=this.__index__>=this.__values__.length,l=e?o:this.__values__[this.__index__++];return{done:e,value:l}}function Bv(){return this}function zv(e){for(var l,S=this;S instanceof ta;){var N=dh(S);N.__index__=0,N.__values__=o,l?W.__wrapped__=N:l=N;var W=N;S=S.__wrapped__}return W.__wrapped__=e,l}function Hv(){var e=this.__wrapped__;if(e instanceof lt){var l=e;return this.__actions__.length&&(l=new lt(this)),l=l.reverse(),l.__actions__.push({func:ma,args:[Ul],thisArg:o}),new qn(l,this.__chain__)}return this.thru(Ul)}function Uv(){return Du(this.__wrapped__,this.__actions__)}var Vv=la(function(e,l,S){wt.call(e,S)?++e[S]:Ri(e,S,1)});function jv(e,l,S){var N=Ye(e)?Ji:Dg;return S&&kn(e,l,S)&&(l=o),N(e,Fe(l,3))}function Gv(e,l){var S=Ye(e)?Tn:yu;return S(e,Fe(l,3))}var Kv=Gu(fh),Yv=Gu(ph);function qv(e,l){return dn(va(e,l),1)}function Zv(e,l){return dn(va(e,l),F)}function Qv(e,l,S){return S=S===o?1:Xe(S),dn(va(e,l),S)}function bh(e,l){var S=Ye(e)?xn:ir;return S(e,Fe(l,3))}function xh(e,l){var S=Ye(e)?Ps:vu;return S(e,Fe(l,3))}var Xv=la(function(e,l,S){wt.call(e,S)?e[S].push(l):Ri(e,S,[l])});function Jv(e,l,S,N){e=En(e)?e:oo(e),S=S&&!N?Xe(S):0;var W=e.length;return S<0&&(S=rn(W+S,0)),_a(e)?S<=W&&e.indexOf(l,S)>-1:!!W&&Mi(e,l,S)>-1}var ey=nt(function(e,l,S){var N=-1,W=typeof l=="function",V=En(e)?se(e.length):[];return ir(e,function(Z){V[++N]=W?Et(l,Z,S):Jo(Z,l,S)}),V}),ty=la(function(e,l,S){Ri(e,S,l)});function va(e,l){var S=Ye(e)?Tt:ku;return S(e,Fe(l,3))}function ny(e,l,S,N){return e==null?[]:(Ye(l)||(l=l==null?[]:[l]),S=N?o:S,Ye(S)||(S=S==null?[]:[S]),Tu(e,l,S))}var iy=la(function(e,l,S){e[S?0:1].push(l)},function(){return[[],[]]});function ry(e,l,S){var N=Ye(e)?Yn:Vo,W=arguments.length<3;return N(e,Fe(l,4),S,W,ir)}function oy(e,l,S){var N=Ye(e)?vr:Vo,W=arguments.length<3;return N(e,Fe(l,4),S,W,vu)}function sy(e,l){var S=Ye(e)?Tn:yu;return S(e,ba(Fe(l,3)))}function ay(e){var l=Ye(e)?fu:Jg;return l(e)}function ly(e,l,S){(S?kn(e,l,S):l===o)?l=1:l=Xe(l);var N=Ye(e)?Lg:em;return N(e,l)}function cy(e){var l=Ye(e)?Eg:nm;return l(e)}function uy(e){if(e==null)return 0;if(En(e))return _a(e)?Ze(e):e.length;var l=yn(e);return l==it||l==Pt?e.size:xl(e).length}function hy(e,l,S){var N=Ye(e)?Yr:im;return S&&kn(e,l,S)&&(l=o),N(e,Fe(l,3))}var dy=nt(function(e,l){if(e==null)return[];var S=l.length;return S>1&&kn(e,l[0],l[1])?l=[]:S>2&&kn(l[0],l[1],l[2])&&(l=[l[0]]),Tu(e,dn(l,1),[])}),ya=Gp||function(){return en.Date.now()};function fy(e,l){if(typeof l!="function")throw new nn(y);return e=Xe(e),function(){if(--e<1)return l.apply(this,arguments)}}function _h(e,l,S){return l=S?o:l,l=e&&l==null?e.length:l,Ii(e,$,o,o,o,o,l)}function Sh(e,l){var S;if(typeof l!="function")throw new nn(y);return e=Xe(e),function(){return--e>0&&(S=l.apply(this,arguments)),e<=1&&(l=o),S}}var jl=nt(function(e,l,S){var N=c;if(S.length){var W=xe(S,io(jl));N|=b}return Ii(e,N,l,S,W)}),kh=nt(function(e,l,S){var N=c|p;if(S.length){var W=xe(S,io(kh));N|=b}return Ii(l,N,e,S,W)});function Ch(e,l,S){l=S?o:l;var N=Ii(e,I,o,o,o,o,o,l);return N.placeholder=Ch.placeholder,N}function $h(e,l,S){l=S?o:l;var N=Ii(e,C,o,o,o,o,o,l);return N.placeholder=$h.placeholder,N}function Ah(e,l,S){var N,W,V,Z,J,re,pe=0,ge=!1,me=!1,Ce=!0;if(typeof e!="function")throw new nn(y);l=Jn(l)||0,Nt(S)&&(ge=!!S.leading,me="maxWait"in S,V=me?rn(Jn(S.maxWait)||0,l):V,Ce="trailing"in S?!!S.trailing:Ce);function Le(Vt){var ai=N,Pi=W;return N=W=o,pe=Vt,Z=e.apply(Pi,ai),Z}function Pe(Vt){return pe=Vt,J=rs(at,l),ge?Le(Vt):Z}function Je(Vt){var ai=Vt-re,Pi=Vt-pe,Gh=l-ai;return me?vn(Gh,V-Pi):Gh}function We(Vt){var ai=Vt-re,Pi=Vt-pe;return re===o||ai>=l||ai<0||me&&Pi>=V}function at(){var Vt=ya();if(We(Vt))return ht(Vt);J=rs(at,Je(Vt))}function ht(Vt){return J=o,Ce&&N?Le(Vt):(N=W=o,Z)}function Wn(){J!==o&&Fu(J),pe=0,N=re=W=J=o}function Cn(){return J===o?Z:ht(ya())}function Bn(){var Vt=ya(),ai=We(Vt);if(N=arguments,W=this,re=Vt,ai){if(J===o)return Pe(re);if(me)return Fu(J),J=rs(at,l),Le(re)}return J===o&&(J=rs(at,l)),Z}return Bn.cancel=Wn,Bn.flush=Cn,Bn}var py=nt(function(e,l){return mu(e,1,l)}),gy=nt(function(e,l,S){return mu(e,Jn(l)||0,S)});function my(e){return Ii(e,O)}function wa(e,l){if(typeof e!="function"||l!=null&&typeof l!="function")throw new nn(y);var S=function(){var N=arguments,W=l?l.apply(this,N):N[0],V=S.cache;if(V.has(W))return V.get(W);var Z=e.apply(this,N);return S.cache=V.set(W,Z)||V,Z};return S.cache=new(wa.Cache||Ei),S}wa.Cache=Ei;function ba(e){if(typeof e!="function")throw new nn(y);return function(){var l=arguments;switch(l.length){case 0:return!e.call(this);case 1:return!e.call(this,l[0]);case 2:return!e.call(this,l[0],l[1]);case 3:return!e.call(this,l[0],l[1],l[2])}return!e.apply(this,l)}}function vy(e){return Sh(2,e)}var yy=rm(function(e,l){l=l.length==1&&Ye(l[0])?Tt(l[0],mn(Fe())):Tt(dn(l,1),mn(Fe()));var S=l.length;return nt(function(N){for(var W=-1,V=vn(N.length,S);++W<V;)N[W]=l[W].call(this,N[W]);return Et(e,this,N)})}),Gl=nt(function(e,l){var S=xe(l,io(Gl));return Ii(e,b,o,l,S)}),Th=nt(function(e,l){var S=xe(l,io(Th));return Ii(e,m,o,l,S)}),wy=Oi(function(e,l){return Ii(e,L,o,o,o,l)});function by(e,l){if(typeof e!="function")throw new nn(y);return l=l===o?l:Xe(l),nt(e,l)}function xy(e,l){if(typeof e!="function")throw new nn(y);return l=l==null?0:rn(Xe(l),0),nt(function(S){var N=S[l],W=sr(S,0,l);return N&&gn(W,N),Et(e,this,W)})}function _y(e,l,S){var N=!0,W=!0;if(typeof e!="function")throw new nn(y);return Nt(S)&&(N="leading"in S?!!S.leading:N,W="trailing"in S?!!S.trailing:W),Ah(e,l,{leading:N,maxWait:l,trailing:W})}function Sy(e){return _h(e,1)}function ky(e,l){return Gl(Ll(l),e)}function Cy(){if(!arguments.length)return[];var e=arguments[0];return Ye(e)?e:[e]}function $y(e){return Zn(e,i)}function Ay(e,l){return l=typeof l=="function"?l:o,Zn(e,i,l)}function Ty(e){return Zn(e,r|i)}function My(e,l){return l=typeof l=="function"?l:o,Zn(e,r|i,l)}function Ly(e,l){return l==null||gu(e,l,un(l))}function si(e,l){return e===l||e!==e&&l!==l}var Ey=da(yl),Ry=da(function(e,l){return e>=l}),Ar=xu(function(){return arguments}())?xu:function(e){return zt(e)&&wt.call(e,"callee")&&!au.call(e,"callee")},Ye=se.isArray,Iy=Ns?mn(Ns):zg;function En(e){return e!=null&&xa(e.length)&&!Ni(e)}function Ut(e){return zt(e)&&En(e)}function Oy(e){return e===!0||e===!1||zt(e)&&Sn(e)==he}var ar=Yp||ic,Dy=Kn?mn(Kn):Hg;function Ny(e){return zt(e)&&e.nodeType===1&&!os(e)}function Fy(e){if(e==null)return!0;if(En(e)&&(Ye(e)||typeof e=="string"||typeof e.splice=="function"||ar(e)||ro(e)||Ar(e)))return!e.length;var l=yn(e);if(l==it||l==Pt)return!e.size;if(is(e))return!xl(e).length;for(var S in e)if(wt.call(e,S))return!1;return!0}function Py(e,l){return es(e,l)}function Wy(e,l,S){S=typeof S=="function"?S:o;var N=S?S(e,l):o;return N===o?es(e,l,o,S):!!N}function Kl(e){if(!zt(e))return!1;var l=Sn(e);return l==Ae||l==ye||typeof e.message=="string"&&typeof e.name=="string"&&!os(e)}function By(e){return typeof e=="number"&&cu(e)}function Ni(e){if(!Nt(e))return!1;var l=Sn(e);return l==ze||l==$t||l==ae||l==hi}function Mh(e){return typeof e=="number"&&e==Xe(e)}function xa(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=B}function Nt(e){var l=typeof e;return e!=null&&(l=="object"||l=="function")}function zt(e){return e!=null&&typeof e=="object"}var Lh=ii?mn(ii):Vg;function zy(e,l){return e===l||bl(e,l,Fl(l))}function Hy(e,l,S){return S=typeof S=="function"?S:o,bl(e,l,Fl(l),S)}function Uy(e){return Eh(e)&&e!=+e}function Vy(e){if(Am(e))throw new Ee(x);return _u(e)}function jy(e){return e===null}function Gy(e){return e==null}function Eh(e){return typeof e=="number"||zt(e)&&Sn(e)==st}function os(e){if(!zt(e)||Sn(e)!=xt)return!1;var l=Ys(e);if(l===null)return!0;var S=wt.call(l,"constructor")&&l.constructor;return typeof S=="function"&&S instanceof S&&Vs.call(S)==Hp}var Yl=yi?mn(yi):jg;function Ky(e){return Mh(e)&&e>=-B&&e<=B}var Rh=Ti?mn(Ti):Gg;function _a(e){return typeof e=="string"||!Ye(e)&&zt(e)&&Sn(e)==Re}function Pn(e){return typeof e=="symbol"||zt(e)&&Sn(e)==De}var ro=Fs?mn(Fs):Kg;function Yy(e){return e===o}function qy(e){return zt(e)&&yn(e)==Ne}function Zy(e){return zt(e)&&Sn(e)==ue}var Qy=da(_l),Xy=da(function(e,l){return e<=l});function Ih(e){if(!e)return[];if(En(e))return _a(e)?Be(e):Ln(e);if(Go&&e[Go])return fe(e[Go]());var l=yn(e),S=l==it?ve:l==Pt?ke:oo;return S(e)}function Fi(e){if(!e)return e===0?e:0;if(e=Jn(e),e===F||e===-F){var l=e<0?-1:1;return l*H}return e===e?e:0}function Xe(e){var l=Fi(e),S=l%1;return l===l?S?l-S:l:0}function Oh(e){return e?Sr(Xe(e),0,Y):0}function Jn(e){if(typeof e=="number")return e;if(Pn(e))return j;if(Nt(e)){var l=typeof e.valueOf=="function"?e.valueOf():e;e=Nt(l)?l+"":l}if(typeof e!="string")return e===0?e:+e;e=Ot(e);var S=pi.test(e);return S||jt.test(e)?_t(e.slice(2),S?2:8):ks.test(e)?j:+e}function Dh(e){return bi(e,Rn(e))}function Jy(e){return e?Sr(Xe(e),-B,B):e===0?e:0}function mt(e){return e==null?"":Fn(e)}var ew=to(function(e,l){if(is(l)||En(l)){bi(l,un(l),e);return}for(var S in l)wt.call(l,S)&&Qo(e,S,l[S])}),Nh=to(function(e,l){bi(l,Rn(l),e)}),Sa=to(function(e,l,S,N){bi(l,Rn(l),e,N)}),tw=to(function(e,l,S,N){bi(l,un(l),e,N)}),nw=Oi(gl);function iw(e,l){var S=eo(e);return l==null?S:pu(S,l)}var rw=nt(function(e,l){e=Ke(e);var S=-1,N=l.length,W=N>2?l[2]:o;for(W&&kn(l[0],l[1],W)&&(N=1);++S<N;)for(var V=l[S],Z=Rn(V),J=-1,re=Z.length;++J<re;){var pe=Z[J],ge=e[pe];(ge===o||si(ge,Qr[pe])&&!wt.call(e,pe))&&(e[pe]=V[pe])}return e}),ow=nt(function(e){return e.push(o,Ju),Et(Fh,o,e)});function sw(e,l){return Bo(e,Fe(l,3),wi)}function aw(e,l){return Bo(e,Fe(l,3),vl)}function lw(e,l){return e==null?e:ml(e,Fe(l,3),Rn)}function cw(e,l){return e==null?e:wu(e,Fe(l,3),Rn)}function uw(e,l){return e&&wi(e,Fe(l,3))}function hw(e,l){return e&&vl(e,Fe(l,3))}function dw(e){return e==null?[]:ra(e,un(e))}function fw(e){return e==null?[]:ra(e,Rn(e))}function ql(e,l,S){var N=e==null?o:kr(e,l);return N===o?S:N}function pw(e,l){return e!=null&&nh(e,l,Fg)}function Zl(e,l){return e!=null&&nh(e,l,Pg)}var gw=Yu(function(e,l,S){l!=null&&typeof l.toString!="function"&&(l=js.call(l)),e[l]=S},Xl(In)),mw=Yu(function(e,l,S){l!=null&&typeof l.toString!="function"&&(l=js.call(l)),wt.call(e,l)?e[l].push(S):e[l]=[S]},Fe),vw=nt(Jo);function un(e){return En(e)?du(e):xl(e)}function Rn(e){return En(e)?du(e,!0):Yg(e)}function yw(e,l){var S={};return l=Fe(l,3),wi(e,function(N,W,V){Ri(S,l(N,W,V),N)}),S}function ww(e,l){var S={};return l=Fe(l,3),wi(e,function(N,W,V){Ri(S,W,l(N,W,V))}),S}var bw=to(function(e,l,S){oa(e,l,S)}),Fh=to(function(e,l,S,N){oa(e,l,S,N)}),xw=Oi(function(e,l){var S={};if(e==null)return S;var N=!1;l=Tt(l,function(V){return V=or(V,e),N||(N=V.length>1),V}),bi(e,Dl(e),S),N&&(S=Zn(S,r|n|i,gm));for(var W=l.length;W--;)Al(S,l[W]);return S});function _w(e,l){return Ph(e,ba(Fe(l)))}var Sw=Oi(function(e,l){return e==null?{}:Zg(e,l)});function Ph(e,l){if(e==null)return{};var S=Tt(Dl(e),function(N){return[N]});return l=Fe(l),Mu(e,S,function(N,W){return l(N,W[0])})}function kw(e,l,S){l=or(l,e);var N=-1,W=l.length;for(W||(W=1,e=o);++N<W;){var V=e==null?o:e[xi(l[N])];V===o&&(N=W,V=S),e=Ni(V)?V.call(e):V}return e}function Cw(e,l,S){return e==null?e:ts(e,l,S)}function $w(e,l,S,N){return N=typeof N=="function"?N:o,e==null?e:ts(e,l,S,N)}var Wh=Qu(un),Bh=Qu(Rn);function Aw(e,l,S){var N=Ye(e),W=N||ar(e)||ro(e);if(l=Fe(l,4),S==null){var V=e&&e.constructor;W?S=N?new V:[]:Nt(e)?S=Ni(V)?eo(Ys(e)):{}:S={}}return(W?xn:wi)(e,function(Z,J,re){return l(S,Z,J,re)}),S}function Tw(e,l){return e==null?!0:Al(e,l)}function Mw(e,l,S){return e==null?e:Ou(e,l,Ll(S))}function Lw(e,l,S,N){return N=typeof N=="function"?N:o,e==null?e:Ou(e,l,Ll(S),N)}function oo(e){return e==null?[]:wr(e,un(e))}function Ew(e){return e==null?[]:wr(e,Rn(e))}function Rw(e,l,S){return S===o&&(S=l,l=o),S!==o&&(S=Jn(S),S=S===S?S:0),l!==o&&(l=Jn(l),l=l===l?l:0),Sr(Jn(e),l,S)}function Iw(e,l,S){return l=Fi(l),S===o?(S=l,l=0):S=Fi(S),e=Jn(e),Wg(e,l,S)}function Ow(e,l,S){if(S&&typeof S!="boolean"&&kn(e,l,S)&&(l=S=o),S===o&&(typeof l=="boolean"?(S=l,l=o):typeof e=="boolean"&&(S=e,e=o)),e===o&&l===o?(e=0,l=1):(e=Fi(e),l===o?(l=e,e=0):l=Fi(l)),e>l){var N=e;e=l,l=N}if(S||e%1||l%1){var W=uu();return vn(e+W*(l-e+Yt("1e-"+((W+"").length-1))),l)}return kl(e,l)}var Dw=no(function(e,l,S){return l=l.toLowerCase(),e+(S?zh(l):l)});function zh(e){return Ql(mt(e).toLowerCase())}function Hh(e){return e=mt(e),e&&e.replace(Pr,P).replace(Zi,"")}function Nw(e,l,S){e=mt(e),l=Fn(l);var N=e.length;S=S===o?N:Sr(Xe(S),0,N);var W=S;return S-=l.length,S>=0&&e.slice(S,W)==l}function Fw(e){return e=mt(e),e&&tl.test(e)?e.replace(xs,z):e}function Pw(e){return e=mt(e),e&&Hi.test(e)?e.replace(fi,"\\$&"):e}var Ww=no(function(e,l,S){return e+(S?"-":"")+l.toLowerCase()}),Bw=no(function(e,l,S){return e+(S?" ":"")+l.toLowerCase()}),zw=ju("toLowerCase");function Hw(e,l,S){e=mt(e),l=Xe(l);var N=l?Ze(e):0;if(!l||N>=l)return e;var W=(l-N)/2;return ha(Xs(W),S)+e+ha(Qs(W),S)}function Uw(e,l,S){e=mt(e),l=Xe(l);var N=l?Ze(e):0;return l&&N<l?e+ha(l-N,S):e}function Vw(e,l,S){e=mt(e),l=Xe(l);var N=l?Ze(e):0;return l&&N<l?ha(l-N,S)+e:e}function jw(e,l,S){return S||l==null?l=0:l&&(l=+l),Xp(mt(e).replace(fn,""),l||0)}function Gw(e,l,S){return(S?kn(e,l,S):l===o)?l=1:l=Xe(l),Cl(mt(e),l)}function Kw(){var e=arguments,l=mt(e[0]);return e.length<3?l:l.replace(e[1],e[2])}var Yw=no(function(e,l,S){return e+(S?"_":"")+l.toLowerCase()});function qw(e,l,S){return S&&typeof S!="number"&&kn(e,l,S)&&(l=S=o),S=S===o?Y:S>>>0,S?(e=mt(e),e&&(typeof l=="string"||l!=null&&!Yl(l))&&(l=Fn(l),!l&&te(e))?sr(Be(e),0,S):e.split(l,S)):[]}var Zw=no(function(e,l,S){return e+(S?" ":"")+Ql(l)});function Qw(e,l,S){return e=mt(e),S=S==null?0:Sr(Xe(S),0,e.length),l=Fn(l),e.slice(S,S+l.length)==l}function Xw(e,l,S){var N=U.templateSettings;S&&kn(e,l,S)&&(l=o),e=mt(e),l=Sa({},l,N,Xu);var W=Sa({},l.imports,N.imports,Xu),V=un(W),Z=wr(W,V),J,re,pe=0,ge=l.interpolate||pn,me="__p += '",Ce=tn((l.escape||pn).source+"|"+ge.source+"|"+(ge===Ie?sl:pn).source+"|"+(l.evaluate||pn).source+"|$","g"),Le="//# sourceURL="+(wt.call(l,"sourceURL")?(l.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Os+"]")+`
1392
+ `;e.replace(Ce,function(We,at,ht,Wn,Cn,Bn){return ht||(ht=Wn),me+=e.slice(pe,Bn).replace(hr,G),at&&(J=!0,me+=`' +
1393
+ __e(`+at+`) +
1394
+ '`),Cn&&(re=!0,me+=`';
1395
+ `+Cn+`;
1396
+ __p += '`),ht&&(me+=`' +
1397
+ ((__t = (`+ht+`)) == null ? '' : __t) +
1398
+ '`),pe=Bn+We.length,We}),me+=`';
1399
+ `;var Pe=wt.call(l,"variable")&&l.variable;if(!Pe)me=`with (obj) {
1400
+ `+me+`
1401
+ }
1402
+ `;else if(ol.test(Pe))throw new Ee(_);me=(re?me.replace(Si,""):me).replace($n,"$1").replace(xo,"$1;"),me="function("+(Pe||"obj")+`) {
1403
+ `+(Pe?"":`obj || (obj = {});
1404
+ `)+"var __t, __p = ''"+(J?", __e = _.escape":"")+(re?`, __j = Array.prototype.join;
1405
+ function print() { __p += __j.call(arguments, '') }
1406
+ `:`;
1407
+ `)+me+`return __p
1408
+ }`;var Je=Vh(function(){return je(V,Le+"return "+me).apply(o,Z)});if(Je.source=me,Kl(Je))throw Je;return Je}function Jw(e){return mt(e).toLowerCase()}function e0(e){return mt(e).toUpperCase()}function t0(e,l,S){if(e=mt(e),e&&(S||l===o))return Ot(e);if(!e||!(l=Fn(l)))return e;var N=Be(e),W=Be(l),V=zs(N,W),Z=Hs(N,W)+1;return sr(N,V,Z).join("")}function n0(e,l,S){if(e=mt(e),e&&(S||l===o))return e.slice(0,Ge(e)+1);if(!e||!(l=Fn(l)))return e;var N=Be(e),W=Hs(N,Be(l))+1;return sr(N,0,W).join("")}function i0(e,l,S){if(e=mt(e),e&&(S||l===o))return e.replace(fn,"");if(!e||!(l=Fn(l)))return e;var N=Be(e),W=zs(N,Be(l));return sr(N,W).join("")}function r0(e,l){var S=A,N=E;if(Nt(l)){var W="separator"in l?l.separator:W;S="length"in l?Xe(l.length):S,N="omission"in l?Fn(l.omission):N}e=mt(e);var V=e.length;if(te(e)){var Z=Be(e);V=Z.length}if(S>=V)return e;var J=S-Ze(N);if(J<1)return N;var re=Z?sr(Z,0,J).join(""):e.slice(0,J);if(W===o)return re+N;if(Z&&(J+=re.length-J),Yl(W)){if(e.slice(J).search(W)){var pe,ge=re;for(W.global||(W=tn(W.source,mt(ji.exec(W))+"g")),W.lastIndex=0;pe=W.exec(ge);)var me=pe.index;re=re.slice(0,me===o?J:me)}}else if(e.indexOf(Fn(W),J)!=J){var Ce=re.lastIndexOf(W);Ce>-1&&(re=re.slice(0,Ce))}return re+N}function o0(e){return e=mt(e),e&&el.test(e)?e.replace(_o,Me):e}var s0=no(function(e,l,S){return e+(S?" ":"")+l.toUpperCase()}),Ql=ju("toUpperCase");function Uh(e,l,S){return e=mt(e),l=S?o:l,l===o?oe(e)?Rt(e):qr(e):e.match(l)||[]}var Vh=nt(function(e,l){try{return Et(e,o,l)}catch(S){return Kl(S)?S:new Ee(S)}}),a0=Oi(function(e,l){return xn(l,function(S){S=xi(S),Ri(e,S,jl(e[S],e))}),e});function l0(e){var l=e==null?0:e.length,S=Fe();return e=l?Tt(e,function(N){if(typeof N[1]!="function")throw new nn(y);return[S(N[0]),N[1]]}):[],nt(function(N){for(var W=-1;++W<l;){var V=e[W];if(Et(V[0],this,N))return Et(V[1],this,N)}})}function c0(e){return Og(Zn(e,r))}function Xl(e){return function(){return e}}function u0(e,l){return e==null||e!==e?l:e}var h0=Ku(),d0=Ku(!0);function In(e){return e}function Jl(e){return Su(typeof e=="function"?e:Zn(e,r))}function f0(e){return Cu(Zn(e,r))}function p0(e,l){return $u(e,Zn(l,r))}var g0=nt(function(e,l){return function(S){return Jo(S,e,l)}}),m0=nt(function(e,l){return function(S){return Jo(e,S,l)}});function ec(e,l,S){var N=un(l),W=ra(l,N);S==null&&!(Nt(l)&&(W.length||!N.length))&&(S=l,l=e,e=this,W=ra(l,un(l)));var V=!(Nt(S)&&"chain"in S)||!!S.chain,Z=Ni(e);return xn(W,function(J){var re=l[J];e[J]=re,Z&&(e.prototype[J]=function(){var pe=this.__chain__;if(V||pe){var ge=e(this.__wrapped__),me=ge.__actions__=Ln(this.__actions__);return me.push({func:re,args:arguments,thisArg:e}),ge.__chain__=pe,ge}return re.apply(e,gn([this.value()],arguments))})}),e}function v0(){return en._===this&&(en._=Up),this}function tc(){}function y0(e){return e=Xe(e),nt(function(l){return Au(l,e)})}var w0=Rl(Tt),b0=Rl(Ji),x0=Rl(Yr);function jh(e){return Wl(e)?Uo(xi(e)):Qg(e)}function _0(e){return function(l){return e==null?o:kr(e,l)}}var S0=qu(),k0=qu(!0);function nc(){return[]}function ic(){return!1}function C0(){return{}}function $0(){return""}function A0(){return!0}function T0(e,l){if(e=Xe(e),e<1||e>B)return[];var S=Y,N=vn(e,Y);l=Fe(l),e-=Y;for(var W=Bt(N,l);++S<e;)l(S);return W}function M0(e){return Ye(e)?Tt(e,xi):Pn(e)?[e]:Ln(hh(mt(e)))}function L0(e){var l=++zp;return mt(e)+l}var E0=ua(function(e,l){return e+l},0),R0=Il("ceil"),I0=ua(function(e,l){return e/l},1),O0=Il("floor");function D0(e){return e&&e.length?ia(e,In,yl):o}function N0(e,l){return e&&e.length?ia(e,Fe(l,2),yl):o}function F0(e){return Ho(e,In)}function P0(e,l){return Ho(e,Fe(l,2))}function W0(e){return e&&e.length?ia(e,In,_l):o}function B0(e,l){return e&&e.length?ia(e,Fe(l,2),_l):o}var z0=ua(function(e,l){return e*l},1),H0=Il("round"),U0=ua(function(e,l){return e-l},0);function V0(e){return e&&e.length?tr(e,In):0}function j0(e,l){return e&&e.length?tr(e,Fe(l,2)):0}return U.after=fy,U.ary=_h,U.assign=ew,U.assignIn=Nh,U.assignInWith=Sa,U.assignWith=tw,U.at=nw,U.before=Sh,U.bind=jl,U.bindAll=a0,U.bindKey=kh,U.castArray=Cy,U.chain=wh,U.chunk=Om,U.compact=Dm,U.concat=Nm,U.cond=l0,U.conforms=c0,U.constant=Xl,U.countBy=Vv,U.create=iw,U.curry=Ch,U.curryRight=$h,U.debounce=Ah,U.defaults=rw,U.defaultsDeep=ow,U.defer=py,U.delay=gy,U.difference=Fm,U.differenceBy=Pm,U.differenceWith=Wm,U.drop=Bm,U.dropRight=zm,U.dropRightWhile=Hm,U.dropWhile=Um,U.fill=Vm,U.filter=Gv,U.flatMap=qv,U.flatMapDeep=Zv,U.flatMapDepth=Qv,U.flatten=gh,U.flattenDeep=jm,U.flattenDepth=Gm,U.flip=my,U.flow=h0,U.flowRight=d0,U.fromPairs=Km,U.functions=dw,U.functionsIn=fw,U.groupBy=Xv,U.initial=qm,U.intersection=Zm,U.intersectionBy=Qm,U.intersectionWith=Xm,U.invert=gw,U.invertBy=mw,U.invokeMap=ey,U.iteratee=Jl,U.keyBy=ty,U.keys=un,U.keysIn=Rn,U.map=va,U.mapKeys=yw,U.mapValues=ww,U.matches=f0,U.matchesProperty=p0,U.memoize=wa,U.merge=bw,U.mergeWith=Fh,U.method=g0,U.methodOf=m0,U.mixin=ec,U.negate=ba,U.nthArg=y0,U.omit=xw,U.omitBy=_w,U.once=vy,U.orderBy=ny,U.over=w0,U.overArgs=yy,U.overEvery=b0,U.overSome=x0,U.partial=Gl,U.partialRight=Th,U.partition=iy,U.pick=Sw,U.pickBy=Ph,U.property=jh,U.propertyOf=_0,U.pull=nv,U.pullAll=vh,U.pullAllBy=iv,U.pullAllWith=rv,U.pullAt=ov,U.range=S0,U.rangeRight=k0,U.rearg=wy,U.reject=sy,U.remove=sv,U.rest=by,U.reverse=Ul,U.sampleSize=ly,U.set=Cw,U.setWith=$w,U.shuffle=cy,U.slice=av,U.sortBy=dy,U.sortedUniq=pv,U.sortedUniqBy=gv,U.split=qw,U.spread=xy,U.tail=mv,U.take=vv,U.takeRight=yv,U.takeRightWhile=wv,U.takeWhile=bv,U.tap=Dv,U.throttle=_y,U.thru=ma,U.toArray=Ih,U.toPairs=Wh,U.toPairsIn=Bh,U.toPath=M0,U.toPlainObject=Dh,U.transform=Aw,U.unary=Sy,U.union=xv,U.unionBy=_v,U.unionWith=Sv,U.uniq=kv,U.uniqBy=Cv,U.uniqWith=$v,U.unset=Tw,U.unzip=Vl,U.unzipWith=yh,U.update=Mw,U.updateWith=Lw,U.values=oo,U.valuesIn=Ew,U.without=Av,U.words=Uh,U.wrap=ky,U.xor=Tv,U.xorBy=Mv,U.xorWith=Lv,U.zip=Ev,U.zipObject=Rv,U.zipObjectDeep=Iv,U.zipWith=Ov,U.entries=Wh,U.entriesIn=Bh,U.extend=Nh,U.extendWith=Sa,ec(U,U),U.add=E0,U.attempt=Vh,U.camelCase=Dw,U.capitalize=zh,U.ceil=R0,U.clamp=Rw,U.clone=$y,U.cloneDeep=Ty,U.cloneDeepWith=My,U.cloneWith=Ay,U.conformsTo=Ly,U.deburr=Hh,U.defaultTo=u0,U.divide=I0,U.endsWith=Nw,U.eq=si,U.escape=Fw,U.escapeRegExp=Pw,U.every=jv,U.find=Kv,U.findIndex=fh,U.findKey=sw,U.findLast=Yv,U.findLastIndex=ph,U.findLastKey=aw,U.floor=O0,U.forEach=bh,U.forEachRight=xh,U.forIn=lw,U.forInRight=cw,U.forOwn=uw,U.forOwnRight=hw,U.get=ql,U.gt=Ey,U.gte=Ry,U.has=pw,U.hasIn=Zl,U.head=mh,U.identity=In,U.includes=Jv,U.indexOf=Ym,U.inRange=Iw,U.invoke=vw,U.isArguments=Ar,U.isArray=Ye,U.isArrayBuffer=Iy,U.isArrayLike=En,U.isArrayLikeObject=Ut,U.isBoolean=Oy,U.isBuffer=ar,U.isDate=Dy,U.isElement=Ny,U.isEmpty=Fy,U.isEqual=Py,U.isEqualWith=Wy,U.isError=Kl,U.isFinite=By,U.isFunction=Ni,U.isInteger=Mh,U.isLength=xa,U.isMap=Lh,U.isMatch=zy,U.isMatchWith=Hy,U.isNaN=Uy,U.isNative=Vy,U.isNil=Gy,U.isNull=jy,U.isNumber=Eh,U.isObject=Nt,U.isObjectLike=zt,U.isPlainObject=os,U.isRegExp=Yl,U.isSafeInteger=Ky,U.isSet=Rh,U.isString=_a,U.isSymbol=Pn,U.isTypedArray=ro,U.isUndefined=Yy,U.isWeakMap=qy,U.isWeakSet=Zy,U.join=Jm,U.kebabCase=Ww,U.last=Xn,U.lastIndexOf=ev,U.lowerCase=Bw,U.lowerFirst=zw,U.lt=Qy,U.lte=Xy,U.max=D0,U.maxBy=N0,U.mean=F0,U.meanBy=P0,U.min=W0,U.minBy=B0,U.stubArray=nc,U.stubFalse=ic,U.stubObject=C0,U.stubString=$0,U.stubTrue=A0,U.multiply=z0,U.nth=tv,U.noConflict=v0,U.noop=tc,U.now=ya,U.pad=Hw,U.padEnd=Uw,U.padStart=Vw,U.parseInt=jw,U.random=Ow,U.reduce=ry,U.reduceRight=oy,U.repeat=Gw,U.replace=Kw,U.result=kw,U.round=H0,U.runInContext=ne,U.sample=ay,U.size=uy,U.snakeCase=Yw,U.some=hy,U.sortedIndex=lv,U.sortedIndexBy=cv,U.sortedIndexOf=uv,U.sortedLastIndex=hv,U.sortedLastIndexBy=dv,U.sortedLastIndexOf=fv,U.startCase=Zw,U.startsWith=Qw,U.subtract=U0,U.sum=V0,U.sumBy=j0,U.template=Xw,U.times=T0,U.toFinite=Fi,U.toInteger=Xe,U.toLength=Oh,U.toLower=Jw,U.toNumber=Jn,U.toSafeInteger=Jy,U.toString=mt,U.toUpper=e0,U.trim=t0,U.trimEnd=n0,U.trimStart=i0,U.truncate=r0,U.unescape=o0,U.uniqueId=L0,U.upperCase=s0,U.upperFirst=Ql,U.each=bh,U.eachRight=xh,U.first=mh,ec(U,function(){var e={};return wi(U,function(l,S){wt.call(U.prototype,S)||(e[S]=l)}),e}(),{chain:!1}),U.VERSION=h,xn(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){U[e].placeholder=U}),xn(["drop","take"],function(e,l){lt.prototype[e]=function(S){S=S===o?1:rn(Xe(S),0);var N=this.__filtered__&&!l?new lt(this):this.clone();return N.__filtered__?N.__takeCount__=vn(S,N.__takeCount__):N.__views__.push({size:vn(S,Y),type:e+(N.__dir__<0?"Right":"")}),N},lt.prototype[e+"Right"]=function(S){return this.reverse()[e](S).reverse()}}),xn(["filter","map","takeWhile"],function(e,l){var S=l+1,N=S==w||S==D;lt.prototype[e]=function(W){var V=this.clone();return V.__iteratees__.push({iteratee:Fe(W,3),type:S}),V.__filtered__=V.__filtered__||N,V}}),xn(["head","last"],function(e,l){var S="take"+(l?"Right":"");lt.prototype[e]=function(){return this[S](1).value()[0]}}),xn(["initial","tail"],function(e,l){var S="drop"+(l?"":"Right");lt.prototype[e]=function(){return this.__filtered__?new lt(this):this[S](1)}}),lt.prototype.compact=function(){return this.filter(In)},lt.prototype.find=function(e){return this.filter(e).head()},lt.prototype.findLast=function(e){return this.reverse().find(e)},lt.prototype.invokeMap=nt(function(e,l){return typeof e=="function"?new lt(this):this.map(function(S){return Jo(S,e,l)})}),lt.prototype.reject=function(e){return this.filter(ba(Fe(e)))},lt.prototype.slice=function(e,l){e=Xe(e);var S=this;return S.__filtered__&&(e>0||l<0)?new lt(S):(e<0?S=S.takeRight(-e):e&&(S=S.drop(e)),l!==o&&(l=Xe(l),S=l<0?S.dropRight(-l):S.take(l-e)),S)},lt.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},lt.prototype.toArray=function(){return this.take(Y)},wi(lt.prototype,function(e,l){var S=/^(?:filter|find|map|reject)|While$/.test(l),N=/^(?:head|last)$/.test(l),W=U[N?"take"+(l=="last"?"Right":""):l],V=N||/^find/.test(l);W&&(U.prototype[l]=function(){var Z=this.__wrapped__,J=N?[1]:arguments,re=Z instanceof lt,pe=J[0],ge=re||Ye(Z),me=function(at){var ht=W.apply(U,gn([at],J));return N&&Ce?ht[0]:ht};ge&&S&&typeof pe=="function"&&pe.length!=1&&(re=ge=!1);var Ce=this.__chain__,Le=!!this.__actions__.length,Pe=V&&!Ce,Je=re&&!Le;if(!V&&ge){Z=Je?Z:new lt(this);var We=e.apply(Z,J);return We.__actions__.push({func:ma,args:[me],thisArg:o}),new qn(We,Ce)}return Pe&&Je?e.apply(this,J):(We=this.thru(me),Pe?N?We.value()[0]:We.value():We)})}),xn(["pop","push","shift","sort","splice","unshift"],function(e){var l=Nn[e],S=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",N=/^(?:pop|shift)$/.test(e);U.prototype[e]=function(){var W=arguments;if(N&&!this.__chain__){var V=this.value();return l.apply(Ye(V)?V:[],W)}return this[S](function(Z){return l.apply(Ye(Z)?Z:[],W)})}}),wi(lt.prototype,function(e,l){var S=U[l];if(S){var N=S.name+"";wt.call(Jr,N)||(Jr[N]=[]),Jr[N].push({name:l,func:S})}}),Jr[ca(o,p).name]=[{name:"wrapper",func:o}],lt.prototype.clone=og,lt.prototype.reverse=sg,lt.prototype.value=ag,U.prototype.at=Nv,U.prototype.chain=Fv,U.prototype.commit=Pv,U.prototype.next=Wv,U.prototype.plant=zv,U.prototype.reverse=Hv,U.prototype.toJSON=U.prototype.valueOf=U.prototype.value=Uv,U.prototype.first=U.prototype.head,Go&&(U.prototype[Go]=Bv),U},kt=St();cn?((cn.exports=kt)._=kt,Gn._=kt):en._=kt}).call(Wi)})(Da,Da.exports);var Of=Da.exports;const Df=Wa(Of),Gx={props:["calculatePacketText"],mixins:[If],data:function(){return{history:[],historyPointer:-1,filterText:null,paused:!1,pausedAt:0,pauseOffset:0,pausedHistory:[],rows:1,textarea:null,displayText:"",rules:{required:f=>!!f||"Required.",min:f=>f>=1||"Minimum: 1",max:f=>parseInt(f)<=this.currentConfig.history||`Maximum: ${this.currentConfig.history}`}}},computed:{allInstantSettings:function(){return`${this.currentConfig.showLineAddress}|${this.currentConfig.showTimestamp}|${this.currentConfig.showAscii}|${this.currentConfig.newestAtTop}|${this.pauseOffset}`},allDebouncedSettings:function(){return`${this.currentConfig.bytesPerLine}|${this.currentConfig.packetsToShow}|${this.filterText}`}},watch:{latestData:function(f){f.forEach(g=>{"buffer"in g&&(g.buffer=atob(g.buffer)),this.historyPointer=++this.historyPointer%this.currentConfig.history,isNaN(this.historyPointer)&&(this.historyPointer=0),this.history[this.historyPointer]=g,this.paused||this.rebuildDisplayText()})},paused:function(f){f?(this.pausedAt=this.historyPointer,this.pausedHistory=this.history.slice()):(this.pauseOffset=0,this.rebuildDisplayText())},allInstantSettings:function(){this.rebuildDisplayText()},allDebouncedSettings:Df.debounce(function(){this.rebuildDisplayText()},300)},created:function(){const f={history:300,showTimestamp:!0,showAscii:!0,showLineAddress:!0,packetsToShow:1,bytesPerLine:16,newestAtTop:!0};this.currentConfig={...f,...this.currentConfig}},methods:{rebuildDisplayText:function(){let f=this.paused?this.pausedHistory:this.history;const g=this.paused?this.pausedAt:this.historyPointer;if(f=f.filter(R=>R).slice(g+1,this.currentConfig.history).concat(f.slice(0,g+1)).map(this.calculatePacketText).map(this.matchesSearch),this.paused){const R=Math.max(f.length+this.pauseOffset,1);f=f.slice(0,R)}const o=Math.max(this.currentConfig.packetsToShow,1);f=f.slice(-o),this.currentConfig.newestAtTop&&(f=f.reverse());let h=`
1409
+ `;this.filterText!==null&&(h+=`
1410
+ `),this.displayText=f.join(h),this.rows=this.displayText.split(`
1411
+ `).length},matchesSearch:function(f){return this.filterText===null?f:f.split(`
1412
+ `).filter(g=>g.toLowerCase().includes(this.filterText.toLowerCase())).join(`
1413
+ `)},download:function(){const f=new Blob([this.displayText],{type:"text/plain"}),g=document.createElement("a");let o=URL.createObjectURL(f);g.href=o,g.setAttribute("download",`${K0.format(new Date,"yyyy_MM_dd_HH_mm_ss")}.txt`),g.click(),window.URL.revokeObjectURL(o)},pause:function(){this.paused=!0},togglePlayPause:function(){this.paused=!this.paused},stepBackward:function(){this.pause(),this.pauseOffset--},stepForward:function(){this.pause(),this.pauseOffset++}}},Kx={class:"pa-2"},Yx={class:"text-area-container"},qx={class:"floating-buttons"};function Zx(f,g,o,h,R,x){const y=be.resolveComponent("v-text-field"),_=be.resolveComponent("v-col"),u=be.resolveComponent("v-slider"),d=be.resolveComponent("v-row"),s=be.resolveComponent("v-textarea"),r=be.resolveComponent("v-icon"),n=be.resolveComponent("v-btn"),i=be.resolveComponent("v-card-title"),t=be.resolveComponent("v-switch"),a=be.resolveComponent("v-radio"),c=be.resolveComponent("v-radio-group"),p=be.resolveComponent("v-card-text"),v=be.resolveComponent("v-card"),I=be.resolveComponent("v-menu");return be.openBlock(),be.createElementBlock("div",Kx,[be.createVNode(d,{dense:"",class:"mb-2"},{default:be.withCtx(()=>[be.createVNode(_,{cols:"4"},{default:be.withCtx(()=>[be.createVNode(y,{modelValue:f.filterText,"onUpdate:modelValue":g[0]||(g[0]=C=>f.filterText=C),label:"Search",class:"search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"history-component-search"},null,8,["modelValue"])]),_:1}),be.createVNode(_,{cols:"8",class:"mt-1"},{default:be.withCtx(()=>[be.createVNode(u,{modelValue:f.pauseOffset,"onUpdate:modelValue":g[1]||(g[1]=C=>f.pauseOffset=C),onMousedown:x.pause,"onClick:prepend":x.stepBackward,"onClick:append":x.stepForward,"prepend-icon":"mdi-step-backward","append-icon":"mdi-step-forward",min:1-f.currentConfig.history,max:0,"hide-details":""},null,8,["modelValue","onMousedown","onClick:prepend","onClick:append","min"])]),_:1})]),_:1}),be.createVNode(d,{dense:"","no-gutters":""},{default:be.withCtx(()=>[be.createVNode(_,null,{default:be.withCtx(()=>[be.createElementVNode("div",Yx,[be.createVNode(s,{"model-value":f.displayText,rows:f.rows,"no-resize":"",readonly:"",variant:"solo",flat:"","hide-details":"","data-test":"history-component-text-area"},null,8,["model-value","rows"]),be.createElementVNode("div",qx,[be.createVNode(I,{"close-on-content-click":!1,"min-width":700},{activator:be.withCtx(({props:C})=>[be.createVNode(n,be.mergeProps({class:"ml-2",color:"secondary"},C,{icon:"",size:"small","data-test":"history-component-open-settings"}),{default:be.withCtx(()=>[be.createVNode(r,null,{default:be.withCtx(()=>g[9]||(g[9]=[be.createTextVNode("astro:settings")])),_:1})]),_:2},1040)]),default:be.withCtx(()=>[be.createVNode(v,null,{default:be.withCtx(()=>[be.createVNode(i,{"data-test":"display-settings-card"},{default:be.withCtx(()=>g[10]||(g[10]=[be.createTextVNode(" Display settings ")])),_:1}),be.createVNode(p,null,{default:be.withCtx(()=>[be.createVNode(d,null,{default:be.withCtx(()=>[be.createVNode(_,null,{default:be.withCtx(()=>[be.createVNode(t,{modelValue:f.currentConfig.showTimestamp,"onUpdate:modelValue":g[2]||(g[2]=C=>f.currentConfig.showTimestamp=C),label:"Show timestamp",density:"compact",color:"primary","hide-details":"","data-test":"history-component-settings-show-timestamp"},null,8,["modelValue"]),f.hasRaw?(be.openBlock(),be.createBlock(t,{key:0,modelValue:f.currentConfig.showAscii,"onUpdate:modelValue":g[3]||(g[3]=C=>f.currentConfig.showAscii=C),label:"Show ASCII",density:"compact",color:"primary","hide-details":"","data-test":"history-component-settings-show-ascii"},null,8,["modelValue"])):be.createCommentVNode("",!0),f.hasRaw?(be.openBlock(),be.createBlock(t,{key:1,modelValue:f.currentConfig.showLineAddress,"onUpdate:modelValue":g[4]||(g[4]=C=>f.currentConfig.showLineAddress=C),label:"Show line address",density:"compact",color:"primary","hide-details":"","data-test":"history-component-settings-show-address"},null,8,["modelValue"])):be.createCommentVNode("",!0)]),_:1}),be.createVNode(_,null,{default:be.withCtx(()=>[be.createVNode(c,{modelValue:f.currentConfig.newestAtTop,"onUpdate:modelValue":g[5]||(g[5]=C=>f.currentConfig.newestAtTop=C),label:"Print newest to the"},{default:be.withCtx(()=>[be.createVNode(a,{label:"Top",value:!0,"data-test":"history-component-settings-newest-top"}),be.createVNode(a,{label:"Bottom",value:!1,"data-test":"history-component-settings-newest-bottom"})]),_:1},8,["modelValue"])]),_:1}),be.createVNode(_,null,{default:be.withCtx(()=>[be.createVNode(y,{modelValue:f.currentConfig.history,"onUpdate:modelValue":g[6]||(g[6]=C=>f.currentConfig.history=C),label:"History Buffer",type:"number",min:"1","persistent-hint":"",rules:[f.rules.required,f.rules.min],"data-test":"history-component-settings-history"},null,8,["modelValue","rules"]),f.hasRaw?(be.openBlock(),be.createBlock(y,{key:0,modelValue:f.currentConfig.bytesPerLine,"onUpdate:modelValue":g[7]||(g[7]=C=>f.currentConfig.bytesPerLine=C),label:"Bytes per line",type:"number",min:"1",rules:[f.rules.required,f.rules.min],"data-test":"history-component-settings-num-bytes"},null,8,["modelValue","rules"])):be.createCommentVNode("",!0),be.createVNode(y,{modelValue:f.currentConfig.packetsToShow,"onUpdate:modelValue":g[8]||(g[8]=C=>f.currentConfig.packetsToShow=C),label:"Entries to show",type:"number",min:"1",hint:`Maximum: ${f.currentConfig.history}`,"persistent-hint":"",rules:[f.rules.required,f.rules.min,f.rules.max],"data-test":"history-component-settings-num-packets"},null,8,["modelValue","hint","rules"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),be.createVNode(n,{class:"ml-2",onClick:x.download,color:"secondary",icon:"",size:"small","data-test":"history-component-download"},{default:be.withCtx(()=>[be.createVNode(r,null,{default:be.withCtx(()=>g[11]||(g[11]=[be.createTextVNode("mdi-file-download")])),_:1})]),_:1},8,["onClick"]),be.createVNode(n,{class:be.normalizeClass(["ml-2",{pulse:f.paused}]),onClick:x.togglePlayPause,color:"primary",icon:"","data-test":"history-component-play-pause"},{default:be.withCtx(()=>[f.paused?(be.openBlock(),be.createBlock(r,{key:0,size:"large"},{default:be.withCtx(()=>g[12]||(g[12]=[be.createTextVNode("mdi-play")])),_:1})):(be.openBlock(),be.createBlock(r,{key:1,size:"large"},{default:be.withCtx(()=>g[13]||(g[13]=[be.createTextVNode("mdi-pause")])),_:1}))]),_:1},8,["class","onClick"])])])]),_:1})]),_:1})])}const Qx=G0._export_sfc(Gx,[["render",Zx],["__scopeId","data-v-90852ac7"]]);var Xx={exports:{}};(function(f,g){(function(){ace.require(["ace/mode/text"],function(o){f&&(f.exports=o)})})()})(Xx);const Jx=!0,an="u-",e1="uplot",t1=an+"hz",n1=an+"vt",i1=an+"title",r1=an+"wrap",o1=an+"under",s1=an+"over",a1=an+"axis",Er=an+"off",l1=an+"select",c1=an+"cursor-x",u1=an+"cursor-y",h1=an+"cursor-pt",d1=an+"legend",f1=an+"live",p1=an+"inline",g1=an+"series",m1=an+"marker",cd=an+"label",v1=an+"value",ds="width",fs="height",ls="top",ud="bottom",so="left",lc="right",Uc="#000",hd=Uc+"0",dd="mousemove",fd="mousedown",cc="mouseup",pd="mouseenter",gd="mouseleave",md="dblclick",y1="resize",w1="scroll",vd="change",Na="dppxchange",Vc="--",yo=typeof window<"u",kc=yo?document:null,co=yo?window:null,b1=yo?navigator:null;let ft,$a;function Cc(){let f=devicePixelRatio;ft!=f&&(ft=f,$a&&Ac(vd,$a,Cc),$a=matchMedia(`(min-resolution: ${ft-.001}dppx) and (max-resolution: ${ft+.001}dppx)`),Or(vd,$a,Cc),co.dispatchEvent(new CustomEvent(Na)))}function zn(f,g){if(g!=null){let o=f.classList;!o.contains(g)&&o.add(g)}}function $c(f,g){let o=f.classList;o.contains(g)&&o.remove(g)}function Lt(f,g,o){f.style[g]=o+"px"}function li(f,g,o,h){let R=kc.createElement(f);return g!=null&&zn(R,g),o!=null&&o.insertBefore(R,h),R}function ei(f,g){return li("div",f,g)}const yd=new WeakMap;function _i(f,g,o,h,R){let x="translate("+g+"px,"+o+"px)",y=yd.get(f);x!=y&&(f.style.transform=x,yd.set(f,x),g<0||o<0||g>h||o>R?zn(f,Er):$c(f,Er))}const wd=new WeakMap;function bd(f,g,o){let h=g+o,R=wd.get(f);h!=R&&(wd.set(f,h),f.style.background=g,f.style.borderColor=o)}const xd=new WeakMap;function _d(f,g,o,h){let R=g+""+o,x=xd.get(f);R!=x&&(xd.set(f,R),f.style.height=o+"px",f.style.width=g+"px",f.style.marginLeft=h?-g/2+"px":0,f.style.marginTop=h?-o/2+"px":0)}const jc={passive:!0},x1={...jc,capture:!0};function Or(f,g,o,h){g.addEventListener(f,o,h?x1:jc)}function Ac(f,g,o,h){g.removeEventListener(f,o,jc)}yo&&Cc();function ci(f,g,o,h){let R;o=o||0,h=h||g.length-1;let x=h<=2147483647;for(;h-o>1;)R=x?o+h>>1:Un((o+h)/2),g[R]<f?o=R:h=R;return f-g[o]<=g[h]-f?o:h}function uo(f,g,o,h){for(let R=h==1?g:o;R>=g&&R<=o;R+=h)if(f[R]!=null)return R;return-1}function _1(f,g,o,h){let R=ut,x=-ut;if(h==1)R=f[g],x=f[o];else if(h==-1)R=f[o],x=f[g];else for(let y=g;y<=o;y++){let _=f[y];_!=null&&(_<R&&(R=_),_>x&&(x=_))}return[R,x]}function S1(f,g,o){let h=ut,R=-ut;for(let x=g;x<=o;x++){let y=f[x];y!=null&&y>0&&(y<h&&(h=y),y>R&&(R=y))}return[h,R]}function Ga(f,g,o,h){let R=Cd(f),x=Cd(g);f==g&&(R==-1?(f*=o,g/=o):(f/=o,g*=o));let y=o==10?Bi:Nf,_=R==1?Un:ti,u=x==1?ti:Un,d=_(y(sn(f))),s=u(y(sn(g))),r=ho(o,d),n=ho(o,s);return o==10&&(d<0&&(r=Ct(r,-d)),s<0&&(n=Ct(n,-s))),h||o==2?(f=r*R,g=n*x):(f=Wf(f,r),g=Ka(g,n)),[f,g]}function Gc(f,g,o,h){let R=Ga(f,g,o,h);return f==0&&(R[0]=0),g==0&&(R[1]=0),R}const Kc=.1,Sd={mode:3,pad:Kc},gs={pad:0,soft:null,mode:0},k1={min:gs,max:gs};function Fa(f,g,o,h){return Ya(o)?kd(f,g,o):(gs.pad=o,gs.soft=h?0:null,gs.mode=h?3:0,kd(f,g,k1))}function dt(f,g){return f??g}function C1(f,g,o){for(g=dt(g,0),o=dt(o,f.length-1);g<=o;){if(f[g]!=null)return!0;g++}return!1}function kd(f,g,o){let h=o.min,R=o.max,x=dt(h.pad,0),y=dt(R.pad,0),_=dt(h.hard,-ut),u=dt(R.hard,ut),d=dt(h.soft,ut),s=dt(R.soft,-ut),r=dt(h.mode,0),n=dt(R.mode,0),i=g-f,t=Bi(i),a=wn(sn(f),sn(g)),c=Bi(a),p=sn(c-t);(i<1e-24||p>10)&&(i=0,(f==0||g==0)&&(i=1e-24,r==2&&d!=ut&&(x=0),n==2&&s!=-ut&&(y=0)));let v=i||a||1e3,I=Bi(v),C=ho(10,Un(I)),b=v*(i==0?f==0?.1:1:x),m=Ct(Wf(f-b,C/10),24),$=f>=d&&(r==1||r==3&&m<=d||r==2&&m>=d)?d:ut,L=wn(_,m<$&&f>=$?$:ni($,m)),O=v*(i==0?g==0?.1:1:y),A=Ct(Ka(g+O,C/10),24),E=g<=s&&(n==1||n==3&&A>=s||n==2&&A<=s)?s:-ut,k=ni(u,A>E&&g<=E?E:wn(E,A));return L==k&&L==0&&(k=100),[L,k]}const $1=new Intl.NumberFormat(yo?b1.language:"en-US"),Yc=f=>$1.format(f),Vn=Math,Ra=Vn.PI,sn=Vn.abs,Un=Vn.floor,on=Vn.round,ti=Vn.ceil,ni=Vn.min,wn=Vn.max,ho=Vn.pow,Cd=Vn.sign,Bi=Vn.log10,Nf=Vn.log2,A1=(f,g=1)=>Vn.sinh(f)*g,uc=(f,g=1)=>Vn.asinh(f/g),ut=1/0;function $d(f){return(Bi((f^f>>31)-(f>>31))|0)+1}function Tc(f,g,o){return ni(wn(f,g),o)}function ct(f){return typeof f=="function"?f:()=>f}const T1=()=>{},Ff=f=>f,Pf=(f,g)=>g,M1=f=>null,Ad=f=>!0,Td=(f,g)=>f==g,L1=/\.\d*?(?=9{6,}|0{6,})/gm,Nr=f=>{if(zf(f)||ur.has(f))return f;const g=`${f}`,o=g.match(L1);if(o==null)return f;let h=o[0].length-1;if(g.indexOf("e-")!=-1){let[R,x]=g.split("e");return+`${Nr(R)}e${x}`}return Ct(f,h)};function Mr(f,g){return Nr(Ct(Nr(f/g))*g)}function Ka(f,g){return Nr(ti(Nr(f/g))*g)}function Wf(f,g){return Nr(Un(Nr(f/g))*g)}function Ct(f,g=0){if(zf(f))return f;let o=10**g,h=f*o*(1+Number.EPSILON);return on(h)/o}const ur=new Map;function Bf(f){return((""+f).split(".")[1]||"").length}function ys(f,g,o,h){let R=[],x=h.map(Bf);for(let y=g;y<o;y++){let _=sn(y),u=Ct(ho(f,y),_);for(let d=0;d<h.length;d++){let s=f==10?+`${h[d]}e${y}`:h[d]*u,r=(y>=0?0:_)+(y>=x[d]?0:x[d]),n=f==10?s:Ct(s,r);R.push(n),ur.set(n,r)}}return R}const ms={},qc=[],fo=[null,null],cr=Array.isArray,zf=Number.isInteger,E1=f=>f===void 0;function Md(f){return typeof f=="string"}function Ya(f){let g=!1;if(f!=null){let o=f.constructor;g=o==null||o==Object}return g}function R1(f){return f!=null&&typeof f=="object"}const I1=Object.getPrototypeOf(Uint8Array),Hf="__proto__";function po(f,g=Ya){let o;if(cr(f)){let h=f.find(R=>R!=null);if(cr(h)||g(h)){o=Array(f.length);for(let R=0;R<f.length;R++)o[R]=po(f[R],g)}else o=f.slice()}else if(f instanceof I1)o=f.slice();else if(g(f)){o={};for(let h in f)h!=Hf&&(o[h]=po(f[h],g))}else o=f;return o}function qt(f){let g=arguments;for(let o=1;o<g.length;o++){let h=g[o];for(let R in h)R!=Hf&&(Ya(f[R])?qt(f[R],po(h[R])):f[R]=po(h[R]))}return f}const O1=0,D1=1,N1=2;function F1(f,g,o){for(let h=0,R,x=-1;h<g.length;h++){let y=g[h];if(y>x){for(R=y-1;R>=0&&f[R]==null;)f[R--]=null;for(R=y+1;R<o&&f[R]==null;)f[x=R++]=null}}}function P1(f,g){if(z1(f)){let y=f[0].slice();for(let _=1;_<f.length;_++)y.push(...f[_].slice(1));return H1(y[0])||(y=B1(y)),y}let o=new Set;for(let y=0;y<f.length;y++){let u=f[y][0],d=u.length;for(let s=0;s<d;s++)o.add(u[s])}let h=[Array.from(o).sort((y,_)=>y-_)],R=h[0].length,x=new Map;for(let y=0;y<R;y++)x.set(h[0][y],y);for(let y=0;y<f.length;y++){let _=f[y],u=_[0];for(let d=1;d<_.length;d++){let s=_[d],r=Array(R).fill(void 0),n=g?g[y][d]:D1,i=[];for(let t=0;t<s.length;t++){let a=s[t],c=x.get(u[t]);a===null?n!=O1&&(r[c]=a,n==N1&&i.push(c)):r[c]=a}F1(r,i,R),h.push(r)}}return h}const W1=typeof queueMicrotask>"u"?f=>Promise.resolve().then(f):queueMicrotask;function B1(f){let g=f[0],o=g.length,h=Array(o);for(let x=0;x<h.length;x++)h[x]=x;h.sort((x,y)=>g[x]-g[y]);let R=[];for(let x=0;x<f.length;x++){let y=f[x],_=Array(o);for(let u=0;u<o;u++)_[u]=y[h[u]];R.push(_)}return R}function z1(f){let g=f[0][0],o=g.length;for(let h=1;h<f.length;h++){let R=f[h][0];if(R.length!=o)return!1;if(R!=g){for(let x=0;x<o;x++)if(R[x]!=g[x])return!1}}return!0}function H1(f,g=100){const o=f.length;if(o<=1)return!0;let h=0,R=o-1;for(;h<=R&&f[h]==null;)h++;for(;R>=h&&f[R]==null;)R--;if(R<=h)return!0;const x=wn(1,Un((R-h+1)/g));for(let y=f[h],_=h+x;_<=R;_+=x){const u=f[_];if(u!=null){if(u<=y)return!1;y=u}}return!0}const Uf=["January","February","March","April","May","June","July","August","September","October","November","December"],Vf=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function jf(f){return f.slice(0,3)}const U1=Vf.map(jf),V1=Uf.map(jf),j1={MMMM:Uf,MMM:V1,WWWW:Vf,WWW:U1};function cs(f){return(f<10?"0":"")+f}function G1(f){return(f<10?"00":f<100?"0":"")+f}const K1={YYYY:f=>f.getFullYear(),YY:f=>(f.getFullYear()+"").slice(2),MMMM:(f,g)=>g.MMMM[f.getMonth()],MMM:(f,g)=>g.MMM[f.getMonth()],MM:f=>cs(f.getMonth()+1),M:f=>f.getMonth()+1,DD:f=>cs(f.getDate()),D:f=>f.getDate(),WWWW:(f,g)=>g.WWWW[f.getDay()],WWW:(f,g)=>g.WWW[f.getDay()],HH:f=>cs(f.getHours()),H:f=>f.getHours(),h:f=>{let g=f.getHours();return g==0?12:g>12?g-12:g},AA:f=>f.getHours()>=12?"PM":"AM",aa:f=>f.getHours()>=12?"pm":"am",a:f=>f.getHours()>=12?"p":"a",mm:f=>cs(f.getMinutes()),m:f=>f.getMinutes(),ss:f=>cs(f.getSeconds()),s:f=>f.getSeconds(),fff:f=>G1(f.getMilliseconds())};function Zc(f,g){g=g||j1;let o=[],h=/\{([a-z]+)\}|[^{]+/gi,R;for(;R=h.exec(f);)o.push(R[0][0]=="{"?K1[R[1]]:R[0]);return x=>{let y="";for(let _=0;_<o.length;_++)y+=typeof o[_]=="string"?o[_]:o[_](x,g);return y}}const Y1=new Intl.DateTimeFormat().resolvedOptions().timeZone;function q1(f,g){let o;return g=="UTC"||g=="Etc/UTC"?o=new Date(+f+f.getTimezoneOffset()*6e4):g==Y1?o=f:(o=new Date(f.toLocaleString("en-US",{timeZone:g})),o.setMilliseconds(f.getMilliseconds())),o}const Gf=f=>f%1==0,Pa=[1,2,2.5,5],Z1=ys(10,-32,0,Pa),Kf=ys(10,0,32,Pa),Q1=Kf.filter(Gf),Lr=Z1.concat(Kf),Qc=`
1414
+ `,Yf="{YYYY}",Ld=Qc+Yf,qf="{M}/{D}",ps=Qc+qf,Aa=ps+"/{YY}",Zf="{aa}",X1="{h}:{mm}",ao=X1+Zf,Ed=Qc+ao,Rd=":{ss}",vt=null;function Qf(f){let g=f*1e3,o=g*60,h=o*60,R=h*24,x=R*30,y=R*365,u=(f==1?ys(10,0,3,Pa).filter(Gf):ys(10,-3,0,Pa)).concat([g,g*5,g*10,g*15,g*30,o,o*5,o*10,o*15,o*30,h,h*2,h*3,h*4,h*6,h*8,h*12,R,R*2,R*3,R*4,R*5,R*6,R*7,R*8,R*9,R*10,R*15,x,x*2,x*3,x*4,x*6,y,y*2,y*5,y*10,y*25,y*50,y*100]);const d=[[y,Yf,vt,vt,vt,vt,vt,vt,1],[R*28,"{MMM}",Ld,vt,vt,vt,vt,vt,1],[R,qf,Ld,vt,vt,vt,vt,vt,1],[h,"{h}"+Zf,Aa,vt,ps,vt,vt,vt,1],[o,ao,Aa,vt,ps,vt,vt,vt,1],[g,Rd,Aa+" "+ao,vt,ps+" "+ao,vt,Ed,vt,1],[f,Rd+".{fff}",Aa+" "+ao,vt,ps+" "+ao,vt,Ed,vt,1]];function s(r){return(n,i,t,a,c,p)=>{let v=[],I=c>=y,C=c>=x&&c<y,b=r(t),m=Ct(b*f,3),$=hc(b.getFullYear(),I?0:b.getMonth(),C||I?1:b.getDate()),L=Ct($*f,3);if(C||I){let O=C?c/x:0,A=I?c/y:0,E=m==L?m:Ct(hc($.getFullYear()+A,$.getMonth()+O,1)*f,3),k=new Date(on(E/f)),T=k.getFullYear(),w=k.getMonth();for(let M=0;E<=a;M++){let D=hc(T+A*M,w+O*M,1),F=D-r(Ct(D*f,3));E=Ct((+D+F)*f,3),E<=a&&v.push(E)}}else{let O=c>=R?R:c,A=Un(t)-Un(m),E=L+A+Ka(m-L,O);v.push(E);let k=r(E),T=k.getHours()+k.getMinutes()/o+k.getSeconds()/h,w=c/h,M=n.axes[i]._space,D=p/M;for(;E=Ct(E+c,f==1?0:3),!(E>a);)if(w>1){let F=Un(Ct(T+w,6))%24,j=r(E).getHours()-F;j>1&&(j=-1),E-=j*h,T=(T+w)%24;let Y=v[v.length-1];Ct((E-Y)/c,3)*D>=.7&&v.push(E)}else v.push(E)}return v}}return[u,d,s]}const[J1,e_,t_]=Qf(1),[n_,i_,r_]=Qf(.001);ys(2,-53,53,[1]);function Id(f,g){return f.map(o=>o.map((h,R)=>R==0||R==8||h==null?h:g(R==1||o[8]==0?h:o[1]+h)))}function Od(f,g){return(o,h,R,x,y)=>{let _=g.find(t=>y>=t[0])||g[g.length-1],u,d,s,r,n,i;return h.map(t=>{let a=f(t),c=a.getFullYear(),p=a.getMonth(),v=a.getDate(),I=a.getHours(),C=a.getMinutes(),b=a.getSeconds(),m=c!=u&&_[2]||p!=d&&_[3]||v!=s&&_[4]||I!=r&&_[5]||C!=n&&_[6]||b!=i&&_[7]||_[1];return u=c,d=p,s=v,r=I,n=C,i=b,m(a)})}}function o_(f,g){let o=Zc(g);return(h,R,x,y,_)=>R.map(u=>o(f(u)))}function hc(f,g,o){return new Date(f,g,o)}function Dd(f,g){return g(f)}const s_="{YYYY}-{MM}-{DD} {h}:{mm}{aa}";function Nd(f,g){return(o,h,R,x)=>x==null?Vc:g(f(h))}function a_(f,g){let o=f.series[g];return o.width?o.stroke(f,g):o.points.width?o.points.stroke(f,g):null}function l_(f,g){return f.series[g].fill(f,g)}const c_={show:!0,live:!0,isolate:!1,mount:T1,markers:{show:!0,width:2,stroke:a_,fill:l_,dash:"solid"},idx:null,idxs:null,values:[]};function u_(f,g){let o=f.cursor.points,h=ei(),R=o.size(f,g);Lt(h,ds,R),Lt(h,fs,R);let x=R/-2;Lt(h,"marginLeft",x),Lt(h,"marginTop",x);let y=o.width(f,g,R);return y&&Lt(h,"borderWidth",y),h}function h_(f,g){let o=f.series[g].points;return o._fill||o._stroke}function d_(f,g){let o=f.series[g].points;return o._stroke||o._fill}function f_(f,g){return f.series[g].points.size}const dc=[0,0];function p_(f,g,o){return dc[0]=g,dc[1]=o,dc}function Ta(f,g,o,h=!0){return R=>{R.button==0&&(!h||R.target==g)&&o(R)}}function fc(f,g,o,h=!0){return R=>{(!h||R.target==g)&&o(R)}}const g_={show:!0,x:!0,y:!0,lock:!1,move:p_,points:{one:!1,show:u_,size:f_,width:0,stroke:d_,fill:h_},bind:{mousedown:Ta,mouseup:Ta,click:Ta,dblclick:Ta,mousemove:fc,mouseleave:fc,mouseenter:fc},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(f,g)=>{g.stopPropagation(),g.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(f,g,o,h,R)=>h-R,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},Xf={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Xc=qt({},Xf,{filter:Pf}),Jf=qt({},Xc,{size:10}),ep=qt({},Xf,{show:!1}),Jc='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',tp="bold "+Jc,np=1.5,Fd={show:!0,scale:"x",stroke:Uc,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:tp,side:2,grid:Xc,ticks:Jf,border:ep,font:Jc,lineGap:np,rotate:0},m_="Value",v_="Time",Pd={show:!0,scale:"x",auto:!1,sorted:1,min:ut,max:-ut,idxs:[]};function y_(f,g,o,h,R){return g.map(x=>x==null?"":Yc(x))}function w_(f,g,o,h,R,x,y){let _=[],u=ur.get(R)||0;o=y?o:Ct(Ka(o,R),u);for(let d=o;d<=h;d=Ct(d+R,u))_.push(Object.is(d,-0)?0:d);return _}function Mc(f,g,o,h,R,x,y){const _=[],u=f.scales[f.axes[g].scale].log,d=u==10?Bi:Nf,s=Un(d(o));R=ho(u,s),u==10&&(R=Lr[ci(R,Lr)]);let r=o,n=R*u;u==10&&(n=Lr[ci(n,Lr)]);do _.push(r),r=r+R,u==10&&!ur.has(r)&&(r=Ct(r,ur.get(R))),r>=n&&(R=r,n=R*u,u==10&&(n=Lr[ci(n,Lr)]));while(r<=h);return _}function b_(f,g,o,h,R,x,y){let u=f.scales[f.axes[g].scale].asinh,d=h>u?Mc(f,g,wn(u,o),h,R):[u],s=h>=0&&o<=0?[0]:[];return(o<-u?Mc(f,g,wn(u,-h),-o,R):[u]).reverse().map(n=>-n).concat(s,d)}const ip=/./,x_=/[12357]/,__=/[125]/,Wd=/1/,Lc=(f,g,o,h)=>f.map((R,x)=>g==4&&R==0||x%h==0&&o.test(R.toExponential()[R<0?1:0])?R:null);function S_(f,g,o,h,R){let x=f.axes[o],y=x.scale,_=f.scales[y],u=f.valToPos,d=x._space,s=u(10,y),r=u(9,y)-s>=d?ip:u(7,y)-s>=d?x_:u(5,y)-s>=d?__:Wd;if(r==Wd){let n=sn(u(1,y)-s);if(n<d)return Lc(g.slice().reverse(),_.distr,r,ti(d/n)).reverse()}return Lc(g,_.distr,r,1)}function k_(f,g,o,h,R){let x=f.axes[o],y=x.scale,_=x._space,u=f.valToPos,d=sn(u(1,y)-u(2,y));return d<_?Lc(g.slice().reverse(),3,ip,ti(_/d)).reverse():g}function C_(f,g,o,h){return h==null?Vc:g==null?"":Yc(g)}const Bd={show:!0,scale:"y",stroke:Uc,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:tp,side:3,grid:Xc,ticks:Jf,border:ep,font:Jc,lineGap:np,rotate:0};function $_(f,g){let o=3+(f||1)*2;return Ct(o*g,3)}function A_(f,g){let{scale:o,idxs:h}=f.series[0],R=f._data[0],x=f.valToPos(R[h[0]],o,!0),y=f.valToPos(R[h[1]],o,!0),_=sn(y-x),u=f.series[g],d=_/(u.points.space*ft);return h[1]-h[0]<=d}const zd={scale:null,auto:!0,sorted:0,min:ut,max:-ut},rp=(f,g,o,h,R)=>R,Hd={show:!0,auto:!0,sorted:0,gaps:rp,alpha:1,facets:[qt({},zd,{scale:"x"}),qt({},zd,{scale:"y"})]},Ud={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:rp,alpha:1,points:{show:A_,filter:null},values:null,min:ut,max:-ut,idxs:[],path:null,clip:null};function T_(f,g,o,h,R){return o/10}const op={time:Jx,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},M_=qt({},op,{time:!1,ori:1}),Vd={};function sp(f,g){let o=Vd[f];return o||(o={key:f,plots:[],sub(h){o.plots.push(h)},unsub(h){o.plots=o.plots.filter(R=>R!=h)},pub(h,R,x,y,_,u,d){for(let s=0;s<o.plots.length;s++)o.plots[s]!=R&&o.plots[s].pub(h,R,x,y,_,u,d)}},f!=null&&(Vd[f]=o)),o}const go=1,Ec=2;function Fr(f,g,o){const h=f.mode,R=f.series[g],x=h==2?f._data[g]:f._data,y=f.scales,_=f.bbox;let u=x[0],d=h==2?x[1]:x[g],s=h==2?y[R.facets[0].scale]:y[f.series[0].scale],r=h==2?y[R.facets[1].scale]:y[R.scale],n=_.left,i=_.top,t=_.width,a=_.height,c=f.valToPosH,p=f.valToPosV;return s.ori==0?o(R,u,d,s,r,c,p,n,i,t,a,Za,wo,Xa,lp,up):o(R,u,d,s,r,p,c,i,n,a,t,Qa,bo,nu,cp,hp)}function eu(f,g){let o=0,h=0,R=dt(f.bands,qc);for(let x=0;x<R.length;x++){let y=R[x];y.series[0]==g?o=y.dir:y.series[1]==g&&(y.dir==1?h|=1:h|=2)}return[o,h==1?-1:h==2?1:h==3?2:0]}function L_(f,g,o,h,R){let x=f.mode,y=f.series[g],_=x==2?y.facets[1].scale:y.scale,u=f.scales[_];return R==-1?u.min:R==1?u.max:u.distr==3?u.dir==1?u.min:u.max:0}function zi(f,g,o,h,R,x){return Fr(f,g,(y,_,u,d,s,r,n,i,t,a,c)=>{let p=y.pxRound;const v=d.dir*(d.ori==0?1:-1),I=d.ori==0?wo:bo;let C,b;v==1?(C=o,b=h):(C=h,b=o);let m=p(r(_[C],d,a,i)),$=p(n(u[C],s,c,t)),L=p(r(_[b],d,a,i)),O=p(n(x==1?s.max:s.min,s,c,t)),A=new Path2D(R);return I(A,L,O),I(A,m,O),I(A,m,$),A})}function qa(f,g,o,h,R,x){let y=null;if(f.length>0){y=new Path2D;const _=g==0?Xa:nu;let u=o;for(let r=0;r<f.length;r++){let n=f[r];if(n[1]>n[0]){let i=n[0]-u;i>0&&_(y,u,h,i,h+x),u=n[1]}}let d=o+R-u,s=10;d>0&&_(y,u,h-s/2,d,h+x+s)}return y}function E_(f,g,o){let h=f[f.length-1];h&&h[0]==g?h[1]=o:f.push([g,o])}function tu(f,g,o,h,R,x,y){let _=[],u=f.length;for(let d=R==1?o:h;d>=o&&d<=h;d+=R)if(g[d]===null){let r=d,n=d;if(R==1)for(;++d<=h&&g[d]===null;)n=d;else for(;--d>=o&&g[d]===null;)n=d;let i=x(f[r]),t=n==r?i:x(f[n]),a=r-R;i=y<=0&&a>=0&&a<u?x(f[a]):i;let p=n+R;t=y>=0&&p>=0&&p<u?x(f[p]):t,t>=i&&_.push([i,t])}return _}function jd(f){return f==0?Ff:f==1?on:g=>Mr(g,f)}function ap(f){let g=f==0?Za:Qa,o=f==0?(R,x,y,_,u,d)=>{R.arcTo(x,y,_,u,d)}:(R,x,y,_,u,d)=>{R.arcTo(y,x,u,_,d)},h=f==0?(R,x,y,_,u)=>{R.rect(x,y,_,u)}:(R,x,y,_,u)=>{R.rect(y,x,u,_)};return(R,x,y,_,u,d=0,s=0)=>{d==0&&s==0?h(R,x,y,_,u):(d=ni(d,_/2,u/2),s=ni(s,_/2,u/2),g(R,x+d,y),o(R,x+_,y,x+_,y+u,d),o(R,x+_,y+u,x,y+u,s),o(R,x,y+u,x,y,s),o(R,x,y,x+_,y,d),R.closePath())}}const Za=(f,g,o)=>{f.moveTo(g,o)},Qa=(f,g,o)=>{f.moveTo(o,g)},wo=(f,g,o)=>{f.lineTo(g,o)},bo=(f,g,o)=>{f.lineTo(o,g)},Xa=ap(0),nu=ap(1),lp=(f,g,o,h,R,x)=>{f.arc(g,o,h,R,x)},cp=(f,g,o,h,R,x)=>{f.arc(o,g,h,R,x)},up=(f,g,o,h,R,x,y)=>{f.bezierCurveTo(g,o,h,R,x,y)},hp=(f,g,o,h,R,x,y)=>{f.bezierCurveTo(o,g,R,h,y,x)};function dp(f){return(g,o,h,R,x)=>Fr(g,o,(y,_,u,d,s,r,n,i,t,a,c)=>{let{pxRound:p,points:v}=y,I,C;d.ori==0?(I=Za,C=lp):(I=Qa,C=cp);const b=Ct(v.width*ft,3);let m=(v.size-v.width)/2*ft,$=Ct(m*2,3),L=new Path2D,O=new Path2D,{left:A,top:E,width:k,height:T}=g.bbox;Xa(O,A-$,E-$,k+$*2,T+$*2);const w=M=>{if(u[M]!=null){let D=p(r(_[M],d,a,i)),F=p(n(u[M],s,c,t));I(L,D+m,F),C(L,D,F,m,0,Ra*2)}};if(x)x.forEach(w);else for(let M=h;M<=R;M++)w(M);return{stroke:b>0?L:null,fill:L,clip:O,flags:go|Ec}})}function fp(f){return(g,o,h,R,x,y)=>{h!=R&&(x!=h&&y!=h&&f(g,o,h),x!=R&&y!=R&&f(g,o,R),f(g,o,y))}}const R_=fp(wo),I_=fp(bo);function pp(f){const g=dt(f==null?void 0:f.alignGaps,0);return(o,h,R,x)=>Fr(o,h,(y,_,u,d,s,r,n,i,t,a,c)=>{let p=y.pxRound,v=X=>p(r(X,d,a,i)),I=X=>p(n(X,s,c,t)),C,b;d.ori==0?(C=wo,b=R_):(C=bo,b=I_);const m=d.dir*(d.ori==0?1:-1),$={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:go},L=$.stroke;let O=ut,A=-ut,E,k,T,w=v(_[m==1?R:x]),M=uo(u,R,x,1*m),D=uo(u,R,x,-1*m),F=v(_[M]),B=v(_[D]),H=!1;for(let X=m==1?R:x;X>=R&&X<=x;X+=m){let Q=v(_[X]),q=u[X];Q==w?q!=null?(k=I(q),O==ut&&(C(L,Q,k),E=k),O=ni(k,O),A=wn(k,A)):q===null&&(H=!0):(O!=ut&&(b(L,w,O,A,E,k),T=w),q!=null?(k=I(q),C(L,Q,k),O=A=E=k):(O=ut,A=-ut,q===null&&(H=!0)),w=Q)}O!=ut&&O!=A&&T!=w&&b(L,w,O,A,E,k);let[j,Y]=eu(o,h);if(y.fill!=null||j!=0){let X=$.fill=new Path2D(L),Q=y.fillTo(o,h,y.min,y.max,j),q=I(Q);C(X,B,q),C(X,F,q)}if(!y.spanGaps){let X=[];H&&X.push(...tu(_,u,R,x,m,v,g)),$.gaps=X=y.gaps(o,h,R,x,X),$.clip=qa(X,d.ori,i,t,a,c)}return Y!=0&&($.band=Y==2?[zi(o,h,R,x,L,-1),zi(o,h,R,x,L,1)]:zi(o,h,R,x,L,Y)),$})}function O_(f){const g=dt(f.align,1),o=dt(f.ascDesc,!1),h=dt(f.alignGaps,0),R=dt(f.extend,!1);return(x,y,_,u)=>Fr(x,y,(d,s,r,n,i,t,a,c,p,v,I)=>{let C=d.pxRound,{left:b,width:m}=x.bbox,$=j=>C(t(j,n,v,c)),L=j=>C(a(j,i,I,p)),O=n.ori==0?wo:bo;const A={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:go},E=A.stroke,k=n.dir*(n.ori==0?1:-1);_=uo(r,_,u,1),u=uo(r,_,u,-1);let T=L(r[k==1?_:u]),w=$(s[k==1?_:u]),M=w,D=w;R&&g==-1&&(D=b,O(E,D,T)),O(E,w,T);for(let j=k==1?_:u;j>=_&&j<=u;j+=k){let Y=r[j];if(Y==null)continue;let X=$(s[j]),Q=L(Y);g==1?O(E,X,T):O(E,M,Q),O(E,X,Q),T=Q,M=X}let F=M;R&&g==1&&(F=b+m,O(E,F,T));let[B,H]=eu(x,y);if(d.fill!=null||B!=0){let j=A.fill=new Path2D(E),Y=d.fillTo(x,y,d.min,d.max,B),X=L(Y);O(j,F,X),O(j,D,X)}if(!d.spanGaps){let j=[];j.push(...tu(s,r,_,u,k,$,h));let Y=d.width*ft/2,X=o||g==1?Y:-Y,Q=o||g==-1?-Y:Y;j.forEach(q=>{q[0]+=X,q[1]+=Q}),A.gaps=j=d.gaps(x,y,_,u,j),A.clip=qa(j,n.ori,c,p,v,I)}return H!=0&&(A.band=H==2?[zi(x,y,_,u,E,-1),zi(x,y,_,u,E,1)]:zi(x,y,_,u,E,H)),A})}function Gd(f,g,o,h,R,x,y=ut){if(f.length>1){let _=null;for(let u=0,d=1/0;u<f.length;u++)if(g[u]!==void 0){if(_!=null){let s=sn(f[u]-f[_]);s<d&&(d=s,y=sn(o(f[u],h,R,x)-o(f[_],h,R,x)))}_=u}}return y}function D_(f){f=f||ms;const g=dt(f.size,[.6,ut,1]),o=f.align||0,h=f.gap||0;let R=f.radius;R=R==null?[0,0]:typeof R=="number"?[R,0]:R;const x=ct(R),y=1-g[0],_=dt(g[1],ut),u=dt(g[2],1),d=dt(f.disp,ms),s=dt(f.each,i=>{}),{fill:r,stroke:n}=d;return(i,t,a,c)=>Fr(i,t,(p,v,I,C,b,m,$,L,O,A,E)=>{let k=p.pxRound,T=o,w=h*ft,M=_*ft,D=u*ft,F,B;C.ori==0?[F,B]=x(i,t):[B,F]=x(i,t);const H=C.dir*(C.ori==0?1:-1);let j=C.ori==0?Xa:nu,Y=C.ori==0?s:(Ne,ue,Se,$e,He,Ue,rt)=>{s(Ne,ue,Se,He,$e,rt,Ue)},X=dt(i.bands,qc).find(Ne=>Ne.series[0]==t),Q=X!=null?X.dir:0,q=p.fillTo(i,t,p.min,p.max,Q),ee=k($(q,b,E,O)),ie,ae,he,de=A,ye=k(p.width*ft),Ae=!1,ze=null,$t=null,it=null,st=null;r!=null&&(ye==0||n!=null)&&(Ae=!0,ze=r.values(i,t,a,c),$t=new Map,new Set(ze).forEach(Ne=>{Ne!=null&&$t.set(Ne,new Path2D)}),ye>0&&(it=n.values(i,t,a,c),st=new Map,new Set(it).forEach(Ne=>{Ne!=null&&st.set(Ne,new Path2D)})));let{x0:Ht,size:xt}=d;if(Ht!=null&&xt!=null){T=1,v=Ht.values(i,t,a,c),Ht.unit==2&&(v=v.map(Se=>i.posToVal(L+Se*A,C.key,!0)));let Ne=xt.values(i,t,a,c);xt.unit==2?ae=Ne[0]*A:ae=m(Ne[0],C,A,L)-m(0,C,A,L),de=Gd(v,I,m,C,A,L,de),he=de-ae+w}else de=Gd(v,I,m,C,A,L,de),he=de*y+w,ae=de-he;he<1&&(he=0),ye>=ae/2&&(ye=0),he<5&&(k=Ff);let It=he>0,hi=de-he-(It?ye:0);ae=k(Tc(hi,D,M)),ie=(T==0?ae/2:T==H?0:ae)-T*H*((T==0?w/2:0)+(It?ye/2:0));const Qt={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},Pt=Ae?null:new Path2D;let Re=null;if(X!=null)Re=i.data[X.series[1]];else{let{y0:Ne,y1:ue}=d;Ne!=null&&ue!=null&&(I=ue.values(i,t,a,c),Re=Ne.values(i,t,a,c))}let De=F*ae,Wt=B*ae;for(let Ne=H==1?a:c;Ne>=a&&Ne<=c;Ne+=H){let ue=I[Ne];if(ue==null)continue;if(Re!=null){let tt=Re[Ne]??0;if(ue-tt==0)continue;ee=$(tt,b,E,O)}let Se=C.distr!=2||d!=null?v[Ne]:Ne,$e=m(Se,C,A,L),He=$(dt(ue,q),b,E,O),Ue=k($e-ie),rt=k(wn(He,ee)),ot=k(ni(He,ee)),et=rt-ot;if(ue!=null){let tt=ue<0?Wt:De,qe=ue<0?De:Wt;Ae?(ye>0&&it[Ne]!=null&&j(st.get(it[Ne]),Ue,ot+Un(ye/2),ae,wn(0,et-ye),tt,qe),ze[Ne]!=null&&j($t.get(ze[Ne]),Ue,ot+Un(ye/2),ae,wn(0,et-ye),tt,qe)):j(Pt,Ue,ot+Un(ye/2),ae,wn(0,et-ye),tt,qe),Y(i,t,Ne,Ue-ye/2,ot,ae+ye,et)}}return ye>0?Qt.stroke=Ae?st:Pt:Ae||(Qt._fill=p.width==0?p._fill:p._stroke??p._fill,Qt.width=0),Qt.fill=Ae?$t:Pt,Qt})}function N_(f,g){const o=dt(g==null?void 0:g.alignGaps,0);return(h,R,x,y)=>Fr(h,R,(_,u,d,s,r,n,i,t,a,c,p)=>{let v=_.pxRound,I=F=>v(n(F,s,c,t)),C=F=>v(i(F,r,p,a)),b,m,$;s.ori==0?(b=Za,$=wo,m=up):(b=Qa,$=bo,m=hp);const L=s.dir*(s.ori==0?1:-1);x=uo(d,x,y,1),y=uo(d,x,y,-1);let O=I(u[L==1?x:y]),A=O,E=[],k=[];for(let F=L==1?x:y;F>=x&&F<=y;F+=L)if(d[F]!=null){let H=u[F],j=I(H);E.push(A=j),k.push(C(d[F]))}const T={stroke:f(E,k,b,$,m,v),fill:null,clip:null,band:null,gaps:null,flags:go},w=T.stroke;let[M,D]=eu(h,R);if(_.fill!=null||M!=0){let F=T.fill=new Path2D(w),B=_.fillTo(h,R,_.min,_.max,M),H=C(B);$(F,A,H),$(F,O,H)}if(!_.spanGaps){let F=[];F.push(...tu(u,d,x,y,L,I,o)),T.gaps=F=_.gaps(h,R,x,y,F),T.clip=qa(F,s.ori,t,a,c,p)}return D!=0&&(T.band=D==2?[zi(h,R,x,y,w,-1),zi(h,R,x,y,w,1)]:zi(h,R,x,y,w,D)),T})}function F_(f){return N_(P_,f)}function P_(f,g,o,h,R,x){const y=f.length;if(y<2)return null;const _=new Path2D;if(o(_,f[0],g[0]),y==2)h(_,f[1],g[1]);else{let u=Array(y),d=Array(y-1),s=Array(y-1),r=Array(y-1);for(let n=0;n<y-1;n++)s[n]=g[n+1]-g[n],r[n]=f[n+1]-f[n],d[n]=s[n]/r[n];u[0]=d[0];for(let n=1;n<y-1;n++)d[n]===0||d[n-1]===0||d[n-1]>0!=d[n]>0?u[n]=0:(u[n]=3*(r[n-1]+r[n])/((2*r[n]+r[n-1])/d[n-1]+(r[n]+2*r[n-1])/d[n]),isFinite(u[n])||(u[n]=0));u[y-1]=d[y-2];for(let n=0;n<y-1;n++)R(_,f[n]+r[n]/3,g[n]+u[n]*r[n]/3,f[n+1]-r[n]/3,g[n+1]-u[n+1]*r[n]/3,f[n+1],g[n+1])}return _}const Rc=new Set;function Kd(){for(let f of Rc)f.syncRect(!0)}yo&&(Or(y1,co,Kd),Or(w1,co,Kd,!0),Or(Na,co,()=>{bn.pxRatio=ft}));const W_=pp(),B_=dp();function Yd(f,g,o,h){return(h?[f[0],f[1]].concat(f.slice(2)):[f[0]].concat(f.slice(1))).map((x,y)=>Ic(x,y,g,o))}function z_(f,g){return f.map((o,h)=>h==0?{}:qt({},g,o))}function Ic(f,g,o,h){return qt({},g==0?o:h,f)}function gp(f,g,o){return g==null?fo:[g,o]}const H_=gp;function U_(f,g,o){return g==null?fo:Fa(g,o,Kc,!0)}function mp(f,g,o,h){return g==null?fo:Ga(g,o,f.scales[h].log,!1)}const V_=mp;function vp(f,g,o,h){return g==null?fo:Gc(g,o,f.scales[h].log,!1)}const j_=vp;function G_(f,g,o,h,R){let x=wn($d(f),$d(g)),y=g-f,_=ci(R/h*y,o);do{let u=o[_],d=h*u/y;if(d>=R&&x+(u<5?ur.get(u):0)<=17)return[u,d]}while(++_<o.length);return[0,0]}function qd(f){let g,o;return f=f.replace(/(\d+)px/,(h,R)=>(g=on((o=+R)*ft))+"px"),[f,g,o]}function K_(f){f.show&&[f.font,f.labelFont].forEach(g=>{let o=Ct(g[2]*ft,1);g[0]=g[0].replace(/[0-9.]+px/,o+"px"),g[1]=o})}function bn(f,g,o){const h={mode:dt(f.mode,1)},R=h.mode;function x(P,z){return((z.distr==3?Bi(P>0?P:z.clamp(h,P,z.min,z.max,z.key)):z.distr==4?uc(P,z.asinh):z.distr==100?z.fwd(P):P)-z._min)/(z._max-z._min)}function y(P,z,G,K){let te=x(P,z);return K+G*(z.dir==-1?1-te:te)}function _(P,z,G,K){let te=x(P,z);return K+G*(z.dir==-1?te:1-te)}function u(P,z,G,K){return z.ori==0?y(P,z,G,K):_(P,z,G,K)}h.valToPosH=y,h.valToPosV=_;let d=!1;h.status=0;const s=h.root=ei(e1);if(f.id!=null&&(s.id=f.id),zn(s,f.class),f.title){let P=ei(i1,s);P.textContent=f.title}const r=li("canvas"),n=h.ctx=r.getContext("2d"),i=ei(r1,s);Or("click",i,P=>{P.target===a&&(Oe!=Qi||At!=Xi)&&Jt.click(h,P)},!0);const t=h.under=ei(o1,i);i.appendChild(r);const a=h.over=ei(s1,i);f=po(f);const c=+dt(f.pxAlign,1),p=jd(c);(f.plugins||[]).forEach(P=>{P.opts&&(f=P.opts(h,f)||f)});const v=f.ms||.001,I=h.series=R==1?Yd(f.series||[],Pd,Ud,!1):z_(f.series||[null],Hd),C=h.axes=Yd(f.axes||[],Fd,Bd,!0),b=h.scales={},m=h.bands=f.bands||[];m.forEach(P=>{P.fill=ct(P.fill||null),P.dir=dt(P.dir,-1)});const $=R==2?I[1].facets[0].scale:I[0].scale,L={axes:al,series:As},O=(f.drawOrder||["axes","series"]).map(P=>L[P]);function A(P){let z=b[P];if(z==null){let G=(f.scales||ms)[P]||ms;if(G.from!=null)A(G.from),b[P]=qt({},b[G.from],G,{key:P});else{z=b[P]=qt({},P==$?op:M_,G),z.key=P;let K=z.time,te=z.range,oe=cr(te);if((P!=$||R==2&&!K)&&(oe&&(te[0]==null||te[1]==null)&&(te={min:te[0]==null?Sd:{mode:1,hard:te[0],soft:te[0]},max:te[1]==null?Sd:{mode:1,hard:te[1],soft:te[1]}},oe=!1),!oe&&Ya(te))){let fe=te;te=(ve,we,xe)=>we==null?fo:Fa(we,xe,fe)}z.range=ct(te||(K?H_:P==$?z.distr==3?V_:z.distr==4?j_:gp:z.distr==3?mp:z.distr==4?vp:U_)),z.auto=ct(oe?!1:z.auto),z.clamp=ct(z.clamp||T_),z._min=z._max=null}}}A("x"),A("y"),R==1&&I.forEach(P=>{A(P.scale)}),C.forEach(P=>{A(P.scale)});for(let P in f.scales)A(P);const E=b[$],k=E.distr;let T,w;E.ori==0?(zn(s,t1),T=y,w=_):(zn(s,n1),T=_,w=y);const M={};for(let P in b){let z=b[P];(z.min!=null||z.max!=null)&&(M[P]={min:z.min,max:z.max},z.min=z.max=null)}const D=f.tzDate||(P=>new Date(on(P/v))),F=f.fmtDate||Zc,B=v==1?t_(D):r_(D),H=Od(D,Id(v==1?e_:i_,F)),j=Nd(D,Dd(s_,F)),Y=[],X=h.legend=qt({},c_,f.legend),Q=X.show,q=X.markers;X.idxs=Y,q.width=ct(q.width),q.dash=ct(q.dash),q.stroke=ct(q.stroke),q.fill=ct(q.fill);let ee,ie,ae,he=[],de=[],ye,Ae=!1,ze={};if(X.live){const P=I[1]?I[1].values:null;Ae=P!=null,ye=Ae?P(h,1,0):{_:0};for(let z in ye)ze[z]=Vc}if(Q)if(ee=li("table",d1,s),ae=li("tbody",null,ee),X.mount(h,ee),Ae){ie=li("thead",null,ee,ae);let P=li("tr",null,ie);li("th",null,P);for(var $t in ye)li("th",cd,P).textContent=$t}else zn(ee,p1),X.live&&zn(ee,f1);const it={show:!0},st={show:!1};function Ht(P,z){if(z==0&&(Ae||!X.live||R==2))return fo;let G=[],K=li("tr",g1,ae,ae.childNodes[z]);zn(K,P.class),P.show||zn(K,Er);let te=li("th",null,K);if(q.show){let ve=ei(m1,te);if(z>0){let we=q.width(h,z);we&&(ve.style.border=we+"px "+q.dash(h,z)+" "+q.stroke(h,z)),ve.style.background=q.fill(h,z)}}let oe=ei(cd,te);oe.textContent=P.label,z>0&&(q.show||(oe.style.color=P.width>0?q.stroke(h,z):q.fill(h,z)),It("click",te,ve=>{if(Ie._lock)return;ki(ve);let we=I.indexOf(P);if((ve.ctrlKey||ve.metaKey)!=X.isolate){let xe=I.some((ke,Te)=>Te>0&&Te!=we&&ke.show);I.forEach((ke,Te)=>{Te>0&&cn(Te,xe?Te==we?it:st:it,!0,Ot.setSeries)})}else cn(we,{show:!P.show},!0,Ot.setSeries)},!1),fi&&It(pd,te,ve=>{Ie._lock||(ki(ve),cn(I.indexOf(P),Ti,!0,Ot.setSeries))},!1));for(var fe in ye){let ve=li("td",v1,K);ve.textContent="--",G.push(ve)}return[K,G]}const xt=new Map;function It(P,z,G,K=!0){const te=xt.get(z)||{},oe=Ie.bind[P](h,z,G,K);oe&&(Or(P,z,te[P]=oe),xt.set(z,te))}function hi(P,z,G){const K=xt.get(z)||{};for(let te in K)(P==null||te==P)&&(Ac(te,z,K[te]),delete K[te]);P==null&&xt.delete(z)}let Qt=0,Pt=0,Re=0,De=0,Wt=0,Ne=0,ue=Wt,Se=Ne,$e=Re,He=De,Ue=0,rt=0,ot=0,et=0;h.bbox={};let tt=!1,qe=!1,Mt=!1,hn=!1,Si=!1,$n=!1;function xo(P,z,G){(G||P!=h.width||z!=h.height)&&_o(P,z),$i(!1),Mt=!0,qe=!0,qi()}function _o(P,z){h.width=Qt=Re=P,h.height=Pt=De=z,Wt=Ne=0,nl(),il();let G=h.bbox;Ue=G.left=Mr(Wt*ft,.5),rt=G.top=Mr(Ne*ft,.5),ot=G.width=Mr(Re*ft,.5),et=G.height=Mr(De*ft,.5)}const xs=3;function el(){let P=!1,z=0;for(;!P;){z++;let G=Ls(z),K=Es(z);P=z==xs||G&&K,P||(_o(h.width,h.height),qe=!0)}}function tl({width:P,height:z}){xo(P,z)}h.setSize=tl;function nl(){let P=!1,z=!1,G=!1,K=!1;C.forEach((te,oe)=>{if(te.show&&te._show){let{side:fe,_size:ve}=te,we=fe%2,xe=te.label!=null?te.labelSize:0,ke=ve+xe;ke>0&&(we?(Re-=ke,fe==3?(Wt+=ke,K=!0):G=!0):(De-=ke,fe==0?(Ne+=ke,P=!0):z=!0))}}),Ci[0]=P,Ci[1]=G,Ci[2]=z,Ci[3]=K,Re-=pi[1]+pi[3],Wt+=pi[3],De-=pi[2]+pi[0],Ne+=pi[0]}function il(){let P=Wt+Re,z=Ne+De,G=Wt,K=Ne;function te(oe,fe){switch(oe){case 1:return P+=fe,P-fe;case 2:return z+=fe,z-fe;case 3:return G-=fe,G+fe;case 0:return K-=fe,K+fe}}C.forEach((oe,fe)=>{if(oe.show&&oe._show){let ve=oe.side;oe._pos=te(ve,oe._size),oe.label!=null&&(oe._lpos=te(ve,oe.labelSize))}})}const Ie=h.cursor=qt({},g_,{drag:{y:R==2}},f.cursor);if(Ie.dataIdx==null){let P=Ie.hover,z=P.skip=new Set(P.skip??[]);z.add(void 0);let G=P.prox=ct(P.prox),K=P.bias??(P.bias=0);Ie.dataIdx=(te,oe,fe,ve)=>{if(oe==0)return fe;let we=fe,xe=G(te,oe,fe,ve)??ut,ke=xe>=0&&xe<ut,Te=E.ori==0?Re:De,Ve=Ie.left,yt=g[0],Ze=g[oe];if(z.has(Ze[fe])){we=null;let Be=null,Ge=null,Me;if(K==0||K==-1)for(Me=fe;Be==null&&Me-- >0;)z.has(Ze[Me])||(Be=Me);if(K==0||K==1)for(Me=fe;Ge==null&&Me++<Ze.length;)z.has(Ze[Me])||(Ge=Me);if(Be!=null||Ge!=null)if(ke){let pt=Be==null?-1/0:T(yt[Be],E,Te,0),Dt=Ge==null?1/0:T(yt[Ge],E,Te,0),Rt=Ve-pt,St=Dt-Ve;Rt<=St?Rt<=xe&&(we=Be):St<=xe&&(we=Ge)}else we=Ge==null?Be:Be==null?Ge:fe-Be<=Ge-fe?Be:Ge}else ke&&sn(Ve-T(yt[fe],E,Te,0))>xe&&(we=null);return we}}const ki=P=>{Ie.event=P};Ie.idxs=Y,Ie._lock=!1;let ln=Ie.points;ln.show=ct(ln.show),ln.size=ct(ln.size),ln.stroke=ct(ln.stroke),ln.width=ct(ln.width),ln.fill=ct(ln.fill);const di=h.focus=qt({},f.focus||{alpha:.3},Ie.focus),fi=di.prox>=0,Hi=fi&&ln.one;let fn=[],Ui=[],Vi=[];function _s(P,z){let G=ln.show(h,z);if(G)return zn(G,h1),zn(G,P.class),_i(G,-10,-10,Re,De),a.insertBefore(G,fn[z]),G}function Ss(P,z){if(R==1||z>0){let G=R==1&&b[P.scale].time,K=P.value;P.value=G?Md(K)?Nd(D,Dd(K,F)):K||j:K||C_,P.label=P.label||(G?v_:m_)}if(Hi||z>0){P.width=P.width==null?1:P.width,P.paths=P.paths||W_||M1,P.fillTo=ct(P.fillTo||L_),P.pxAlign=+dt(P.pxAlign,c),P.pxRound=jd(P.pxAlign),P.stroke=ct(P.stroke||null),P.fill=ct(P.fill||null),P._stroke=P._fill=P._paths=P._focus=null;let G=$_(wn(1,P.width),1),K=P.points=qt({},{size:G,width:wn(1,G*.2),stroke:P.stroke,space:G*2,paths:B_,_stroke:null,_fill:null},P.points);K.show=ct(K.show),K.filter=ct(K.filter),K.fill=ct(K.fill),K.stroke=ct(K.stroke),K.paths=ct(K.paths),K.pxAlign=P.pxAlign}if(Q){let G=Ht(P,z);he.splice(z,0,G[0]),de.splice(z,0,G[1]),X.values.push(null)}if(Ie.show){Y.splice(z,0,null);let G=null;Hi?z==0&&(G=_s(P,z)):z>0&&(G=_s(P,z)),fn.splice(z,0,G),Ui.splice(z,0,0),Vi.splice(z,0,0)}Bt("addSeries",z)}function rl(P,z){z=z??I.length,P=R==1?Ic(P,z,Pd,Ud):Ic(P,z,{},Hd),I.splice(z,0,P),Ss(I[z],z)}h.addSeries=rl;function ol(P){if(I.splice(P,1),Q){X.values.splice(P,1),de.splice(P,1);let z=he.splice(P,1)[0];hi(null,z.firstChild),z.remove()}Ie.show&&(Y.splice(P,1),fn.splice(P,1)[0].remove(),Ui.splice(P,1),Vi.splice(P,1)),Bt("delSeries",P)}h.delSeries=ol;const Ci=[!1,!1,!1,!1];function sl(P,z){if(P._show=P.show,P.show){let G=P.side%2,K=b[P.scale];K==null&&(P.scale=G?I[1].scale:$,K=b[P.scale]);let te=K.time;P.size=ct(P.size),P.space=ct(P.space),P.rotate=ct(P.rotate),cr(P.incrs)&&P.incrs.forEach(fe=>{!ur.has(fe)&&ur.set(fe,Bf(fe))}),P.incrs=ct(P.incrs||(K.distr==2?Q1:te?v==1?J1:n_:Lr)),P.splits=ct(P.splits||(te&&K.distr==1?B:K.distr==3?Mc:K.distr==4?b_:w_)),P.stroke=ct(P.stroke),P.grid.stroke=ct(P.grid.stroke),P.ticks.stroke=ct(P.ticks.stroke),P.border.stroke=ct(P.border.stroke);let oe=P.values;P.values=cr(oe)&&!cr(oe[0])?ct(oe):te?cr(oe)?Od(D,Id(oe,F)):Md(oe)?o_(D,oe):oe||H:oe||y_,P.filter=ct(P.filter||(K.distr>=3&&K.log==10?S_:K.distr==3&&K.log==2?k_:Pf)),P.font=qd(P.font),P.labelFont=qd(P.labelFont),P._size=P.size(h,null,z,0),P._space=P._rotate=P._incrs=P._found=P._splits=P._values=null,P._size>0&&(Ci[z]=!0,P._el=ei(a1,i))}}function ji(P,z,G,K){let[te,oe,fe,ve]=G,we=z%2,xe=0;return we==0&&(ve||oe)&&(xe=z==0&&!te||z==2&&!fe?on(Fd.size/3):0),we==1&&(te||fe)&&(xe=z==1&&!oe||z==3&&!ve?on(Bd.size/2):0),xe}const ks=h.padding=(f.padding||[ji,ji,ji,ji]).map(P=>ct(dt(P,ji))),pi=h._padding=ks.map((P,z)=>P(h,z,Ci,0));let Xt,jt=null,Gt=null;const Pr=R==1?I[0].idxs:null;let pn=null,hr=!1;function dr(P,z){if(g=P??[],h.data=h._data=g,R==2){Xt=0;for(let G=1;G<I.length;G++)Xt+=g[G][0].length}else{g.length==0&&(h.data=h._data=g=[[]]),pn=g[0],Xt=pn.length;let G=g;if(k==2){G=g.slice();let K=G[0]=Array(Xt);for(let te=0;te<Xt;te++)K[te]=te}h._data=g=G}if($i(!0),Bt("setData"),k==2&&(Mt=!0),z!==!1){let G=E;G.auto(h,hr)?So():Gn($,G.min,G.max),hn=hn||Ie.left>=0,$n=!0,qi()}}h.setData=dr;function So(){hr=!0;let P,z;R==1&&(Xt>0?(jt=Pr[0]=0,Gt=Pr[1]=Xt-1,P=g[0][jt],z=g[0][Gt],k==2?(P=jt,z=Gt):P==z&&(k==3?[P,z]=Ga(P,P,E.log,!1):k==4?[P,z]=Gc(P,P,E.log,!1):E.time?z=P+on(86400/v):[P,z]=Fa(P,z,Kc,!0))):(jt=Pr[0]=P=null,Gt=Pr[1]=z=null)),Gn($,P,z)}let Wr,Gi,Br,zr,Hr,ko,Co,$o,Ao,jn;function To(P,z,G,K,te,oe){P??(P=hd),G??(G=qc),K??(K="butt"),te??(te=hd),oe??(oe="round"),P!=Wr&&(n.strokeStyle=Wr=P),te!=Gi&&(n.fillStyle=Gi=te),z!=Br&&(n.lineWidth=Br=z),oe!=Hr&&(n.lineJoin=Hr=oe),K!=ko&&(n.lineCap=ko=K),G!=zr&&n.setLineDash(zr=G)}function Mo(P,z,G,K){z!=Gi&&(n.fillStyle=Gi=z),P!=Co&&(n.font=Co=P),G!=$o&&(n.textAlign=$o=G),K!=Ao&&(n.textBaseline=Ao=K)}function fr(P,z,G,K,te=0){if(K.length>0&&P.auto(h,hr)&&(z==null||z.min==null)){let oe=dt(jt,0),fe=dt(Gt,K.length-1),ve=G.min==null?P.distr==3?S1(K,oe,fe):_1(K,oe,fe,te):[G.min,G.max];P.min=ni(P.min,G.min=ve[0]),P.max=wn(P.max,G.max=ve[1])}}const Cs={min:null,max:null};function $s(){for(let K in b){let te=b[K];M[K]==null&&(te.min==null||M[$]!=null&&te.auto(h,hr))&&(M[K]=Cs)}for(let K in b){let te=b[K];M[K]==null&&te.from!=null&&M[te.from]!=null&&(M[K]=Cs)}M[$]!=null&&$i(!0);let P={};for(let K in M){let te=M[K];if(te!=null){let oe=P[K]=po(b[K],R1);if(te.min!=null)qt(oe,te);else if(K!=$||R==2)if(Xt==0&&oe.from==null){let fe=oe.range(h,null,null,K);oe.min=fe[0],oe.max=fe[1]}else oe.min=ut,oe.max=-ut}}if(Xt>0){I.forEach((K,te)=>{if(R==1){let oe=K.scale,fe=M[oe];if(fe==null)return;let ve=P[oe];if(te==0){let we=ve.range(h,ve.min,ve.max,oe);ve.min=we[0],ve.max=we[1],jt=ci(ve.min,g[0]),Gt=ci(ve.max,g[0]),Gt-jt>1&&(g[0][jt]<ve.min&&jt++,g[0][Gt]>ve.max&&Gt--),K.min=pn[jt],K.max=pn[Gt]}else K.show&&K.auto&&fr(ve,fe,K,g[te],K.sorted);K.idxs[0]=jt,K.idxs[1]=Gt}else if(te>0&&K.show&&K.auto){let[oe,fe]=K.facets,ve=oe.scale,we=fe.scale,[xe,ke]=g[te],Te=P[ve],Ve=P[we];Te!=null&&fr(Te,M[ve],oe,xe,oe.sorted),Ve!=null&&fr(Ve,M[we],fe,ke,fe.sorted),K.min=fe.min,K.max=fe.max}});for(let K in P){let te=P[K],oe=M[K];if(te.from==null&&(oe==null||oe.min==null)){let fe=te.range(h,te.min==ut?null:te.min,te.max==-ut?null:te.max,K);te.min=fe[0],te.max=fe[1]}}}for(let K in P){let te=P[K];if(te.from!=null){let oe=P[te.from];if(oe.min==null)te.min=te.max=null;else{let fe=te.range(h,oe.min,oe.max,K);te.min=fe[0],te.max=fe[1]}}}let z={},G=!1;for(let K in P){let te=P[K],oe=b[K];if(oe.min!=te.min||oe.max!=te.max){oe.min=te.min,oe.max=te.max;let fe=oe.distr;oe._min=fe==3?Bi(oe.min):fe==4?uc(oe.min,oe.asinh):fe==100?oe.fwd(oe.min):oe.min,oe._max=fe==3?Bi(oe.max):fe==4?uc(oe.max,oe.asinh):fe==100?oe.fwd(oe.max):oe.max,z[K]=G=!0}}if(G){I.forEach((K,te)=>{R==2?te>0&&z.y&&(K._paths=null):z[K.scale]&&(K._paths=null)});for(let K in z)Mt=!0,Bt("setScale",K);Ie.show&&Ie.left>=0&&(hn=$n=!0)}for(let K in M)M[K]=null}function Ur(P){let z=Tc(jt-1,0,Xt-1),G=Tc(Gt+1,0,Xt-1);for(;P[z]==null&&z>0;)z--;for(;P[G]==null&&G<Xt-1;)G++;return[z,G]}function As(){Xt>0&&(I.forEach((P,z)=>{if(z>0&&P.show&&(Ts(z,!1),Ts(z,!0),P._paths==null)){jn!=P.alpha&&(n.globalAlpha=jn=P.alpha);let G=R==2?[0,g[z][0].length-1]:Ur(g[z]);P._paths=P.paths(h,z,G[0],G[1]),jn!=1&&(n.globalAlpha=jn=1)}}),I.forEach((P,z)=>{if(z>0&&P.show){jn!=P.alpha&&(n.globalAlpha=jn=P.alpha),P._paths!=null&&Lo(z,!1);{let G=P._paths!=null?P._paths.gaps:null,K=P.points.show(h,z,jt,Gt,G),te=P.points.filter(h,z,K,G);(K||te)&&(P.points._paths=P.points.paths(h,z,jt,Gt,te),Lo(z,!0))}jn!=1&&(n.globalAlpha=jn=1),Bt("drawSeries",z)}}))}function Ts(P,z){let G=z?I[P].points:I[P];G._stroke=G.stroke(h,P),G._fill=G.fill(h,P)}function Lo(P,z){let G=z?I[P].points:I[P],{stroke:K,fill:te,clip:oe,flags:fe,_stroke:ve=G._stroke,_fill:we=G._fill,_width:xe=G.width}=G._paths;xe=Ct(xe*ft,3);let ke=null,Te=xe%2/2;z&&we==null&&(we=xe>0?"#fff":ve);let Ve=G.pxAlign==1&&Te>0;if(Ve&&n.translate(Te,Te),!z){let yt=Ue-xe/2,Ze=rt-xe/2,Be=ot+xe,Ge=et+xe;ke=new Path2D,ke.rect(yt,Ze,Be,Ge)}z?Eo(ve,xe,G.dash,G.cap,we,K,te,fe,oe):Ms(P,ve,xe,G.dash,G.cap,we,K,te,fe,ke,oe),Ve&&n.translate(-Te,-Te)}function Ms(P,z,G,K,te,oe,fe,ve,we,xe,ke){let Te=!1;we!=0&&m.forEach((Ve,yt)=>{if(Ve.series[0]==P){let Ze=I[Ve.series[1]],Be=g[Ve.series[1]],Ge=(Ze._paths||ms).band;cr(Ge)&&(Ge=Ve.dir==1?Ge[0]:Ge[1]);let Me,pt=null;Ze.show&&Ge&&C1(Be,jt,Gt)?(pt=Ve.fill(h,yt)||oe,Me=Ze._paths.clip):Ge=null,Eo(z,G,K,te,pt,fe,ve,we,xe,ke,Me,Ge),Te=!0}}),Te||Eo(z,G,K,te,oe,fe,ve,we,xe,ke)}const Vr=go|Ec;function Eo(P,z,G,K,te,oe,fe,ve,we,xe,ke,Te){To(P,z,G,K,te),(we||xe||Te)&&(n.save(),we&&n.clip(we),xe&&n.clip(xe)),Te?(ve&Vr)==Vr?(n.clip(Te),ke&&n.clip(ke),Ki(te,fe),pr(P,oe,z)):ve&Ec?(Ki(te,fe),n.clip(Te),pr(P,oe,z)):ve&go&&(n.save(),n.clip(Te),ke&&n.clip(ke),Ki(te,fe),n.restore(),pr(P,oe,z)):(Ki(te,fe),pr(P,oe,z)),(we||xe||Te)&&n.restore()}function pr(P,z,G){G>0&&(z instanceof Map?z.forEach((K,te)=>{n.strokeStyle=Wr=te,n.stroke(K)}):z!=null&&P&&n.stroke(z))}function Ki(P,z){z instanceof Map?z.forEach((G,K)=>{n.fillStyle=Gi=K,n.fill(G)}):z!=null&&P&&n.fill(z)}function Ro(P,z,G,K){let te=C[P],oe;if(K<=0)oe=[0,0];else{let fe=te._space=te.space(h,P,z,G,K),ve=te._incrs=te.incrs(h,P,z,G,K,fe);oe=G_(z,G,ve,K,fe)}return te._found=oe}function gi(P,z,G,K,te,oe,fe,ve,we,xe){let ke=fe%2/2;c==1&&n.translate(ke,ke),To(ve,fe,we,xe,ve),n.beginPath();let Te,Ve,yt,Ze,Be=te+(K==0||K==3?-oe:oe);G==0?(Ve=te,Ze=Be):(Te=te,yt=Be);for(let Ge=0;Ge<P.length;Ge++)z[Ge]!=null&&(G==0?Te=yt=P[Ge]:Ve=Ze=P[Ge],n.moveTo(Te,Ve),n.lineTo(yt,Ze));n.stroke(),c==1&&n.translate(-ke,-ke)}function Ls(P){let z=!0;return C.forEach((G,K)=>{if(!G.show)return;let te=b[G.scale];if(te.min==null){G._show&&(z=!1,G._show=!1,$i(!1));return}else G._show||(z=!1,G._show=!0,$i(!1));let oe=G.side,fe=oe%2,{min:ve,max:we}=te,[xe,ke]=Ro(K,ve,we,fe==0?Re:De);if(ke==0)return;let Te=te.distr==2,Ve=G._splits=G.splits(h,K,ve,we,xe,ke,Te),yt=te.distr==2?Ve.map(Me=>pn[Me]):Ve,Ze=te.distr==2?pn[Ve[1]]-pn[Ve[0]]:xe,Be=G._values=G.values(h,G.filter(h,yt,K,ke,Ze),K,ke,Ze);G._rotate=oe==2?G.rotate(h,Be,K,ke):0;let Ge=G._size;G._size=ti(G.size(h,Be,K,P)),Ge!=null&&G._size!=Ge&&(z=!1)}),z}function Es(P){let z=!0;return ks.forEach((G,K)=>{let te=G(h,K,Ci,P);te!=pi[K]&&(z=!1),pi[K]=te}),z}function al(){for(let P=0;P<C.length;P++){let z=C[P];if(!z.show||!z._show)continue;let G=z.side,K=G%2,te,oe,fe=z.stroke(h,P),ve=G==0||G==3?-1:1;if(z.label){let tn=z.labelGap*ve,_n=on((z._lpos+tn)*ft);Mo(z.labelFont[0],fe,"center",G==2?ls:ud),n.save(),K==1?(te=oe=0,n.translate(_n,on(rt+et/2)),n.rotate((G==3?-Ra:Ra)/2)):(te=on(Ue+ot/2),oe=_n),n.fillText(z.label,te,oe),n.restore()}let[we,xe]=z._found;if(xe==0)continue;let ke=b[z.scale],Te=K==0?ot:et,Ve=K==0?Ue:rt,yt=on(z.gap*ft),Ze=z._splits,Be=ke.distr==2?Ze.map(tn=>pn[tn]):Ze,Ge=ke.distr==2?pn[Ze[1]]-pn[Ze[0]]:we,Me=z.ticks,pt=z.border,Dt=Me.show?on(Me.size*ft):0,Rt=z._rotate*-Ra/180,St=p(z._pos*ft),kt=(Dt+yt)*ve,ne=St+kt;oe=K==0?ne:0,te=K==1?ne:0;let le=z.font[0],se=z.align==1?so:z.align==2?lc:Rt>0?so:Rt<0?lc:K==0?"center":G==3?lc:so,_e=Rt||K==1?"middle":G==2?ls:ud;Mo(le,fe,se,_e);let Ee=z.font[1]*z.lineGap,je=Ze.map(tn=>p(u(tn,ke,Te,Ve))),gt=z._values;for(let tn=0;tn<gt.length;tn++){let _n=gt[tn];if(_n!=null){K==0?te=je[tn]:oe=je[tn],_n=""+_n;let nn=_n.indexOf(`
1415
+ `)==-1?[_n]:_n.split(/\n/gm);for(let Nn=0;Nn<nn.length;Nn++){let Mn=nn[Nn];Rt?(n.save(),n.translate(te,oe+Nn*Ee),n.rotate(Rt),n.fillText(Mn,0,0),n.restore()):n.fillText(Mn,te,oe+Nn*Ee)}}}Me.show&&gi(je,Me.filter(h,Be,P,xe,Ge),K,G,St,Dt,Ct(Me.width*ft,3),Me.stroke(h,P),Me.dash,Me.cap);let Ke=z.grid;Ke.show&&gi(je,Ke.filter(h,Be,P,xe,Ge),K,K==0?2:1,K==0?rt:Ue,K==0?et:ot,Ct(Ke.width*ft,3),Ke.stroke(h,P),Ke.dash,Ke.cap),pt.show&&gi([St],[1],K==0?1:0,K==0?1:2,K==1?rt:Ue,K==1?et:ot,Ct(pt.width*ft,3),pt.stroke(h,P),pt.dash,pt.cap)}Bt("drawAxes")}function $i(P){I.forEach((z,G)=>{G>0&&(z._paths=null,P&&(R==1?(z.min=null,z.max=null):z.facets.forEach(K=>{K.min=null,K.max=null})))})}let gr=!1,jr=!1,Yi=[];function ll(){jr=!1;for(let P=0;P<Yi.length;P++)Bt(...Yi[P]);Yi.length=0}function qi(){gr||(W1(Io),gr=!0)}function cl(P,z=!1){gr=!0,jr=z,P(h),Io(),z&&Yi.length>0&&queueMicrotask(ll)}h.batch=cl;function Io(){if(tt&&($s(),tt=!1),Mt&&(el(),Mt=!1),qe){if(Lt(t,so,Wt),Lt(t,ls,Ne),Lt(t,ds,Re),Lt(t,fs,De),Lt(a,so,Wt),Lt(a,ls,Ne),Lt(a,ds,Re),Lt(a,fs,De),Lt(i,ds,Qt),Lt(i,fs,Pt),r.width=on(Qt*ft),r.height=on(Pt*ft),C.forEach(({_el:P,_show:z,_size:G,_pos:K,side:te})=>{if(P!=null)if(z){let oe=te===3||te===0?G:0,fe=te%2==1;Lt(P,fe?"left":"top",K-oe),Lt(P,fe?"width":"height",G),Lt(P,fe?"top":"left",fe?Ne:Wt),Lt(P,fe?"height":"width",fe?De:Re),$c(P,Er)}else zn(P,Er)}),Wr=Gi=Br=Hr=ko=Co=$o=Ao=zr=null,jn=1,vr(!0),Wt!=ue||Ne!=Se||Re!=$e||De!=He){$i(!1);let P=Re/$e,z=De/He;if(Ie.show&&!hn&&Ie.left>=0){Ie.left*=P,Ie.top*=z,Zi&&_i(Zi,on(Ie.left),0,Re,De),mi&&_i(mi,0,on(Ie.top),Re,De);for(let G=0;G<fn.length;G++){let K=fn[G];K!=null&&(Ui[G]*=P,Vi[G]*=z,_i(K,ti(Ui[G]),ti(Vi[G]),Re,De))}}if(_t.show&&!Si&&_t.left>=0&&_t.width>0){_t.left*=P,_t.width*=P,_t.top*=z,_t.height*=z;for(let G in Wo)Lt(Ai,G,_t[G])}ue=Wt,Se=Ne,$e=Re,He=De}Bt("setSize"),qe=!1}Qt>0&&Pt>0&&(n.clearRect(0,0,r.width,r.height),Bt("drawClear"),O.forEach(P=>P()),Bt("draw")),_t.show&&Si&&(Gr(_t),Si=!1),Ie.show&&hn&&(gn(null,!0,!1),hn=!1),X.show&&X.live&&$n&&(mr(),$n=!1),d||(d=!0,h.status=1,Bt("ready")),hr=!1,gr=!1}h.redraw=(P,z)=>{Mt=z||!1,P!==!1?Gn($,E.min,E.max):qi()};function Oo(P,z){let G=b[P];if(G.from==null){if(Xt==0){let K=G.range(h,z.min,z.max,P);z.min=K[0],z.max=K[1]}if(z.min>z.max){let K=z.min;z.min=z.max,z.max=K}if(Xt>1&&z.min!=null&&z.max!=null&&z.max-z.min<1e-16)return;P==$&&G.distr==2&&Xt>0&&(z.min=ci(z.min,g[0]),z.max=ci(z.max,g[0]),z.min==z.max&&z.max++),M[P]=z,tt=!0,qi()}}h.setScale=Oo;let Do,No,Zi,mi,Rs,Is,Qi,Xi,Os,bt,Oe,At,vi=!1;const Jt=Ie.drag;let Kt=Jt.x,Yt=Jt.y;Ie.show&&(Ie.x&&(Do=ei(c1,a)),Ie.y&&(No=ei(u1,a)),E.ori==0?(Zi=Do,mi=No):(Zi=No,mi=Do),Oe=Ie.left,At=Ie.top);const _t=h.select=qt({show:!0,over:!0,left:0,width:0,top:0,height:0},f.select),Ai=_t.show?ei(l1,_t.over?a:t):null;function Gr(P,z){if(_t.show){for(let G in P)_t[G]=P[G],G in Wo&&Lt(Ai,G,P[G]);z!==!1&&Bt("setSelect")}}h.setSelect=Gr;function en(P,z){let G=I[P],K=Q?he[P]:null;if(G.show)K&&$c(K,Er);else{K&&zn(K,Er);let te=Hi?fn[0]:fn[P];_i(te,-10,-10,Re,De)}}function Gn(P,z,G){Oo(P,{min:z,max:G})}function cn(P,z,G,K){z.focus!=null&&Fs(P),z.show!=null&&I.forEach((te,oe)=>{oe>0&&(P==oe||P==null)&&(te.show=z.show,en(oe,z.show),R==2?(Gn(te.facets[0].scale,null,null),Gn(te.facets[1].scale,null,null)):Gn(te.scale,null,null),qi())}),G!==!1&&Bt("setSeries",P,z),K&&ri("setSeries",h,P,z)}h.setSeries=cn;function Ds(P,z){qt(m[P],z)}function Fo(P,z){P.fill=ct(P.fill||null),P.dir=dt(P.dir,-1),z=z??m.length,m.splice(z,0,P)}function An(P){P==null?m.length=0:m.splice(P,1)}h.addBand=Fo,h.setBand=Ds,h.delBand=An;function Ns(P,z){I[P].alpha=z,Ie.show&&fn[P]&&(fn[P].style.opacity=z),Q&&he[P]&&(he[P].style.opacity=z)}let Kn,ii,yi;const Ti={focus:!0};function Fs(P){if(P!=yi){let z=P==null,G=di.alpha!=1;I.forEach((K,te)=>{if(R==1||te>0){let oe=z||te==0||te==P;K._focus=z?null:oe,G&&Ns(te,oe?1:di.alpha)}}),yi=P,G&&qi()}}Q&&fi&&It(gd,ee,P=>{Ie._lock||(ki(P),yi!=null&&cn(null,Ti,!0,Ot.setSeries))});function Et(P,z,G){let K=b[z];G&&(P=P/ft-(K.ori==1?Ne:Wt));let te=Re;K.ori==1&&(te=De,P=te-P),K.dir==-1&&(P=te-P);let oe=K._min,fe=K._max,ve=P/te,we=oe+(fe-oe)*ve,xe=K.distr;return xe==3?ho(10,we):xe==4?A1(we,K.asinh):xe==100?K.bwd(we):we}function ul(P,z){let G=Et(P,$,z);return ci(G,g[0],jt,Gt)}h.valToIdx=P=>ci(P,g[0]),h.posToIdx=ul,h.posToVal=Et,h.valToPos=(P,z,G)=>b[z].ori==0?y(P,b[z],G?ot:Re,G?Ue:0):_(P,b[z],G?et:De,G?rt:0),h.setCursor=(P,z,G)=>{Oe=P.left,At=P.top,gn(null,z,G)};function xn(P,z){Lt(Ai,so,_t.left=P),Lt(Ai,ds,_t.width=z)}function Ps(P,z){Lt(Ai,ls,_t.top=P),Lt(Ai,fs,_t.height=z)}let Ji=E.ori==0?xn:Ps,Tn=E.ori==1?xn:Ps;function Kr(){if(Q&&X.live)for(let P=R==2?1:0;P<I.length;P++){if(P==0&&Ae)continue;let z=X.values[P],G=0;for(let K in z)de[P][G++].firstChild.nodeValue=z[K]}}function mr(P,z){if(P!=null&&(P.idxs?P.idxs.forEach((G,K)=>{Y[K]=G}):E1(P.idx)||Y.fill(P.idx),X.idx=Y[0]),Q&&X.live){for(let G=0;G<I.length;G++)(G>0||R==1&&!Ae)&&Tt(G,Y[G]);Kr()}$n=!1,z!==!1&&Bt("setLegend")}h.setLegend=mr;function Tt(P,z){let G=I[P],K=P==0&&k==2?pn:g[P],te;Ae?te=G.values(h,P,z)??ze:(te=G.value(h,z==null?null:K[z],P,z),te=te==null?ze:{_:te}),X.values[P]=te}function gn(P,z,G){Os=Oe,bt=At,[Oe,At]=Ie.move(h,Oe,At),Ie.left=Oe,Ie.top=At,Ie.show&&(Zi&&_i(Zi,on(Oe),0,Re,De),mi&&_i(mi,0,on(At),Re,De));let K,te=jt>Gt;Kn=ut,ii=null;let oe=E.ori==0?Re:De,fe=E.ori==1?Re:De;if(Oe<0||Xt==0||te){K=Ie.idx=null;for(let ve=0;ve<I.length;ve++){let we=fn[ve];we!=null&&_i(we,-10,-10,Re,De)}fi&&cn(null,Ti,!0,P==null&&Ot.setSeries),X.live&&(Y.fill(K),$n=!0)}else{let ve,we,xe;R==1&&(ve=E.ori==0?Oe:At,we=Et(ve,$),K=Ie.idx=ci(we,g[0],jt,Gt),xe=T(g[0][K],E,oe,0));let ke=-10,Te=-10,Ve=0,yt=0,Ze=!0,Be="",Ge="";for(let Me=R==2?1:0;Me<I.length;Me++){let pt=I[Me],Dt=Y[Me],Rt=Dt==null?null:R==1?g[Me][Dt]:g[Me][1][Dt],St=Ie.dataIdx(h,Me,K,we),kt=St==null?null:R==1?g[Me][St]:g[Me][1][St];$n=$n||kt!=Rt||St!=Dt,Y[Me]=St;let ne=St==K?xe:T(R==1?g[0][St]:g[Me][0][St],E,oe,0);if(Me>0&&pt.show){let le=kt==null?-10:w(kt,R==1?b[pt.scale]:b[pt.facets[1].scale],fe,0);if(fi&&kt!=null){let se=E.ori==1?Oe:At,_e=sn(di.dist(h,Me,St,le,se));if(_e<Kn){let Ee=di.bias;if(Ee!=0){let je=Et(se,pt.scale),gt=kt>=0?1:-1,Ke=je>=0?1:-1;Ke==gt&&(Ke==1?Ee==1?kt>=je:kt<=je:Ee==1?kt<=je:kt>=je)&&(Kn=_e,ii=Me)}else Kn=_e,ii=Me}}if($n||Hi){let se,_e;E.ori==0?(se=ne,_e=le):(se=le,_e=ne);let Ee,je,gt,Ke,tn,_n,nn=!0,Nn=ln.bbox;if(Nn!=null){nn=!1;let Mn=Nn(h,Me);gt=Mn.left,Ke=Mn.top,Ee=Mn.width,je=Mn.height}else gt=se,Ke=_e,Ee=je=ln.size(h,Me);if(_n=ln.fill(h,Me),tn=ln.stroke(h,Me),Hi)Me==ii&&Kn<=di.prox&&(ke=gt,Te=Ke,Ve=Ee,yt=je,Ze=nn,Be=_n,Ge=tn);else{let Mn=fn[Me];Mn!=null&&(Ui[Me]=gt,Vi[Me]=Ke,_d(Mn,Ee,je,nn),bd(Mn,_n,tn),_i(Mn,ti(gt),ti(Ke),Re,De))}}}}if(Hi){let Me=di.prox,pt=yi==null?Kn<=Me:Kn>Me||ii!=yi;if($n||pt){let Dt=fn[0];Ui[0]=ke,Vi[0]=Te,_d(Dt,Ve,yt,Ze),bd(Dt,Be,Ge),_i(Dt,ti(ke),ti(Te),Re,De)}}}if(_t.show&&vi)if(P!=null){let[ve,we]=Ot.scales,[xe,ke]=Ot.match,[Te,Ve]=P.cursor.sync.scales,yt=P.cursor.drag;if(Kt=yt._x,Yt=yt._y,Kt||Yt){let{left:Ze,top:Be,width:Ge,height:Me}=P.select,pt=P.scales[Te].ori,Dt=P.posToVal,Rt,St,kt,ne,le,se=ve!=null&&xe(ve,Te),_e=we!=null&&ke(we,Ve);se&&Kt?(pt==0?(Rt=Ze,St=Ge):(Rt=Be,St=Me),kt=b[ve],ne=T(Dt(Rt,Te),kt,oe,0),le=T(Dt(Rt+St,Te),kt,oe,0),Ji(ni(ne,le),sn(le-ne))):Ji(0,oe),_e&&Yt?(pt==1?(Rt=Ze,St=Ge):(Rt=Be,St=Me),kt=b[we],ne=w(Dt(Rt,Ve),kt,fe,0),le=w(Dt(Rt+St,Ve),kt,fe,0),Tn(ni(ne,le),sn(le-ne))):Tn(0,fe)}else qr()}else{let ve=sn(Os-Rs),we=sn(bt-Is);if(E.ori==1){let Ve=ve;ve=we,we=Ve}Kt=Jt.x&&ve>=Jt.dist,Yt=Jt.y&&we>=Jt.dist;let xe=Jt.uni;xe!=null?Kt&&Yt&&(Kt=ve>=xe,Yt=we>=xe,!Kt&&!Yt&&(we>ve?Yt=!0:Kt=!0)):Jt.x&&Jt.y&&(Kt||Yt)&&(Kt=Yt=!0);let ke,Te;Kt&&(E.ori==0?(ke=Qi,Te=Oe):(ke=Xi,Te=At),Ji(ni(ke,Te),sn(Te-ke)),Yt||Tn(0,fe)),Yt&&(E.ori==1?(ke=Qi,Te=Oe):(ke=Xi,Te=At),Tn(ni(ke,Te),sn(Te-ke)),Kt||Ji(0,oe)),!Kt&&!Yt&&(Ji(0,0),Tn(0,0))}if(Jt._x=Kt,Jt._y=Yt,P==null){if(G){if(mn!=null){let[ve,we]=Ot.scales;Ot.values[0]=ve!=null?Et(E.ori==0?Oe:At,ve):null,Ot.values[1]=we!=null?Et(E.ori==1?Oe:At,we):null}ri(dd,h,Oe,At,Re,De,K)}if(fi){let ve=G&&Ot.setSeries,we=di.prox;yi==null?Kn<=we&&cn(ii,Ti,!0,ve):Kn>we?cn(null,Ti,!0,ve):ii!=yi&&cn(ii,Ti,!0,ve)}}$n&&(X.idx=K,mr()),z!==!1&&Bt("setCursor")}let Yn=null;Object.defineProperty(h,"rect",{get(){return Yn==null&&vr(!1),Yn}});function vr(P=!1){P?Yn=null:(Yn=a.getBoundingClientRect(),Bt("syncRect",Yn))}function Yr(P,z,G,K,te,oe,fe){Ie._lock||vi&&P!=null&&P.movementX==0&&P.movementY==0||(Po(P,z,G,K,te,oe,fe,!1,P!=null),P!=null?gn(null,!0,!0):gn(z,!0,!1))}function Po(P,z,G,K,te,oe,fe,ve,we){if(Yn==null&&vr(!1),ki(P),P!=null)G=P.clientX-Yn.left,K=P.clientY-Yn.top;else{if(G<0||K<0){Oe=-10,At=-10;return}let[xe,ke]=Ot.scales,Te=z.cursor.sync,[Ve,yt]=Te.values,[Ze,Be]=Te.scales,[Ge,Me]=Ot.match,pt=z.axes[0].side%2==1,Dt=E.ori==0?Re:De,Rt=E.ori==1?Re:De,St=pt?oe:te,kt=pt?te:oe,ne=pt?K:G,le=pt?G:K;if(Ze!=null?G=Ge(xe,Ze)?u(Ve,b[xe],Dt,0):-10:G=Dt*(ne/St),Be!=null?K=Me(ke,Be)?u(yt,b[ke],Rt,0):-10:K=Rt*(le/kt),E.ori==1){let se=G;G=K,K=se}}we&&((G<=1||G>=Re-1)&&(G=Mr(G,Re)),(K<=1||K>=De-1)&&(K=Mr(K,De))),ve?(Rs=G,Is=K,[Qi,Xi]=Ie.move(h,G,K)):(Oe=G,At=K)}const Wo={width:0,height:0,left:0,top:0};function qr(){Gr(Wo,!1)}let Bo,yr,Mi,Ws;function zo(P,z,G,K,te,oe,fe){vi=!0,Kt=Yt=Jt._x=Jt._y=!1,Po(P,z,G,K,te,oe,fe,!0,!1),P!=null&&(It(cc,kc,Ho,!1),ri(fd,h,Qi,Xi,Re,De,null));let{left:ve,top:we,width:xe,height:ke}=_t;Bo=ve,yr=we,Mi=xe,Ws=ke,qr()}function Ho(P,z,G,K,te,oe,fe){vi=Jt._x=Jt._y=!1,Po(P,z,G,K,te,oe,fe,!1,!0);let{left:ve,top:we,width:xe,height:ke}=_t,Te=xe>0||ke>0,Ve=Bo!=ve||yr!=we||Mi!=xe||Ws!=ke;if(Te&&Ve&&Gr(_t),Jt.setScale&&Te&&Ve){let yt=ve,Ze=xe,Be=we,Ge=ke;if(E.ori==1&&(yt=we,Ze=ke,Be=ve,Ge=xe),Kt&&Gn($,Et(yt,$),Et(yt+Ze,$)),Yt)for(let Me in b){let pt=b[Me];Me!=$&&pt.from==null&&pt.min!=ut&&Gn(Me,Et(Be+Ge,Me),Et(Be,Me))}qr()}else Ie.lock&&(Ie._lock=!Ie._lock,gn(null,!0,!1));P!=null&&(hi(cc,kc),ri(cc,h,Oe,At,Re,De,null))}function Uo(P,z,G,K,te,oe,fe){if(Ie._lock)return;ki(P);let ve=vi;if(vi){let we=!0,xe=!0,ke=10,Te,Ve;E.ori==0?(Te=Kt,Ve=Yt):(Te=Yt,Ve=Kt),Te&&Ve&&(we=Oe<=ke||Oe>=Re-ke,xe=At<=ke||At>=De-ke),Te&&we&&(Oe=Oe<Qi?0:Re),Ve&&xe&&(At=At<Xi?0:De),gn(null,!0,!0),vi=!1}Oe=-10,At=-10,gn(null,!0,!0),ve&&(vi=ve)}function Zr(P,z,G,K,te,oe,fe){Ie._lock||(ki(P),So(),qr(),P!=null&&ri(md,h,Oe,At,Re,De,null))}function Vo(){C.forEach(K_),xo(h.width,h.height,!0)}Or(Na,co,Vo);const er={};er.mousedown=zo,er.mousemove=Yr,er.mouseup=Ho,er.dblclick=Zr,er.setSeries=(P,z,G,K)=>{let te=Ot.match[2];G=te(h,z,G),G!=-1&&cn(G,K,!0,!1)},Ie.show&&(It(fd,a,zo),It(dd,a,Yr),It(pd,a,P=>{ki(P),vr(!1)}),It(gd,a,Uo),It(md,a,Zr),Rc.add(h),h.syncRect=vr);const tr=h.hooks=f.hooks||{};function Bt(P,z,G){jr?Yi.push([P,z,G]):P in tr&&tr[P].forEach(K=>{K.call(null,h,z,G)})}(f.plugins||[]).forEach(P=>{for(let z in P.hooks)tr[z]=(tr[z]||[]).concat(P.hooks[z])});const Bs=(P,z,G)=>G,Ot=qt({key:null,setSeries:!1,filters:{pub:Ad,sub:Ad},scales:[$,I[1]?I[1].scale:null],match:[Td,Td,Bs],values:[null,null]},Ie.sync);Ot.match.length==2&&Ot.match.push(Bs),Ie.sync=Ot;const mn=Ot.key,wr=sp(mn);function ri(P,z,G,K,te,oe,fe){Ot.filters.pub(P,z,G,K,te,oe,fe)&&wr.pub(P,z,G,K,te,oe,fe)}wr.sub(h);function zs(P,z,G,K,te,oe,fe){Ot.filters.sub(P,z,G,K,te,oe,fe)&&er[P](null,z,G,K,te,oe,fe)}h.pub=zs;function Hs(){wr.unsub(h),Rc.delete(h),xt.clear(),Ac(Na,co,Vo),s.remove(),ee==null||ee.remove(),Bt("destroy")}h.destroy=Hs;function jo(){Bt("init",f,g),dr(g||f.data,!1),M[$]?Oo($,M[$]):So(),Si=_t.show&&(_t.width>0||_t.height>0),hn=$n=!0,xo(f.width,f.height)}return I.forEach(Ss),C.forEach(sl),o?o instanceof HTMLElement?(o.appendChild(s),jo()):o(h,jo):jo(),h}bn.assign=qt;bn.fmtNum=Yc;bn.rangeNum=Fa;bn.rangeLog=Ga;bn.rangeAsinh=Gc;bn.orient=Fr;bn.pxRatio=ft;bn.join=P1;bn.fmtDate=Zc,bn.tzDate=q1;bn.sync=sp;{bn.addGap=E_,bn.clipGaps=qa;let f=bn.paths={points:dp};f.linear=pp,f.stepped=O_,f.bars=D_,f.spline=F_}function Y_(f,g,o){var h=-1,R=f.length;g<0&&(g=-g>R?0:R+g),o=o>R?R:o,o<0&&(o+=R),R=g>o?0:o-g>>>0,g>>>=0;for(var x=Array(R);++h<R;)x[h]=f[h+g];return x}var q_=Y_,Z_=q_;function Q_(f,g,o){var h=f.length;return o=o===void 0?h:o,!g&&o>=h?f:Z_(f,g,o)}var X_=Q_,J_="\\ud800-\\udfff",eS="\\u0300-\\u036f",tS="\\ufe20-\\ufe2f",nS="\\u20d0-\\u20ff",iS=eS+tS+nS,rS="\\ufe0e\\ufe0f",oS="\\u200d",sS=RegExp("["+oS+J_+iS+rS+"]");function aS(f){return sS.test(f)}var yp=aS;function lS(f){return f.split("")}var cS=lS,wp="\\ud800-\\udfff",uS="\\u0300-\\u036f",hS="\\ufe20-\\ufe2f",dS="\\u20d0-\\u20ff",fS=uS+hS+dS,pS="\\ufe0e\\ufe0f",gS="["+wp+"]",Oc="["+fS+"]",Dc="\\ud83c[\\udffb-\\udfff]",mS="(?:"+Oc+"|"+Dc+")",bp="[^"+wp+"]",xp="(?:\\ud83c[\\udde6-\\uddff]){2}",_p="[\\ud800-\\udbff][\\udc00-\\udfff]",vS="\\u200d",Sp=mS+"?",kp="["+pS+"]?",yS="(?:"+vS+"(?:"+[bp,xp,_p].join("|")+")"+kp+Sp+")*",wS=kp+Sp+yS,bS="(?:"+[bp+Oc+"?",Oc,xp,_p,gS].join("|")+")",xS=RegExp(Dc+"(?="+Dc+")|"+bS+wS,"g");function _S(f){return f.match(xS)||[]}var SS=_S,kS=cS,CS=yp,$S=SS;function AS(f){return CS(f)?$S(f):kS(f)}var TS=AS,MS=typeof Wi=="object"&&Wi&&Wi.Object===Object&&Wi,LS=MS,ES=LS,RS=typeof self=="object"&&self&&self.Object===Object&&self,IS=ES||RS||Function("return this")(),OS=IS,DS=OS,NS=DS.Symbol,iu=NS;function FS(f,g){for(var o=-1,h=f==null?0:f.length,R=Array(h);++o<h;)R[o]=g(f[o],o,f);return R}var PS=FS,WS=Array.isArray,BS=WS,Zd=iu,Cp=Object.prototype,zS=Cp.hasOwnProperty,HS=Cp.toString,us=Zd?Zd.toStringTag:void 0;function US(f){var g=zS.call(f,us),o=f[us];try{f[us]=void 0;var h=!0}catch{}var R=HS.call(f);return h&&(g?f[us]=o:delete f[us]),R}var VS=US,jS=Object.prototype,GS=jS.toString;function KS(f){return GS.call(f)}var YS=KS,Qd=iu,qS=VS,ZS=YS,QS="[object Null]",XS="[object Undefined]",Xd=Qd?Qd.toStringTag:void 0;function JS(f){return f==null?f===void 0?XS:QS:Xd&&Xd in Object(f)?qS(f):ZS(f)}var ek=JS;function tk(f){return f!=null&&typeof f=="object"}var nk=tk,ik=ek,rk=nk,ok="[object Symbol]";function sk(f){return typeof f=="symbol"||rk(f)&&ik(f)==ok}var ak=sk,Jd=iu,lk=PS,ck=BS,uk=ak,hk=1/0,ef=Jd?Jd.prototype:void 0,tf=ef?ef.toString:void 0;function $p(f){if(typeof f=="string")return f;if(ck(f))return lk(f,$p)+"";if(uk(f))return tf?tf.call(f):"";var g=f+"";return g=="0"&&1/f==-hk?"-0":g}var dk=$p,fk=dk;function pk(f){return f==null?"":fk(f)}var Ja=pk,gk=X_,mk=yp,vk=TS,yk=Ja;function wk(f){return function(g){g=yk(g);var o=mk(g)?vk(g):void 0,h=o?o[0]:g.charAt(0),R=o?gk(o,1).join(""):g.slice(1);return h[f]()+R}}var bk=wk,xk=bk,_k=xk("toUpperCase"),Ap=_k;const Sk=Wa(Ap);var kk=Ja,Ck=Ap;function $k(f){return Ck(kk(f).toLowerCase())}var Ak=$k;function Tk(f,g,o,h){var R=-1,x=f==null?0:f.length;for(h&&x&&(o=f[++R]);++R<x;)o=g(o,f[R],R,f);return o}var Mk=Tk;function Lk(f){return function(g){return f==null?void 0:f[g]}}var Ek=Lk,Rk=Ek,Ik={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Ok=Rk(Ik),Dk=Ok,Nk=Dk,Fk=Ja,Pk=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Wk="\\u0300-\\u036f",Bk="\\ufe20-\\ufe2f",zk="\\u20d0-\\u20ff",Hk=Wk+Bk+zk,Uk="["+Hk+"]",Vk=RegExp(Uk,"g");function jk(f){return f=Fk(f),f&&f.replace(Pk,Nk).replace(Vk,"")}var Gk=jk,Kk=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Yk(f){return f.match(Kk)||[]}var qk=Yk,Zk=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function Qk(f){return Zk.test(f)}var Xk=Qk,Tp="\\ud800-\\udfff",Jk="\\u0300-\\u036f",eC="\\ufe20-\\ufe2f",tC="\\u20d0-\\u20ff",nC=Jk+eC+tC,Mp="\\u2700-\\u27bf",Lp="a-z\\xdf-\\xf6\\xf8-\\xff",iC="\\xac\\xb1\\xd7\\xf7",rC="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",oC="\\u2000-\\u206f",sC=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ep="A-Z\\xc0-\\xd6\\xd8-\\xde",aC="\\ufe0e\\ufe0f",Rp=iC+rC+oC+sC,Ip="['’]",nf="["+Rp+"]",lC="["+nC+"]",Op="\\d+",cC="["+Mp+"]",Dp="["+Lp+"]",Np="[^"+Tp+Rp+Op+Mp+Lp+Ep+"]",uC="\\ud83c[\\udffb-\\udfff]",hC="(?:"+lC+"|"+uC+")",dC="[^"+Tp+"]",Fp="(?:\\ud83c[\\udde6-\\uddff]){2}",Pp="[\\ud800-\\udbff][\\udc00-\\udfff]",lo="["+Ep+"]",fC="\\u200d",rf="(?:"+Dp+"|"+Np+")",pC="(?:"+lo+"|"+Np+")",of="(?:"+Ip+"(?:d|ll|m|re|s|t|ve))?",sf="(?:"+Ip+"(?:D|LL|M|RE|S|T|VE))?",Wp=hC+"?",Bp="["+aC+"]?",gC="(?:"+fC+"(?:"+[dC,Fp,Pp].join("|")+")"+Bp+Wp+")*",mC="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",vC="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",yC=Bp+Wp+gC,wC="(?:"+[cC,Fp,Pp].join("|")+")"+yC,bC=RegExp([lo+"?"+Dp+"+"+of+"(?="+[nf,lo,"$"].join("|")+")",pC+"+"+sf+"(?="+[nf,lo+rf,"$"].join("|")+")",lo+"?"+rf+"+"+of,lo+"+"+sf,vC,mC,Op,wC].join("|"),"g");function xC(f){return f.match(bC)||[]}var _C=xC,SC=qk,kC=Xk,CC=Ja,$C=_C;function AC(f,g,o){return f=CC(f),g=o?void 0:g,g===void 0?kC(f)?$C(f):SC(f):f.match(g)||[]}var TC=AC,MC=Mk,LC=Gk,EC=TC,RC="['’]",IC=RegExp(RC,"g");function OC(f){return function(g){return MC(EC(LC(g).replace(IC,"")),f,"")}}var DC=OC,NC=Ak,FC=DC,PC=FC(function(f,g,o){return g=g.toLowerCase(),f+(o?NC(g):g)}),WC=PC;const BC=Wa(WC),zC=Object.assign({"./ArrayWidget.vue":()=>Promise.resolve().then(()=>require("./ArrayWidget-x7le0X73.cjs")),"./BlockWidget.vue":()=>Promise.resolve().then(()=>require("./BlockWidget-BPefRY_h.cjs")),"./ButtonWidget.vue":()=>Promise.resolve().then(()=>require("./ButtonWidget-SoiP15gH.cjs")),"./CanvasWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasWidget-JapjwSXd.cjs")),"./CanvasdotWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasdotWidget-BU42MGW6.cjs")),"./CanvasimageWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasimageWidget-CQ_ZlEFj.cjs")),"./CanvasimagevalueWidget.vue":()=>Promise.resolve().then(()=>require("./CanvasimagevalueWidget-DKejEVKr.cjs")),"./CanvaslabelWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslabelWidget-zKoAOaaE.cjs")),"./CanvaslabelvalueWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslabelvalueWidget-ZnyvNaVM.cjs")),"./CanvaslineWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslineWidget-BRFrT-9r.cjs")),"./CanvaslinevalueWidget.vue":()=>Promise.resolve().then(()=>require("./CanvaslinevalueWidget-DgIU-2d6.cjs")),"./CheckbuttonWidget.vue":()=>Promise.resolve().then(()=>require("./CheckbuttonWidget-BrUBiJWn.cjs")),"./ComboboxWidget.vue":()=>Promise.resolve().then(()=>require("./ComboboxWidget-BUMleWlR.cjs")),"./DateWidget.vue":()=>Promise.resolve().then(()=>require("./DateWidget-3e2qqqxw.cjs")),"./DynamicWidget.vue":()=>Promise.resolve().then(()=>require("./DynamicWidget-3wHr6Ng-.cjs")),"./FormatvalueWidget.vue":()=>Promise.resolve().then(()=>require("./FormatvalueWidget-DK0tTvcs.cjs")),"./HorizontalWidget.vue":()=>Promise.resolve().then(()=>require("./HorizontalWidget-xEd4ZLsc.cjs")),"./HorizontalboxWidget.vue":()=>Promise.resolve().then(()=>require("./HorizontalboxWidget-xwLnkDXf.cjs")),"./HorizontallineWidget.vue":()=>Promise.resolve().then(()=>require("./HorizontallineWidget-BCKOQase.cjs")),"./IframeWidget.vue":()=>Promise.resolve().then(()=>require("./IframeWidget-C42hZbe_.cjs")),"./ImageviewerWidget.vue":()=>Promise.resolve().then(()=>require("./ImageviewerWidget-B0HJk4Tf.cjs")),"./LabelWidget.vue":()=>Promise.resolve().then(()=>require("./LabelWidget-B1-se7_B.cjs")),"./LabelledWidget.vue":()=>Promise.resolve().then(()=>require("./LabelledWidget-3aDkVYzF.cjs")),"./LabelprogressbarWidget.vue":()=>Promise.resolve().then(()=>require("./LabelprogressbarWidget-Dsiw-uBJ.cjs")),"./LabelsparklineWidget.vue":()=>Promise.resolve().then(()=>require("./LabelsparklineWidget-w6pdf_eu.cjs")),"./LabelvalueWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvalueWidget-CRtYLZfm.cjs")),"./LabelvaluedescWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluedescWidget-CF9py8m9.cjs")),"./LabelvaluelimitsbarWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluelimitsbarWidget-DFUH0HNe.cjs")),"./LabelvaluelimitscolumnWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluelimitscolumnWidget-k0hVnMUV.cjs")),"./LabelvaluerangebarWidget.vue":()=>Promise.resolve().then(()=>require("./LabelvaluerangebarWidget-CRqMQa_x.cjs")),"./LedWidget.vue":()=>Promise.resolve().then(()=>require("./LedWidget-tnHC12fA.cjs")),"./LimitsbarWidget.vue":()=>Promise.resolve().then(()=>require("./LimitsbarWidget-DSJvR91d.cjs")),"./LimitscolorWidget.vue":()=>Promise.resolve().then(()=>require("./LimitscolorWidget-BWfffXvj.cjs")),"./LimitscolumnWidget.vue":()=>Promise.resolve().then(()=>require("./LimitscolumnWidget-Ci2DqqsC.cjs")),"./LinegraphWidget.vue":()=>Promise.resolve().then(()=>require("./LinegraphWidget-ByTUdpDj.cjs")),"./MatrixbycolumnsWidget.vue":()=>Promise.resolve().then(()=>require("./MatrixbycolumnsWidget-GHZ6cCcr.cjs")),"./ProgressbarWidget.vue":()=>Promise.resolve().then(()=>require("./ProgressbarWidget-D1wbbnow.cjs")),"./RadiobuttonWidget.vue":()=>Promise.resolve().then(()=>require("./RadiobuttonWidget-Bhcj3WY5.cjs")),"./RadiogroupWidget.vue":()=>Promise.resolve().then(()=>require("./RadiogroupWidget-CQrEv3Qs.cjs")),"./RangebarWidget.vue":()=>Promise.resolve().then(()=>require("./RangebarWidget-CKmh0GEh.cjs")),"./RollupWidget.vue":()=>Promise.resolve().then(()=>require("./RollupWidget-Bh-Gpi5l.cjs")),"./ScrollwindowWidget.vue":()=>Promise.resolve().then(()=>require("./ScrollwindowWidget-DWBLVHz1.cjs")),"./SignalWidget.vue":()=>Promise.resolve().then(()=>require("./SignalWidget-vsx411XW.cjs")),"./SpacerWidget.vue":()=>Promise.resolve().then(()=>require("./SpacerWidget-DGo6ZjYn.cjs")),"./SparklineWidget.vue":()=>Promise.resolve().then(()=>require("./SparklineWidget-Bkx8nwqY.cjs")),"./TabbookWidget.vue":()=>Promise.resolve().then(()=>require("./TabbookWidget-CDUj7RHp.cjs")),"./TextboxWidget.vue":()=>Promise.resolve().then(()=>require("./TextboxWidget-LhNzbjQI.cjs")),"./TextfieldWidget.vue":()=>Promise.resolve().then(()=>require("./TextfieldWidget-AbalSObh.cjs")),"./TimeWidget.vue":()=>Promise.resolve().then(()=>require("./TimeWidget-BUMtokM-.cjs")),"./TitleWidget.vue":()=>Promise.resolve().then(()=>require("./TitleWidget-DWieiIfq.cjs")),"./ValueWidget.vue":()=>Promise.resolve().then(()=>require("./ValueWidget-DxY7IZvc.cjs")),"./ValuelimitsbarWidget.vue":()=>Promise.resolve().then(()=>require("./ValuelimitsbarWidget-Dk6L7fl3.cjs")),"./ValuelimitscolumnWidget.vue":()=>Promise.resolve().then(()=>require("./ValuelimitscolumnWidget-YD_Xd3tD.cjs")),"./ValuerangebarWidget.vue":()=>Promise.resolve().then(()=>require("./ValuerangebarWidget-BtoenJky.cjs")),"./VerticalWidget.vue":()=>Promise.resolve().then(()=>require("./VerticalWidget-Dw11Ey1R.cjs")),"./VerticalboxWidget.vue":()=>Promise.resolve().then(()=>require("./VerticalboxWidget-DT-OCuyc.cjs"))}),HC=Object.entries(zC).reduce((f,[g,o])=>{g=g.split("/").pop();const h=Sk(BC(g.replace(/\.\w+$/,"")));return{...f,[h]:be.defineAsyncComponent(o)}},{}),UC={components:HC};exports.DataViewerComponent=If;exports.DataViewerHistoryComponent=Qx;exports.He=Sc;exports.WidgetComponents=UC;exports._=Df;exports.aceExports=Y0;exports.getDefaultExportFromCjs=Wa;exports.ir=jx;exports.lodashExports=Of;exports.nr=Ix;exports.rr=Ux;exports.sr=Vx;exports.uPlot=bn;
1416
+ //# sourceMappingURL=UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs.map