@camera.ui/server 0.0.70 → 0.0.71

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 (1328) hide show
  1. package/CLAUDE.md +91 -0
  2. package/README.md +2 -24
  3. package/cupdate.config.txt +0 -1
  4. package/dist/interface/assets/404-Dyk_o9BI.js +1 -0
  5. package/dist/interface/assets/About-CjvVzvch.js +1 -0
  6. package/dist/interface/assets/Adminpanel-A5VZlDRc.js +1 -0
  7. package/dist/interface/assets/Automation-CB6etdKe.js +2 -0
  8. package/dist/interface/assets/Automation-Csu8t0D7.css +1 -0
  9. package/dist/interface/assets/Automations-DAVNWMJ3.js +1 -0
  10. package/dist/interface/assets/Camera-BhCDJE7I.css +1 -0
  11. package/dist/interface/assets/Camera-CwZSmjqJ.js +2 -0
  12. package/dist/interface/assets/CameraConsole-vB_OcM5o.js +7 -0
  13. package/dist/interface/assets/Cameras-807mspcl.css +1 -0
  14. package/dist/interface/assets/Cameras-DhSUa8r_.js +656 -0
  15. package/dist/interface/assets/Camview-Dd7DwMHG.css +1 -0
  16. package/dist/interface/assets/Camview-Wb5_NhEb.js +1 -0
  17. package/dist/interface/assets/Config-JgftUZFe.css +1 -0
  18. package/dist/interface/assets/Config-fXY8u7CZ.js +2 -0
  19. package/dist/interface/assets/ConfigActionCameraControl-BnQ52X7M.js +1 -0
  20. package/dist/interface/assets/ConfigActionDelay-DKhE0Xr8.js +1 -0
  21. package/dist/interface/assets/ConfigActionHttp-BbfN1UGF.js +1 -0
  22. package/dist/interface/assets/ConfigActionImageInput-P39gRfld.js +1 -0
  23. package/dist/interface/assets/ConfigActionNotification-DZLVZu8B.js +1 -0
  24. package/dist/interface/assets/ConfigActionOutput-BIHvC1Z5.js +1 -0
  25. package/dist/interface/assets/ConfigActionPlugin-DV1IfA3C.js +1 -0
  26. package/dist/interface/assets/ConfigActionSensor-Akj2oG6e.js +1 -0
  27. package/dist/interface/assets/ConfigActionSnapshot-CuAc8HqG.js +1 -0
  28. package/dist/interface/assets/ConfigActionVariable-CVaOMoOi.js +1 -0
  29. package/dist/interface/assets/ConfigConditionIfElse-DiIOUqA5.js +1 -0
  30. package/dist/interface/assets/ConfigConditionSensorState-Bpb4wlLx.js +1 -0
  31. package/dist/interface/assets/ConfigConditionSwitch-DWqcQ3Ip.js +1 -0
  32. package/dist/interface/assets/ConfigConditionTime-BEaHclqa.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerDetection-rtWIdR6S.js +1 -0
  34. package/dist/interface/assets/ConfigTriggerGeofence-CbAYtQhV.js +1 -0
  35. package/dist/interface/assets/ConfigTriggerManual-V8-5hrdl.js +1 -0
  36. package/dist/interface/assets/ConfigTriggerSchedule-CqID85d1.js +1 -0
  37. package/dist/interface/assets/ConfigTriggerSensor-Bnm6tzd-.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerSystem-7TqixmgM.js +1 -0
  39. package/dist/interface/assets/ConfigTriggerWebhook-Cmwu5IU4.js +1 -0
  40. package/dist/interface/assets/Console-BpgTB4Rs.js +6 -0
  41. package/dist/interface/assets/CuiActionButton-Ba5wT-4n.js +1 -0
  42. package/dist/interface/assets/CuiAvatar-BtMXnhxd.css +1 -0
  43. package/dist/interface/assets/CuiAvatar-eiHWwHES.js +1 -0
  44. package/dist/interface/assets/CuiBBoxPlayground-Cmbd4_qG.js +1 -0
  45. package/dist/interface/assets/CuiBBoxPlayground-EFkdOBvq.css +1 -0
  46. package/dist/interface/assets/CuiBottomSheet-BgSYsQxV.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-DxQ6D_RM.css +1 -0
  48. package/dist/interface/assets/CuiBottomSheet-Ik7_hnJM.js +1 -0
  49. package/dist/interface/assets/CuiCameraCard-BCBA2PPq.js +1 -0
  50. package/dist/interface/assets/CuiCameraCard-dNsAwlKS.css +1 -0
  51. package/dist/interface/assets/CuiCameraPipCard-D3o29_wc.css +1 -0
  52. package/dist/interface/assets/CuiCameraPipCard-RJN3fq3t.js +1 -0
  53. package/dist/interface/assets/CuiCameraRecordings-DM_o0Lya.css +1 -0
  54. package/dist/interface/assets/CuiCameraRecordings-ZmKK4PFg.js +1 -0
  55. package/dist/interface/assets/CuiCameraShares-4gq8WUQ5.js +1 -0
  56. package/dist/interface/assets/CuiCameraSnapshot-CaZK8Ld4.js +1 -0
  57. package/dist/interface/assets/CuiCameraTable-CGKEqPgf.js +2 -0
  58. package/dist/interface/assets/CuiFloatingButton-RaxwbGht.js +1 -0
  59. package/dist/interface/assets/CuiImage-Bxf7z2N4.css +1 -0
  60. package/dist/interface/assets/CuiImage-_YMON8Mc.js +1 -0
  61. package/dist/interface/assets/CuiMarkdownContent-M5v8bBmS.js +1 -0
  62. package/dist/interface/assets/CuiMenu-BWUfWLQP.css +1 -0
  63. package/dist/interface/assets/CuiMenu-NIkO1y-b.js +1 -0
  64. package/dist/interface/assets/CuiPluginCard-CTTsEM9M.css +1 -0
  65. package/dist/interface/assets/CuiPluginCard-D2F7Q_lO.js +2 -0
  66. package/dist/interface/assets/CuiPluginOAuthButton-FMZxpoU6.js +2 -0
  67. package/dist/interface/assets/CuiQRCode-D6EPrltU.js +1 -0
  68. package/dist/interface/assets/CuiQRCode-DfUba6JB.css +1 -0
  69. package/dist/interface/assets/CuiRecordingsGrid-CZIZiEuT.css +1 -0
  70. package/dist/interface/assets/CuiRecordingsGrid-XmXF0E1Z.js +1 -0
  71. package/dist/interface/assets/CuiSchema--yMBD996.css +1 -0
  72. package/dist/interface/assets/CuiSchema-DR8DFf3I.js +1 -0
  73. package/dist/interface/assets/CuiTopNavbarItem-CgaR_X1z.js +1 -0
  74. package/dist/interface/assets/CuiTopNavbarItem-w54CrODK.css +1 -0
  75. package/dist/interface/assets/CuiTopbarSlot-BDZoZ_yn.js +1 -0
  76. package/dist/interface/assets/Faces-Docb3mW5.js +1 -0
  77. package/dist/interface/assets/FirstSteps-BjeO-9yw.js +1 -0
  78. package/dist/interface/assets/Instances-C6vihEpM.js +1 -0
  79. package/dist/interface/assets/Menu-DhP5S2t6.js +1 -0
  80. package/dist/interface/assets/OAuthDeviceFlow-BoK4UBg3.js +1 -0
  81. package/dist/interface/assets/Plugin-DGNZui97.js +1 -0
  82. package/dist/interface/assets/Plugin-DoxdkvWR.css +1 -0
  83. package/dist/interface/assets/PluginConsole-B5DVZcyK.js +7 -0
  84. package/dist/interface/assets/PluginSchema-Ct0WEQqA.js +1 -0
  85. package/dist/interface/assets/Plugins-BPt1RSKT.css +1 -0
  86. package/dist/interface/assets/Plugins-BgHfsgXH.js +2 -0
  87. package/dist/interface/assets/Recordings-Bt_GlPOK.css +1 -0
  88. package/dist/interface/assets/Recordings-BvPpZqxG.js +1 -0
  89. package/dist/interface/assets/Settings-bwLTNAxX.css +1 -0
  90. package/dist/interface/assets/Settings-udOJu0Qj.js +1 -0
  91. package/dist/interface/assets/SettingsAccount-DXKQY4Iz.css +1 -0
  92. package/dist/interface/assets/SettingsAccount-JbMyttJF.js +1 -0
  93. package/dist/interface/assets/SettingsAccount-e6jLHftM.js +1 -0
  94. package/dist/interface/assets/SettingsAppearance-BVTLAAwk.js +1 -0
  95. package/dist/interface/assets/SettingsAppearance-Cc2XEP_e.js +1 -0
  96. package/dist/interface/assets/SettingsBackup-2OhJsI9b.js +1 -0
  97. package/dist/interface/assets/SettingsNotifications-BPGMVw5s.js +2 -0
  98. package/dist/interface/assets/SettingsRecordings-CpHj5L9e.js +1 -0
  99. package/dist/interface/assets/SettingsRemote-CAJUpIBx.js +1 -0
  100. package/dist/interface/assets/SettingsRemote-CjVK9pGg.css +1 -0
  101. package/dist/interface/assets/SettingsSystem-BB8H7V1X.js +2 -0
  102. package/dist/interface/assets/SettingsUsers-BPpBfCoA.js +1 -0
  103. package/dist/interface/assets/Terminal-CrOfQJ-O.css +1 -0
  104. package/dist/interface/assets/Terminal-_9BynMv1.js +4 -0
  105. package/dist/interface/assets/VariableInput-D_-qKfZK.js +1 -0
  106. package/dist/interface/assets/VariableSuggestions-Br4yDsLZ.js +1 -0
  107. package/dist/interface/assets/VersionsHandler-DnWuQWp4.js +7 -0
  108. package/dist/interface/assets/Workers-DEn4ns-7.js +1 -0
  109. package/dist/interface/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  110. package/dist/interface/assets/ace-BRyQJK-L.js +1 -0
  111. package/dist/interface/assets/ace.config-fXRdG20S.js +1 -0
  112. package/dist/interface/assets/alert-outline-D3FCIX7_.js +1 -0
  113. package/dist/interface/assets/api-CBH2GzC1.js +2 -0
  114. package/dist/interface/assets/api-Cna9Poda.css +2 -0
  115. package/dist/interface/assets/api-DhlUJ2hM.js +1 -0
  116. package/dist/interface/assets/auth-Dp9lJC_t.js +1 -0
  117. package/dist/interface/assets/automation-CbEPnAW4.js +1 -0
  118. package/dist/interface/assets/automations-Bj3wF0wR.js +1 -0
  119. package/dist/interface/assets/automations-DRnDGQWV.js +1 -0
  120. package/dist/interface/assets/back-filled-CvLD0CND.js +1 -0
  121. package/dist/interface/assets/backup-DVkW2kk_.js +1 -0
  122. package/dist/interface/assets/bell-outline-JZZKpcfS.js +1 -0
  123. package/dist/interface/assets/camera-preview-C7GT5VHo.png +0 -0
  124. package/dist/interface/assets/cameras-BWOeWzJ8.js +1 -0
  125. package/dist/interface/assets/cameras.schema-CDeB5JeE.js +1 -0
  126. package/dist/interface/assets/cctv-SQFfbBnL.js +1 -0
  127. package/dist/interface/assets/check-BQQidcYi.js +1 -0
  128. package/dist/interface/assets/chevron-down-Dd1qHXVA.js +1 -0
  129. package/dist/interface/assets/chevron-right-DOmJR2OL.js +1 -0
  130. package/dist/interface/assets/circular-connection-nKCVm4QI.js +1 -0
  131. package/dist/interface/assets/close-Dhjo4o57.js +1 -0
  132. package/dist/interface/assets/close-WdhW_91X.js +1 -0
  133. package/dist/interface/assets/close-circle-i5PrRG0X.js +1 -0
  134. package/dist/interface/assets/close-rounded-6nzLVPw0.js +1 -0
  135. package/dist/interface/assets/cloud-check-DeN6leiB.js +1 -0
  136. package/dist/interface/assets/cloud-outline-BHjUiP9q.js +1 -0
  137. package/dist/interface/assets/cloud-outline-BQddJElX.js +1 -0
  138. package/dist/interface/assets/cloudHandoff-5u_Am2lE.js +1 -0
  139. package/dist/interface/assets/cog-Batjj1se.js +1 -0
  140. package/dist/interface/assets/copy-16-filled-DuAEBVEX.js +1 -0
  141. package/dist/interface/assets/copy-BeuZDsJN.js +1 -0
  142. package/dist/interface/assets/delete-DvMWXBFV.js +1 -0
  143. package/dist/interface/assets/dist-CcCNy5h7.js +1 -0
  144. package/dist/interface/assets/download-Cna5QEEj.js +1 -0
  145. package/dist/interface/assets/esm-B4Pd2w1t.js +1 -0
  146. package/dist/interface/assets/esm-B4l8-ACY.js +1 -0
  147. package/dist/interface/assets/esm-BE98HKPg.js +1 -0
  148. package/dist/interface/assets/esm-BNSLSv2m.js +1 -0
  149. package/dist/interface/assets/esm-BnT9fzsT.js +1 -0
  150. package/dist/interface/assets/esm-C-uLCRX1.js +1 -0
  151. package/dist/interface/assets/esm-C6JCcz6o.js +1 -0
  152. package/dist/interface/assets/esm-D5_rxfjE.js +1 -0
  153. package/dist/interface/assets/esm-D6ymjVa1.js +1 -0
  154. package/dist/interface/assets/esm-D8teZoG1.js +1 -0
  155. package/dist/interface/assets/esm-DnSGrmvg.js +1 -0
  156. package/dist/interface/assets/esm-DqkQVzkL.js +1 -0
  157. package/dist/interface/assets/esm-tnu6qUMk.js +1 -0
  158. package/dist/interface/assets/eventIcons-2hVCNchU.css +1 -0
  159. package/dist/interface/assets/eventIcons-DVykqtE5.js +1 -0
  160. package/dist/interface/assets/face-recognition-5Yp1IcUb.js +1 -0
  161. package/dist/interface/assets/github-37yEERpu.js +1 -0
  162. package/dist/interface/assets/grid-fill-BGU3gqir.js +1 -0
  163. package/dist/interface/assets/hasPermission-CgD6A9UD.js +1 -0
  164. package/dist/interface/assets/home-sSF_NnOu.js +1 -0
  165. package/dist/interface/assets/information-outline-fu18_QSH.js +1 -0
  166. package/dist/interface/assets/instances-Bd34a12B.js +1 -0
  167. package/dist/interface/assets/lightbulb-outline-DWc53kV7.js +1 -0
  168. package/dist/interface/assets/locale-CIzyIwgu.js +1 -0
  169. package/dist/interface/assets/main-BiP4LKEq.js +3 -0
  170. package/dist/interface/assets/main-BqVSZVz1.css +1 -0
  171. package/dist/interface/assets/microphone-ChDR4mkG.js +1 -0
  172. package/dist/interface/assets/native-Cq3ra8E-.js +1 -0
  173. package/dist/interface/assets/native-DfLBhmBo.js +1 -0
  174. package/dist/interface/assets/nodeDefinitions-BLSMZueH.js +1 -0
  175. package/dist/interface/assets/notifications-IA3WVJUj.js +1 -0
  176. package/dist/interface/assets/play-solid-B_749j1A.js +1 -0
  177. package/dist/interface/assets/plugin-C1NakF2p.js +1 -0
  178. package/dist/interface/assets/plugins-CYwjf0ao.js +1 -0
  179. package/dist/interface/assets/plus-B5eEboLZ.js +1 -0
  180. package/dist/interface/assets/plus-Dis0MPt8.js +1 -0
  181. package/dist/interface/assets/power-CxGfHa98.js +1 -0
  182. package/dist/interface/assets/ring-resize-fOkdAS5R.js +1 -0
  183. package/dist/interface/assets/rolldown-runtime-CMxvf4Kt.js +1 -0
  184. package/dist/interface/assets/round-alt-arrow-left-bold-ekP_ATNV.js +1 -0
  185. package/dist/interface/assets/round-restart-alt-CJgRaJjF.css +1 -0
  186. package/dist/interface/assets/round-restart-alt-Cs1jYs6S.js +1 -0
  187. package/dist/interface/assets/router-CuAn6JZ_.css +1 -0
  188. package/dist/interface/assets/router-DNsC6QcQ.js +2 -0
  189. package/dist/interface/assets/routerState-DMVeYr60.js +1 -0
  190. package/dist/interface/assets/search-YdrT6au7.js +1 -0
  191. package/dist/interface/assets/server-DIqABppY.js +1 -0
  192. package/dist/interface/assets/settings-D2-mWioF.js +1 -0
  193. package/dist/interface/assets/shares-BY9SbIwh.js +1 -0
  194. package/dist/interface/assets/shield-check-DFR-xg-g.js +1 -0
  195. package/dist/interface/assets/terminal-BYi6cqd4.js +1 -0
  196. package/dist/interface/assets/theme-DtmzzutI.js +1 -0
  197. package/dist/interface/assets/trash-2-Du7oioNA.js +1 -0
  198. package/dist/interface/assets/trash-can-YTXLzAmt.js +1 -0
  199. package/dist/interface/assets/trash-fill-ZI3YYgNp.js +1 -0
  200. package/dist/interface/assets/types-B_isDU64.js +1 -0
  201. package/dist/interface/assets/types-BxFyoO54.js +1 -0
  202. package/dist/interface/assets/types-kxdn9XBW.js +1 -0
  203. package/dist/interface/assets/ui-aYGNqaHi.js +1 -0
  204. package/dist/interface/assets/upload-Chr4Uunq.js +1 -0
  205. package/dist/interface/assets/useBiometricCredentials-BwyTKV9v.js +1 -0
  206. package/dist/interface/assets/useCameraOptions-Bqf4OnZO.js +1 -0
  207. package/dist/interface/assets/useCuiCameraDrawer-Dn97MLFe.js +1 -0
  208. package/dist/interface/assets/useCuiDialog-Do_clY1W.js +2 -0
  209. package/dist/interface/assets/useElectron-mh8HQUAI.js +1 -0
  210. package/dist/interface/assets/useFileDownload-Yl8F_Wju.js +1 -0
  211. package/dist/interface/assets/useLogsSocket-BpQcAJOb.js +4 -0
  212. package/dist/interface/assets/useLogsSocket-pqdh7jNG.css +1 -0
  213. package/dist/interface/assets/useSharedComposables-riqEUgwX.js +1 -0
  214. package/dist/interface/assets/useStreamStatus-CLRD-42Q.js +1 -0
  215. package/dist/interface/assets/users.schema-CUZOYClB.js +1 -0
  216. package/dist/interface/assets/vendor-DmhYd_sB.js +22 -0
  217. package/dist/interface/assets/vendor-ace-B9YSA4ub.js +1085 -0
  218. package/dist/interface/assets/vendor-cameraui-DggYb17u.js +1976 -0
  219. package/dist/interface/assets/vendor-capacitor-IA6kwsx8.js +2 -0
  220. package/dist/interface/assets/vendor-chart-Dnlz1Jgy.js +3 -0
  221. package/dist/interface/assets/vendor-core-B6F-imJj.js +1 -0
  222. package/dist/interface/assets/vendor-dnd-Dp0ottZI.js +2 -0
  223. package/dist/interface/assets/vendor-draggabilly-C2ae3o70.js +1 -0
  224. package/dist/interface/assets/vendor-gridstack-Dxjc1EeA.js +3 -0
  225. package/dist/interface/assets/vendor-gridstack-Rg2RhwAc.css +1 -0
  226. package/dist/interface/assets/vendor-leaflet-B5L2Aw8Y.js +1 -0
  227. package/dist/interface/assets/vendor-leaflet-vh-t_kPv.css +1 -0
  228. package/dist/interface/assets/vendor-markdown-D3nVi7gw.js +15 -0
  229. package/dist/interface/assets/vendor-markdown-DtOhvyRx.css +1 -0
  230. package/dist/interface/assets/vendor-primevue--pcuf6kA.js +4289 -0
  231. package/dist/interface/assets/vendor-vueflow-CBuKPASC.js +26 -0
  232. package/dist/interface/assets/vendor-xterm-BrP-ENHg.css +1 -0
  233. package/dist/interface/assets/vendor-xterm-D8Z_h2U0.js +145 -0
  234. package/dist/interface/assets/vendor-zod-CmGeQCqy.js +127 -0
  235. package/dist/interface/assets/view-grid-Ax3uYm-P.js +1 -0
  236. package/dist/interface/assets/view-grid-SdzaC3O_.css +1 -0
  237. package/dist/interface/assets/web-3Sh2qjiP.js +1 -0
  238. package/dist/interface/assets/web-B0BK4Q2M.js +1 -0
  239. package/dist/interface/assets/web-BjKL51lK-DzG2kK8Q.js +1 -0
  240. package/dist/interface/assets/web-COttRPza.js +1 -0
  241. package/dist/interface/assets/web-Ck1J3gUt.js +1 -0
  242. package/dist/interface/assets/web-DPxPmEOR.js +1 -0
  243. package/dist/interface/assets/web-DRprnZwc.js +1 -0
  244. package/dist/interface/assets/web-DusfFKJE.js +1 -0
  245. package/dist/interface/assets/web-U3ajDFzM.js +1 -0
  246. package/dist/interface/assets/web-jcLz0P7f.js +1 -0
  247. package/dist/interface/assets/web-tQAiC0W2.js +1 -0
  248. package/dist/interface/assets/web-x9pvmNMf.js +1 -0
  249. package/dist/interface/assets/workbox-window.prod.es5-DkzC-kEO.js +1 -0
  250. package/dist/interface/assets/worker-base-ybazWkNy.js +1337 -0
  251. package/dist/interface/assets/worker-yaml-crtWQpDN.js +5824 -0
  252. package/dist/interface/assets/zoom-in-zoFmMkYM.js +1 -0
  253. package/dist/interface/index.html +96 -45
  254. package/dist/interface/manifest.webmanifest +1 -1
  255. package/dist/interface/og-share.png +0 -0
  256. package/dist/interface/sw.js +1 -1
  257. package/dist/interface/workbox-5f44db27.js +1 -0
  258. package/dist/server/package.json +85 -84
  259. package/dist/server/requirements.txt +9 -14
  260. package/dist/server/src/_camera_ui_tools/camera_ui_common/__init__.py +19 -11
  261. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/__init__.py +23 -0
  262. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/object_path.py +35 -22
  263. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/promise.py +41 -0
  264. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/reactive.py +17 -14
  265. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +12 -4
  266. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/subscribed.py +15 -2
  267. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/task.py +9 -3
  268. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/thread.py +10 -2
  269. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/utils.py +21 -13
  270. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/__init__.py +8 -0
  271. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/logger.py +237 -99
  272. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/__init__.py +77 -0
  273. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/channel.py +321 -0
  274. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/chunking.py +290 -0
  275. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +1694 -0
  276. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/codec.py +73 -0
  277. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/decorators.py +307 -0
  278. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/errors.py +76 -0
  279. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/executor.py +29 -0
  280. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/handler.py +523 -0
  281. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/service.py +524 -0
  282. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/svcm.py +15 -0
  283. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +427 -0
  284. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/utils.py +332 -0
  285. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +515 -0
  286. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +173 -0
  287. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +256 -0
  288. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +135 -0
  289. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +432 -0
  290. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +111 -0
  291. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +146 -0
  292. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +21 -0
  293. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/streaming.py +188 -0
  294. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +92 -0
  295. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +46 -0
  296. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_enums.py +9 -0
  297. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_wire.py +15 -0
  298. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/event_emitter.py +102 -0
  299. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/manager_rpc.py +27 -0
  300. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +89 -0
  301. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_triggers.py +4 -0
  302. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/shared_utils.py +73 -0
  303. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/streaming_internal.py +16 -0
  304. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +348 -0
  305. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/observable/__init__.py +557 -0
  306. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +104 -0
  307. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/api.py +137 -0
  308. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +164 -0
  309. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +242 -0
  310. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +427 -0
  311. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +142 -0
  312. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/oauth.py +150 -0
  313. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +203 -0
  314. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/audio.py +241 -0
  315. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +551 -0
  316. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/battery.py +167 -0
  317. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/classifier.py +196 -0
  318. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/clip.py +67 -0
  319. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/contact.py +88 -0
  320. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +60 -0
  321. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/doorbell.py +122 -0
  322. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +184 -0
  323. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/garage.py +174 -0
  324. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/humidity.py +79 -0
  325. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/leak.py +88 -0
  326. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/license_plate.py +186 -0
  327. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/light.py +157 -0
  328. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/lock.py +149 -0
  329. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/motion.py +203 -0
  330. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +210 -0
  331. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/occupancy.py +88 -0
  332. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/ptz.py +256 -0
  333. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/security_system.py +157 -0
  334. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/siren.py +150 -0
  335. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/smoke.py +88 -0
  336. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/spec.py +56 -0
  337. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/switch.py +107 -0
  338. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/temperature.py +80 -0
  339. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/storage/__init__.py +695 -0
  340. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/types.py +54 -0
  341. package/dist/server/src/api/controllers/api.controller.d.ts +2 -2
  342. package/dist/server/src/api/controllers/api.controller.js +3 -3
  343. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  344. package/dist/server/src/api/controllers/auth.controller.d.ts +20 -5
  345. package/dist/server/src/api/controllers/auth.controller.js +418 -134
  346. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  347. package/dist/server/src/api/controllers/automations.controller.d.ts +17 -0
  348. package/dist/server/src/api/controllers/automations.controller.js +146 -0
  349. package/dist/server/src/api/controllers/automations.controller.js.map +1 -0
  350. package/dist/server/src/api/controllers/backup.controller.js +0 -1
  351. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  352. package/dist/server/src/api/controllers/cameras.controller.d.ts +14 -5
  353. package/dist/server/src/api/controllers/cameras.controller.js +490 -69
  354. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  355. package/dist/server/src/api/controllers/config.controller.d.ts +2 -2
  356. package/dist/server/src/api/controllers/config.controller.js +2 -2
  357. package/dist/server/src/api/controllers/config.controller.js.map +1 -1
  358. package/dist/server/src/api/controllers/download.controller.d.ts +7 -0
  359. package/dist/server/src/api/controllers/download.controller.js +12 -0
  360. package/dist/server/src/api/controllers/download.controller.js.map +1 -0
  361. package/dist/server/src/api/controllers/files.controller.js.map +1 -1
  362. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  363. package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
  364. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  365. package/dist/server/src/api/controllers/instances.controller.d.ts +15 -0
  366. package/dist/server/src/api/controllers/instances.controller.js +100 -0
  367. package/dist/server/src/api/controllers/instances.controller.js.map +1 -0
  368. package/dist/server/src/api/controllers/notifications.controller.d.ts +15 -0
  369. package/dist/server/src/api/controllers/notifications.controller.js +121 -0
  370. package/dist/server/src/api/controllers/notifications.controller.js.map +1 -0
  371. package/dist/server/src/api/controllers/oauthCallback.controller.d.ts +15 -0
  372. package/dist/server/src/api/controllers/oauthCallback.controller.js +53 -0
  373. package/dist/server/src/api/controllers/oauthCallback.controller.js.map +1 -0
  374. package/dist/server/src/api/controllers/plugins.controller.d.ts +5 -9
  375. package/dist/server/src/api/controllers/plugins.controller.js +129 -246
  376. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  377. package/dist/server/src/api/controllers/remote.controller.d.ts +27 -0
  378. package/dist/server/src/api/controllers/remote.controller.js +247 -0
  379. package/dist/server/src/api/controllers/remote.controller.js.map +1 -0
  380. package/dist/server/src/api/controllers/server.controller.d.ts +24 -0
  381. package/dist/server/src/api/controllers/server.controller.js +236 -0
  382. package/dist/server/src/api/controllers/server.controller.js.map +1 -0
  383. package/dist/server/src/api/controllers/shares.controller.d.ts +12 -0
  384. package/dist/server/src/api/controllers/shares.controller.js +121 -0
  385. package/dist/server/src/api/controllers/shares.controller.js.map +1 -0
  386. package/dist/server/src/api/controllers/tunnel.controller.d.ts +9 -0
  387. package/dist/server/src/api/controllers/tunnel.controller.js +39 -0
  388. package/dist/server/src/api/controllers/tunnel.controller.js.map +1 -0
  389. package/dist/server/src/api/controllers/users.controller.d.ts +2 -2
  390. package/dist/server/src/api/controllers/users.controller.js +11 -2
  391. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  392. package/dist/server/src/api/controllers/workers.controller.d.ts +14 -0
  393. package/dist/server/src/api/controllers/workers.controller.js +69 -0
  394. package/dist/server/src/api/controllers/workers.controller.js.map +1 -0
  395. package/dist/server/src/api/database/checks.js +2 -2
  396. package/dist/server/src/api/database/checks.js.map +1 -1
  397. package/dist/server/src/api/database/constants.d.ts +10 -1
  398. package/dist/server/src/api/database/constants.js +10 -1
  399. package/dist/server/src/api/database/constants.js.map +1 -1
  400. package/dist/server/src/api/database/index.d.ts +24 -12
  401. package/dist/server/src/api/database/index.js +182 -126
  402. package/dist/server/src/api/database/index.js.map +1 -1
  403. package/dist/server/src/api/database/migration.d.ts +4 -13
  404. package/dist/server/src/api/database/migration.js +20 -80
  405. package/dist/server/src/api/database/migration.js.map +1 -1
  406. package/dist/server/src/api/database/migrations/index.d.ts +2 -0
  407. package/dist/server/src/api/database/migrations/index.js +24 -0
  408. package/dist/server/src/api/database/migrations/index.js.map +1 -0
  409. package/dist/server/src/api/database/migrations/types.d.ts +13 -0
  410. package/dist/server/src/api/database/migrations/types.js.map +1 -0
  411. package/dist/server/src/api/database/selfcheck.js +3 -0
  412. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  413. package/dist/server/src/api/database/types.d.ts +173 -28
  414. package/dist/server/src/api/index.d.ts +8 -2
  415. package/dist/server/src/api/index.js +122 -43
  416. package/dist/server/src/api/index.js.map +1 -1
  417. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +4 -4
  418. package/dist/server/src/api/middlewares/authPermission.middleware.js +8 -8
  419. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  420. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +5 -2
  421. package/dist/server/src/api/middlewares/authValidation.middleware.js +75 -114
  422. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  423. package/dist/server/src/api/middlewares/pagination.middleware.d.ts +1 -1
  424. package/dist/server/src/api/middlewares/pagination.middleware.js +2 -2
  425. package/dist/server/src/api/middlewares/pagination.middleware.js.map +1 -1
  426. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +2 -2
  427. package/dist/server/src/api/middlewares/socketAuth.middleware.js +5 -4
  428. package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -1
  429. package/dist/server/src/api/plugins/header.plugin.js +1 -1
  430. package/dist/server/src/api/plugins/header.plugin.js.map +1 -1
  431. package/dist/server/src/api/plugins/logger.plugin.js +13 -10
  432. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  433. package/dist/server/src/api/plugins/proxy.plugin.js +76 -105
  434. package/dist/server/src/api/plugins/proxy.plugin.js.map +1 -1
  435. package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
  436. package/dist/server/src/api/plugins/useragent.plugin.d.ts +2 -2
  437. package/dist/server/src/api/plugins/useragent.plugin.js +2 -2
  438. package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
  439. package/dist/server/src/api/routes/api.routes.js +18 -2
  440. package/dist/server/src/api/routes/api.routes.js.map +1 -1
  441. package/dist/server/src/api/routes/auth.routes.js +131 -9
  442. package/dist/server/src/api/routes/auth.routes.js.map +1 -1
  443. package/dist/server/src/api/routes/automations.routes.d.ts +2 -0
  444. package/dist/server/src/api/routes/automations.routes.js +128 -0
  445. package/dist/server/src/api/routes/automations.routes.js.map +1 -0
  446. package/dist/server/src/api/routes/backup.routes.js +6 -0
  447. package/dist/server/src/api/routes/backup.routes.js.map +1 -1
  448. package/dist/server/src/api/routes/cameras.routes.js +346 -33
  449. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  450. package/dist/server/src/api/routes/config.routes.js +26 -4
  451. package/dist/server/src/api/routes/config.routes.js.map +1 -1
  452. package/dist/server/src/api/routes/download.routes.d.ts +2 -0
  453. package/dist/server/src/api/routes/download.routes.js +16 -0
  454. package/dist/server/src/api/routes/download.routes.js.map +1 -0
  455. package/dist/server/src/api/routes/files.routes.js +7 -1
  456. package/dist/server/src/api/routes/files.routes.js.map +1 -1
  457. package/dist/server/src/api/routes/frameWorkers.routes.js +26 -4
  458. package/dist/server/src/api/routes/frameWorkers.routes.js.map +1 -1
  459. package/dist/server/src/api/routes/index.d.ts +1 -0
  460. package/dist/server/src/api/routes/index.js +23 -3
  461. package/dist/server/src/api/routes/index.js.map +1 -1
  462. package/dist/server/src/api/routes/instances.routes.d.ts +2 -0
  463. package/dist/server/src/api/routes/instances.routes.js +105 -0
  464. package/dist/server/src/api/routes/instances.routes.js.map +1 -0
  465. package/dist/server/src/api/routes/notifications.routes.d.ts +2 -0
  466. package/dist/server/src/api/routes/notifications.routes.js +102 -0
  467. package/dist/server/src/api/routes/notifications.routes.js.map +1 -0
  468. package/dist/server/src/api/routes/oauthCallback.routes.d.ts +2 -0
  469. package/dist/server/src/api/routes/oauthCallback.routes.js +17 -0
  470. package/dist/server/src/api/routes/oauthCallback.routes.js.map +1 -0
  471. package/dist/server/src/api/routes/plugins.routes.js +259 -95
  472. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  473. package/dist/server/src/api/routes/remote.routes.d.ts +2 -0
  474. package/dist/server/src/api/routes/remote.routes.js +164 -0
  475. package/dist/server/src/api/routes/remote.routes.js.map +1 -0
  476. package/dist/server/src/api/routes/server.routes.d.ts +2 -0
  477. package/dist/server/src/api/routes/server.routes.js +130 -0
  478. package/dist/server/src/api/routes/server.routes.js.map +1 -0
  479. package/dist/server/src/api/routes/shares.routes.d.ts +2 -0
  480. package/dist/server/src/api/routes/shares.routes.js +71 -0
  481. package/dist/server/src/api/routes/shares.routes.js.map +1 -0
  482. package/dist/server/src/api/routes/tunnel.routes.d.ts +2 -0
  483. package/dist/server/src/api/routes/tunnel.routes.js +14 -0
  484. package/dist/server/src/api/routes/tunnel.routes.js.map +1 -0
  485. package/dist/server/src/api/routes/users.routes.js +92 -12
  486. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  487. package/dist/server/src/api/routes/workers.routes.d.ts +2 -0
  488. package/dist/server/src/api/routes/workers.routes.js +71 -0
  489. package/dist/server/src/api/routes/workers.routes.js.map +1 -0
  490. package/dist/server/src/api/schemas/auth.schema.d.ts +35 -0
  491. package/dist/server/src/api/schemas/auth.schema.js +37 -0
  492. package/dist/server/src/api/schemas/auth.schema.js.map +1 -0
  493. package/dist/server/src/api/schemas/automations.schema.d.ts +151 -0
  494. package/dist/server/src/api/schemas/automations.schema.js +84 -0
  495. package/dist/server/src/api/schemas/automations.schema.js.map +1 -0
  496. package/dist/server/src/api/schemas/backup.schema.d.ts +15 -190
  497. package/dist/server/src/api/schemas/backup.schema.js +5 -23
  498. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  499. package/dist/server/src/api/schemas/cameras.schema.d.ts +1062 -1647
  500. package/dist/server/src/api/schemas/cameras.schema.js +218 -49
  501. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  502. package/dist/server/src/api/schemas/common.schema.d.ts +7 -0
  503. package/dist/server/src/api/schemas/common.schema.js +7 -0
  504. package/dist/server/src/api/schemas/common.schema.js.map +1 -0
  505. package/dist/server/src/api/schemas/config.schema.d.ts +41 -79
  506. package/dist/server/src/api/schemas/config.schema.js +19 -1
  507. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  508. package/dist/server/src/api/schemas/download.schema.d.ts +5 -0
  509. package/dist/server/src/api/schemas/download.schema.js +5 -0
  510. package/dist/server/src/api/schemas/download.schema.js.map +1 -0
  511. package/dist/server/src/api/schemas/files.schema.d.ts +5 -0
  512. package/dist/server/src/api/schemas/files.schema.js +5 -0
  513. package/dist/server/src/api/schemas/files.schema.js.map +1 -0
  514. package/dist/server/src/api/schemas/frameWorkers.schema.d.ts +5 -0
  515. package/dist/server/src/api/schemas/frameWorkers.schema.js +5 -0
  516. package/dist/server/src/api/schemas/frameWorkers.schema.js.map +1 -0
  517. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +90 -640
  518. package/dist/server/src/api/schemas/go2rtc.schema.js +1 -16
  519. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
  520. package/dist/server/src/api/schemas/instances.schema.d.ts +23 -0
  521. package/dist/server/src/api/schemas/instances.schema.js +24 -0
  522. package/dist/server/src/api/schemas/instances.schema.js.map +1 -0
  523. package/dist/server/src/api/schemas/notifications.schema.d.ts +26 -0
  524. package/dist/server/src/api/schemas/notifications.schema.js +25 -0
  525. package/dist/server/src/api/schemas/notifications.schema.js.map +1 -0
  526. package/dist/server/src/api/schemas/oauthCallback.schema.d.ts +11 -0
  527. package/dist/server/src/api/schemas/oauthCallback.schema.js +10 -0
  528. package/dist/server/src/api/schemas/oauthCallback.schema.js.map +1 -0
  529. package/dist/server/src/api/schemas/plugins.schema.d.ts +62 -59
  530. package/dist/server/src/api/schemas/plugins.schema.js +54 -81
  531. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  532. package/dist/server/src/api/schemas/remote.schema.d.ts +44 -0
  533. package/dist/server/src/api/schemas/remote.schema.js +80 -0
  534. package/dist/server/src/api/schemas/remote.schema.js.map +1 -0
  535. package/dist/server/src/api/schemas/server.schema.d.ts +9 -0
  536. package/dist/server/src/api/schemas/server.schema.js +12 -0
  537. package/dist/server/src/api/schemas/server.schema.js.map +1 -0
  538. package/dist/server/src/api/schemas/shares.schema.d.ts +21 -0
  539. package/dist/server/src/api/schemas/shares.schema.js +22 -0
  540. package/dist/server/src/api/schemas/shares.schema.js.map +1 -0
  541. package/dist/server/src/api/schemas/storage.schema.d.ts +5 -15
  542. package/dist/server/src/api/schemas/users.schema.d.ts +294 -786
  543. package/dist/server/src/api/schemas/users.schema.js +76 -39
  544. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  545. package/dist/server/src/api/schemas/workers.schema.d.ts +14 -0
  546. package/dist/server/src/api/schemas/workers.schema.js +12 -0
  547. package/dist/server/src/api/schemas/workers.schema.js.map +1 -0
  548. package/dist/server/src/api/services/auth.service.d.ts +27 -17
  549. package/dist/server/src/api/services/auth.service.js +106 -134
  550. package/dist/server/src/api/services/auth.service.js.map +1 -1
  551. package/dist/server/src/api/services/automations.service.d.ts +24 -0
  552. package/dist/server/src/api/services/automations.service.js +157 -0
  553. package/dist/server/src/api/services/automations.service.js.map +1 -0
  554. package/dist/server/src/api/services/backup.service.js +0 -5
  555. package/dist/server/src/api/services/backup.service.js.map +1 -1
  556. package/dist/server/src/api/services/cameras.service.d.ts +28 -15
  557. package/dist/server/src/api/services/cameras.service.js +532 -305
  558. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  559. package/dist/server/src/api/services/downloads.service.d.ts +9 -0
  560. package/dist/server/src/api/services/downloads.service.js +20 -0
  561. package/dist/server/src/api/services/downloads.service.js.map +1 -0
  562. package/dist/server/src/api/services/instances.service.d.ts +52 -0
  563. package/dist/server/src/api/services/instances.service.js +344 -0
  564. package/dist/server/src/api/services/instances.service.js.map +1 -0
  565. package/dist/server/src/api/services/notifications.service.d.ts +21 -0
  566. package/dist/server/src/api/services/notifications.service.js +48 -0
  567. package/dist/server/src/api/services/notifications.service.js.map +1 -0
  568. package/dist/server/src/api/services/plugins.service.js +31 -35
  569. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  570. package/dist/server/src/api/services/remote.service.d.ts +35 -0
  571. package/dist/server/src/api/services/remote.service.js +207 -0
  572. package/dist/server/src/api/services/remote.service.js.map +1 -0
  573. package/dist/server/src/api/services/server.service.d.ts +15 -0
  574. package/dist/server/src/api/services/server.service.js +75 -0
  575. package/dist/server/src/api/services/server.service.js.map +1 -0
  576. package/dist/server/src/api/services/shares.service.d.ts +46 -0
  577. package/dist/server/src/api/services/shares.service.js +233 -0
  578. package/dist/server/src/api/services/shares.service.js.map +1 -0
  579. package/dist/server/src/api/services/twoFactor.service.d.ts +22 -0
  580. package/dist/server/src/api/services/twoFactor.service.js +81 -0
  581. package/dist/server/src/api/services/twoFactor.service.js.map +1 -0
  582. package/dist/server/src/api/services/users.service.d.ts +9 -5
  583. package/dist/server/src/api/services/users.service.js +157 -121
  584. package/dist/server/src/api/services/users.service.js.map +1 -1
  585. package/dist/server/src/api/services/workers.service.d.ts +5 -0
  586. package/dist/server/src/api/services/workers.service.js +19 -0
  587. package/dist/server/src/api/services/workers.service.js.map +1 -0
  588. package/dist/server/src/api/types/index.d.ts +350 -133
  589. package/dist/server/src/api/types/index.js +5 -4
  590. package/dist/server/src/api/types/index.js.map +1 -1
  591. package/dist/server/src/api/utils/cert.js +1 -1
  592. package/dist/server/src/api/utils/cert.js.map +1 -1
  593. package/dist/server/src/api/utils/encryption.d.ts +5 -0
  594. package/dist/server/src/api/utils/encryption.js +25 -0
  595. package/dist/server/src/api/utils/encryption.js.map +1 -0
  596. package/dist/server/src/api/utils/plugin.d.ts +4 -0
  597. package/dist/server/src/api/utils/plugin.js +8 -0
  598. package/dist/server/src/api/utils/plugin.js.map +1 -0
  599. package/dist/server/src/api/utils/regex.d.ts +3 -0
  600. package/dist/server/src/api/utils/regex.js +4 -0
  601. package/dist/server/src/api/utils/regex.js.map +1 -0
  602. package/dist/server/src/api/utils/upload.d.ts +3 -0
  603. package/dist/server/src/api/utils/upload.js +23 -0
  604. package/dist/server/src/api/utils/upload.js.map +1 -0
  605. package/dist/server/src/api/websocket/index.js +18 -16
  606. package/dist/server/src/api/websocket/index.js.map +1 -1
  607. package/dist/server/src/api/websocket/nsp/cameras.d.ts +21 -0
  608. package/dist/server/src/api/websocket/nsp/cameras.js +152 -0
  609. package/dist/server/src/api/websocket/nsp/cameras.js.map +1 -0
  610. package/dist/server/src/api/websocket/nsp/logs.d.ts +1 -1
  611. package/dist/server/src/api/websocket/nsp/logs.js +65 -52
  612. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  613. package/dist/server/src/api/websocket/nsp/main.d.ts +4 -1
  614. package/dist/server/src/api/websocket/nsp/main.js +29 -1
  615. package/dist/server/src/api/websocket/nsp/main.js.map +1 -1
  616. package/dist/server/src/api/websocket/nsp/metrics.js +4 -4
  617. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  618. package/dist/server/src/api/websocket/nsp/notifications.d.ts +3 -3
  619. package/dist/server/src/api/websocket/nsp/notifications.js +10 -11
  620. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  621. package/dist/server/src/api/websocket/nsp/server.d.ts +4 -4
  622. package/dist/server/src/api/websocket/nsp/server.js +48 -27
  623. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  624. package/dist/server/src/api/websocket/nsp/status.d.ts +3 -3
  625. package/dist/server/src/api/websocket/nsp/status.js +3 -3
  626. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  627. package/dist/server/src/api/websocket/nsp/workers.d.ts +17 -0
  628. package/dist/server/src/api/websocket/nsp/workers.js +46 -0
  629. package/dist/server/src/api/websocket/nsp/workers.js.map +1 -0
  630. package/dist/server/src/api/websocket/types.d.ts +2 -1
  631. package/dist/server/src/api.d.ts +11 -16
  632. package/dist/server/src/api.js +62 -48
  633. package/dist/server/src/api.js.map +1 -1
  634. package/dist/server/src/automations/actions/cameraControl.d.ts +2 -0
  635. package/dist/server/src/automations/actions/cameraControl.js +35 -0
  636. package/dist/server/src/automations/actions/cameraControl.js.map +1 -0
  637. package/dist/server/src/automations/actions/delay.d.ts +2 -0
  638. package/dist/server/src/automations/actions/delay.js +8 -0
  639. package/dist/server/src/automations/actions/delay.js.map +1 -0
  640. package/dist/server/src/automations/actions/http.d.ts +2 -0
  641. package/dist/server/src/automations/actions/http.js +44 -0
  642. package/dist/server/src/automations/actions/http.js.map +1 -0
  643. package/dist/server/src/automations/actions/index.d.ts +4 -0
  644. package/dist/server/src/automations/actions/index.js +20 -0
  645. package/dist/server/src/automations/actions/index.js.map +1 -0
  646. package/dist/server/src/automations/actions/notification.d.ts +2 -0
  647. package/dist/server/src/automations/actions/notification.js +76 -0
  648. package/dist/server/src/automations/actions/notification.js.map +1 -0
  649. package/dist/server/src/automations/actions/plugin.d.ts +3 -0
  650. package/dist/server/src/automations/actions/plugin.js +73 -0
  651. package/dist/server/src/automations/actions/plugin.js.map +1 -0
  652. package/dist/server/src/automations/actions/sensor.d.ts +2 -0
  653. package/dist/server/src/automations/actions/sensor.js +17 -0
  654. package/dist/server/src/automations/actions/sensor.js.map +1 -0
  655. package/dist/server/src/automations/actions/snapshot.d.ts +2 -0
  656. package/dist/server/src/automations/actions/snapshot.js +20 -0
  657. package/dist/server/src/automations/actions/snapshot.js.map +1 -0
  658. package/dist/server/src/automations/actions/types.d.ts +14 -0
  659. package/dist/server/src/automations/actions/types.js.map +1 -0
  660. package/dist/server/src/automations/actions/variable.d.ts +2 -0
  661. package/dist/server/src/automations/actions/variable.js +17 -0
  662. package/dist/server/src/automations/actions/variable.js.map +1 -0
  663. package/dist/server/src/automations/conditions/ifelse.d.ts +3 -0
  664. package/dist/server/src/automations/conditions/ifelse.js +39 -0
  665. package/dist/server/src/automations/conditions/ifelse.js.map +1 -0
  666. package/dist/server/src/automations/conditions/index.d.ts +4 -0
  667. package/dist/server/src/automations/conditions/index.js +20 -0
  668. package/dist/server/src/automations/conditions/index.js.map +1 -0
  669. package/dist/server/src/automations/conditions/sensorState.d.ts +3 -0
  670. package/dist/server/src/automations/conditions/sensorState.js +21 -0
  671. package/dist/server/src/automations/conditions/sensorState.js.map +1 -0
  672. package/dist/server/src/automations/conditions/switch.d.ts +3 -0
  673. package/dist/server/src/automations/conditions/switch.js +9 -0
  674. package/dist/server/src/automations/conditions/switch.js.map +1 -0
  675. package/dist/server/src/automations/conditions/time.d.ts +3 -0
  676. package/dist/server/src/automations/conditions/time.js +24 -0
  677. package/dist/server/src/automations/conditions/time.js.map +1 -0
  678. package/dist/server/src/automations/conditions/types.d.ts +7 -0
  679. package/dist/server/src/automations/conditions/types.js.map +1 -0
  680. package/dist/server/src/automations/context.d.ts +48 -0
  681. package/dist/server/src/automations/context.js +146 -0
  682. package/dist/server/src/automations/context.js.map +1 -0
  683. package/dist/server/src/automations/engine.d.ts +35 -0
  684. package/dist/server/src/automations/engine.js +321 -0
  685. package/dist/server/src/automations/engine.js.map +1 -0
  686. package/dist/server/src/automations/haversine.d.ts +1 -0
  687. package/dist/server/src/automations/haversine.js +9 -0
  688. package/dist/server/src/automations/haversine.js.map +1 -0
  689. package/dist/server/src/automations/parseValue.d.ts +1 -0
  690. package/dist/server/src/automations/parseValue.js +11 -0
  691. package/dist/server/src/automations/parseValue.js.map +1 -0
  692. package/dist/server/src/automations/pluginMethodRegistry.d.ts +37 -0
  693. package/dist/server/src/automations/pluginMethodRegistry.js +162 -0
  694. package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -0
  695. package/dist/server/src/automations/runner.d.ts +23 -0
  696. package/dist/server/src/automations/runner.js +166 -0
  697. package/dist/server/src/automations/runner.js.map +1 -0
  698. package/dist/server/src/automations/triggers/detection.d.ts +3 -0
  699. package/dist/server/src/automations/triggers/detection.js +102 -0
  700. package/dist/server/src/automations/triggers/detection.js.map +1 -0
  701. package/dist/server/src/automations/triggers/geofence.d.ts +13 -0
  702. package/dist/server/src/automations/triggers/geofence.js +8 -0
  703. package/dist/server/src/automations/triggers/geofence.js.map +1 -0
  704. package/dist/server/src/automations/triggers/index.d.ts +9 -0
  705. package/dist/server/src/automations/triggers/index.js +7 -0
  706. package/dist/server/src/automations/triggers/index.js.map +1 -0
  707. package/dist/server/src/automations/triggers/schedule.d.ts +3 -0
  708. package/dist/server/src/automations/triggers/schedule.js +54 -0
  709. package/dist/server/src/automations/triggers/schedule.js.map +1 -0
  710. package/dist/server/src/automations/triggers/sensor.d.ts +3 -0
  711. package/dist/server/src/automations/triggers/sensor.js +44 -0
  712. package/dist/server/src/automations/triggers/sensor.js.map +1 -0
  713. package/dist/server/src/automations/triggers/system.d.ts +3 -0
  714. package/dist/server/src/automations/triggers/system.js +31 -0
  715. package/dist/server/src/automations/triggers/system.js.map +1 -0
  716. package/dist/server/src/automations/triggers/types.d.ts +12 -0
  717. package/dist/server/src/automations/triggers/types.js.map +1 -0
  718. package/dist/server/src/automations/triggers/webhook.d.ts +7 -0
  719. package/dist/server/src/automations/triggers/webhook.js +8 -0
  720. package/dist/server/src/automations/triggers/webhook.js.map +1 -0
  721. package/dist/server/src/automations/utilities/imageInput.d.ts +2 -0
  722. package/dist/server/src/automations/utilities/imageInput.js +139 -0
  723. package/dist/server/src/automations/utilities/imageInput.js.map +1 -0
  724. package/dist/server/src/automations/utilities/index.d.ts +2 -0
  725. package/dist/server/src/automations/utilities/index.js +7 -0
  726. package/dist/server/src/automations/utilities/index.js.map +1 -0
  727. package/dist/server/src/automations/utilities/output.d.ts +2 -0
  728. package/dist/server/src/automations/utilities/output.js +10 -0
  729. package/dist/server/src/automations/utilities/output.js.map +1 -0
  730. package/dist/server/src/camera/controller.d.ts +56 -45
  731. package/dist/server/src/camera/controller.js +468 -326
  732. package/dist/server/src/camera/controller.js.map +1 -1
  733. package/dist/server/src/camera/decoder/audio-source.d.ts +34 -0
  734. package/dist/server/src/camera/decoder/audio-source.js +170 -0
  735. package/dist/server/src/camera/decoder/audio-source.js.map +1 -0
  736. package/dist/server/src/camera/decoder/cascade-manager.d.ts +22 -0
  737. package/dist/server/src/camera/decoder/cascade-manager.js +82 -0
  738. package/dist/server/src/camera/decoder/cascade-manager.js.map +1 -0
  739. package/dist/server/src/camera/decoder/child.d.ts +28 -0
  740. package/dist/server/src/camera/decoder/child.js +187 -0
  741. package/dist/server/src/camera/decoder/child.js.map +1 -0
  742. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +142 -0
  743. package/dist/server/src/camera/decoder/detection-coordinator.js +1844 -0
  744. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -0
  745. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +41 -0
  746. package/dist/server/src/camera/decoder/detection-pipeline.js +216 -0
  747. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -0
  748. package/dist/server/src/camera/decoder/dwell-manager.d.ts +23 -0
  749. package/dist/server/src/camera/decoder/dwell-manager.js +82 -0
  750. package/dist/server/src/camera/decoder/dwell-manager.js.map +1 -0
  751. package/dist/server/src/camera/decoder/event-manager.d.ts +97 -0
  752. package/dist/server/src/camera/decoder/event-manager.js +674 -0
  753. package/dist/server/src/camera/decoder/event-manager.js.map +1 -0
  754. package/dist/server/src/camera/decoder/frame-scaler.d.ts +53 -0
  755. package/dist/server/src/camera/decoder/frame-scaler.js +136 -0
  756. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -0
  757. package/dist/server/src/camera/decoder/frame-source.d.ts +54 -0
  758. package/dist/server/src/camera/decoder/frame-source.js +341 -0
  759. package/dist/server/src/camera/decoder/frame-source.js.map +1 -0
  760. package/dist/server/src/camera/decoder/ptz-autotracker.d.ts +57 -0
  761. package/dist/server/src/camera/decoder/ptz-autotracker.js +369 -0
  762. package/dist/server/src/camera/decoder/ptz-autotracker.js.map +1 -0
  763. package/dist/server/src/camera/decoder/types.d.ts +7 -0
  764. package/dist/server/src/camera/decoder/types.js +6 -0
  765. package/dist/server/src/camera/decoder/types.js.map +1 -0
  766. package/dist/server/src/camera/decoder/worker.d.ts +48 -0
  767. package/dist/server/src/camera/decoder/worker.js +465 -0
  768. package/dist/server/src/camera/decoder/worker.js.map +1 -0
  769. package/dist/server/src/camera/index.d.ts +43 -59
  770. package/dist/server/src/camera/index.js +72 -438
  771. package/dist/server/src/camera/index.js.map +1 -1
  772. package/dist/server/src/camera/sensors/controller.d.ts +96 -0
  773. package/dist/server/src/camera/sensors/controller.js +517 -0
  774. package/dist/server/src/camera/sensors/controller.js.map +1 -0
  775. package/dist/server/src/camera/sensors/sensor.d.ts +34 -0
  776. package/dist/server/src/camera/sensors/sensor.js +176 -0
  777. package/dist/server/src/camera/sensors/sensor.js.map +1 -0
  778. package/dist/server/src/camera/sensors/types.d.ts +27 -0
  779. package/dist/server/src/camera/sensors/types.js +225 -0
  780. package/dist/server/src/camera/sensors/types.js.map +1 -0
  781. package/dist/server/src/camera/streaming/fmp4-session.d.ts +10 -12
  782. package/dist/server/src/camera/streaming/fmp4-session.js +162 -268
  783. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  784. package/dist/server/src/camera/streaming/rtp-session.d.ts +19 -0
  785. package/dist/server/src/camera/streaming/rtp-session.js +363 -0
  786. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -0
  787. package/dist/server/src/camera/utils/filter.d.ts +6 -0
  788. package/dist/server/src/camera/utils/filter.js +83 -0
  789. package/dist/server/src/camera/utils/filter.js.map +1 -0
  790. package/dist/server/src/camera/utils.d.ts +2 -7
  791. package/dist/server/src/camera/utils.js +53 -194
  792. package/dist/server/src/camera/utils.js.map +1 -1
  793. package/dist/server/src/go2rtc/api/index.d.ts +16 -0
  794. package/dist/server/src/go2rtc/api/index.js +33 -0
  795. package/dist/server/src/go2rtc/api/index.js.map +1 -0
  796. package/dist/server/src/go2rtc/api/instance.d.ts +7 -0
  797. package/dist/server/src/go2rtc/api/instance.js +49 -0
  798. package/dist/server/src/go2rtc/api/instance.js.map +1 -0
  799. package/dist/server/src/go2rtc/api/manager.d.ts +11 -0
  800. package/dist/server/src/go2rtc/api/manager.js +38 -0
  801. package/dist/server/src/go2rtc/api/manager.js.map +1 -0
  802. package/dist/server/src/go2rtc/api/routes/application.d.ts +9 -0
  803. package/dist/server/src/go2rtc/api/routes/application.js +40 -0
  804. package/dist/server/src/go2rtc/api/routes/application.js.map +1 -0
  805. package/dist/server/src/go2rtc/api/routes/config.d.ts +8 -0
  806. package/dist/server/src/go2rtc/api/routes/config.js +42 -0
  807. package/dist/server/src/go2rtc/api/routes/config.js.map +1 -0
  808. package/dist/server/src/go2rtc/api/routes/discover.d.ts +30 -0
  809. package/dist/server/src/go2rtc/api/routes/discover.js +158 -0
  810. package/dist/server/src/go2rtc/api/routes/discover.js.map +1 -0
  811. package/dist/server/src/go2rtc/api/routes/snapshot.d.ts +8 -0
  812. package/dist/server/src/go2rtc/api/routes/snapshot.js +34 -0
  813. package/dist/server/src/go2rtc/api/routes/snapshot.js.map +1 -0
  814. package/dist/server/src/go2rtc/api/routes/streams.d.ts +18 -0
  815. package/dist/server/src/go2rtc/api/routes/streams.js +161 -0
  816. package/dist/server/src/go2rtc/api/routes/streams.js.map +1 -0
  817. package/dist/server/src/go2rtc/index.d.ts +7 -2
  818. package/dist/server/src/go2rtc/index.js +52 -30
  819. package/dist/server/src/go2rtc/index.js.map +1 -1
  820. package/dist/server/src/go2rtc/types.d.ts +167 -1
  821. package/dist/server/src/go2rtc/types.js +3 -0
  822. package/dist/server/src/go2rtc/types.js.map +1 -1
  823. package/dist/server/src/internal-bus.d.ts +41 -0
  824. package/dist/server/src/internal-bus.js +19 -0
  825. package/dist/server/src/internal-bus.js.map +1 -0
  826. package/dist/server/src/main.d.ts +8 -2
  827. package/dist/server/src/main.js +110 -21
  828. package/dist/server/src/main.js.map +1 -1
  829. package/dist/server/src/manager/coreManager.d.ts +12 -9
  830. package/dist/server/src/manager/coreManager.js +45 -48
  831. package/dist/server/src/manager/coreManager.js.map +1 -1
  832. package/dist/server/src/manager/deviceManager.d.ts +10 -8
  833. package/dist/server/src/manager/deviceManager.js +31 -96
  834. package/dist/server/src/manager/deviceManager.js.map +1 -1
  835. package/dist/server/src/manager/discoveryManager.d.ts +73 -0
  836. package/dist/server/src/manager/discoveryManager.js +800 -0
  837. package/dist/server/src/manager/discoveryManager.js.map +1 -0
  838. package/dist/server/src/manager/downloadManager.d.ts +27 -0
  839. package/dist/server/src/manager/downloadManager.js +353 -0
  840. package/dist/server/src/manager/downloadManager.js.map +1 -0
  841. package/dist/server/src/manager/notificationManager.d.ts +37 -0
  842. package/dist/server/src/manager/notificationManager.js +334 -0
  843. package/dist/server/src/manager/notificationManager.js.map +1 -0
  844. package/dist/server/src/manager/terminalManager.d.ts +27 -0
  845. package/dist/server/src/manager/terminalManager.js +239 -0
  846. package/dist/server/src/manager/terminalManager.js.map +1 -0
  847. package/dist/server/src/manager/types.d.ts +39 -14
  848. package/dist/server/src/manager/types.js +12 -1
  849. package/dist/server/src/manager/types.js.map +1 -1
  850. package/dist/server/src/plugins/index.d.ts +9 -6
  851. package/dist/server/src/plugins/index.js +69 -52
  852. package/dist/server/src/plugins/index.js.map +1 -1
  853. package/dist/server/src/plugins/plugin.d.ts +16 -16
  854. package/dist/server/src/plugins/plugin.js +42 -36
  855. package/dist/server/src/plugins/plugin.js.map +1 -1
  856. package/dist/server/src/plugins/runtime/base.d.ts +5 -14
  857. package/dist/server/src/plugins/runtime/base.js +46 -111
  858. package/dist/server/src/plugins/runtime/base.js.map +1 -1
  859. package/dist/server/src/plugins/runtime/go/index.d.ts +7 -0
  860. package/dist/server/src/plugins/runtime/go/index.js +110 -0
  861. package/dist/server/src/plugins/runtime/go/index.js.map +1 -0
  862. package/dist/server/src/plugins/runtime/index.js +5 -1
  863. package/dist/server/src/plugins/runtime/index.js.map +1 -1
  864. package/dist/server/src/plugins/runtime/node/child.d.ts +7 -6
  865. package/dist/server/src/plugins/runtime/node/child.js +70 -38
  866. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  867. package/dist/server/src/plugins/runtime/node/index.d.ts +1 -0
  868. package/dist/server/src/plugins/runtime/node/index.js +31 -5
  869. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  870. package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +9 -6
  871. package/dist/server/src/plugins/runtime/node/pluginApi.js +10 -4
  872. package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -1
  873. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.d.ts +27 -15
  874. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +312 -173
  875. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  876. package/dist/server/src/plugins/runtime/node/proxy/coreManager.d.ts +7 -10
  877. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +28 -43
  878. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  879. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.d.ts +7 -11
  880. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +40 -57
  881. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
  882. package/dist/server/src/plugins/runtime/node/proxy/downloadManager.d.ts +9 -0
  883. package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js +22 -0
  884. package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js.map +1 -0
  885. package/dist/server/src/plugins/runtime/node/proxy/notificationManager.d.ts +7 -0
  886. package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js +20 -0
  887. package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js.map +1 -0
  888. package/dist/server/src/plugins/runtime/node/proxy/sensor.d.ts +45 -0
  889. package/dist/server/src/plugins/runtime/node/proxy/sensor.js +149 -0
  890. package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -0
  891. package/dist/server/src/plugins/runtime/node/storage.d.ts +6 -11
  892. package/dist/server/src/plugins/runtime/node/storage.js +69 -46
  893. package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
  894. package/dist/server/src/plugins/runtime/node/storageController.d.ts +10 -7
  895. package/dist/server/src/plugins/runtime/node/storageController.js +57 -17
  896. package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
  897. package/dist/server/src/plugins/runtime/python/camera/utils.py +105 -0
  898. package/dist/server/src/plugins/runtime/python/child.py +108 -68
  899. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  900. package/dist/server/src/plugins/runtime/python/namespaces.py +155 -60
  901. package/dist/server/src/plugins/runtime/python/plugin_api.py +72 -6
  902. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +592 -1522
  903. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +75 -76
  904. package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +81 -93
  905. package/dist/server/src/plugins/runtime/python/proxy/download_manager.py +33 -0
  906. package/dist/server/src/plugins/runtime/python/proxy/notification_manager.py +31 -0
  907. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +169 -0
  908. package/dist/server/src/plugins/runtime/python/rpc/typings.py +56 -0
  909. package/dist/server/src/plugins/runtime/python/schema.py +54 -19
  910. package/dist/server/src/plugins/runtime/python/storage.py +84 -66
  911. package/dist/server/src/plugins/runtime/python/storage_controller.py +132 -38
  912. package/dist/server/src/plugins/runtime/python/typings.py +78 -152
  913. package/dist/server/src/plugins/schema.d.ts +27 -26
  914. package/dist/server/src/plugins/schema.js +183 -103
  915. package/dist/server/src/plugins/schema.js.map +1 -1
  916. package/dist/server/src/plugins/types.d.ts +2 -14
  917. package/dist/server/src/plugins/types.js +0 -1
  918. package/dist/server/src/plugins/types.js.map +1 -1
  919. package/dist/server/src/plugins/worker.d.ts +7 -7
  920. package/dist/server/src/plugins/worker.js +37 -26
  921. package/dist/server/src/plugins/worker.js.map +1 -1
  922. package/dist/server/src/remote/api/credentialStore.d.ts +18 -0
  923. package/dist/server/src/remote/api/credentialStore.js +101 -0
  924. package/dist/server/src/remote/api/credentialStore.js.map +1 -0
  925. package/dist/server/src/remote/api/index.d.ts +9 -0
  926. package/dist/server/src/remote/api/index.js +16 -0
  927. package/dist/server/src/remote/api/index.js.map +1 -0
  928. package/dist/server/src/remote/api/instance.d.ts +9 -0
  929. package/dist/server/src/remote/api/instance.js +44 -0
  930. package/dist/server/src/remote/api/instance.js.map +1 -0
  931. package/dist/server/src/remote/api/routes/oauth.d.ts +23 -0
  932. package/dist/server/src/remote/api/routes/oauth.js +79 -0
  933. package/dist/server/src/remote/api/routes/oauth.js.map +1 -0
  934. package/dist/server/src/remote/api/routes/server.d.ts +20 -0
  935. package/dist/server/src/remote/api/routes/server.js +58 -0
  936. package/dist/server/src/remote/api/routes/server.js.map +1 -0
  937. package/dist/server/src/remote/index.d.ts +25 -0
  938. package/dist/server/src/remote/index.js +70 -0
  939. package/dist/server/src/remote/index.js.map +1 -0
  940. package/dist/server/src/remote/push.d.ts +15 -0
  941. package/dist/server/src/remote/push.js +85 -0
  942. package/dist/server/src/remote/push.js.map +1 -0
  943. package/dist/server/src/remote/services/cloudflare-managed.d.ts +42 -0
  944. package/dist/server/src/remote/services/cloudflare-managed.js +284 -0
  945. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -0
  946. package/dist/server/src/remote/services/cloudflare.d.ts +38 -0
  947. package/dist/server/src/remote/services/cloudflare.js +232 -0
  948. package/dist/server/src/remote/services/cloudflare.js.map +1 -0
  949. package/dist/server/src/remote/services/customDomain.d.ts +9 -0
  950. package/dist/server/src/remote/services/customDomain.js +40 -0
  951. package/dist/server/src/remote/services/customDomain.js.map +1 -0
  952. package/dist/server/src/remote/services/index.d.ts +43 -0
  953. package/dist/server/src/remote/services/index.js +285 -0
  954. package/dist/server/src/remote/services/index.js.map +1 -0
  955. package/dist/server/src/remote/services/upnp.js +2 -0
  956. package/dist/server/src/remote/services/upnp.js.map +1 -0
  957. package/dist/server/src/remote/tunnel/client.d.ts +38 -0
  958. package/dist/server/src/remote/tunnel/client.js +241 -0
  959. package/dist/server/src/remote/tunnel/client.js.map +1 -0
  960. package/dist/server/src/remote/tunnel/index.d.ts +15 -0
  961. package/dist/server/src/remote/tunnel/index.js +68 -0
  962. package/dist/server/src/remote/tunnel/index.js.map +1 -0
  963. package/dist/server/src/remote/types.d.ts +31 -0
  964. package/dist/server/src/remote/types.js +2 -0
  965. package/dist/server/src/remote/types.js.map +1 -0
  966. package/dist/server/src/rpc/index.d.ts +24 -25
  967. package/dist/server/src/rpc/index.js +93 -77
  968. package/dist/server/src/rpc/index.js.map +1 -1
  969. package/dist/server/src/rpc/interfaces/config.d.ts +74 -0
  970. package/dist/server/src/rpc/interfaces/config.js +2 -0
  971. package/dist/server/src/rpc/interfaces/config.js.map +1 -0
  972. package/dist/server/src/rpc/interfaces/core.d.ts +25 -0
  973. package/dist/server/src/rpc/interfaces/core.js +2 -0
  974. package/dist/server/src/rpc/interfaces/core.js.map +1 -0
  975. package/dist/server/src/rpc/interfaces/detection.d.ts +70 -0
  976. package/dist/server/src/rpc/interfaces/detection.js +2 -0
  977. package/dist/server/src/rpc/interfaces/detection.js.map +1 -0
  978. package/dist/server/src/rpc/interfaces/device.d.ts +62 -0
  979. package/dist/server/src/rpc/interfaces/device.js +2 -0
  980. package/dist/server/src/rpc/interfaces/device.js.map +1 -0
  981. package/dist/server/src/rpc/interfaces/discovery.d.ts +46 -0
  982. package/dist/server/src/rpc/interfaces/discovery.js +2 -0
  983. package/dist/server/src/rpc/interfaces/discovery.js.map +1 -0
  984. package/dist/server/src/rpc/interfaces/download.d.ts +22 -0
  985. package/dist/server/src/rpc/interfaces/download.js +2 -0
  986. package/dist/server/src/rpc/interfaces/download.js.map +1 -0
  987. package/dist/server/src/rpc/interfaces/frameworker.d.ts +12 -0
  988. package/dist/server/src/rpc/interfaces/frameworker.js +2 -0
  989. package/dist/server/src/rpc/interfaces/frameworker.js.map +1 -0
  990. package/dist/server/src/rpc/interfaces/notification.d.ts +6 -0
  991. package/dist/server/src/rpc/interfaces/notification.js +2 -0
  992. package/dist/server/src/rpc/interfaces/notification.js.map +1 -0
  993. package/dist/server/src/rpc/interfaces/sensor.d.ts +75 -0
  994. package/dist/server/src/rpc/interfaces/sensor.js +2 -0
  995. package/dist/server/src/rpc/interfaces/sensor.js.map +1 -0
  996. package/dist/server/src/rpc/interfaces/terminal.d.ts +34 -0
  997. package/dist/server/src/rpc/interfaces/terminal.js +2 -0
  998. package/dist/server/src/rpc/interfaces/terminal.js.map +1 -0
  999. package/dist/server/src/rpc/namespaces.d.ts +50 -2
  1000. package/dist/server/src/rpc/namespaces.js +70 -4
  1001. package/dist/server/src/rpc/namespaces.js.map +1 -1
  1002. package/dist/server/src/rpc/server.d.ts +22 -3
  1003. package/dist/server/src/rpc/server.js +110 -37
  1004. package/dist/server/src/rpc/server.js.map +1 -1
  1005. package/dist/server/src/rpc/utils.d.ts +2 -1
  1006. package/dist/server/src/rpc/utils.js +8 -0
  1007. package/dist/server/src/rpc/utils.js.map +1 -1
  1008. package/dist/server/src/services/config/constants.d.ts +7 -1
  1009. package/dist/server/src/services/config/constants.js +17 -2
  1010. package/dist/server/src/services/config/constants.js.map +1 -1
  1011. package/dist/server/src/services/config/defaults.js +3 -3
  1012. package/dist/server/src/services/config/defaults.js.map +1 -1
  1013. package/dist/server/src/services/config/index.d.ts +6 -43
  1014. package/dist/server/src/services/config/index.js +56 -108
  1015. package/dist/server/src/services/config/index.js.map +1 -1
  1016. package/dist/server/src/services/config/types.d.ts +14 -2
  1017. package/dist/server/src/services/config/types.js.map +1 -1
  1018. package/dist/server/src/services/logger/index.d.ts +13 -11
  1019. package/dist/server/src/services/logger/index.js +47 -50
  1020. package/dist/server/src/services/logger/index.js.map +1 -1
  1021. package/dist/server/src/services/logger/logManager.d.ts +35 -0
  1022. package/dist/server/src/services/logger/logManager.js +196 -0
  1023. package/dist/server/src/services/logger/logManager.js.map +1 -0
  1024. package/dist/server/src/services/logger/transports/fileTransport.d.ts +34 -0
  1025. package/dist/server/src/services/logger/transports/fileTransport.js +152 -0
  1026. package/dist/server/src/services/logger/transports/fileTransport.js.map +1 -0
  1027. package/dist/server/src/services/logger/transports/index.d.ts +1 -0
  1028. package/dist/server/src/services/logger/transports/index.js +2 -0
  1029. package/dist/server/src/services/logger/transports/index.js.map +1 -0
  1030. package/dist/server/src/types.d.ts +3 -0
  1031. package/dist/server/src/utils/camera.d.ts +4 -0
  1032. package/dist/server/src/utils/camera.js +79 -0
  1033. package/dist/server/src/utils/camera.js.map +1 -0
  1034. package/dist/server/src/utils/env.js +8 -0
  1035. package/dist/server/src/utils/env.js.map +1 -0
  1036. package/dist/server/src/utils/ipc.d.ts +1 -1
  1037. package/dist/server/src/utils/ipc.js +2 -2
  1038. package/dist/server/src/utils/ipc.js.map +1 -1
  1039. package/dist/server/src/utils/path.js +3 -3
  1040. package/dist/server/src/utils/path.js.map +1 -1
  1041. package/dist/server/src/utils/pythonInstaller.d.ts +2 -1
  1042. package/dist/server/src/utils/pythonInstaller.js +6 -6
  1043. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  1044. package/dist/server/src/workers/agent.d.ts +27 -0
  1045. package/dist/server/src/workers/agent.js +161 -0
  1046. package/dist/server/src/workers/agent.js.map +1 -0
  1047. package/dist/server/src/workers/capabilities/frame-decoding.d.ts +24 -0
  1048. package/dist/server/src/workers/capabilities/frame-decoding.js +180 -0
  1049. package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -0
  1050. package/dist/server/src/workers/capabilities/handler.d.ts +8 -0
  1051. package/dist/server/src/workers/capabilities/handler.js +2 -0
  1052. package/dist/server/src/workers/capabilities/handler.js.map +1 -0
  1053. package/dist/server/src/workers/manager.d.ts +31 -0
  1054. package/dist/server/src/workers/manager.js +260 -0
  1055. package/dist/server/src/workers/manager.js.map +1 -0
  1056. package/dist/server/src/workers/types.d.ts +59 -0
  1057. package/dist/server/src/workers/types.js +5 -0
  1058. package/dist/server/src/workers/types.js.map +1 -0
  1059. package/package.json +85 -84
  1060. package/dist/interface/assets/@xterm.DYP7pi_n.0.0.70.css +0 -32
  1061. package/dist/interface/assets/Adminpanel.BKek2EMH.0.0.70.css +0 -1
  1062. package/dist/interface/assets/Cameras.BDWZJqPN.0.0.70.css +0 -1
  1063. package/dist/interface/assets/Camview.Cvhuou6V.0.0.70.css +0 -1
  1064. package/dist/interface/assets/CuiConsole.DCYyxdVg.0.0.70.css +0 -1
  1065. package/dist/interface/assets/CuiPluginCard.yF8V0SZY.0.0.70.css +0 -1
  1066. package/dist/interface/assets/CuiTimeline.BkIwlYtw.0.0.70.css +0 -1
  1067. package/dist/interface/assets/Plugin.DJElsAn5.0.0.70.css +0 -1
  1068. package/dist/interface/assets/Plugins.BwPlcRrV.0.0.70.css +0 -1
  1069. package/dist/interface/assets/Settings.CkgfRkQr.0.0.70.css +0 -1
  1070. package/dist/interface/assets/SettingsAccount.CDZT7gN-.0.0.70.css +0 -1
  1071. package/dist/interface/assets/highlight.Ch2EwETz.0.0.70.css +0 -1
  1072. package/dist/interface/assets/main.BmO7mnW4.0.0.70.css +0 -1
  1073. package/dist/interface/assets/worker-base.jEXLGV2h.0.0.70.js +0 -1332
  1074. package/dist/interface/assets/worker-yaml.B3uUYINB.0.0.70.js +0 -5819
  1075. package/dist/interface/js/@babel.l0sNRNKZ.0.0.70.js +0 -1
  1076. package/dist/interface/js/@intlify.6ljJeWIl.0.0.70.js +0 -15
  1077. package/dist/interface/js/@kurkle.D8fDXNIl.0.0.70.js +0 -6
  1078. package/dist/interface/js/@primeuix.bRNqZjQz.0.0.70.js +0 -5889
  1079. package/dist/interface/js/@primevue.DH9ak_9x.0.0.70.js +0 -57
  1080. package/dist/interface/js/@react-dnd.CcwRs9xb.0.0.70.js +0 -1
  1081. package/dist/interface/js/@socket.io.Dkula2eQ.0.0.70.js +0 -1
  1082. package/dist/interface/js/@tanstack.Dk2rc1Gz.0.0.70.js +0 -1
  1083. package/dist/interface/js/@vee-validate.i4o6WINE.0.0.70.js +0 -5
  1084. package/dist/interface/js/@vue.BsSvBeCe.0.0.70.js +0 -17
  1085. package/dist/interface/js/@vueuse.T3qy5Jq4.0.0.70.js +0 -1
  1086. package/dist/interface/js/@xterm.CJZZM5vf.0.0.70.js +0 -66
  1087. package/dist/interface/js/Adminpanel.CBQfnvy1.0.0.70.js +0 -1
  1088. package/dist/interface/js/Camera.D39v2Qae.0.0.70.js +0 -1
  1089. package/dist/interface/js/Cameras.BOXzVzD9.0.0.70.js +0 -482
  1090. package/dist/interface/js/Cammesh.bs93Or8F.0.0.70.js +0 -1
  1091. package/dist/interface/js/Camview.R2Zpw-wS.0.0.70.js +0 -1
  1092. package/dist/interface/js/Config.D89tTvo2.0.0.70.js +0 -2
  1093. package/dist/interface/js/Console.DX4_ZVPM.0.0.70.js +0 -4
  1094. package/dist/interface/js/CuiConsole.B-YJZ4uY.0.0.70.js +0 -1
  1095. package/dist/interface/js/CuiPluginCard.CFaLdBEf.0.0.70.js +0 -4
  1096. package/dist/interface/js/CuiTimeline.DbPA3XCf.0.0.70.js +0 -1
  1097. package/dist/interface/js/FirstSteps.BjUQYXwF.0.0.70.js +0 -1
  1098. package/dist/interface/js/Plugin.Dl21oK_u.0.0.70.js +0 -1
  1099. package/dist/interface/js/Plugins.DphA9uPk.0.0.70.js +0 -1
  1100. package/dist/interface/js/Recordings.B2b7JutC.0.0.70.js +0 -1
  1101. package/dist/interface/js/Settings.D_hL6kBb.0.0.70.js +0 -1
  1102. package/dist/interface/js/SettingsAccount.2ETTD3p8.0.0.70.js +0 -1
  1103. package/dist/interface/js/SettingsAppearance.DkI9GlMu.0.0.70.js +0 -1
  1104. package/dist/interface/js/SettingsAppearance.vue_vue_type_script_setup_true_lang.D6sykhe2.0.0.70.js +0 -1
  1105. package/dist/interface/js/SettingsBackup.Ce3e31yn.0.0.70.js +0 -1
  1106. package/dist/interface/js/SettingsRecordings.C_hEpi6y.0.0.70.js +0 -1
  1107. package/dist/interface/js/SettingsRemote.BDp_l894.0.0.70.js +0 -1
  1108. package/dist/interface/js/SettingsSystem.CFjS9i7G.0.0.70.js +0 -1
  1109. package/dist/interface/js/SettingsUsers.BpTad4f8.0.0.70.js +0 -1
  1110. package/dist/interface/js/VersionsHandler.vue_vue_type_script_setup_true_lang.MC8r914h.0.0.70.js +0 -4
  1111. package/dist/interface/js/ace-builds.DPRnfcwI.0.0.70.js +0 -1091
  1112. package/dist/interface/js/ace.config.DReCZ4VN.0.0.70.js +0 -1
  1113. package/dist/interface/js/axios.lj9VQs0f.0.0.70.js +0 -6
  1114. package/dist/interface/js/backup.CqN-DI7C.0.0.70.js +0 -1
  1115. package/dist/interface/js/birpc.l0sNRNKZ.0.0.70.js +0 -1
  1116. package/dist/interface/js/chart.js.B5ohq2tj.0.0.70.js +0 -13
  1117. package/dist/interface/js/close-circle.CMnO5OKl.0.0.70.js +0 -1
  1118. package/dist/interface/js/compare-versions.DqEOhma6.0.0.70.js +0 -1
  1119. package/dist/interface/js/dijkstrajs.C00ieaqj.0.0.70.js +0 -1
  1120. package/dist/interface/js/dnd-core.DuFbUDJC.0.0.70.js +0 -1
  1121. package/dist/interface/js/draggabilly.Cuzjcd7v.0.0.70.js +0 -6
  1122. package/dist/interface/js/engine.io-client.CnosWdRP.0.0.70.js +0 -1
  1123. package/dist/interface/js/engine.io-parser.BiEtp6m2.0.0.70.js +0 -1
  1124. package/dist/interface/js/entities.C20TfXL6.0.0.70.js +0 -1
  1125. package/dist/interface/js/ev-emitter.X5f1qa-c.0.0.70.js +0 -1
  1126. package/dist/interface/js/fast-deep-equal.D0g7BF3f.0.0.70.js +0 -1
  1127. package/dist/interface/js/get-size.D1dS-IaP.0.0.70.js +0 -5
  1128. package/dist/interface/js/highlight.js.DTPofZhc.0.0.70.js +0 -3
  1129. package/dist/interface/js/hookable.l0sNRNKZ.0.0.70.js +0 -1
  1130. package/dist/interface/js/linkify-it.imhCvGRq.0.0.70.js +0 -1
  1131. package/dist/interface/js/main.D2NZuTnM.0.0.70.js +0 -31
  1132. package/dist/interface/js/markdown-it.VQvmcJVu.0.0.70.js +0 -15
  1133. package/dist/interface/js/mdurl.k9Sl0PQj.0.0.70.js +0 -2
  1134. package/dist/interface/js/nprogress.DuNJBXnf.0.0.70.js +0 -2
  1135. package/dist/interface/js/perfect-debounce.l0sNRNKZ.0.0.70.js +0 -1
  1136. package/dist/interface/js/pinia.BeBGFuqK.0.0.70.js +0 -5
  1137. package/dist/interface/js/primelocale.Bga3dOQu.0.0.70.js +0 -1
  1138. package/dist/interface/js/primevue.BVVo-ukB.0.0.70.js +0 -142
  1139. package/dist/interface/js/punycode.js.Dj65hjkv.0.0.70.js +0 -1
  1140. package/dist/interface/js/qrcode.D7KqKQTM.0.0.70.js +0 -8
  1141. package/dist/interface/js/react-dnd-html5-backend.1HQjlkwI.0.0.70.js +0 -2
  1142. package/dist/interface/js/react-dnd-touch-backend.4hAOsMRp.0.0.70.js +0 -1
  1143. package/dist/interface/js/redux.BFxtlG_c.0.0.70.js +0 -1
  1144. package/dist/interface/js/refresh-rounded.BzWz29y2.0.0.70.js +0 -1
  1145. package/dist/interface/js/rxjs.UbFxmZ7q.0.0.70.js +0 -3
  1146. package/dist/interface/js/socket.io-client.DC_wUGxw.0.0.70.js +0 -1
  1147. package/dist/interface/js/socket.io-parser.ChgZ8FD_.0.0.70.js +0 -1
  1148. package/dist/interface/js/system.Ccn9lMgI.0.0.70.js +0 -1
  1149. package/dist/interface/js/trash-fill.C8ZgD-Jz.0.0.70.js +0 -1
  1150. package/dist/interface/js/tslib.9k7AwCpt.0.0.70.js +0 -1
  1151. package/dist/interface/js/uc.micro.kMc2yuuw.0.0.70.js +0 -1
  1152. package/dist/interface/js/unidragger.DahEY3cm.0.0.70.js +0 -5
  1153. package/dist/interface/js/uuid.C6aID195.0.0.70.js +0 -1
  1154. package/dist/interface/js/vee-validate.DwwGVNzx.0.0.70.js +0 -5
  1155. package/dist/interface/js/vue-chartjs.KCIQuea5.0.0.70.js +0 -1
  1156. package/dist/interface/js/vue-i18n.BLwVbi61.0.0.70.js +0 -5
  1157. package/dist/interface/js/vue-inline-svg.B52C1cW8.0.0.70.js +0 -1
  1158. package/dist/interface/js/vue-router.BQuUBAAr.0.0.70.js +0 -5
  1159. package/dist/interface/js/vue-zoomable.Cq7IVJt5.0.0.70.js +0 -1
  1160. package/dist/interface/js/vue.l0sNRNKZ.0.0.70.js +0 -1
  1161. package/dist/interface/js/vue3-dnd.2Dj_EakH.0.0.70.js +0 -1
  1162. package/dist/interface/js/zod.2bfLsWMZ.0.0.70.js +0 -1
  1163. package/dist/interface/js/zoom-out.D4ga9c-w.0.0.70.js +0 -1
  1164. package/dist/interface/registerSW.js +0 -1
  1165. package/dist/interface/workbox-5ffe50d4.js +0 -1
  1166. package/dist/server/src/_camera_ui_tools/camera_ui_common/camera_utils/utils.py +0 -52
  1167. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/test.py +0 -116
  1168. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/__init__.py +0 -350
  1169. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/__init__.py +0 -0
  1170. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/base.py +0 -237
  1171. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/client.py +0 -256
  1172. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/connection.py +0 -784
  1173. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/errors.py +0 -745
  1174. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/messaging.py +0 -57
  1175. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc.py +0 -227
  1176. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc_generator.py +0 -584
  1177. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/constants.py +0 -96
  1178. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/typings.py +0 -218
  1179. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/__init__.py +0 -0
  1180. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/connection_state.py +0 -86
  1181. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/logger.py +0 -30
  1182. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/metrics.py +0 -152
  1183. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/packer.py +0 -20
  1184. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/routing.py +0 -75
  1185. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/rpc.py +0 -177
  1186. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/subscriptions.py +0 -24
  1187. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/tasks.py +0 -39
  1188. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/uid.py +0 -37
  1189. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/validate.py +0 -119
  1190. package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +0 -1369
  1191. package/dist/server/src/_camera_ui_tools/camera_ui_types/hybrid_observer.py +0 -338
  1192. package/dist/server/src/_camera_ui_tools/camera_ui_types/test.py +0 -196
  1193. package/dist/server/src/api/controllers/system.controller.d.ts +0 -24
  1194. package/dist/server/src/api/controllers/system.controller.js +0 -235
  1195. package/dist/server/src/api/controllers/system.controller.js.map +0 -1
  1196. package/dist/server/src/api/go2rtc/api/application.d.ts +0 -9
  1197. package/dist/server/src/api/go2rtc/api/application.js +0 -39
  1198. package/dist/server/src/api/go2rtc/api/application.js.map +0 -1
  1199. package/dist/server/src/api/go2rtc/api/config.d.ts +0 -8
  1200. package/dist/server/src/api/go2rtc/api/config.js +0 -44
  1201. package/dist/server/src/api/go2rtc/api/config.js.map +0 -1
  1202. package/dist/server/src/api/go2rtc/api/discover.d.ts +0 -30
  1203. package/dist/server/src/api/go2rtc/api/discover.js +0 -162
  1204. package/dist/server/src/api/go2rtc/api/discover.js.map +0 -1
  1205. package/dist/server/src/api/go2rtc/api/index.d.ts +0 -1
  1206. package/dist/server/src/api/go2rtc/api/index.js +0 -42
  1207. package/dist/server/src/api/go2rtc/api/index.js.map +0 -1
  1208. package/dist/server/src/api/go2rtc/api/snapshot.d.ts +0 -8
  1209. package/dist/server/src/api/go2rtc/api/snapshot.js +0 -34
  1210. package/dist/server/src/api/go2rtc/api/snapshot.js.map +0 -1
  1211. package/dist/server/src/api/go2rtc/api/streams.d.ts +0 -20
  1212. package/dist/server/src/api/go2rtc/api/streams.js +0 -190
  1213. package/dist/server/src/api/go2rtc/api/streams.js.map +0 -1
  1214. package/dist/server/src/api/go2rtc/index.d.ts +0 -16
  1215. package/dist/server/src/api/go2rtc/index.js +0 -33
  1216. package/dist/server/src/api/go2rtc/index.js.map +0 -1
  1217. package/dist/server/src/api/go2rtc/queue.d.ts +0 -10
  1218. package/dist/server/src/api/go2rtc/queue.js +0 -38
  1219. package/dist/server/src/api/go2rtc/queue.js.map +0 -1
  1220. package/dist/server/src/api/go2rtc/types.d.ts +0 -151
  1221. package/dist/server/src/api/go2rtc/types.js.map +0 -1
  1222. package/dist/server/src/api/routes/system.routes.d.ts +0 -2
  1223. package/dist/server/src/api/routes/system.routes.js +0 -86
  1224. package/dist/server/src/api/routes/system.routes.js.map +0 -1
  1225. package/dist/server/src/api/schemas/system.schema.d.ts +0 -185
  1226. package/dist/server/src/api/schemas/system.schema.js +0 -40
  1227. package/dist/server/src/api/schemas/system.schema.js.map +0 -1
  1228. package/dist/server/src/api/services/system.service.d.ts +0 -13
  1229. package/dist/server/src/api/services/system.service.js +0 -63
  1230. package/dist/server/src/api/services/system.service.js.map +0 -1
  1231. package/dist/server/src/camera/classes.d.ts +0 -2
  1232. package/dist/server/src/camera/classes.js +0 -24
  1233. package/dist/server/src/camera/classes.js.map +0 -1
  1234. package/dist/server/src/camera/device.d.ts +0 -34
  1235. package/dist/server/src/camera/device.js +0 -327
  1236. package/dist/server/src/camera/device.js.map +0 -1
  1237. package/dist/server/src/camera/frameWorker.d.ts +0 -46
  1238. package/dist/server/src/camera/frameWorker.js +0 -347
  1239. package/dist/server/src/camera/frameWorker.js.map +0 -1
  1240. package/dist/server/src/camera/interfaces.d.ts +0 -17
  1241. package/dist/server/src/camera/interfaces.js +0 -99
  1242. package/dist/server/src/camera/interfaces.js.map +0 -1
  1243. package/dist/server/src/camera/iou.d.ts +0 -2
  1244. package/dist/server/src/camera/iou.js +0 -122
  1245. package/dist/server/src/camera/iou.js.map +0 -1
  1246. package/dist/server/src/camera/polygon.d.ts +0 -4
  1247. package/dist/server/src/camera/polygon.js +0 -192
  1248. package/dist/server/src/camera/polygon.js.map +0 -1
  1249. package/dist/server/src/camera/python/__init__.py +0 -0
  1250. package/dist/server/src/camera/python/classes.py +0 -41
  1251. package/dist/server/src/camera/python/interfaces.py +0 -131
  1252. package/dist/server/src/camera/python/iou.py +0 -158
  1253. package/dist/server/src/camera/python/polygon.py +0 -230
  1254. package/dist/server/src/camera/python/typings.py +0 -50
  1255. package/dist/server/src/camera/python/video_frame.py +0 -143
  1256. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -26
  1257. package/dist/server/src/camera/streaming/peer-connection.js +0 -213
  1258. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  1259. package/dist/server/src/camera/streaming/rtsp-session.d.ts +0 -19
  1260. package/dist/server/src/camera/streaming/rtsp-session.js +0 -196
  1261. package/dist/server/src/camera/streaming/rtsp-session.js.map +0 -1
  1262. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -44
  1263. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -177
  1264. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  1265. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -19
  1266. package/dist/server/src/camera/streaming/werift-session.js +0 -246
  1267. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  1268. package/dist/server/src/camera/types.d.ts +0 -17
  1269. package/dist/server/src/camera/types.js.map +0 -1
  1270. package/dist/server/src/camera/videoFrame.d.ts +0 -18
  1271. package/dist/server/src/camera/videoFrame.js +0 -88
  1272. package/dist/server/src/camera/videoFrame.js.map +0 -1
  1273. package/dist/server/src/cloud/index.d.ts +0 -12
  1274. package/dist/server/src/cloud/index.js +0 -49
  1275. package/dist/server/src/cloud/index.js.map +0 -1
  1276. package/dist/server/src/cloud/remote/cloudflare.d.ts +0 -7
  1277. package/dist/server/src/cloud/remote/cloudflare.js +0 -12
  1278. package/dist/server/src/cloud/remote/cloudflare.js.map +0 -1
  1279. package/dist/server/src/cloud/remote/upnp.d.ts +0 -7
  1280. package/dist/server/src/cloud/remote/upnp.js +0 -12
  1281. package/dist/server/src/cloud/remote/upnp.js.map +0 -1
  1282. package/dist/server/src/cloud/remote/utils.d.ts +0 -3
  1283. package/dist/server/src/cloud/remote/utils.js +0 -21
  1284. package/dist/server/src/cloud/remote/utils.js.map +0 -1
  1285. package/dist/server/src/cloud/types.d.ts +0 -15
  1286. package/dist/server/src/cloud/types.js +0 -11
  1287. package/dist/server/src/cloud/types.js.map +0 -1
  1288. package/dist/server/src/decoder/child.js +0 -748
  1289. package/dist/server/src/decoder/child.js.map +0 -1
  1290. package/dist/server/src/decoder/imageUtils.d.ts +0 -21
  1291. package/dist/server/src/decoder/imageUtils.js +0 -204
  1292. package/dist/server/src/decoder/imageUtils.js.map +0 -1
  1293. package/dist/server/src/decoder/manager.d.ts +0 -19
  1294. package/dist/server/src/decoder/manager.js +0 -208
  1295. package/dist/server/src/decoder/manager.js.map +0 -1
  1296. package/dist/server/src/decoder/python/__init__.py +0 -0
  1297. package/dist/server/src/decoder/python/child.py +0 -902
  1298. package/dist/server/src/decoder/python/image_utils.py +0 -196
  1299. package/dist/server/src/decoder/python/pool.py +0 -45
  1300. package/dist/server/src/decoder/python/typings.py +0 -57
  1301. package/dist/server/src/decoder/python/utils.py +0 -70
  1302. package/dist/server/src/decoder/types.d.ts +0 -23
  1303. package/dist/server/src/decoder/types.js.map +0 -1
  1304. package/dist/server/src/decoder/utils.d.ts +0 -13
  1305. package/dist/server/src/decoder/utils.js +0 -45
  1306. package/dist/server/src/decoder/utils.js.map +0 -1
  1307. package/dist/server/src/decoder/wasm/build/decoder.d.ts +0 -43
  1308. package/dist/server/src/decoder/wasm/build/decoder.js +0 -108
  1309. package/dist/server/src/decoder/wasm/build/decoder.wasm +0 -0
  1310. package/dist/server/src/decoder/worker.js +0 -79
  1311. package/dist/server/src/decoder/worker.js.map +0 -1
  1312. package/dist/server/src/plugins/runtime/node/plugin.d.ts +0 -24
  1313. package/dist/server/src/plugins/runtime/node/plugin.js +0 -128
  1314. package/dist/server/src/plugins/runtime/node/plugin.js.map +0 -1
  1315. package/dist/server/src/plugins/runtime/python/plugin.py +0 -155
  1316. package/dist/server/src/rpc/types.d.ts +0 -112
  1317. package/dist/server/src/rpc/types.js.map +0 -1
  1318. /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.70.css → SettingsBackup-CX0rT0QJ.css} +0 -0
  1319. /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.70.png → logo-256-BCQk9H1-.png} +0 -0
  1320. /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.70.png → logo-512-DLKVOU2S.png} +0 -0
  1321. /package/dist/interface/assets/{logo.DmEiRk0z.0.0.70.png → logo-DmEiRk0z.png} +0 -0
  1322. /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.70.js → mode-yaml-CIYL8U3d.js} +0 -0
  1323. /package/dist/server/src/api/{go2rtc → database/migrations}/types.js +0 -0
  1324. /package/dist/server/src/{camera → automations/actions}/types.js +0 -0
  1325. /package/dist/server/src/{decoder → automations/conditions}/types.js +0 -0
  1326. /package/dist/server/src/{rpc → automations/triggers}/types.js +0 -0
  1327. /package/dist/server/src/{decoder/child.d.ts → remote/services/upnp.d.ts} +0 -0
  1328. /package/dist/server/src/{decoder/worker.d.ts → utils/env.d.ts} +0 -0
@@ -0,0 +1,1085 @@
1
+ import{t as e}from"./rolldown-runtime-CMxvf4Kt.js";var t=e(((e,t)=>{(function(){var e=`ace`,t=(function(){return this})();if(!t&&typeof window<`u`&&(t=window),!e&&typeof requirejs<`u`)return;var n=function(e,t,r){if(typeof e!=`string`){n.original?n.original.apply(this,arguments):(console.error(`dropping module because define wasn't a string.`),console.trace());return}arguments.length==2&&(r=t),n.modules[e]||(n.payloads[e]=r,n.modules[e]=null)};n.modules={},n.payloads={};var r=function(e,t,n){if(typeof t==`string`){var r=o(e,t);if(r!=null)return n&&n(),r}else if(Object.prototype.toString.call(t)===`[object Array]`){for(var a=[],s=0,c=t.length;s<c;++s){var l=o(e,t[s]);if(l==null&&i.original)return;a.push(l)}return n&&n.apply(null,a)||!0}},i=function(e,t){var n=r(``,e,t);return n==null&&i.original?i.original.apply(this,arguments):n},a=function(e,t){if(t.indexOf(`!`)!==-1){var n=t.split(`!`);return a(e,n[0])+`!`+a(e,n[1])}if(t.charAt(0)==`.`)for(t=e.split(`/`).slice(0,-1).join(`/`)+`/`+t;t.indexOf(`.`)!==-1&&r!=t;){var r=t;t=t.replace(/\/\.\//,`/`).replace(/[^\/]+\/\.\.\//,``)}return t},o=function(e,t){t=a(e,t);var i=n.modules[t];if(!i){if(i=n.payloads[t],typeof i==`function`){var o={},s={id:t,uri:``,exports:o,packaged:!0};o=i(function(e,n){return r(t,e,n)},o,s)||s.exports,n.modules[t]=o,delete n.payloads[t]}i=n.modules[t]=o||i}return i};function s(e){var r=t;e&&(t[e]||(t[e]={}),r=t[e]),(!r.define||!r.define.packaged)&&(n.original=r.define,r.define=n,r.define.packaged=!0),(!r.require||!r.require.packaged)&&(i.original=r.require,r.require=i,r.require.packaged=!0)}s(e)})(),ace.define(`ace/lib/es6-shim`,[`require`,`exports`,`module`],function(e,t,n){function r(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||r(String.prototype,`startsWith`,function(e,t){return t||=0,this.lastIndexOf(e,t)===t}),String.prototype.endsWith||r(String.prototype,`endsWith`,function(e,t){var n=this;(t===void 0||t>n.length)&&(t=n.length),t-=e.length;var r=n.indexOf(e,t);return r!==-1&&r===t}),String.prototype.repeat||r(String.prototype,`repeat`,function(e){for(var t=``,n=this;e>0;)e&1&&(t+=n),(e>>=1)&&(n+=n);return t}),String.prototype.includes||r(String.prototype,`includes`,function(e,t){return this.indexOf(e,t)!=-1}),Object.assign||(Object.assign=function(e){if(e==null)throw TypeError(`Cannot convert undefined or null to object`);for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];r!=null&&Object.keys(r).forEach(function(e){t[e]=r[e]})}return t}),Object.values||(Object.values=function(e){return Object.keys(e).map(function(t){return e[t]})}),Array.prototype.find||r(Array.prototype,`find`,function(e){for(var t=this.length,n=arguments[1],r=0;r<t;r++){var i=this[r];if(e.call(n,i,r,this))return i}}),Array.prototype.findIndex||r(Array.prototype,`findIndex`,function(e){for(var t=this.length,n=arguments[1],r=0;r<t;r++){var i=this[r];if(e.call(n,i,r,this))return r}}),Array.prototype.includes||r(Array.prototype,`includes`,function(e,t){return this.indexOf(e,t)!=-1}),Array.prototype.fill||r(Array.prototype,`fill`,function(e){for(var t=this,n=t.length>>>0,r=arguments[1]>>0,i=r<0?Math.max(n+r,0):Math.min(r,n),a=arguments[2],o=a===void 0?n:a>>0,s=o<0?Math.max(n+o,0):Math.min(o,n);i<s;)t[i]=e,i++;return t}),Array.of||r(Array,`of`,function(){return Array.prototype.slice.call(arguments)})}),ace.define(`ace/lib/fixoldbrowsers`,[`require`,`exports`,`module`,`ace/lib/es6-shim`],function(e,t,n){e("./es6-shim")}),ace.define(`ace/lib/deep_copy`,[`require`,`exports`,`module`],function(e,t,n){t.deepCopy=function e(t){if(typeof t!=`object`||!t)return t;var n;if(Array.isArray(t)){n=[];for(var r=0;r<t.length;r++)n[r]=e(t[r]);return n}if(Object.prototype.toString.call(t)!==`[object Object]`)return t;for(var r in n={},t)n[r]=e(t[r]);return n}}),ace.define(`ace/lib/lang`,[`require`,`exports`,`module`,`ace/lib/deep_copy`],function(e,t,n){t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split(``).reverse().join(``)},t.stringRepeat=function(e,t){for(var n=``;t>0;)t&1&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,``)},t.stringTrimRight=function(e){return e.replace(i,``)},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]==`object`?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=e("./deep_copy").deepCopy,t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,`\\$1`)},t.escapeHTML=function(e){return(``+e).replace(/&/g,`&#38;`).replace(/"/g,`&#34;`).replace(/'/g,`&#39;`).replace(/</g,`&#60;`)},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n??=setTimeout(r,e||t)};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i},t.sleep=function(e){return new Promise(function(t){setTimeout(t,e)})},t.supportsLookbehind=function(){return!0},t.skipEmptyMatch=function(e,t,n){return n&&e.codePointAt(t)>65535?2:1}}),ace.define(`ace/lib/useragent`,[`require`,`exports`,`module`],function(e,t,n){t.OS={LINUX:`LINUX`,MAC:`MAC`,WINDOWS:`WINDOWS`},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};var r=typeof navigator==`object`?navigator:{},i=(/mac|win|linux/i.exec(r.platform)||[`other`])[0].toLowerCase(),a=r.userAgent||``,o=r.appName||``;t.isWin=i==`win`,t.isMac=i==`mac`,t.isLinux=i==`linux`,t.isIE=o==`Microsoft Internet Explorer`||o.indexOf(`MSAppHost`)>=0?parseFloat((a.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((a.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=a.match(/ Gecko\/\d+/),t.isOpera=typeof opera==`object`&&Object.prototype.toString.call(window.opera)==`[object Opera]`,t.isWebKit=parseFloat(a.split(`WebKit/`)[1])||void 0,t.isChrome=parseFloat(a.split(` Chrome/`)[1])||void 0,t.isSafari=parseFloat(a.split(` Safari/`)[1])&&!t.isChrome||void 0,t.isEdge=parseFloat(a.split(` Edge/`)[1])||void 0,t.isAIR=a.indexOf(`AdobeAIR`)>=0,t.isAndroid=a.indexOf(`Android`)>=0,t.isChromeOS=a.indexOf(` CrOS `)>=0,t.isIOS=/iPad|iPhone|iPod/.test(a)&&!window.MSStream,t.isIOS&&(t.isMac=!0),t.isMobile=t.isIOS||t.isAndroid}),ace.define(`ace/lib/dom`,[`require`,`exports`,`module`,`ace/lib/useragent`],function(e,t,n){var r=e("./useragent"),i=`http://www.w3.org/1999/xhtml`;t.buildDom=function e(t,n,r){if(typeof t==`string`&&t){var i=document.createTextNode(t);return n&&n.appendChild(i),i}if(!Array.isArray(t))return t&&t.appendChild&&n&&n.appendChild(t),t;if(typeof t[0]!=`string`||!t[0]){for(var a=[],o=0;o<t.length;o++){var s=e(t[o],n,r);s&&a.push(s)}return a}var c=document.createElement(t[0]),l=t[1],u=1;l&&typeof l==`object`&&!Array.isArray(l)&&(u=2);for(var o=u;o<t.length;o++)e(t[o],c,r);return u==2&&Object.keys(l).forEach(function(e){var t=l[e];e===`class`?c.className=Array.isArray(t)?t.join(` `):t:typeof t==`function`||e==`value`||e[0]==`$`?c[e]=t:e===`ref`?r&&(r[t]=c):e===`style`?typeof t==`string`&&(c.style.cssText=t):t!=null&&c.setAttribute(e,t)}),n&&n.appendChild(c),c},t.getDocumentHead=function(e){return e||=document,e.head||e.getElementsByTagName(`head`)[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||i,e):document.createElement(e)},t.removeChildren=function(e){e.innerHTML=``},t.createTextNode=function(e,t){return(t?t.ownerDocument:document).createTextNode(e)},t.createFragment=function(e){return(e?e.ownerDocument:document).createDocumentFragment()},t.hasCssClass=function(e,t){return(e.className+``).split(/\s+/g).indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=` `+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\s+/g);;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(` `)},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\s+/g),r=!0;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(` `),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;if(t||=document,r=t.querySelectorAll(`style`)){for(;n<r.length;)if(r[n++].id===e)return!0}},t.removeElementById=function(e,t){t||=document,t.getElementById(e)&&t.getElementById(e).remove()};var a,o=[];t.useStrictCSP=function(e){a=e,e==0?s():o||=[]};function s(){var e=o;o=null,e&&e.forEach(function(e){c(e[0],e[1])})}function c(e,n,r){if(!(typeof document>`u`)){if(o){if(r)s();else if(r===!1)return o.push([e,n])}if(!a){var i=r;!r||!r.getRootNode?i=document:(i=r.getRootNode(),(!i||i==r)&&(i=document));var c=i.ownerDocument||i;if(n&&t.hasCssString(n,i))return null;n&&(e+=`
2
+ /*# sourceURL=ace/css/`+n+` */`);var l=t.createElement(`style`);l.appendChild(c.createTextNode(e)),n&&(l.id=n),i==c&&(i=t.getDocumentHead(c)),i.insertBefore(l,i.firstChild)}}}if(t.importCssString=c,t.importCssStylsheet=function(e,n){t.buildDom([`link`,{rel:`stylesheet`,href:e}],t.getDocumentHead(n))},t.$fixPositionBug=function(e){var t=e.getBoundingClientRect();if(e.style.left){var n=parseFloat(e.style.left),r=+t.left;Math.abs(n-r)>1&&(e.style.left=2*n-r+`px`)}if(e.style.right){var n=parseFloat(e.style.right),r=window.innerWidth-t.right;Math.abs(n-r)>1&&(e.style.right=2*n-r+`px`)}if(e.style.top){var n=parseFloat(e.style.top),r=+t.top;Math.abs(n-r)>1&&(e.style.top=2*n-r+`px`)}if(e.style.bottom){var n=parseFloat(e.style.bottom),r=window.innerHeight-t.bottom;Math.abs(n-r)>1&&(e.style.bottom=2*n-r+`px`)}},t.scrollbarWidth=function(e){var n=t.createElement(`ace_inner`);n.style.width=`100%`,n.style.minWidth=`0px`,n.style.height=`200px`,n.style.display=`block`;var r=t.createElement(`ace_outer`),i=r.style;i.position=`absolute`,i.left=`-10000px`,i.overflow=`hidden`,i.width=`200px`,i.minWidth=`0px`,i.height=`150px`,i.display=`block`,r.appendChild(n);var a=e&&e.documentElement||document&&document.documentElement;if(!a)return 0;a.appendChild(r);var o=n.offsetWidth;i.overflow=`scroll`;var s=n.offsetWidth;return o===s&&(s=r.clientWidth),a.removeChild(r),o-s},t.computedStyle=function(e,t){return window.getComputedStyle(e,``)||{}},t.setStyle=function(e,t,n){e[t]!==n&&(e[t]=n)},t.HAS_CSS_ANIMATION=!1,t.HAS_CSS_TRANSFORMS=!1,t.HI_DPI=r.isWin?typeof window<`u`&&window.devicePixelRatio>=1.5:!0,r.isChromeOS&&(t.HI_DPI=!1),typeof document<`u`){var l=document.createElement(`div`);t.HI_DPI&&l.style.transform!==void 0&&(t.HAS_CSS_TRANSFORMS=!0),!r.isEdge&&l.style.animationName!==void 0&&(t.HAS_CSS_ANIMATION=!0),l=null}t.HAS_CSS_TRANSFORMS?t.translate=function(e,t,n){e.style.transform=`translate(`+Math.round(t)+`px, `+Math.round(n)+`px)`}:t.translate=function(e,t,n){e.style.top=Math.round(n)+`px`,e.style.left=Math.round(t)+`px`}}),ace.define(`ace/lib/net`,[`require`,`exports`,`module`,`ace/lib/dom`],function(e,t,n){var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open(`GET`,e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement(`script`);i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){(n||!i.readyState||i.readyState==`loaded`||i.readyState==`complete`)&&(i=i.onload=i.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement(`a`);return t.href=e,t.href}}),ace.define(`ace/lib/oop`,[`require`,`exports`,`module`],function(e,t,n){t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define(`ace/lib/event_emitter`,[`require`,`exports`,`module`],function(e,t,n){var r={},i=function(){this.propagationStopped=!0},a=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||={},this._defaultHandlers||={};var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!(!n.length&&!r)){(typeof t!=`object`||!t)&&(t={}),t.type||=e,t.stopPropagation||=i,t.preventDefault||=a,n=n.slice();for(var o=0;o<n.length&&(n[o](t,this),!t.propagationStopped);o++);if(r&&!t.defaultPrevented)return r(t,this)}},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)}},r.once=function(e,t){var n=this;if(this.on(e,function r(){n.off(e,r),t.apply(null,arguments)}),!t)return new Promise(function(e){t=e})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||=this._defaultHandlers={_disabled_:{}},n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var a=i.indexOf(t);a!=-1&&i.splice(a,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);i!=-1&&r.splice(i,1)}}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||=this._eventRegistry[e]=[],r.indexOf(t)==-1&&r[n?`unshift`:`push`](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var r=n.indexOf(t);r!==-1&&n.splice(r,1)}},r.removeAllListeners=function(e){e||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[e]=void 0),this._defaultHandlers&&(this._defaultHandlers[e]=void 0)},t.EventEmitter=r}),ace.define(`ace/lib/report_error`,[`require`,`exports`,`module`],function(e,t,n){t.reportError=function(e,t){var n=Error(e);n.data=t,typeof console==`object`&&console.error&&console.error(n),setTimeout(function(){throw n})}}),ace.define(`ace/lib/default_english_messages`,[`require`,`exports`,`module`],function(e,t,n){t.defaultEnglishMessages={"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 gutter`,"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`,"editor.tooltip.disable-editing":`Editing is disabled`}}),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(e,t,n){"no use strict";var r=e("./oop"),i=e("./event_emitter").EventEmitter,a=e("./report_error").reportError,o=e("./default_english_messages").defaultEnglishMessages,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var n=this.$options;e=Object.keys(n).filter(function(e){return!n[e].hidden})}return e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this[`$`+e]!==t){var n=this.$options[e];if(!n)return c(`misspelled option "`+e+`"`);if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this[`$`+e]=t),n&&n.set&&n.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this[`$`+e]:c(`misspelled option "`+e+`"`)}};function c(e){typeof console<`u`&&console.warn&&console.warn.apply(console,arguments)}var l,u,d=function(){function e(){this.$defaultOptions={},l=o,u=`dollarSigns`}return e.prototype.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r==`string`&&(r={forwardTo:r}),r.name||=t,e.$options[r.name]=r,`initialValue`in r&&(e[`$`+r.name]=r.initialValue)}),r.implement(e,s),this},e.prototype.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];`value`in n&&e.setOption(t,n.value)})},e.prototype.setDefaultValue=function(e,t,n){if(!e){for(e in this.$defaultOptions)if(this.$defaultOptions[e][t])break;if(!this.$defaultOptions[e][t])return!1}var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},e.prototype.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},e.prototype.setMessages=function(e,t){l=e,t&&t.placeholders&&(u=t.placeholders)},e.prototype.nls=function(e,t,n){l[e]||(c(`No message found for the key '`+e+`' in messages with id `+l.$id+`, trying to find a translation for the default string '`+t+`'.`),l[t]||c(`No message found for the default string '`+t+`' in the provided messages. Falling back to the default English message.`));var r=l[e]||l[t]||t;return n&&(u===`dollarSigns`&&(r=r.replace(/\$(\$|[\d]+)/g,function(e,t){return t==`$`?`$`:n[t]})),u===`curlyBrackets`&&(r=r.replace(/\{([^\}]+)\}/g,function(e,t){return n[t]}))),r},e}();d.prototype.warn=c,d.prototype.reportError=a,r.implement(d.prototype,i),t.AppConfig=d}),ace.define(`ace/theme/textmate-css`,[`require`,`exports`,`module`],function(e,t,n){n.exports=`.ace-tm .ace_gutter {
3
+ background: #f0f0f0;
4
+ color: #333;
5
+ }
6
+
7
+ .ace-tm .ace_print-margin {
8
+ width: 1px;
9
+ background: #e8e8e8;
10
+ }
11
+
12
+ .ace-tm .ace_fold {
13
+ background-color: #6B72E6;
14
+ }
15
+
16
+ .ace-tm {
17
+ background-color: #FFFFFF;
18
+ color: black;
19
+ }
20
+
21
+ .ace-tm .ace_cursor {
22
+ color: black;
23
+ }
24
+
25
+ .ace-tm .ace_invisible {
26
+ color: rgb(191, 191, 191);
27
+ }
28
+
29
+ .ace-tm .ace_storage,
30
+ .ace-tm .ace_keyword {
31
+ color: blue;
32
+ }
33
+
34
+ .ace-tm .ace_constant {
35
+ color: rgb(197, 6, 11);
36
+ }
37
+
38
+ .ace-tm .ace_constant.ace_buildin {
39
+ color: rgb(88, 72, 246);
40
+ }
41
+
42
+ .ace-tm .ace_constant.ace_language {
43
+ color: rgb(88, 92, 246);
44
+ }
45
+
46
+ .ace-tm .ace_constant.ace_library {
47
+ color: rgb(6, 150, 14);
48
+ }
49
+
50
+ .ace-tm .ace_invalid {
51
+ background-color: rgba(255, 0, 0, 0.1);
52
+ color: red;
53
+ }
54
+
55
+ .ace-tm .ace_support.ace_function {
56
+ color: rgb(60, 76, 114);
57
+ }
58
+
59
+ .ace-tm .ace_support.ace_constant {
60
+ color: rgb(6, 150, 14);
61
+ }
62
+
63
+ .ace-tm .ace_support.ace_type,
64
+ .ace-tm .ace_support.ace_class {
65
+ color: rgb(109, 121, 222);
66
+ }
67
+
68
+ .ace-tm .ace_keyword.ace_operator {
69
+ color: rgb(104, 118, 135);
70
+ }
71
+
72
+ .ace-tm .ace_string {
73
+ color: rgb(3, 106, 7);
74
+ }
75
+
76
+ .ace-tm .ace_comment {
77
+ color: rgb(76, 136, 107);
78
+ }
79
+
80
+ .ace-tm .ace_comment.ace_doc {
81
+ color: rgb(0, 102, 255);
82
+ }
83
+
84
+ .ace-tm .ace_comment.ace_doc.ace_tag {
85
+ color: rgb(128, 159, 191);
86
+ }
87
+
88
+ .ace-tm .ace_constant.ace_numeric {
89
+ color: rgb(0, 0, 205);
90
+ }
91
+
92
+ .ace-tm .ace_variable {
93
+ color: rgb(49, 132, 149);
94
+ }
95
+
96
+ .ace-tm .ace_xml-pe {
97
+ color: rgb(104, 104, 91);
98
+ }
99
+
100
+ .ace-tm .ace_entity.ace_name.ace_function {
101
+ color: #0000A2;
102
+ }
103
+
104
+
105
+ .ace-tm .ace_heading {
106
+ color: rgb(12, 7, 255);
107
+ }
108
+
109
+ .ace-tm .ace_list {
110
+ color:rgb(185, 6, 144);
111
+ }
112
+
113
+ .ace-tm .ace_meta.ace_tag {
114
+ color:rgb(0, 22, 142);
115
+ }
116
+
117
+ .ace-tm .ace_string.ace_regex {
118
+ color: rgb(255, 0, 0)
119
+ }
120
+
121
+ .ace-tm .ace_marker-layer .ace_selection {
122
+ background: rgb(181, 213, 255);
123
+ }
124
+ .ace-tm.ace_multiselect .ace_selection.ace_start {
125
+ box-shadow: 0 0 3px 0px white;
126
+ }
127
+ .ace-tm .ace_marker-layer .ace_step {
128
+ background: rgb(252, 255, 0);
129
+ }
130
+
131
+ .ace-tm .ace_marker-layer .ace_stack {
132
+ background: rgb(164, 229, 101);
133
+ }
134
+
135
+ .ace-tm .ace_marker-layer .ace_bracket {
136
+ margin: -1px 0 0 -1px;
137
+ border: 1px solid rgb(192, 192, 192);
138
+ }
139
+
140
+ .ace-tm .ace_marker-layer .ace_active-line {
141
+ background: rgba(0, 0, 0, 0.07);
142
+ }
143
+
144
+ .ace-tm .ace_gutter-active-line {
145
+ background-color : #dcdcdc;
146
+ }
147
+
148
+ .ace-tm .ace_marker-layer .ace_selected-word {
149
+ background: rgb(250, 250, 255);
150
+ border: 1px solid rgb(200, 200, 250);
151
+ }
152
+
153
+ .ace-tm .ace_indent-guide {
154
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
155
+ }
156
+
157
+ .ace-tm .ace_indent-guide-active {
158
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
159
+ }
160
+ `}),ace.define(`ace/theme/textmate`,[`require`,`exports`,`module`,`ace/theme/textmate-css`,`ace/lib/dom`],function(e,t,n){t.isDark=!1,t.cssClass=`ace-tm`,t.cssText=e("./textmate-css"),t.$id=`ace/theme/textmate`,e("../lib/dom").importCssString(t.cssText,t.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(e,t,n){"no use strict";var r=e("./lib/lang"),i=e("./lib/net"),a=e("./lib/dom"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var s={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:``,suffix:`.js`,$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};t.get=function(e){if(!s.hasOwnProperty(e))throw Error(`Unknown config key: `+e);return s[e]},t.set=function(e,t){if(s.hasOwnProperty(e))s[e]=t;else if(this.setDefaultValue(``,e,t)==0)throw Error(`Unknown config key: `+e);e==`useStrictCSP`&&a.useStrictCSP(t)},t.all=function(){return r.copyObject(s)},t.$modes={},t.moduleUrl=function(e,t){if(s.$moduleUrls[e])return s.$moduleUrls[e];var n=e.split(`/`);t=t||n[n.length-2]||``;var r=t==`snippets`?`/`:`-`,i=n[n.length-1];if(t==`worker`&&r==`-`){var a=RegExp(`^`+t+`[\\-_]|[\\-_]`+t+`$`,`g`);i=i.replace(a,``)}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=s[t+`Path`];return o==null?o=s.basePath:r==`/`&&(t=r=``),o&&o.slice(-1)!=`/`&&(o+=`/`),o+t+r+i+this.get(`suffix`)},t.setModuleUrl=function(e,t){return s.$moduleUrls[e]=t};var c=function(t,n){if(t===`ace/theme/textmate`||t===`./theme/textmate`)return n(null,e("./theme/textmate"));if(l)return l(t,n);console.error(`loader is not configured`)},l;t.setLoader=function(e){l=e},t.dynamicModules=Object.create(null),t.$loading={},t.$loaded={},t.loadModule=function(e,n){var r;if(Array.isArray(e))var a=e[0],o=e[1];else if(typeof e==`string`)var o=e;var s=function(e){if(e&&!t.$loading[o])return n&&n(e);if(t.$loading[o]||(t.$loading[o]=[]),t.$loading[o].push(n),!(t.$loading[o].length>1)){var r=function(){c(o,function(e,n){n&&(t.$loaded[o]=n),t._emit(`load.module`,{name:o,module:n});var r=t.$loading[o];t.$loading[o]=null,r.forEach(function(e){e&&e(n)})})};if(!t.get(`packaged`))return r();i.loadScript(t.moduleUrl(o,a),r),u()}};if(t.dynamicModules[o])t.dynamicModules[o]().then(function(e){e.default?s(e.default):s(e)});else{try{r=this.$require(o)}catch{}s(r||t.$loaded[o])}},t.$require=function(e){if(typeof n.require==`function`)return n.require(e)},t.setModuleLoader=function(e,n){t.dynamicModules[e]=n};var u=function(){!s.basePath&&!s.workerPath&&!s.modePath&&!s.themePath&&!Object.keys(s.$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`),u=function(){})};t.version=`1.44.0`}),ace.define(`ace/loader_build`,[`require`,`exports`,`module`,`ace/lib/fixoldbrowsers`,`ace/config`],function(e,t,n){e("./lib/fixoldbrowsers");var r=e("./config");r.setLoader(function(t,n){e([t],function(e){n(null,e)})});var i=(function(){return this||typeof window<`u`&&window})();n.exports=function(t){r.init=a,r.$require=e,t.require=e,typeof define==`function`&&(t.define=define)},a(!0);function a(t){if(!(!i||!i.document)){r.set(`packaged`,t||e.packaged||n.packaged||i.define&&define.packaged);var a={},s=``,c=document.currentScript||document._currentScript,l=c&&c.ownerDocument||document;c&&c.src&&(s=c.src.split(/[?#]/)[0].split(`/`).slice(0,-1).join(`/`)||``);for(var u=l.getElementsByTagName(`script`),d=0;d<u.length;d++){var f=u[d],p=f.src||f.getAttribute(`src`);if(p){for(var m=f.attributes,h=0,g=m.length;h<g;h++){var _=m[h];_.name.indexOf(`data-ace-`)===0&&(a[o(_.name.replace(/^data-ace-/,``))]=_.value)}var v=p.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);v&&(s=v[1])}}for(var y in s&&(a.base=a.base||s,a.packaged=!0),a.basePath=a.base,a.workerPath=a.workerPath||a.base,a.modePath=a.modePath||a.base,a.themePath=a.themePath||a.base,delete a.base,a)a[y]!==void 0&&r.set(y,a[y])}}function o(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}}),ace.define(`ace/range`,[`require`,`exports`,`module`],function(e,t,n){var r=function(){function e(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}}return e.prototype.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},e.prototype.toString=function(){return`Range: [`+this.start.row+`/`+this.start.column+`] -> [`+this.end.row+`/`+this.end.column+`]`},e.prototype.contains=function(e,t){return this.compare(e,t)==0},e.prototype.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:+(t==0)):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},e.prototype.comparePoint=function(e){return this.compare(e.row,e.column)},e.prototype.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},e.prototype.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},e.prototype.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},e.prototype.isStart=function(e,t){return this.start.row==e&&this.start.column==t},e.prototype.setStart=function(e,t){typeof e==`object`?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},e.prototype.setEnd=function(e,t){typeof e==`object`?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},e.prototype.inside=function(e,t){return this.compare(e,t)==0?!(this.isEnd(e,t)||this.isStart(e,t)):!1},e.prototype.insideStart=function(e,t){return this.compare(e,t)==0?!this.isEnd(e,t):!1},e.prototype.insideEnd=function(e,t){return this.compare(e,t)==0?!this.isStart(e,t):!1},e.prototype.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:+(t>this.end.column):e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},e.prototype.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},e.prototype.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},e.prototype.clipRows=function(t,n){if(this.end.row>n)var r={row:n+1,column:0};else if(this.end.row<t)var r={row:t,column:0};if(this.start.row>n)var i={row:n+1,column:0};else if(this.start.row<t)var i={row:t,column:0};return e.fromPoints(i||this.start,r||this.end)},e.prototype.extend=function(t,n){var r=this.compare(t,n);if(r==0)return this;if(r==-1)var i={row:t,column:n};else var a={row:t,column:n};return e.fromPoints(i||this.start,a||this.end)},e.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},e.prototype.isMultiLine=function(){return this.start.row!==this.end.row},e.prototype.clone=function(){return e.fromPoints(this.start,this.end)},e.prototype.collapseRows=function(){return this.end.column==0?new e(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new e(this.start.row,0,this.end.row,0)},e.prototype.toScreenRange=function(t){var n=t.documentToScreenPosition(this.start),r=t.documentToScreenPosition(this.end);return new e(n.row,n.column,r.row,r.column)},e.prototype.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t},e}();r.fromPoints=function(e,t){return new r(e.row,e.column,t.row,t.column)},r.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=r}),ace.define(`ace/lib/keys`,[`require`,`exports`,`module`,`ace/lib/oop`],function(e,t,n){for(var r=e("./oop"),i={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:`*`}},a={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},o=0;o<10;o++)a[`Digit`+o]=48+o,a[`Numpad`+o]=96+o,i.PRINTABLE_KEYS[48+o]=``+o,i.FUNCTION_KEYS[96+o]=`Numpad`+o;for(var o=65;o<91;o++){var s=String.fromCharCode(o+32);a[`Key`+s.toUpperCase()]=o,i.PRINTABLE_KEYS[o]=s}for(var o=1;o<13;o++)a[`F`+o]=111+o,i.FUNCTION_KEYS[111+o]=`F`+o;var c={Shift:16,Control:17,Alt:18,Meta:224};for(var l in c)a[l]=a[l+`Left`]=a[l+`Right`]=c[l];for(var u in t.$codeToKeyCode=a,i.PRINTABLE_KEYS[173]=`-`,i.FUNCTION_KEYS){var d=i.FUNCTION_KEYS[u].toLowerCase();i[d]=parseInt(u,10)}for(var u in i.PRINTABLE_KEYS){var d=i.PRINTABLE_KEYS[u].toLowerCase();i[d]=parseInt(u,10)}r.mixin(i,i.MODIFIER_KEYS),r.mixin(i,i.PRINTABLE_KEYS),r.mixin(i,i.FUNCTION_KEYS),i.enter=i.return,i.escape=i.esc,i.del=i.delete,(function(){for(var e=[`cmd`,`ctrl`,`alt`,`shift`],t=2**e.length;t--;)i.KEY_MODS[t]=e.filter(function(e){return t&i.KEY_MODS[e]}).join(`-`)+`-`})(),i.KEY_MODS[0]=``,i.KEY_MODS[-1]=`input-`,r.mixin(t,i),t.default=t,t.keyCodeToString=function(e){var t=i[e];return typeof t!=`string`&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define(`ace/lib/event`,[`require`,`exports`,`module`,`ace/lib/keys`,`ace/lib/useragent`],function(e,t,n){var r=e("./keys"),i=e("./useragent"),a=null,o=0,s;function c(){s=!1;try{document.createComment(``).addEventListener(`test`,function(){},{get passive(){return s={passive:!1},!0}})}catch{}}function l(){return s??c(),s}function u(e,t,n){this.elem=e,this.type=t,this.callback=n}u.prototype.destroy=function(){f(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var d=t.addListener=function(e,t,n,r){e.addEventListener(t,n,l()),r&&r.$toDestroy.push(new u(e,t,n))},f=t.removeListener=function(e,t,n){e.removeEventListener(t,n,l())};t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation&&e.stopPropagation()},t.preventDefault=function(e){e.preventDefault&&e.preventDefault()},t.getButton=function(e){return e.type==`dblclick`?0:e.type==`contextmenu`||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.button},t.capture=function(e,t,n){var r=e&&e.ownerDocument||document;function i(e){t&&t(e),n&&n(e),f(r,`mousemove`,t),f(r,`mouseup`,i),f(r,`dragstart`,i)}return d(r,`mousemove`,t),d(r,`mouseup`,i),d(r,`dragstart`,i),i},t.addMouseWheelListener=function(e,t,n){d(e,`wheel`,function(e){var n=.15,r=e.deltaX||0,i=e.deltaY||0;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=r*n,e.wheelY=i*n;break;case e.DOM_DELTA_LINE:var a=15;e.wheelX=r*a,e.wheelY=i*a;break;case e.DOM_DELTA_PAGE:var o=150;e.wheelX=r*o,e.wheelY=i*o;break}t(e)},n)},t.addMultiMouseDownListener=function(e,n,r,a,o){var s=0,c,l,u,f={2:`dblclick`,3:`tripleclick`,4:`quadclick`};function p(e){if(t.getButton(e)===0?e.detail>1?(s++,s>4&&(s=1)):s=1:s=0,i.isIE){var o=Math.abs(e.clientX-c)>5||Math.abs(e.clientY-l)>5;(!u||o)&&(s=1),u&&clearTimeout(u),u=setTimeout(function(){u=null},n[s-1]||600),s==1&&(c=e.clientX,l=e.clientY)}if(e._clicks=s,r[a](`mousedown`,e),s>4)s=0;else if(s>1)return r[a](f[s],e)}Array.isArray(e)||(e=[e]),e.forEach(function(e){d(e,`mousedown`,p,o)})};function p(e){return 0|!!e.ctrlKey|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}t.getModifierString=function(e){return r.KEY_MODS[p(e)]};function m(e,t,n){var s=p(t);if(!n&&t.code&&(n=r.$codeToKeyCode[t.code]||n),!i.isMac&&a){if(t.getModifierState&&(t.getModifierState(`OS`)||t.getModifierState(`Win`))&&(s|=8),a.altGr)if((3&s)!=3)a.altGr=0;else return;if(n===18||n===17){var c=t.location;n===17&&c===1?a[n]==1&&(o=t.timeStamp):n===18&&s===3&&c===2&&t.timeStamp-o<50&&(a.altGr=!0)}}if(n in r.MODIFIER_KEYS&&(n=-1),!(!s&&n===13&&t.location===3&&(e(t,s,-n),t.defaultPrevented))){if(i.isChromeOS&&s&8){if(e(t,s,n),t.defaultPrevented)return;s&=-9}return!s&&!(n in r.FUNCTION_KEYS)&&!(n in r.PRINTABLE_KEYS)?!1:e(t,s,n)}}t.addCommandKeyListener=function(e,n,r){var i=null;d(e,`keydown`,function(e){a[e.keyCode]=(a[e.keyCode]||0)+1;var t=m(n,e,e.keyCode);return i=e.defaultPrevented,t},r),d(e,`keypress`,function(e){i&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),i=null)},r),d(e,`keyup`,function(e){a[e.keyCode]=null},r),a||(h(),d(window,`focus`,h))};function h(){a=Object.create(null)}if(typeof window==`object`&&window.postMessage&&!i.isOldIE){var g=1;t.nextTick=function(e,n){n||=window;var r=`zero-timeout-message-`+ g++,i=function(a){a.data==r&&(t.stopPropagation(a),f(n,`message`,i),e())};d(n,`message`,i),n.postMessage(r,`*`)}}t.$idleBlocked=!1,t.onIdle=function(e,n){return setTimeout(function n(){t.$idleBlocked?setTimeout(n,100):e()},n)},t.$idleBlockId=null,t.blockIdle=function(e){t.$idleBlockId&&clearTimeout(t.$idleBlockId),t.$idleBlocked=!0,t.$idleBlockId=setTimeout(function(){t.$idleBlocked=!1},e||100)},t.nextFrame=typeof window==`object`&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define(`ace/clipboard`,[`require`,`exports`,`module`],function(e,t,n){var r;n.exports={lineMode:!1,pasteCancelled:function(){return r&&r>Date.now()-50?!0:r=!1},cancel:function(){r=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(e,t,n){var r=e("../lib/event"),i=e("../config").nls,a=e("../lib/useragent"),o=e("../lib/dom"),s=e("../lib/lang"),c=e("../clipboard"),l=a.isChrome<18,u=a.isIE,d=a.isChrome>63,f=400,p=e("../lib/keys"),m=p.KEY_MODS,h=a.isIOS,g=h?/\s/:/\n/,_=a.isMobile;t.TextInput=function(){function e(e,t){var n=this;this.host=t,this.text=o.createElement(`textarea`),this.text.className=`ace_text-input`,this.text.setAttribute(`wrap`,`off`),this.text.setAttribute(`autocomplete`,`off`),this.text.setAttribute(`autocorrect`,`off`),this.text.setAttribute(`autocapitalize`,`off`),this.text.setAttribute(`spellcheck`,`false`),this.text.style.opacity=`0`,e.insertBefore(this.text,e.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle=``,_||(this.text.style.fontSize=`1px`),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue=``,this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=2**53-1,this.rowEnd=-(2**53-1),this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch{}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:`textbox`}),r.addListener(this.text,`blur`,function(e){n.ignoreFocusEvents||(t.onBlur(e),n.$isFocused=!1)},t),r.addListener(this.text,`focus`,function(e){if(!n.ignoreFocusEvents){if(n.$isFocused=!0,a.isEdge)try{if(!document.hasFocus())return}catch{}t.onFocus(e),a.isEdge?setTimeout(n.resetSelection.bind(n)):n.resetSelection()}},t),this.$focusScroll=!1,t.on(`beforeEndOperation`,function(){var e=t.curOp,r=e&&e.command&&e.command.name;if(r!=`insertstring`){var i=r&&(e.docChanged||e.selectionChanged);n.inComposition&&i&&(n.lastValue=n.text.value=``,n.onCompositionEnd()),n.resetSelection()}}),t.on(`changeSelection`,this.setAriaLabel.bind(this)),this.resetSelection=h?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&t.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,r.addCommandKeyListener(this.text,function(e,r,i){if(!n.inComposition)return t.onCommandKey(e,r,i)},t),r.addListener(this.text,`select`,this.onSelect.bind(this),t),r.addListener(this.text,`input`,this.onInput.bind(this),t),r.addListener(this.text,`cut`,this.onCut.bind(this),t),r.addListener(this.text,`copy`,this.onCopy.bind(this),t),r.addListener(this.text,`paste`,this.onPaste.bind(this),t),(!(`oncut`in this.text)||!(`oncopy`in this.text)||!(`onpaste`in this.text))&&r.addListener(e,`keydown`,function(e){if(!(a.isMac&&!e.metaKey||!e.ctrlKey))switch(e.keyCode){case 67:n.onCopy(e);break;case 86:n.onPaste(e);break;case 88:n.onCut(e);break}},t),this.syncComposition=s.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),r.addListener(this.text,`compositionstart`,this.onCompositionStart.bind(this),t),r.addListener(this.text,`compositionupdate`,this.onCompositionUpdate.bind(this),t),r.addListener(this.text,`keyup`,this.onKeyup.bind(this),t),r.addListener(this.text,`keydown`,this.syncComposition.bind(this),t),r.addListener(this.text,`compositionend`,this.onCompositionEnd.bind(this),t),this.closeTimeout,r.addListener(this.text,`mouseup`,this.$onContextMenu.bind(this),t),r.addListener(this.text,`mousedown`,function(e){e.preventDefault(),n.onContextMenuClose()},t),r.addListener(t.renderer.scroller,`contextmenu`,this.$onContextMenu.bind(this),t),r.addListener(this.text,`contextmenu`,this.$onContextMenu.bind(this),t),h&&this.addIosSelectionHandler(e,t,this.text)}return e.prototype.addIosSelectionHandler=function(e,t,n){var r=this,i=null,a=!1;n.addEventListener(`keydown`,function(e){i&&clearTimeout(i),a=!0},!0),n.addEventListener(`keyup`,function(e){i=setTimeout(function(){a=!1},100)},!0);var o=function(e){if(document.activeElement===n&&!(a||r.inComposition||t.$mouseHandler.isMousePressed)&&!r.copied){var i=n.selectionStart,o=n.selectionEnd,s=null,c=0;if(i==0?s=p.up:i==1?s=p.home:o>r.lastSelectionEnd&&r.lastValue[o]==`
161
+ `?s=p.end:i<r.lastSelectionStart&&r.lastValue[i-1]==` `?(s=p.left,c=m.option):i<r.lastSelectionStart||i==r.lastSelectionStart&&r.lastSelectionEnd!=r.lastSelectionStart&&i==o?s=p.left:o>r.lastSelectionEnd&&r.lastValue.slice(0,o).split(`
162
+ `).length>2?s=p.down:o>r.lastSelectionEnd&&r.lastValue[o-1]==` `?(s=p.right,c=m.option):(o>r.lastSelectionEnd||o==r.lastSelectionEnd&&r.lastSelectionEnd!=r.lastSelectionStart&&i==o)&&(s=p.right),i!==o&&(c|=m.shift),s){if(!t.onCommandKey({},c,s)&&t.commands){s=p.keyCodeToString(s);var l=t.commands.findKeyCommand(c,s);l&&t.execCommand(l)}r.lastSelectionStart=i,r.lastSelectionEnd=o,r.resetSelection(``)}}};document.addEventListener(`selectionchange`,o),t.on(`destroy`,function(){document.removeEventListener(`selectionchange`,o)})},e.prototype.onContextMenuClose=function(){var e=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){e.tempStyle&&=(e.text.style.cssText=e.tempStyle,``),e.host.renderer.$isMousePressed=!1,e.host.renderer.$keepTextAreaAtCursor&&e.host.renderer.$moveTextAreaToCursor()},0)},e.prototype.$onContextMenu=function(e){this.host.textInput.onContextMenu(e),this.onContextMenuClose()},e.prototype.onKeyup=function(e){e.keyCode==27&&this.text.value.length<this.text.selectionStart&&(this.inComposition||(this.lastValue=this.text.value),this.lastSelectionStart=this.lastSelectionEnd=-1,this.resetSelection()),this.syncComposition()},e.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},e.prototype.onCompositionStart=function(e){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){e.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal(`compositionStart`),this.host.on(`mousedown`,this.cancelComposition);var t=this.host.getSelectionRange();t.end.row=t.start.row,t.end.column=t.start.column,this.inComposition.markerRange=t,this.inComposition.selectionStart=this.lastSelectionStart,this.host.onCompositionStart(this.inComposition),this.inComposition.useTextareaForIME?(this.lastValue=this.text.value=``,this.lastSelectionStart=0,this.lastSelectionEnd=0):(this.text.msGetInputContext&&(this.inComposition.context=this.text.msGetInputContext()),this.text.getInputContext&&(this.inComposition.context=this.text.getInputContext()))}},e.prototype.onCompositionUpdate=function(){if(!(!this.inComposition||!this.host.onCompositionUpdate||this.host.$readOnly)){if(this.commandMode)return this.cancelComposition();if(this.inComposition.useTextareaForIME)this.host.onCompositionUpdate(this.text.value);else{var e=this.text.value;this.sendText(e),this.inComposition.markerRange&&(this.inComposition.context&&(this.inComposition.markerRange.start.column=this.inComposition.selectionStart=this.inComposition.context.compositionStartOffset),this.inComposition.markerRange.end.column=this.inComposition.markerRange.start.column+this.lastSelectionEnd-this.inComposition.selectionStart+this.lastRestoreEnd)}}},e.prototype.onCompositionEnd=function(e){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off(`mousedown`,this.cancelComposition),e&&this.onInput())},e.prototype.onCut=function(e){this.doCopy(e,!0)},e.prototype.onCopy=function(e){this.doCopy(e,!1)},e.prototype.onPaste=function(e){var t=this.handleClipboardData(e);c.pasteCancelled()||(typeof t==`string`?(t&&this.host.onPaste(t,e),a.isIE&&setTimeout(this.resetSelection),r.preventDefault(e)):(this.text.value=``,this.pasted=!0))},e.prototype.doCopy=function(e,t){var n=this,i=this.host.getCopyText();if(!i)return r.preventDefault(e);this.handleClipboardData(e,i)?(h&&(this.resetSelection(i),this.copied=i,setTimeout(function(){n.copied=!1},10)),t?this.host.onCut():this.host.onCopy(),r.preventDefault(e)):(this.copied=!0,this.text.value=i,this.text.select(),setTimeout(function(){n.copied=!1,n.resetSelection(),t?n.host.onCut():n.host.onCopy()}))},e.prototype.handleClipboardData=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(!(!r||l)){var i=u||n?`Text`:`text/plain`;try{return t?r.setData(i,t)!==!1:r.getData(i)}catch(e){if(!n)return this.handleClipboardData(e,t,!0)}}},e.prototype.onInput=function(e){if(this.inComposition)return this.onCompositionUpdate();if(e&&e.inputType){if(e.inputType==`historyUndo`)return this.host.execCommand(`undo`);if(e.inputType==`historyRedo`)return this.host.execCommand(`redo`)}var t=this.text.value,n=this.sendText(t,!0);(t.length>f+100||g.test(n)||_&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},e.prototype.sendText=function(e,t){if(this.afterContextMenu&&=!1,this.pasted)return this.resetSelection(),e&&this.host.onPaste(e),this.pasted=!1,``;for(var n=this.text.selectionStart,r=this.text.selectionEnd,i=this.lastSelectionStart,o=this.lastValue.length-this.lastSelectionEnd,s=e,c=e.length-n,l=e.length-r,u=0;i>0&&this.lastValue[u]==e[u];)u++,i--;for(s=s.slice(u),u=1;o>0&&this.lastValue.length-u>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-u]==e[e.length-u];)u++,o--;c-=u-1,l-=u-1;var d=s.length-u+1;if(d<0&&(i=-d,d=0),s=s.slice(0,d),!t&&!s&&!c&&!i&&!o&&!l)return``;this.sendingText=!0;var f=!1;return a.isAndroid&&s==`. `&&(s=` `,f=!0),s&&!i&&!o&&!c&&!l||this.commandMode?this.host.onTextInput(s):this.host.onTextInput(s,{extendLeft:i,extendRight:o,restoreStart:c,restoreEnd:l}),this.sendingText=!1,this.lastValue=e,this.lastSelectionStart=n,this.lastSelectionEnd=r,this.lastRestoreEnd=l,f?`
163
+ `:s},e.prototype.onSelect=function(e){var t=this;this.inComposition||(this.copied?this.copied=!1:function(e){return e.selectionStart===0&&e.selectionEnd>=t.lastValue.length&&e.value===t.lastValue&&t.lastValue&&e.selectionEnd!==t.lastSelectionEnd}(this.text)?(this.host.selectAll(),this.resetSelection()):_&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection())},e.prototype.$resetSelectionIOS=function(e){if(!(!this.$isFocused||this.copied&&!e||this.sendingText)){e||=``;var t=`
164
+ ab`+e+`cde fg
165
+ `;t!=this.text.value&&(this.text.value=this.lastValue=t);var n=4,r=4+(e.length||+!this.host.selection.isEmpty());(this.lastSelectionStart!=n||this.lastSelectionEnd!=r)&&this.text.setSelectionRange(n,r),this.lastSelectionStart=n,this.lastSelectionEnd=r}},e.prototype.$resetSelection=function(){var e=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var t=0,n=0,r=``,i=function(t,n){for(var r=n,i=1;i<=t-e.rowStart&&i<2*e.numberOfExtraLines+1;i++)r+=e.host.session.getLine(t-i).length+1;return r};if(this.host.session){var a=this.host.selection,o=a.getRange(),s=a.cursor.row;s===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):s===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(s<this.rowStart-1||s>this.rowEnd+1)&&(this.rowStart=s>this.numberOfExtraLines?s-this.numberOfExtraLines:0,this.rowEnd=s>this.numberOfExtraLines?s+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var c=[],l=this.rowStart;l<=this.rowEnd;l++)c.push(this.host.session.getLine(l));if(r=c.join(`
166
+ `),t=i(o.start.row,o.start.column),n=i(o.end.row,o.end.column),o.start.row<this.rowStart){var u=this.host.session.getLine(this.rowStart-1);t=o.start.row<this.rowStart-1?0:t,n+=u.length+1,r=u+`
167
+ `+r}else if(o.end.row>this.rowEnd){var d=this.host.session.getLine(this.rowEnd+1);n=o.end.row>this.rowEnd+1?d.length:o.end.column,n+=r.length+1,r=r+`
168
+ `+d}else _&&s>0&&(r=`
169
+ `+r,n+=1,t+=1);r.length>f&&(t<f&&n<f?r=r.slice(0,f):(r=`
170
+ `,t==n?t=n=0:(t=0,n=1)));var p=r+`
171
+
172
+ `;p!=this.lastValue&&(this.text.value=this.lastValue=p,this.lastSelectionStart=this.lastSelectionEnd=p.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=n||this.lastSelectionStart!=t||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange(t,n),this.lastSelectionStart=t,this.lastSelectionEnd=n}catch{}this.inComposition=!1}},e.prototype.setHost=function(e){this.host=e},e.prototype.setNumberOfExtraLines=function(e){if(this.rowStart=2**53-1,this.rowEnd=-(2**53-1),e<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=e},e.prototype.setAriaLabel=function(){var e=``;if(this.host.$textInputAriaLabel&&(e+=`${this.host.$textInputAriaLabel}, `),this.host.session){var t=this.host.session.selection.cursor.row;e+=i(`text-input.aria-label`,`Cursor at row $0`,[t+1])}this.text.setAttribute(`aria-label`,e)},e.prototype.setAriaOptions=function(e){e.activeDescendant?(this.text.setAttribute(`aria-haspopup`,`true`),this.text.setAttribute(`aria-autocomplete`,e.inline?`both`:`list`),this.text.setAttribute(`aria-activedescendant`,e.activeDescendant)):(this.text.setAttribute(`aria-haspopup`,`false`),this.text.setAttribute(`aria-autocomplete`,`both`),this.text.removeAttribute(`aria-activedescendant`)),e.role&&this.text.setAttribute(`role`,e.role),e.setLabel&&(this.text.setAttribute(`aria-roledescription`,i(`text-input.aria-roledescription`,`editor`)),this.setAriaLabel())},e.prototype.focus=function(){var e=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||d||this.$focusScroll==`browser`)return this.text.focus({preventScroll:!0});var t=this.text.style.top;this.text.style.position=`fixed`,this.text.style.top=`0px`;try{var n=this.text.getBoundingClientRect().top!=0}catch{return}var r=[];if(n)for(var i=this.text.parentElement;i&&i.nodeType==1;)r.push(i),i.setAttribute(`ace_nocontext`,`true`),i=!i.parentElement&&i.getRootNode?i.getRootNode().host:i.parentElement;this.text.focus({preventScroll:!0}),n&&r.forEach(function(e){e.removeAttribute(`ace_nocontext`)}),setTimeout(function(){e.text.style.position=``,e.text.style.top==`0px`&&(e.text.style.top=t)},0)},e.prototype.blur=function(){this.text.blur()},e.prototype.isFocused=function(){return this.$isFocused},e.prototype.setInputHandler=function(e){this.inputHandler=e},e.prototype.getInputHandler=function(){return this.inputHandler},e.prototype.getElement=function(){return this.text},e.prototype.setCommandMode=function(e){this.commandMode=e,this.text.readOnly=!1},e.prototype.setReadOnly=function(e){this.commandMode||(this.text.readOnly=e)},e.prototype.setCopyWithEmptySelection=function(e){},e.prototype.onContextMenu=function(e){this.afterContextMenu=!0,this.resetSelection(),this.host._emit(`nativecontextmenu`,{target:this.host,domEvent:e}),this.moveToMouse(e,!0)},e.prototype.moveToMouse=function(e,t){var n=this;this.tempStyle||=this.text.style.cssText,this.text.style.cssText=(t?`z-index:100000;`:``)+(a.isIE?`opacity:0.1;`:``)+`text-indent: -`+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+`px;`;var i=this.host.container.getBoundingClientRect(),s=o.computedStyle(this.host.container),c=i.top+(parseInt(s.borderTopWidth)||0),l=i.left+(parseInt(s.borderLeftWidth)||0),u=i.bottom-c-this.text.clientHeight-2,d=function(e){o.translate(n.text,e.clientX-l-2,Math.min(e.clientY-c-2,u))};d(e),e.type==`mousedown`&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),a.isWin&&r.capture(this.host.container,d,this.onContextMenuClose.bind(this)))},e.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},e}(),t.$setUserAgentForTests=function(e,t){_=e,h=t}}),ace.define(`ace/mouse/default_handlers`,[`require`,`exports`,`module`,`ace/lib/useragent`],function(e,t,n){var r=e("../lib/useragent"),i=0,a=550,o=function(){function e(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler(`mousedown`,this.onMouseDown.bind(e)),t.setDefaultHandler(`dblclick`,this.onDoubleClick.bind(e)),t.setDefaultHandler(`tripleclick`,this.onTripleClick.bind(e)),t.setDefaultHandler(`quadclick`,this.onQuadClick.bind(e)),t.setDefaultHandler(`mousewheel`,this.onMouseWheel.bind(e)),[`select`,`startSelect`,`selectEnd`,`selectAllEnd`,`selectByWordsEnd`,`selectByLinesEnd`,`dragWait`,`dragWaitEnd`,`focusWait`].forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,`getLineRange`),e.selectByWords=this.extendSelectionBy.bind(e,`getWordRange`)}return e.prototype.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var i=this.editor,a=e.getButton();if(a!==0){(i.getSelectionRange().isEmpty()||a==1)&&i.selection.moveToPosition(n),a==2&&(i.textInput.onContextMenu(e.domEvent),r.isMozilla||e.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!i.isFocused()&&(i.focus(),this.$focusTimeout&&!this.$clickSelection&&!i.inMultiSelectMode)){this.setState(`focusWait`),this.captureMouse(e);return}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},e.prototype.startSelect=function(e,t){e||=this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.setStyle(`ace_selecting`),this.setState(`select`))},e.prototype.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=c(this.$clickSelection,n,t.session);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.renderer.scrollCursorIntoView()},e.prototype.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);if(this.$clickSelection){var a=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(a==-1&&o<=0)t=this.$clickSelection.end,(i.end.row!=r.row||i.end.column!=r.column)&&(r=i.start);else if(o==1&&a>=0)t=this.$clickSelection.start,(i.start.row!=r.row||i.start.column!=r.column)&&(r=i.end);else if(a==-1&&o==1)r=i.end,t=i.start;else{var s=c(this.$clickSelection,r,n.session);r=s.cursor,t=s.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},e.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle(`ace_selecting`)},e.prototype.focusWait=function(){(s(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y)>i||Date.now()-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},e.prototype.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session.getBracketRange(t);r?(r.isEmpty()&&(r.start.column--,r.end.column++),this.setState(`select`)):(r=n.selection.getWordRange(t.row,t.column),this.setState(`selectByWords`)),this.$clickSelection=r,this.select()},e.prototype.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState(`selectByLines`);var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},e.prototype.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState(`selectAll`)},e.prototype.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||={t:0,vx:0,vy:0,allowed:0};var n=this.$lastScroll,r=e.domEvent.timeStamp,i=r-n.t,o=i?e.wheelX/i:n.vx,s=i?e.wheelY/i:n.vy;i<a&&(o=(o+n.vx)/2,s=(s+n.vy)/2);var c=Math.abs(o/s),l=!1;if(c>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),c<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l?n.allowed=r:r-n.allowed<a&&(Math.abs(o)<=1.5*Math.abs(n.vx)&&Math.abs(s)<=1.5*Math.abs(n.vy)?(l=!0,n.allowed=r):n.allowed=0),n.t=r,n.vx=o,n.vy=s,l)return t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}},e}();o.prototype.selectEnd=o.prototype.selectByLinesEnd,o.prototype.selectAllEnd=o.prototype.selectByLinesEnd,o.prototype.selectByWordsEnd=o.prototype.selectByLinesEnd,t.DefaultHandlers=o;function s(e,t,n,r){return Math.sqrt((n-e)**2+(r-t)**2)}function c(e,t,n){if(e.start.row==e.end.row)var r=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var r=3*t.column-2*n.getLine(e.start.row).length;else var r=2*t.row-e.start.row-e.end.row;return r<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}}),ace.define(`ace/mouse/mouse_event`,[`require`,`exports`,`module`,`ace/lib/event`,`ace/lib/useragent`],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent");t.MouseEvent=function(){function e(e,t){this.speed,this.wheelX,this.wheelY,this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return e.prototype.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},e.prototype.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},e.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},e.prototype.getDocumentPosition=function(){return this.$pos||=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos},e.prototype.getGutterRow=function(){var e=this.getDocumentPosition().row;return this.editor.session.documentToScreenRow(e,0)-this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0)},e.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},e.prototype.getButton=function(){return r.getButton(this.domEvent)},e.prototype.getShiftKey=function(){return this.domEvent.shiftKey},e.prototype.getAccelKey=function(){return i.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},e}()}),ace.define(`ace/lib/scroll`,[`require`,`exports`,`module`],function(e,t,n){t.preventParentScroll=function(e){e.stopPropagation();var t=e.currentTarget;t.scrollHeight>t.clientHeight||e.preventDefault()}}),ace.define(`ace/tooltip`,[`require`,`exports`,`module`,`ace/lib/dom`,`ace/lib/event`,`ace/range`,`ace/lib/scroll`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=this&&this.__values||function(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)},a=e("./lib/dom");e("./lib/event");var o=e("./range").Range,s=e("./lib/scroll").preventParentScroll,c=`ace_tooltip`,l=function(){function e(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}return e.prototype.$init=function(){return this.$element=a.createElement(`div`),this.$element.className=c,this.$element.style.display=`none`,this.$parentNode.appendChild(this.$element),this.$element},e.prototype.getElement=function(){return this.$element||this.$init()},e.prototype.setText=function(e){this.getElement().textContent=e},e.prototype.setHtml=function(e){this.getElement().innerHTML=e},e.prototype.setPosition=function(e,t){this.getElement().style.left=e+`px`,this.getElement().style.top=t+`px`},e.prototype.setClassName=function(e){a.addCssClass(this.getElement(),e)},e.prototype.setTheme=function(e){this.theme&&(this.theme.isDark&&a.removeCssClass(this.getElement(),`ace_dark`),this.theme.cssClass&&a.removeCssClass(this.getElement(),this.theme.cssClass)),e.isDark&&a.addCssClass(this.getElement(),`ace_dark`),e.cssClass&&a.addCssClass(this.getElement(),e.cssClass),this.theme={isDark:e.isDark,cssClass:e.cssClass}},e.prototype.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||=(this.getElement().style.display=`block`,!0)},e.prototype.hide=function(e){this.isOpen&&=(this.getElement().style.display=`none`,this.getElement().className=c,!1)},e.prototype.getHeight=function(){return this.getElement().offsetHeight},e.prototype.getWidth=function(){return this.getElement().offsetWidth},e.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},e}(),u=new(function(){function e(){this.popups=[]}return e.prototype.addPopup=function(e){this.popups.push(e),this.updatePopups()},e.prototype.removePopup=function(e){var t=this.popups.indexOf(e);t!==-1&&(this.popups.splice(t,1),this.updatePopups())},e.prototype.updatePopups=function(){var e,t,n,r;this.popups.sort(function(e,t){return t.priority-e.priority});var a=[];try{for(var o=i(this.popups),s=o.next();!s.done;s=o.next()){var c=s.value,l=!0;try{for(var u=(n=void 0,i(a)),d=u.next();!d.done;d=u.next()){var f=d.value;if(this.doPopupsOverlap(f,c)){l=!1;break}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}l?a.push(c):c.hide()}}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}},e.prototype.doPopupsOverlap=function(e,t){var n=e.getElement().getBoundingClientRect(),r=t.getElement().getBoundingClientRect();return n.left<r.right&&n.right>r.left&&n.top<r.bottom&&n.bottom>r.top},e}());t.popupManager=u,t.Tooltip=l,t.HoverTooltip=function(e){r(t,e);function t(t){t===void 0&&(t=document.body);var n=e.call(this,t)||this;n.timeout=void 0,n.lastT=0,n.idleTime=350,n.lastEvent=void 0,n.onMouseOut=n.onMouseOut.bind(n),n.onMouseMove=n.onMouseMove.bind(n),n.waitForHover=n.waitForHover.bind(n),n.hide=n.hide.bind(n);var r=n.getElement();return r.style.whiteSpace=`pre-wrap`,r.style.pointerEvents=`auto`,r.addEventListener(`mouseout`,n.onMouseOut),r.tabIndex=-1,r.addEventListener(`blur`,function(){r.contains(document.activeElement)||this.hide()}.bind(n)),r.addEventListener(`wheel`,s),n}return t.prototype.addToEditor=function(e){e.on(`mousemove`,this.onMouseMove),e.on(`mousedown`,this.hide);var t=e.renderer.getMouseEventTarget();t&&typeof t.removeEventListener==`function`&&t.addEventListener(`mouseout`,this.onMouseOut,!0)},t.prototype.removeFromEditor=function(e){e.off(`mousemove`,this.onMouseMove),e.off(`mousedown`,this.hide);var t=e.renderer.getMouseEventTarget();t&&typeof t.removeEventListener==`function`&&t.removeEventListener(`mouseout`,this.onMouseOut,!0),this.timeout&&=(clearTimeout(this.timeout),null)},t.prototype.onMouseMove=function(e,t){this.lastEvent=e,this.lastT=Date.now();var n=t.$mouseHandler.isMousePressed;if(this.isOpen){var r=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(r.row,r.column)||n||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||n||(this.lastEvent=e,this.timeout=setTimeout(this.waitForHover,this.idleTime))},t.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var e=Date.now()-this.lastT;if(this.idleTime-e>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-e);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},t.prototype.isOutsideOfText=function(e){var t=e.editor,n=e.getDocumentPosition(),r=t.session.getLine(n.row);if(n.column==r.length){var i=t.renderer.pixelToScreenCoordinates(e.clientX,e.clientY),a=t.session.documentToScreenPosition(n.row,n.column);if(a.column!=i.column||a.row!=i.row)return!0}return!1},t.prototype.setDataProvider=function(e){this.$gatherData=e},t.prototype.showForRange=function(e,t,n,r){if(!(r&&r!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var i=e.renderer;this.isOpen||(u.addPopup(this),this.$registerCloseEvents(),this.setTheme(i.theme)),this.isOpen=!0,this.range=o.fromPoints(t.start,t.end);var s=i.textToScreenCoordinates(t.start.row,t.start.column),c=i.scroller.getBoundingClientRect();s.pageX<c.left&&(s.pageX=c.left);var l=this.getElement();l.innerHTML=``,l.appendChild(n),l.style.maxHeight=``,l.style.display=`block`,this.$setPosition(e,s,!0,t),a.$fixPositionBug(l)}},t.prototype.$setPosition=function(e,t,n,r){var i=10;n&&this.addMarker(r,e.session);var a=e.renderer,o=this.getElement(),s=o.offsetHeight,c=o.offsetWidth,l=t.pageY,u=t.pageX,d=window.innerHeight-l-a.lineHeight,f=this.$shouldPlaceAbove(s,l,d-i);o.style.maxHeight=(f?l:d)-i+`px`,o.style.top=f?``:l+a.lineHeight+`px`,o.style.bottom=f?window.innerHeight-l+`px`:``,o.style.left=Math.min(u,window.innerWidth-c-i)+`px`},t.prototype.$shouldPlaceAbove=function(e,t,n){return!(t-e<0&&t<n)},t.prototype.addMarker=function(e,t){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=t,this.marker=t&&t.addMarker(e,`ace_highlight-marker`,`text`)},t.prototype.hide=function(e){e&&this.$fromKeyboard&&e.type==`keydown`&&e.code==`Escape`||!e&&document.activeElement==this.getElement()||e&&e.target&&(e.type!=`keydown`||e.ctrlKey||e.metaKey)&&this.$element.contains(e.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$fromKeyboard=!1,this.$removeCloseEvents(),this.getElement().style.display=`none`,this.isOpen=!1,u.removePopup(this)))},t.prototype.$registerCloseEvents=function(){window.addEventListener(`keydown`,this.hide,!0),window.addEventListener(`wheel`,this.hide,!0),window.addEventListener(`mousedown`,this.hide,!0)},t.prototype.$removeCloseEvents=function(){window.removeEventListener(`keydown`,this.hide,!0),window.removeEventListener(`wheel`,this.hide,!0),window.removeEventListener(`mousedown`,this.hide,!0)},t.prototype.onMouseOut=function(e){this.timeout&&=(clearTimeout(this.timeout),null),this.lastEvent=null,this.isOpen&&(!e.relatedTarget||this.getElement().contains(e.relatedTarget)||e&&e.currentTarget.contains(e.relatedTarget)||e.relatedTarget.classList.contains(`ace_content`)||this.hide())},t}(l)}),ace.define(`ace/mouse/default_gutter_handler`,[`require`,`exports`,`module`,`ace/lib/dom`,`ace/mouse/mouse_event`,`ace/tooltip`,`ace/config`,`ace/range`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=this&&this.__values||function(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)},a=e("../lib/dom"),o=e("./mouse_event").MouseEvent,s=e("../tooltip").HoverTooltip,c=e("../config").nls,l=e("../range").Range;function u(e){var t=e.editor,n=t.renderer.$gutterLayer;e.$tooltip=new d(t),e.$tooltip.addToEditor(t),e.$tooltip.setDataProvider(function(t,n){var r=t.getDocumentPosition().row;e.$tooltip.showTooltip(r)}),e.editor.setDefaultHandler(`guttermousedown`,function(r){if(!(!t.isFocused()||r.getButton()!=0)&&n.getRegion(r)!=`foldWidgets`){var i=r.getDocumentPosition().row,a=t.session.selection;if(r.getShiftKey())a.selectTo(i,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(i)}return e.setState(`selectByLines`),e.captureMouse(r),r.preventDefault()}})}t.GutterHandler=u;var d=function(e){r(t,e);function t(n){var r=e.call(this,n.container)||this;r.id=`gt`+ ++t.$uid,r.editor=n,r.visibleTooltipRow;var i=r.getElement();return i.setAttribute(`role`,`tooltip`),i.setAttribute(`id`,r.id),i.style.pointerEvents=`auto`,r.idleTime=50,r.onDomMouseMove=r.onDomMouseMove.bind(r),r.onDomMouseOut=r.onDomMouseOut.bind(r),r.setClassName(`ace_gutter-tooltip`),r}return t.prototype.onDomMouseMove=function(e){var t=new o(e,this.editor);this.onMouseMove(t,this.editor)},t.prototype.onDomMouseOut=function(e){var t=new o(e,this.editor);this.onMouseOut(t)},t.prototype.addToEditor=function(t){var n=t.renderer.$gutter;n.addEventListener(`mousemove`,this.onDomMouseMove),n.addEventListener(`mouseout`,this.onDomMouseOut),e.prototype.addToEditor.call(this,t)},t.prototype.removeFromEditor=function(t){var n=t.renderer.$gutter;n.removeEventListener(`mousemove`,this.onDomMouseMove),n.removeEventListener(`mouseout`,this.onDomMouseOut),e.prototype.removeFromEditor.call(this,t)},t.prototype.destroy=function(){this.editor&&this.removeFromEditor(this.editor),e.prototype.destroy.call(this)},Object.defineProperty(t,"annotationLabels",{get:function(){return{error:{singular:c(`gutter-tooltip.aria-label.error.singular`,`error`),plural:c(`gutter-tooltip.aria-label.error.plural`,`errors`)},security:{singular:c(`gutter-tooltip.aria-label.security.singular`,`security finding`),plural:c(`gutter-tooltip.aria-label.security.plural`,`security findings`)},warning:{singular:c(`gutter-tooltip.aria-label.warning.singular`,`warning`),plural:c(`gutter-tooltip.aria-label.warning.plural`,`warnings`)},info:{singular:c(`gutter-tooltip.aria-label.info.singular`,`information message`),plural:c(`gutter-tooltip.aria-label.info.plural`,`information messages`)},hint:{singular:c(`gutter-tooltip.aria-label.hint.singular`,`suggestion`),plural:c(`gutter-tooltip.aria-label.hint.plural`,`suggestions`)}}},enumerable:!1,configurable:!0}),t.prototype.showTooltip=function(e){var n,r=this.editor.renderer.$gutterLayer,i=r.$annotations[e],o=i?{displayText:Array.from(i.displayText),type:Array.from(i.type)}:{displayText:[],type:[]},s=r.session.getFoldLine(e);if(s&&r.$showFoldedAnnotations){for(var c={error:[],security:[],warning:[],info:[],hint:[]},u={error:1,security:2,warning:3,info:4,hint:5},d,f=e+1;f<=s.end.row;f++)if(r.$annotations[f])for(var p=0;p<r.$annotations[f].text.length;p++){var m=r.$annotations[f].type[p];c[m].push(r.$annotations[f].text[p]),(!d||u[m]<u[d])&&(d=m)}if([`error`,`security`,`warning`].includes(d)){var h=`${t.annotationsToSummaryString(c)} in folded code.`;o.displayText.push(h),o.type.push(d+`_fold`)}}if(o.displayText.length===0)return this.hide();for(var g={error:[],security:[],warning:[],info:[],hint:[]},_=r.$useSvgGutterIcons?`ace_icon_svg`:`ace_icon`,f=0;f<o.displayText.length;f++){var v=a.createElement(`span`),y=a.createElement(`span`);(n=y.classList).add.apply(n,[`ace_${o.type[f]}`,_]),y.setAttribute(`aria-label`,`${t.annotationLabels[o.type[f].replace(`_fold`,``)].singular}`),y.setAttribute(`role`,`img`),y.appendChild(a.createTextNode(` `)),v.appendChild(y),v.appendChild(a.createTextNode(o.displayText[f])),v.appendChild(a.createElement(`br`)),g[o.type[f].replace(`_fold`,``)].push(v)}var b=a.createElement(`span`);g.error.forEach(function(e){return b.appendChild(e)}),g.security.forEach(function(e){return b.appendChild(e)}),g.warning.forEach(function(e){return b.appendChild(e)}),g.info.forEach(function(e){return b.appendChild(e)}),g.hint.forEach(function(e){return b.appendChild(e)}),b.setAttribute(`aria-live`,`polite`);var x=this.$findLinkedAnnotationNode(e);x&&x.setAttribute(`aria-describedby`,this.id);var S=l.fromPoints({row:e,column:0},{row:e,column:0});this.showForRange(this.editor,S,b),this.visibleTooltipRow=e,this.editor._signal(`showGutterTooltip`,this)},t.prototype.$setPosition=function(t,n,r,i){var a=this.$findCellByRow(i.start.row);if(a){var o=a&&a.element,s=o&&o.querySelector(`.ace_gutter_annotation`);if(s){var c=s.getBoundingClientRect();if(c){var l={pageX:c.right,pageY:c.top};return e.prototype.$setPosition.call(this,t,l,!1,i)}}}},t.prototype.$shouldPlaceAbove=function(e,t,n){return n<e},t.prototype.$findLinkedAnnotationNode=function(e){var t=this.$findCellByRow(e);if(t){var n=t.element;if(n.childNodes.length>2)return n.childNodes[2]}},t.prototype.$findCellByRow=function(e){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(t){return t.row===e})},t.prototype.hide=function(t){if(this.isOpen){if(this.$element.removeAttribute(`aria-live`),this.visibleTooltipRow!=null){var n=this.$findLinkedAnnotationNode(this.visibleTooltipRow);n&&n.removeAttribute(`aria-describedby`)}this.visibleTooltipRow=void 0,this.editor._signal(`hideGutterTooltip`,this),e.prototype.hide.call(this,t)}},t.annotationsToSummaryString=function(e){var n,r,a=[],o=[`error`,`security`,`warning`,`info`,`hint`];try{for(var s=i(o),c=s.next();!c.done;c=s.next()){var l=c.value;if(e[l].length){var u=e[l].length===1?t.annotationLabels[l].singular:t.annotationLabels[l].plural;a.push(`${e[l].length} ${u}`)}}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return a.join(`, `)},t.prototype.isOutsideOfText=function(e){var t=e.editor.renderer.$gutter.getBoundingClientRect();return!(e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom)},t}(s);d.$uid=0,t.GutterTooltip=d}),ace.define(`ace/mouse/dragdrop_handler`,[`require`,`exports`,`module`,`ace/lib/dom`,`ace/lib/event`,`ace/lib/useragent`],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/event"),a=e("../lib/useragent"),o=200,s=200,c=5;function l(e){var t=e.editor,n=r.createElement(`div`);n.style.cssText=`top:-100px;position:absolute;z-index:2147483647;opacity:0.5`,n.textContent=`\xA0`,[`dragWait`,`dragWaitEnd`,`startDrag`,`dragReadyEnd`,`onMouseDrag`].forEach(function(t){e[t]=this[t]},this),t.on(`mousedown`,this.onMouseDown.bind(e));var l=t.container,d,f,p,m,h,g,_=0,v,y,b,x,S;this.onDragStart=function(e){if(this.cancelDrag||!l.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}h=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?`copy`:`copyMove`,t.container.appendChild(n),i.setDragImage&&i.setDragImage(n,0,0),setTimeout(function(){t.container.removeChild(n)}),i.clearData(),i.setData(`Text`,t.session.getTextRange()),y=!0,this.setState(`drag`)},this.onDragEnd=function(e){if(l.draggable=!1,y=!1,this.setState(null),!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!v&&n==`move`&&t.session.remove(t.getSelectionRange()),t.$resetCursorStyle()}this.editor.unsetStyle(`ace_dragging`),this.editor.renderer.setCursorStyle(``)},this.onDragEnter=function(e){if(!(t.getReadOnly()||!A(e.dataTransfer)))return f=e.clientX,p=e.clientY,d||E(),_++,e.dataTransfer.dropEffect=v=j(e),i.preventDefault(e)},this.onDragOver=function(e){if(!(t.getReadOnly()||!A(e.dataTransfer)))return f=e.clientX,p=e.clientY,d||(E(),_++),O!==null&&(O=null),e.dataTransfer.dropEffect=v=j(e),i.preventDefault(e)},this.onDragLeave=function(e){if(_--,_<=0&&d)return D(),v=null,i.preventDefault(e)},this.onDrop=function(e){if(g){var n=e.dataTransfer;if(y)switch(v){case`move`:h=h.contains(g.row,g.column)?{start:g,end:g}:t.moveText(h,g);break;case`copy`:h=t.moveText(h,g,!0);break}else{var r=n.getData(`Text`);h={start:g,end:t.session.insert(g,r)},t.focus(),v=null}return D(),i.preventDefault(e)}},i.addListener(l,`dragstart`,this.onDragStart.bind(e),t),i.addListener(l,`dragend`,this.onDragEnd.bind(e),t),i.addListener(l,`dragenter`,this.onDragEnter.bind(e),t),i.addListener(l,`dragover`,this.onDragOver.bind(e),t),i.addListener(l,`dragleave`,this.onDragLeave.bind(e),t),i.addListener(l,`drop`,this.onDrop.bind(e),t);function C(e,n){var r=Date.now(),i=!n||e.row!=n.row,a=!n||e.column!=n.column;!x||i||a?(t.moveCursorToPosition(e),x=r,S={x:f,y:p}):u(S.x,S.y,f,p)>c?x=null:r-x>=s&&(t.renderer.scrollCursorIntoView(),x=null)}function w(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,a=t.renderer.layerConfig.characterWidth,s=t.renderer.scroller.getBoundingClientRect(),c={x:{left:f-s.left,right:s.right-f},y:{top:p-s.top,bottom:s.bottom-p}},l=Math.min(c.x.left,c.x.right),u=Math.min(c.y.top,c.y.bottom),d={row:e.row,column:e.column};l/a<=2&&(d.column+=c.x.left<c.x.right?-3:2),u/i<=1&&(d.row+=c.y.top<c.y.bottom?-1:1);var m=e.row!=d.row,h=e.column!=d.column,g=!n||e.row!=n.row;m||h&&!g?b?r-b>=o&&t.renderer.scrollCursorIntoView(d):b=r:b=null}function T(){var e=g;g=t.renderer.screenToTextCoordinates(f,p),C(g,e),w(g,e)}function E(){h=t.selection.toOrientedRange(),d=t.session.addMarker(h,`ace_selection`,t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(m),T(),m=setInterval(T,20),_=0,i.addListener(document,`mousemove`,k)}function D(){clearInterval(m),t.session.removeMarker(d),d=null,t.selection.fromOrientedRange(h),t.isFocused()&&!y&&t.$resetCursorStyle(),h=null,g=null,_=0,b=null,x=null,i.removeListener(document,`mousemove`,k)}var O=null;function k(){O??=setTimeout(function(){O!=null&&d&&D()},20)}function A(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e==`text/plain`||e==`Text`})}function j(e){var t=[`copy`,`copymove`,`all`,`uninitialized`],n=[`move`,`copymove`,`linkmove`,`all`,`uninitialized`],r=a.isMac?e.altKey:e.ctrlKey,i=`uninitialized`;try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch{}var o=`none`;return r&&t.indexOf(i)>=0?o=`copy`:n.indexOf(i)>=0?o=`move`:t.indexOf(i)>=0&&(o=`copy`),o}}(function(){this.dragWait=function(){Date.now()-this.mousedownEvent.time>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.$resetCursorStyle(),this.editor.unsetStyle(`ace_dragging`),this.editor.renderer.setCursorStyle(``),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle(`ace_dragging`);var n=a.isWin?`default`:`move`;e.renderer.setCursorStyle(n),this.setState(`dragReady`)},this.onMouseDrag=function(e){var t=this.editor.container;if(a.isIE&&this.state==`dragReady`){var n=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state===`dragWait`){var n=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton();if((e.domEvent.detail||1)===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var i=e.domEvent.target||e.domEvent.srcElement;if(`unselectable`in i&&(i.unselectable=`on`),t.getDragDelay()){if(a.isWebKit){this.cancelDrag=!0;var o=t.container;o.draggable=!0}this.setState(`dragWait`)}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(l.prototype);function u(e,t,n,r){return Math.sqrt((n-e)**2+(r-t)**2)}t.DragdropHandler=l}),ace.define(`ace/mouse/touch_handler`,[`require`,`exports`,`module`,`ace/mouse/mouse_event`,`ace/lib/event`,`ace/lib/dom`],function(e,t,n){var r=e("./mouse_event").MouseEvent,i=e("../lib/event"),a=e("../lib/dom");t.addTouchListeners=function(e,t){var n=`scroll`,o,s,c,l,u,d,f=0,p,m=0,h=0,g=0,_,v;function y(){var e=window.navigator&&window.navigator.clipboard,r=!1,i=function(){var n=t.getCopyText(),i=t.session.getUndoManager().hasUndo();v.replaceChild(a.buildDom(r?[`span`,!n&&o(`selectall`)&&[`span`,{class:`ace_mobile-button`,action:`selectall`},`Select All`],n&&o(`copy`)&&[`span`,{class:`ace_mobile-button`,action:`copy`},`Copy`],n&&o(`cut`)&&[`span`,{class:`ace_mobile-button`,action:`cut`},`Cut`],e&&o(`paste`)&&[`span`,{class:`ace_mobile-button`,action:`paste`},`Paste`],i&&o(`undo`)&&[`span`,{class:`ace_mobile-button`,action:`undo`},`Undo`],o(`find`)&&[`span`,{class:`ace_mobile-button`,action:`find`},`Find`],o(`openCommandPalette`)&&[`span`,{class:`ace_mobile-button`,action:`openCommandPalette`},`Palette`]]:[`span`]),v.firstChild)},o=function(e){return t.commands.canExecute(e,t)},s=function(n){var a=n.target.getAttribute(`action`);if(a==`more`||!r)return r=!r,i();a==`paste`?e.readText().then(function(e){t.execCommand(a,e)}):a&&((a==`cut`||a==`copy`)&&(e?e.writeText(t.getCopyText()):document.execCommand(`copy`)),t.execCommand(a)),v.firstChild.style.display=`none`,r=!1,a!=`openCommandPalette`&&t.focus()};v=a.buildDom([`div`,{class:`ace_mobile-menu`,onclick:s},[`span`],[`span`,{class:`ace_mobile-button`,action:`more`},`...`]],t.container),v.addEventListener(`touchstart`,function(e){n=`menu`,e.stopPropagation(),e.preventDefault(),t.textInput.focus()}),v.addEventListener(`touchend`,function(e){e.stopPropagation(),e.preventDefault(),s(e)})}function b(){if(!t.getOption(`enableMobileMenu`)){v&&x();return}v||y();var e=t.selection.cursor,n=t.renderer.textToScreenCoordinates(e.row,e.column),r=t.renderer.textToScreenCoordinates(0,0).pageX,i=t.renderer.scrollLeft,a=t.container.getBoundingClientRect();v.style.top=n.pageY-a.top-3+`px`,n.pageX-a.left<a.width-70?(v.style.left=``,v.style.right=`10px`):(v.style.right=``,v.style.left=r+i-a.left+`px`),v.style.display=``,v.firstChild.style.display=`none`,t.on(`input`,x)}function x(e){v&&(v.style.display=`none`),t.off(`input`,x)}function S(){u=null,clearTimeout(u);var e=t.selection.getRange(),r=e.contains(p.row,p.column);(e.isEmpty()||!r)&&(t.selection.moveToPosition(p),t.selection.selectWord()),n=`wait`,b()}function C(){u=null,clearTimeout(u),t.selection.moveToPosition(p);var e=m>=2?t.selection.getLineRange(p.row):t.session.getBracketRange(p);e&&!e.isEmpty()?t.selection.setRange(e):t.selection.selectWord(),n=`wait`}i.addListener(e,`contextmenu`,function(e){_&&t.textInput.getElement().focus()},t),i.addListener(e,`touchstart`,function(e){var i=e.touches;if(u||i.length>1){clearTimeout(u),u=null,c=-1,n=`zoom`;return}_=t.$mouseHandler.isMousePressed=!0;var a=t.renderer.layerConfig.lineHeight,d=t.renderer.layerConfig.lineHeight,v=e.timeStamp;l=v;var y=i[0],b=y.clientX,x=y.clientY;if(Math.abs(o-b)+Math.abs(s-x)>a&&(c=-1),o=e.clientX=b,s=e.clientY=x,h=g=0,p=new r(e,t).getDocumentPosition(),v-c<500&&i.length==1&&!f)m++,e.preventDefault(),e.button=0,C();else{m=0;var w=t.selection.cursor,T=t.selection.isEmpty()?w:t.selection.anchor,E=t.renderer.$cursorLayer.getPixelPosition(w,!0),D=t.renderer.$cursorLayer.getPixelPosition(T,!0),O=t.renderer.scroller.getBoundingClientRect(),k=t.renderer.layerConfig.offset,A=t.renderer.scrollLeft,j=function(e,t){return e/=d,t=t/a-.75,e*e+t*t};if(e.clientX<O.left){n=`zoom`;return}var M=j(e.clientX-O.left-E.left+A,e.clientY-O.top-E.top+k),N=j(e.clientX-O.left-D.left+A,e.clientY-O.top-D.top+k);M<3.5&&N<3.5&&(n=M>N?`cursor`:`anchor`),n=N<3.5?`anchor`:M<3.5?`cursor`:`scroll`,u=setTimeout(S,450)}c=v},t),i.addListener(e,`touchend`,function(e){_=t.$mouseHandler.isMousePressed=!1,d&&clearInterval(d),n==`zoom`?(n=``,f=0):u?(t.selection.moveToPosition(p),f=0,b()):n==`scroll`?(w(),x()):b(),clearTimeout(u),u=null},t),i.addListener(e,`touchmove`,function(e){u&&=(clearTimeout(u),null);var i=e.touches;if(!(i.length>1||n==`zoom`)){var a=i[0],c=o-a.clientX,d=s-a.clientY;if(n==`wait`)if(c*c+d*d>4)n=`cursor`;else return e.preventDefault();o=a.clientX,s=a.clientY,e.clientX=a.clientX,e.clientY=a.clientY;var f=e.timeStamp,p=f-l;if(l=f,n==`scroll`){var m=new r(e,t);m.speed=1,m.wheelX=c,m.wheelY=d,10*Math.abs(c)<Math.abs(d)&&(c=0),10*Math.abs(d)<Math.abs(c)&&(d=0),p!=0&&(h=c/p,g=d/p),t._emit(`mousewheel`,m),m.propagationStopped||(h=g=0)}else{var _=new r(e,t).getDocumentPosition();n==`cursor`?t.selection.moveCursorToPosition(_):n==`anchor`&&t.selection.setSelectionAnchor(_.row,_.column),t.renderer.scrollCursorIntoView(_),e.preventDefault()}}},t);function w(){f+=60,d=setInterval(function(){f--<=0&&(clearInterval(d),d=null),Math.abs(h)<.01&&(h=0),Math.abs(g)<.01&&(g=0),f<20&&(h=.9*h),f<20&&(g=.9*g);var e=t.session.getScrollTop();t.renderer.scrollBy(10*h,10*g),e==t.session.getScrollTop()&&(f=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(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent"),a=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,s=e("./mouse_event").MouseEvent,c=e("./dragdrop_handler").DragdropHandler,l=e("./touch_handler").addTouchListeners,u=e("../config"),d=function(){function e(e){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var t=this;this.editor=e,new a(this),new o(this),new c(this);var n=function(t){(!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement()))&&window.focus(),e.focus(),setTimeout(function(){e.isFocused()||e.focus()})},s=e.renderer.getMouseEventTarget();r.addListener(s,`click`,this.onMouseEvent.bind(this,`click`),e),r.addListener(s,`mousemove`,this.onMouseMove.bind(this,`mousemove`),e),r.addMultiMouseDownListener([s,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,`onMouseEvent`,e),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,`mousewheel`),e),l(e.container,e);var u=e.renderer.$gutter;r.addListener(u,`mousedown`,this.onMouseEvent.bind(this,`guttermousedown`),e),r.addListener(u,`click`,this.onMouseEvent.bind(this,`gutterclick`),e),r.addListener(u,`dblclick`,this.onMouseEvent.bind(this,`gutterdblclick`),e),r.addListener(u,`mousemove`,this.onMouseEvent.bind(this,`guttermousemove`),e),r.addListener(s,`mousedown`,n,e),r.addListener(u,`mousedown`,n,e),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,`mousedown`,n,e),r.addListener(e.renderer.scrollBarH.element,`mousedown`,n,e)),e.on(`mousemove`,function(n){if(!(t.state||t.$dragDelay||!t.$dragEnabled)){var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),a=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?a.setCursorStyle(`default`):a.setCursorStyle(``)}},e)}return e.prototype.onMouseEvent=function(e,t){this.editor.session&&this.editor._emit(e,new s(t,this.editor))},e.prototype.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!n||!n.length||this.editor._emit(e,new s(t,this.editor))},e.prototype.onMouseWheel=function(e,t){var n=new s(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},e.prototype.setState=function(e){this.state=e},e.prototype.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor,a=this.editor.renderer;a.$isMousePressed=!0;var o=this,c=!0,l=function(e){if(e){if(i.isWebKit&&!e.which&&o.releaseMouse)return o.releaseMouse();o.x=e.clientX,o.y=e.clientY,t&&t(e),o.mouseEvent=new s(e,o.editor),o.$mouseMoved=!0}},u=function(e){n.off(`beforeEndOperation`,p),c=!1,n.session&&d(),o[o.state+`End`]&&o[o.state+`End`](e),o.state=``,o.isMousePressed=a.$isMousePressed=!1,a.$keepTextAreaAtCursor&&a.$moveTextAreaToCursor(),o.$onCaptureMouseMove=o.releaseMouse=null,e&&o.onMouseEvent(`mouseup`,e),n.endOperation()},d=function(){o[o.state]&&o[o.state](),o.$mouseMoved=!1},f=function(){c&&(d(),r.nextFrame(f))};if(i.isOldIE&&e.domEvent.type==`dblclick`)return setTimeout(function(){u(e)});var p=function(e){o.releaseMouse&&n.curOp.command.name&&n.curOp.selectionChanged&&(o[o.state+`End`]&&o[o.state+`End`](),o.state=``,o.releaseMouse())};n.on(`beforeEndOperation`,p),n.startOperation({command:{name:`mouse`}}),o.$onCaptureMouseMove=l,o.releaseMouse=r.capture(this.editor.container,l,u),f()},e.prototype.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&t.domEvent.type!=`contextmenu`||(this.editor.off(`nativecontextmenu`,e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on(`nativecontextmenu`,e)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse(),this.$tooltip&&this.$tooltip.destroy()},e}();d.prototype.releaseMouse=null,u.defineOptions(d.prototype,`mouseHandler`,{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0}}),t.MouseHandler=d}),ace.define(`ace/mouse/fold_handler`,[`require`,`exports`,`module`,`ace/lib/dom`],function(e,t,n){var r=e("../lib/dom");t.FoldHandler=function(){function e(e){e.on(`click`,function(t){var n=t.getDocumentPosition(),i=e.session,a=i.getFoldAt(n.row,n.column,1);a&&(t.getAccelKey()?i.removeFold(a):i.expandFold(a),t.stop());var o=t.domEvent&&t.domEvent.target;o&&r.hasCssClass(o,`ace_inline_button`)&&r.hasCssClass(o,`ace_toggle_wrap`)&&(i.setOption(`wrap`,!i.getUseWrapMode()),e.renderer.scrollCursorIntoView())}),e.on(`gutterclick`,function(t){if(e.renderer.$gutterLayer.getRegion(t)==`foldWidgets`){var n=t.getDocumentPosition().row,r=e.session;r.foldWidgets&&r.foldWidgets[n]&&e.session.onFoldWidgetClick(n,t),e.isFocused()||e.focus(),t.stop()}}),e.on(`gutterdblclick`,function(t){if(e.renderer.$gutterLayer.getRegion(t)==`foldWidgets`){var n=t.getDocumentPosition().row,r=e.session,i=r.getParentFoldRangeData(n,!0),a=i.range||i.firstRange;if(a){n=a.start.row;var o=r.getFoldAt(n,r.getLine(n).length,1);o?r.removeFold(o):(r.addFold(`...`,a),e.renderer.scrollCursorIntoView({row:a.start.row,column:0}))}t.stop()}})}return e}()}),ace.define(`ace/keyboard/keybinding`,[`require`,`exports`,`module`,`ace/lib/keys`,`ace/lib/event`],function(e,t,n){var r=e("../lib/keys"),i=e("../lib/event");t.KeyBinding=function(){function e(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)}return e.prototype.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},e.prototype.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},e.prototype.addKeyboardHandler=function(e,t){if(e){typeof e==`function`&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==null?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)}},e.prototype.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},e.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},e.prototype.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||``}).filter(Boolean).join(` `)},e.prototype.$callKeyboardHandlers=function(e,t,n,r){for(var a,o=!1,s=this.$editor.commands,c=this.$handlers.length;c--&&(a=this.$handlers[c].handleKeyboard(this.$data,e,t,n,r),!(!(!a||!a.command)&&(o=a.command==`null`?!0:s.exec(a.command,this.$editor,a.args,r),o&&r&&e!=-1&&a.passEvent!=1&&a.command.passEvent!=1&&i.stopEvent(r),o))););return!o&&e==-1&&(a={command:`insertstring`},o=s.exec(`insertstring`,this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal(`keyboardActivity`,a),o},e.prototype.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);return this.$callKeyboardHandlers(t,i,n,e)},e.prototype.onTextInput=function(e){return this.$callKeyboardHandlers(-1,e)},e}()}),ace.define(`ace/lib/bidiutil`,[`require`,`exports`,`module`],function(e,t,n){var r=0,i=0,a=!1,o=!1,s=!1,c=[[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]],l=[[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]],u=0,d=1,f=0,p=1,m=2,h=3,g=4,_=5,v=6,y=7,b=8,x=9,S=10,C=11,w=12,T=13,E=14,D=15,O=16,k=17,A=18,j=[A,A,A,A,A,A,A,A,A,v,_,v,b,_,A,A,A,A,A,A,A,A,A,A,A,A,A,A,_,_,_,v,b,g,g,C,C,C,g,g,g,g,g,S,x,S,x,x,m,m,m,m,m,m,m,m,m,m,x,g,g,g,g,g,g,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,g,g,g,g,g,g,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,g,g,g,g,A,A,A,A,A,A,_,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,x,g,C,C,C,C,g,g,g,g,f,g,g,A,g,g,C,C,m,m,g,f,g,g,g,m,f,g,g,g,g,g],M=[b,b,b,b,b,b,b,b,b,b,b,A,A,A,f,p,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,b,_,T,E,D,O,k,x,C,C,C,C,C,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,x,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,g,b];function N(e,t,n,u){var d=r?l:c,f=null,p=null,m=null,h=0,g=null,y=null,x=-1,S=null,C=null,w=[];if(!u)for(S=0,u=[];S<n;S++)u[S]=I(e[S]);for(i=r,a=!1,o=!1,s=!1,C=0;C<n;C++){if(f=h,w[C]=p=F(e,u,w,C),h=d[f][p],g=h&240,h&=15,t[C]=m=d[h][5],g>0)if(g==16){for(S=x;S<C;S++)t[S]=1;x=-1}else x=-1;if(y=d[h][6],y)x==-1&&(x=C);else if(x>-1){for(S=x;S<C;S++)t[S]=m;x=-1}u[C]==_&&(t[C]=0),i|=m}if(s){for(S=0;S<n;S++)if(u[S]==v){t[S]=r;for(var T=S-1;T>=0&&u[T]==b;T--)t[T]=r}}}function P(e,t,n){if(!(i<e)){if(e==1&&r==d&&!o){n.reverse();return}for(var a=n.length,s=0,c,l,u,f;s<a;){if(t[s]>=e){for(c=s+1;c<a&&t[c]>=e;)c++;for(l=s,u=c-1;l<u;l++,u--)f=n[l],n[l]=n[u],n[u]=f;s=c}s++}}}function F(e,t,n,i){var c=t[i],l,u,d,j;switch(c){case f:case p:a=!1;case g:case h:return c;case m:return a?h:m;case y:return a=!0,p;case b:return g;case x:return i<1||i+1>=t.length||(l=n[i-1])!=m&&l!=h||(u=t[i+1])!=m&&u!=h?g:(a&&(u=h),u==l?u:g);case S:return l=i>0?n[i-1]:_,l==m&&i+1<t.length&&t[i+1]==m?m:g;case C:if(i>0&&n[i-1]==m)return m;if(a)return g;for(j=i+1,d=t.length;j<d&&t[j]==C;)j++;return j<d&&t[j]==m?m:g;case w:for(d=t.length,j=i+1;j<d&&t[j]==w;)j++;if(j<d){var M=e[i],N=M>=1425&&M<=2303||M==64286;if(l=t[j],N&&(l==p||l==y))return p}return i<1||(l=t[i-1])==_?g:n[i-1];case _:return a=!1,o=!0,r;case v:return s=!0,g;case T:case E:case O:case k:case D:a=!1;case A:return g}}function I(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?f:j[t]:n==5?/[\u0591-\u05f4]/.test(e)?p:f:n==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(e)?w:/[\u0660-\u0669\u066b-\u066c]/.test(e)?h:t==1642?C:/[\u06f0-\u06f9]/.test(e)?m:y:n==32&&t<=8287?M[t&255]:n==254&&t>=65136?y:g}t.L=f,t.R=p,t.EN=m,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.RLE=7,t.DOT=`·`,t.doBidiReorder=function(e,n,i){if(e.length<2)return{};var a=e.split(``),o=Array(a.length),s=Array(a.length),c=[];r=i?d:u,N(a,c,a.length,n);for(var l=0;l<o.length;o[l]=l,l++);P(2,c,o),P(1,c,o);for(var l=0;l<o.length-1;l++)n[l]===h?c[l]=t.AN:c[l]===p&&(n[l]>y&&n[l]<T||n[l]===g||n[l]===A)?c[l]=t.ON_R:l>0&&a[l-1]===`ل`&&/\u0622|\u0623|\u0625|\u0627/.test(a[l])&&(c[l-1]=c[l]=t.R_H,l++);a[a.length-1]===t.DOT&&(c[a.length-1]=t.B),a[0]===`‫`&&(c[0]=t.RLE);for(var l=0;l<o.length;l++)s[l]=c[o[l]];return{logicalFromVisual:o,bidiLevels:s}},t.hasBidiCharacters=function(e,t){for(var n=!1,r=0;r<e.length;r++)t[r]=I(e.charAt(r)),!n&&(t[r]==p||t[r]==y||t[r]==h)&&(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),ace.define(`ace/bidihandler`,[`require`,`exports`,`module`,`ace/lib/bidiutil`,`ace/lib/lang`],function(e,t,n){var r=e("./lib/bidiutil"),i=e("./lib/lang"),a=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/;t.BidiHandler=function(){function e(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,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=a.test(e.getValue())}return e.prototype.isBidiRow=function(e,t,n){return this.seenBidi?(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},e.prototype.onChange=function(e){this.seenBidi?this.currentRow=null:e.action==`insert`&&a.test(e.lines.join(`
173
+ `))&&(this.seenBidi=!0,this.currentRow=null)},e.prototype.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},e.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,r=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1),n===r);)r=n,e++;else e=this.currentRow;return e},e.prototype.updateRowLine=function(e,t){e===void 0&&(e=this.getDocumentRow());var n=e===this.session.getLength()-1?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var a=this.session.$wrapData[e];a&&(t===void 0&&(t=this.getSplitIndex()),t>0&&a.length?(this.wrapIndent=a.indent,this.wrapOffset=this.wrapIndent*this.charWidths[r.L],this.line=t<a.length?this.line.substring(a[t-1],a[t]):this.line.substring(a[a.length-1])):this.line=this.line.substring(0,a[t]),t==a.length&&(this.line+=this.showInvisibles?n:r.DOT))}else this.line+=this.showInvisibles?n:r.DOT;var o=this.session,s=0,c;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(e,t){return e===` `||o.isFullWidth(e.charCodeAt(0))?(c=e===` `?o.getScreenTabSize(t+s):2,s+=c-1,i.stringRepeat(r.DOT,c)):e}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==r.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},e.prototype.updateBidiMap=function(){var e=[];r.hasBidiCharacters(this.line,e)||this.isRtlDir?this.bidiMap=r.doBidiReorder(this.line,e,this.isRtlDir):this.bidiMap={}},e.prototype.markAsDirty=function(){this.currentRow=null},e.prototype.updateCharacterWidths=function(e){if(this.characterWidth!==e.$characterSize.width){this.fontMetrics=e;var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth(`ה`);this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=n*.45,this.charWidths[r.B]=this.charWidths[r.RLE]=0,this.currentRow=null}},e.prototype.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},e.prototype.setEolChar=function(e){this.EOL=e},e.prototype.setContentWidth=function(e){this.contentWidth=e},e.prototype.isRtlLine=function(e){return this.$isRtl?!0:e==null?this.isRtlDir:this.session.getLine(e).charAt(0)==this.RLE},e.prototype.setRtlDirection=function(e,t){for(var n=e.getCursorPosition(),r=e.selection.getSelectionAnchor().row;r<=n.row;r++)!t&&e.session.getLine(r).charAt(0)===e.session.$bidiHandler.RLE?e.session.doc.removeInLine(r,0,1):t&&e.session.getLine(r).charAt(0)!==e.session.$bidiHandler.RLE&&e.session.doc.insert({column:0,row:r},e.session.$bidiHandler.RLE)},e.prototype.getPosLeft=function(e){e-=this.wrapIndent;var t=+(this.line.charAt(0)===this.RLE),n=e>t?this.session.getOverwrite()?e:e-1:t,i=r.getVisualFromLogicalIdx(n,this.bidiMap),a=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&e<=t&&a[i]%2!=0&&i++;for(var s=0;s<i;s++)o+=this.charWidths[a[s]];return!this.session.getOverwrite()&&e>t&&a[i]%2==0&&(o+=this.charWidths[a[i]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},e.prototype.getSelections=function(e,t){var n=this.bidiMap,r=n.bidiLevels,i,a=[],o=0,s=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,l=!1,u=!1,d=0;this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var f,p=0;p<r.length;p++)f=n.logicalFromVisual[p],i=r[p],l=f>=s&&f<c,l&&!u?d=o:!l&&u&&a.push({left:d,width:o-d}),o+=this.charWidths[i],u=l;if(l&&p===r.length&&a.push({left:d,width:o-d}),this.isRtlDir)for(var m=0;m<a.length;m++)a[m].left+=this.rtlLineOffset;return a},e.prototype.offsetToCol=function(e){this.isRtlDir&&(e-=this.rtlLineOffset);var t=0,e=Math.max(e,0),n=0,r=0,i=this.bidiMap.bidiLevels,a=this.charWidths[i[r]];for(this.wrapIndent&&(e-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);e>n+a/2;){if(n+=a,r===i.length-1){a=0;break}a=this.charWidths[i[++r]]}return r>0&&i[r-1]%2!=0&&i[r]%2==0?(e<n&&r--,t=this.bidiMap.logicalFromVisual[r]):r>0&&i[r-1]%2==0&&i[r]%2!=0?t=1+(e>n?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===i.length-1&&a===0&&i[r-1]%2==0||!this.isRtlDir&&r===0&&i[r]%2!=0?t=1+this.bidiMap.logicalFromVisual[r]:(r>0&&i[r-1]%2!=0&&a!==0&&r--,t=this.bidiMap.logicalFromVisual[r]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent},e}()}),ace.define(`ace/selection`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/lib/lang`,`ace/lib/event_emitter`,`ace/range`],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/lang"),a=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,s=function(){function e(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var t=this;this.cursor.on(`change`,function(e){t.$cursorChanged=!0,t.$silent||t._emit(`changeCursor`),!t.$isEmpty&&!t.$silent&&t._emit(`changeSelection`),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.anchor.on(`change`,function(){t.$anchorChanged=!0,!t.$isEmpty&&!t.$silent&&t._emit(`changeSelection`)})}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(e,t){this.$isEmpty=!1,this.anchor.setPosition(e,t)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},e.prototype.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit(`changeSelection`))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(e,t){var n=t?e.end:e.start,r=t?e.start:e.end;this.$setSelection(n.row,n.column,r.row,r.column)},e.prototype.$setSelection=function(e,t,n,r){if(!this.$silent){var i=this.$isEmpty,a=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(n,r),this.$isEmpty=!o.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit(`changeCursor`),(this.$cursorChanged||this.$anchorChanged||i!=this.$isEmpty||a)&&this._emit(`changeSelection`)}},e.prototype.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},e.prototype.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},e.prototype.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},e.prototype.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},e.prototype.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(e,t){if(t===void 0){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},e.prototype.getLineRange=function(e,t){var n=typeof e==`number`?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,i=e.column+t;return n<0&&(r=e.column-t,i=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,i).split(` `).length-1==t},e.prototype.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.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 n=this.session.getTabSize(),e=this.lead;this.wouldMoveIntoSoftTab(e,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},e.prototype.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column).match(/^\s*/);i[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=i[0].length),this.moveCursorToPosition(r)},e.prototype.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(e,t,1);if(i){this.moveCursorTo(i.end.row,i.end.column);return}if(this.session.nonTokenRe.exec(r)&&(t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t)),t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(r)&&(t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},e.prototype.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r??=this.doc.getLine(e).substring(0,t);var a=i.stringReverse(r);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(a)&&(t-=this.session.nonTokenRe.lastIndex,a=a.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(a)&&(t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,t)},e.prototype.$shortWordEndIndex=function(e){var t=0,n,r=/\s/,i=this.session.tokenRe;if(i.lastIndex=0,this.session.tokenRe.exec(e))t=this.session.tokenRe.lastIndex;else{for(;(n=e[t])&&r.test(n);)t++;if(t<1){for(i.lastIndex=0;(n=e[t])&&!i.test(n);)if(i.lastIndex=0,t++,r.test(n))if(t>2){t--;break}else{for(;(n=e[t])&&r.test(n);)t++;if(t>2)break}}}return i.lastIndex=0,t},e.prototype.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var a=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<a&&/^\s*$/.test(r));/^\s+/.test(r)||(r=``),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},e.prototype.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r=``)}var a=i.stringReverse(r),o=this.$shortWordEndIndex(a);return this.moveCursorTo(e,t-o)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;if(t===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column),e!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var i=this.session.lineWidgets[this.lead.row];e<0?e-=i.rowsAbove||0:e>0&&(e+=i.rowCount-(i.rowsAbove||0))}var a=this.session.screenToDocumentPosition(n.row+e,n.column,r);e!==0&&t===0&&a.row===this.lead.row&&(a.column,this.lead.column),this.moveCursorTo(a.row,a.column+t,t===0)},e.prototype.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},e.prototype.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var i=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(i.charAt(t))&&i.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?--t:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},e.prototype.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch{return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},e.prototype.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},e.prototype.fromJSON=function(e){if(e.start==null)if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}else e=e[0];this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},e.prototype.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0},e}();s.prototype.setSelectionAnchor=s.prototype.setAnchor,s.prototype.getSelectionAnchor=s.prototype.getAnchor,s.prototype.setSelectionRange=s.prototype.setRange,r.implement(s.prototype,a),t.Selection=s}),ace.define(`ace/tokenizer`,[`require`,`exports`,`module`,`ace/lib/report_error`],function(e,t,n){var r=e("./lib/report_error").reportError,i=2e3,a=function(){function e(e){for(var t in this.splitRegex,this.states=e,this.regExps={},this.matchMappings={},this.states){for(var n=this.states[t],r=[],i=0,a=this.matchMappings[t]={defaultToken:`text`},o=`g`,s=[],c=0;c<n.length;c++){var l=n[c];if(l.defaultToken&&(a.defaultToken=l.defaultToken),l.caseInsensitive&&o.indexOf(`i`)===-1&&(o+=`i`),l.unicode&&o.indexOf(`u`)===-1&&(o+=`u`),l.regex!=null){l.regex instanceof RegExp&&(l.regex=l.regex.toString().slice(1,-1));var u=l.regex,d=RegExp(`(?:(`+u+`)|(.))`).exec(`a`).length-2;Array.isArray(l.token)?l.token.length==1||d==1?l.token=l.token[0]:d-1==l.token.length?(l.tokenArray=l.token,l.token=null,l.onMatch=this.$arrayTokens):(this.reportError(`number of classes and regexp groups doesn't match`,{rule:l,groupCount:d-1}),l.token=l.token[0]):typeof l.token==`function`&&!l.onMatch&&(d>1?l.onMatch=this.$applyToken:l.onMatch=l.token),d>1&&(/\\\d/.test(l.regex)?u=l.regex.replace(/\\([0-9]+)/g,function(e,t){return`\\`+(parseInt(t,10)+i+1)}):(d=1,u=this.removeCapturingGroups(l.regex)),!l.splitRegex&&typeof l.token!=`string`&&s.push(l)),a[i]=c,i+=d,r.push(u),l.onMatch||=null}}r.length||(a[0]=0,r.push(`$`)),s.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=RegExp(`(`+r.join(`)|(`)+`)|($)`,o)}}return e.prototype.$setMaxTokenCount=function(e){i=e|0},e.prototype.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n==`string`)return[{type:n,value:e}];for(var r=[],i=0,a=n.length;i<a;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},e.prototype.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return`text`;for(var n=[],r=this.tokenArray,i=0,a=r.length;i<a;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},e.prototype.removeCapturingGroups=function(e){return e.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(e,t){return t?`(?:`:e})},e.prototype.createSplitterRegexp=function(e,t){if(e.indexOf(`(?=`)!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,a,o,s,c){return r?r=s!=`]`:s?r=!0:o?(n==i.stack&&(i.end=c+1,i.stack=-1),n--):a&&(n++,a.length!=1&&(i.stack=n,i.start=c)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return e.charAt(0)!=`^`&&(e=`^`+e),e.charAt(e.length-1)!=`$`&&(e+=`$`),new RegExp(e,(t||``).replace(`g`,``))},e.prototype.getLineTokens=function(e,t){if(t&&typeof t!=`string`){var n=t.slice(0);t=n[0],t===`#tmp`&&(n.shift(),t=n.shift())}else var n=[];var r=t||`start`,a=this.states[r];a||=(r=`start`,this.states[r]);var o=this.matchMappings[r],s=this.regExps[r];s.lastIndex=0;for(var c,l=[],u=0,d=0,f={type:null,value:``};c=s.exec(e);){var p=o.defaultToken,m=null,h=c[0],g=s.lastIndex;if(g-h.length>u){var _=e.substring(u,g-h.length);f.type==p?f.value+=_:(f.type&&l.push(f),f={type:p,value:_})}for(var v=0;v<c.length-2;v++)if(c[v+1]!==void 0){m=a[o[v]],p=m.onMatch?m.onMatch(h,r,n,e):m.token,m.next&&(r=typeof m.next==`string`?m.next:m.next(r,n),a=this.states[r],a||=(this.reportError(`state doesn't exist`,r),r=`start`,this.states[r]),o=this.matchMappings[r],u=g,s=this.regExps[r],s.lastIndex=g),m.consumeLineEnd&&(u=g);break}if(h){if(typeof p==`string`)(!m||m.merge!==!1)&&f.type===p?f.value+=h:(f.type&&l.push(f),f={type:p,value:h});else if(p){f.type&&l.push(f),f={type:null,value:``};for(var v=0;v<p.length;v++)l.push(p[v])}}if(u==e.length)break;if(u=g,d++>i){for(d>2*e.length&&this.reportError(`infinite loop with in ace tokenizer`,{startState:t,line:e});u<e.length;)f.type&&l.push(f),f={value:e.substring(u,u+=500),type:`overflow`};r=`start`,n=[];break}}return f.type&&l.push(f),n.length>1&&n[0]!==r&&n.unshift(`#tmp`,r),{tokens:l,state:n.length?n:r}},e}();a.prototype.reportError=r,t.Tokenizer=a}),ace.define(`ace/mode/text_highlight_rules`,[`require`,`exports`,`module`,`ace/lib/deep_copy`],function(e,t,n){var r=e("../lib/deep_copy").deepCopy,i=function(){this.$rules={start:[{token:`empty_line`,regex:`^$`},{defaultToken:`text`}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){for(var r=e[n],i=0;i<r.length;i++){var a=r[i];(a.next||a.onMatch)&&(typeof a.next==`string`&&a.next.indexOf(t)!==0&&(a.next=t+a.next),a.nextState&&a.nextState.indexOf(t)!==0&&(a.nextState=t+a.nextState))}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,a){var o=typeof e==`function`?new e().getRules():e;if(i)for(var s=0;s<i.length;s++)i[s]=t+i[s];else for(var c in i=[],o)i.push(t+c);if(this.addRules(o,t),n)for(var l=Array.prototype[a?`push`:`unshift`],s=0;s<i.length;s++)l.apply(this.$rules[i[s]],r(n));this.$embeds||=[],this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!=`start`||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||`start`};this.normalizeRules=function(){var n=0,r=this.$rules;function i(a){var o=r[a];o.processed=!0;for(var s=0;s<o.length;s++){var c=o[s],l=null;Array.isArray(c)&&(l=c,c={}),!c.regex&&c.start&&(c.regex=c.start,c.next||=[],c.next.push({defaultToken:c.token},{token:c.token+`.end`,regex:c.end||c.start,next:`pop`}),c.token+=`.start`,c.push=!0);var u=c.next||c.push;if(u&&Array.isArray(u)){var d=c.stateName;d||(d=c.token,typeof d!=`string`&&(d=d[0]||``),r[d]&&(d+=n++)),r[d]=u,c.next=d,i(d)}else u==`pop`&&(c.next=t);if(c.push&&(c.nextState=c.next||c.push,c.next=e,delete c.push),c.rules)for(var f in c.rules)r[f]?r[f].push&&r[f].push.apply(r[f],c.rules[f]):r[f]=c.rules[f];var p=typeof c==`string`?c:c.include;if(p&&(p===`$self`&&(p=`start`),l=Array.isArray(p)?p.map(function(e){return r[e]}):r[p]),l){var m=[s,1].concat(l);c.noEscape&&(m=m.filter(function(e){return!e.next})),o.splice.apply(o,m),s--}c.keywordMap&&(c.token=this.createKeywordMapper(c.keywordMap,c.defaultToken||`text`,c.caseInsensitive),delete c.defaultToken)}}Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return this.$keywordList=[],Object.keys(e).forEach(function(t){for(var a=e[t].split(r||`|`),o=a.length;o--;){var s=a[o];this.$keywordList.push(s),n&&(s=s.toLowerCase()),i[s]=t}},this),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),ace.define(`ace/mode/behaviour`,[`require`,`exports`,`module`],function(e,t,n){var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e==`function`)var n=new e().getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}else return this.$behaviours}}).call(r.prototype),t.Behaviour=r}),ace.define(`ace/token_iterator`,[`require`,`exports`,`module`,`ace/range`],function(e,t,n){var r=e("./range").Range;t.TokenIterator=function(){function e(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1}return e.prototype.stepBackward=function(){for(--this.$tokenIndex;this.$tokenIndex<0;){if(--this.$row,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]},e.prototype.stepForward=function(){this.$tokenIndex+=1;for(var e;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||=this.$session.getLength(),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},e.prototype.getCurrentTokenRow=function(){return this.$row},e.prototype.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==void 0)return n;for(n=0;t>0;)--t,n+=e[t].value.length;return n},e.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},e.prototype.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)},e}()}),ace.define(`ace/mode/behaviour/cstyle`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/mode/behaviour`,`ace/token_iterator`,`ace/lib/lang`],function(e,t,n){var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,a=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),s=[`text`,`paren.rparen`,`rparen`,`paren`,`punctuation.operator`],c=[`text`,`paren.rparen`,`rparen`,`paren`,`punctuation.operator`,`comment`],l,u={},d={'"':`"`,"'":`'`},f=function(e){var t=-1;if(e.multiSelect&&(t=e.selection.index,u.rangeCount!=e.multiSelect.rangeCount&&(u={rangeCount:e.multiSelect.rangeCount})),u[t])return l=u[t];l=u[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:``,maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:``,maybeInsertedLineEnd:``}},p=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+ +!i]}},m=function(e){e||={},this.add(`braces`,`insertion`,function(t,n,r,i,a){var s=r.getCursorPosition(),c=i.doc.getLine(s.row);if(a==`{`){f(r);var u=r.getSelectionRange(),d=i.doc.getTextRange(u),h=i.getTokenAt(s.row,s.column);if(d!==``&&d!==`{`&&r.getWrapBehavioursEnabled())return p(u,d,`{`,`}`);if(h&&/(?:string)\.quasi|\.xml/.test(h.type))return[/tag\-(?:open|name)/,/attribute\-name/].some(function(e){return e.test(h.type)})||/(string)\.quasi/.test(h.type)&&h.value[s.column-h.start-1]!==`$`?void 0:(m.recordAutoInsert(r,i,`}`),{text:`{}`,selection:[1,1]});if(m.isSaneInsertion(r,i))return/[\]\}\)]/.test(c[s.column])||r.inMultiSelectMode||e.braces?(m.recordAutoInsert(r,i,`}`),{text:`{}`,selection:[1,1]}):(m.recordMaybeInsert(r,i,`{`),{text:`{`,selection:[1,1]})}else if(a==`}`){f(r);var g=c.substring(s.column,s.column+1);if(g==`}`&&i.$findOpeningBracket(`}`,{column:s.column+1,row:s.row})!==null&&m.isAutoInsertedClosing(s,c,a))return m.popAutoInsertedClosing(),{text:``,selection:[1,1]}}else if(a==`
174
+ `||a==`\r
175
+ `){f(r);var _=``;m.isMaybeInsertedClosing(s,c)&&(_=o.stringRepeat(`}`,l.maybeInsertedBrackets),m.clearMaybeInsertedClosing());var g=c.substring(s.column,s.column+1);if(g===`}`){var v=i.findMatchingBracket({row:s.row,column:s.column+1},`}`);if(!v)return null;var y=this.$getIndent(i.getLine(v.row))}else if(_)var y=this.$getIndent(c);else{m.clearMaybeInsertedClosing();return}var b=y+i.getTabString();return{text:`
176
+ `+b+`
177
+ `+y+_,selection:[1,b.length,1,b.length]}}else m.clearMaybeInsertedClosing()}),this.add(`braces`,`deletion`,function(e,t,n,r,i){var a=r.doc.getTextRange(i);if(!i.isMultiLine()&&a==`{`){if(f(n),r.doc.getLine(i.start.row).substring(i.end.column,i.end.column+1)==`}`)return i.end.column++,i;l.maybeInsertedBrackets--}}),this.add(`parens`,`insertion`,function(e,t,n,r,i){if(i==`(`){f(n);var a=n.getSelectionRange(),o=r.doc.getTextRange(a);if(o!==``&&n.getWrapBehavioursEnabled())return p(a,o,`(`,`)`);if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,`)`),{text:`()`,selection:[1,1]}}else if(i==`)`){f(n);var s=n.getCursorPosition(),c=r.doc.getLine(s.row);if(c.substring(s.column,s.column+1)==`)`&&r.$findOpeningBracket(`)`,{column:s.column+1,row:s.row})!==null&&m.isAutoInsertedClosing(s,c,i))return m.popAutoInsertedClosing(),{text:``,selection:[1,1]}}}),this.add(`parens`,`deletion`,function(e,t,n,r,i){var a=r.doc.getTextRange(i);if(!i.isMultiLine()&&a==`(`&&(f(n),r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==`)`))return i.end.column++,i}),this.add(`brackets`,`insertion`,function(e,t,n,r,i){if(i==`[`){f(n);var a=n.getSelectionRange(),o=r.doc.getTextRange(a);if(o!==``&&n.getWrapBehavioursEnabled())return p(a,o,`[`,`]`);if(m.isSaneInsertion(n,r))return m.recordAutoInsert(n,r,`]`),{text:`[]`,selection:[1,1]}}else if(i==`]`){f(n);var s=n.getCursorPosition(),c=r.doc.getLine(s.row);if(c.substring(s.column,s.column+1)==`]`&&r.$findOpeningBracket(`]`,{column:s.column+1,row:s.row})!==null&&m.isAutoInsertedClosing(s,c,i))return m.popAutoInsertedClosing(),{text:``,selection:[1,1]}}}),this.add(`brackets`,`deletion`,function(e,t,n,r,i){var a=r.doc.getTextRange(i);if(!i.isMultiLine()&&a==`[`&&(f(n),r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==`]`))return i.end.column++,i}),this.add(`string_dquotes`,`insertion`,function(e,t,n,r,i){var a=r.$mode.$quotes||d;if(i.length==1&&a[i]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;f(n);var o=i,s=n.getSelectionRange(),c=r.doc.getTextRange(s);if(c!==``&&(c.length!=1||!a[c])&&n.getWrapBehavioursEnabled())return p(s,c,o,o);if(!c){var l=n.getCursorPosition(),u=r.doc.getLine(l.row),m=u.substring(l.column-1,l.column),h=u.substring(l.column,l.column+1),g=r.getTokenAt(l.row,l.column),_=r.getTokenAt(l.row,l.column+1);if(m==`\\`&&g&&/escape/.test(g.type))return null;var v=g&&/string|escape/.test(g.type),y=!_||/string|escape/.test(_.type),b;if(h==o)b=v!==y,b&&/string\.end/.test(_.type)&&(b=!1);else{if(v&&!y||v&&y)return null;var x=r.$mode.tokenRe;x.lastIndex=0;var S=x.test(m);x.lastIndex=0;var C=x.test(h),w=r.$mode.$pairQuotesAfter;if(!(w&&w[o]&&w[o].test(m))&&S||C||h&&!/[\s;,.})\]\\]/.test(h))return null;var T=u[l.column-2];if(m==o&&(T==o||x.test(T)))return null;b=!0}return{text:b?o+o:``,selection:[1,1]}}}}),this.add(`string_dquotes`,`deletion`,function(e,t,n,r,i){var a=r.$mode.$quotes||d,o=r.doc.getTextRange(i);if(!i.isMultiLine()&&a.hasOwnProperty(o)&&(f(n),r.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==o))return i.end.column++,i}),e.closeDocComment!==!1&&this.add(`doc comment end`,`insertion`,function(e,t,n,r,i){if(e===`doc-start`&&(i===`
178
+ `||i===`\r
179
+ `)&&n.selection.isEmpty()){var a=n.getCursorPosition();if(a.column===0)return;for(var o=r.doc.getLine(a.row),s=r.doc.getLine(a.row+1),c=r.getTokens(a.row),l=0,u=0;u<c.length;u++){l+=c[u].value.length;var d=c[u];if(l>=a.column){if(l===a.column){if(!/\.doc/.test(d.type))return;if(/\*\//.test(d.value)){var f=c[u+1];if(!f||!/\.doc/.test(f.type))return}}var p=a.column-(l-d.value.length),m=d.value.indexOf(`*/`),h=d.value.indexOf(`/**`,m>-1?m+2:0);if(h!==-1&&p>h&&p<h+3||m!==-1&&h!==-1&&p>=m&&p<=h||!/\.doc/.test(d.type))return;break}}var g=this.$getIndent(o);if(/\s*\*/.test(s))return/^\s*\*/.test(o)?{text:i+g+`* `,selection:[1,2+g.length,1,2+g.length]}:{text:i+g+` * `,selection:[1,3+g.length,1,3+g.length]};if(/\/\*\*/.test(o.substring(0,a.column)))return{text:i+g+` * `+i+` `+g+`*/`,selection:[1,4+g.length,1,4+g.length]}}})};m.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new a(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||`text`,s)){if(/[)}\]]/.test(e.session.getLine(n.row)[n.column]))return!0;var i=new a(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||`text`,s))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||`text`,c)},m.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},m.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,l.autoInsertedLineEnd[0])||(l.autoInsertedBrackets=0),l.autoInsertedRow=r.row,l.autoInsertedLineEnd=n+i.substr(r.column),l.autoInsertedBrackets++},m.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(l.maybeInsertedBrackets=0),l.maybeInsertedRow=r.row,l.maybeInsertedLineStart=i.substr(0,r.column)+n,l.maybeInsertedLineEnd=i.substr(r.column),l.maybeInsertedBrackets++},m.isAutoInsertedClosing=function(e,t,n){return l.autoInsertedBrackets>0&&e.row===l.autoInsertedRow&&n===l.autoInsertedLineEnd[0]&&t.substr(e.column)===l.autoInsertedLineEnd},m.isMaybeInsertedClosing=function(e,t){return l.maybeInsertedBrackets>0&&e.row===l.maybeInsertedRow&&t.substr(e.column)===l.maybeInsertedLineEnd&&t.substr(0,e.column)==l.maybeInsertedLineStart},m.popAutoInsertedClosing=function(){l.autoInsertedLineEnd=l.autoInsertedLineEnd.substr(1),l.autoInsertedBrackets--},m.clearMaybeInsertedClosing=function(){l&&(l.maybeInsertedBrackets=0,l.maybeInsertedRow=-1)},r.inherits(m,i),t.CstyleBehaviour=m}),ace.define(`ace/unicode`,[`require`,`exports`,`module`],function(e,t,n){for(var r=[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],i=0,a=[],o=0;o<r.length;o+=2)a.push(i+=r[o]),r[o+1]&&a.push(45,i+=r[o+1]);t.wordChars=String.fromCharCode.apply(null,a)}),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(e,t,n){var r=e("../config"),i=e("../tokenizer").Tokenizer,a=e("./text_highlight_rules").TextHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,s=e("../unicode"),c=e("../lib/lang"),l=e("../token_iterator").TokenIterator,u=e("../range").Range,d=function(){this.HighlightRules=a};(function(){this.$defaultBehaviour=new o,this.tokenRe=RegExp(`^[`+s.wordChars+`\\$_]+`,`g`),this.nonTokenRe=RegExp(`^(?:[^`+s.wordChars+`\\$_]|\\s])+`,`g`),this.getTokenizer=function(){return this.$tokenizer||=(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),new i(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart=``,this.blockComment=``,this.toggleCommentLines=function(e,t,n,r){var i=t.doc,a=!0,o=!0,s=1/0,l=t.getTabSize(),u=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var d=this.lineCommentStart.map(c.escapeRegExp).join(`|`),f=this.lineCommentStart[0];else var d=c.escapeRegExp(this.lineCommentStart),f=this.lineCommentStart;d=RegExp(`^(\\s*)(?:`+d+`) ?`),u=t.getUseSoftTabs();var p=function(e,t){var n=e.match(d);if(n){var r=n[1].length,a=n[0].length;!_(e,r,a)&&n[0][a-1]==` `&&a--,i.removeInLine(t,r,a)}},m=f+` `,h=function(e,t){(!a||/\S/.test(e))&&(_(e,s,s)?i.insertInLine({row:t,column:s},m):i.insertInLine({row:t,column:s},f))},g=function(e,t){return d.test(e)},_=function(e,t,n){for(var r=0;t--&&e.charAt(t)==` `;)r++;if(r%l!=0)return!1;for(var r=0;e.charAt(n++)==` `;)r++;return l>2?r%l!=l-1:r%l==0}}else{if(!this.blockComment)return!1;var f=this.blockComment.start,v=this.blockComment.end,d=RegExp(`^(\\s*)(?:`+c.escapeRegExp(f)+`)`),y=RegExp(`(?:`+c.escapeRegExp(v)+`)\\s*$`),h=function(e,t){g(e,t)||(!a||/\S/.test(e))&&(i.insertInLine({row:t,column:e.length},v),i.insertInLine({row:t,column:s},f))},p=function(e,t){var n;(n=e.match(y))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(d))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(d.test(e))return!0;for(var r=t.getTokens(n),i=0;i<r.length;i++)if(r[i].type===`comment`)return!0}}function b(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var x=1/0;b(function(e,t){var n=e.search(/\S/);n===-1?x>e.length&&(x=e.length):(n<s&&(s=n),o&&!g(e,t)&&(o=!1))}),s==1/0&&(s=x,a=!1,o=!1),u&&s%l!=0&&(s=Math.floor(s/l)*l),b(o?p:h)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(i){!i.start&&i[0]&&(i=i[0]);var a=new l(t,r.row,r.column),o=a.getCurrentToken();t.selection;var s=t.selection.toOrientedRange(),c,d;if(o&&/comment/.test(o.type)){for(var f,p;o&&/comment/.test(o.type);){var m=o.value.indexOf(i.start);if(m!=-1){var h=a.getCurrentTokenRow(),g=a.getCurrentTokenColumn()+m;f=new u(h,g,h,g+i.start.length);break}o=a.stepBackward()}for(var a=new l(t,r.row,r.column),o=a.getCurrentToken();o&&/comment/.test(o.type);){var m=o.value.indexOf(i.end);if(m!=-1){var h=a.getCurrentTokenRow(),g=a.getCurrentTokenColumn()+m;p=new u(h,g,h,g+i.end.length);break}o=a.stepForward()}p&&t.remove(p),f&&(t.remove(f),c=f.start.row,d=-i.start.length)}else d=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);s.start.row==c&&(s.start.column+=d),s.end.row==c&&(s.end.column+=d),t.selection.fromOrientedRange(s)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var t in this.$embeds=[],this.$modes={},e)if(e[t]){var n=e[t],i=n.prototype.$id,a=r.$modes[i];a||(r.$modes[i]=a=new n),r.$modes[t]||(r.$modes[t]=a),this.$embeds.push(t),this.$modes[t]=a}for(var o=[`toggleBlockComment`,`toggleCommentLines`,`getNextLineIndent`,`checkOutdent`,`autoOutdent`,`transformAction`,`getCompletions`],s=function(e){(function(t){var n=o[e],r=t[n];t[o[e]]=function(){return this.$delegator(n,arguments,r)}})(c)},c=this,t=0;t<o.length;t++)s(t)},this.$delegator=function(e,t,n){var r=t[0]||`start`;if(typeof r!=`string`){if(Array.isArray(r[2])){var i=r[2][r[2].length-1],a=this.$modes[i];if(a)return a[e].apply(a,[r[1]].concat([].slice.call(t,1)))}r=r[0]||`start`}for(var o=0;o<this.$embeds.length;o++)if(this.$modes[this.$embeds[o]]){var s=r.split(this.$embeds[o]);if(!s[0]&&s[1]){t[0]=s[1];var a=this.$modes[this.$embeds[o]];return a[e].apply(a,t)}}var c=n.apply(this,t);return n?c:void 0},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var a=this.$behaviour.getBehaviours();for(var o in a)if(a[o][t]){var s=a[o][t].apply(this,arguments);if(s)return s}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t)for(var i=t[r],a=0,o=i.length;a<o;a++)if(typeof i[a].token==`string`)/keyword|support|storage/.test(i[a].token)&&n.push(i[a].regex);else if(typeof i[a].token==`object`){for(var s=0,c=i[a].token.length;s<c;s++)if(/keyword|support|storage/.test(i[a].token[s])){var r=i[a].regex.match(/\(.+?\)/g)[s];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){return(this.$keywordList||this.$createKeywordList()).map(function(e){return{name:e,value:e,score:0,meta:`keyword`}})},this.$id=`ace/mode/text`}).call(d.prototype),t.Mode=d}),ace.define(`ace/line_widgets`,[`require`,`exports`,`module`,`ace/lib/dom`],function(e,t,n){var r=e("./lib/dom");t.LineWidgets=function(){function e(e){this.session=e,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 e.prototype.getRowLength=function(e){var t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},e.prototype.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},e.prototype.$onChangeEditor=function(e){this.attach(e.editor)},e.prototype.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on(`beforeRender`,this.measureWidgets),e.renderer.on(`afterRender`,this.renderWidgets)))},e.prototype.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off(`beforeRender`,this.measureWidgets),t.renderer.off(`afterRender`,this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},e.prototype.updateOnFold=function(e,t){var n=t.lineWidgets;if(!(!n||!e.action)){for(var r=e.data,i=r.start.row,a=r.end.row,o=e.action==`add`,s=i+1;s<a;s++)n[s]&&(n[s].hidden=o);n[a]&&(o?n[i]?n[a].hidden=o:n[i]=n[a]:(n[i]==n[a]&&(n[i]=void 0),n[a].hidden=o))}},e.prototype.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,r=e.end.row-n;if(r!==0)if(e.action==`remove`){var i=t.splice(n+1,r);!t[n]&&i[i.length-1]&&(t[n]=i.pop()),i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var a=Array(r);t[n]&&t[n].column!=null&&e.start.column>t[n].column&&n++,a.unshift(n,0),t.splice.apply(t,a),this.$updateRows()}}},e.prototype.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach(function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget}),t&&(this.session.lineWidgets=null)}},e.prototype.$registerLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];return t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e},e.prototype.addLineWidget=function(e){if(this.$registerLineWidget(e),e.session=this.session,!this.editor)return e;var t=this.editor.renderer;e.html&&!e.el&&(e.el=r.createElement(`div`),e.el.innerHTML=e.html),e.text&&!e.el&&(e.el=r.createElement(`div`),e.el.textContent=e.text),e.el&&(r.addCssClass(e.el,`ace_lineWidgetContainer`),e.className&&r.addCssClass(e.el,e.className),e.el.style.position=`absolute`,e.el.style.zIndex=`5`,t.container.appendChild(e.el),e._inDocument=!0,e.coverGutter||(e.el.style.zIndex=`3`),e.pixelHeight??=e.el.offsetHeight),e.rowCount??=e.pixelHeight/t.layerConfig.lineHeight;var n=this.session.getFoldAt(e.row,0);if(e.$fold=n,n){var i=this.session.lineWidgets;e.row==n.end.row&&!i[n.start.row]?i[n.start.row]=e:e.hidden=!0}return this.session._emit(`changeFold`,{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),this.onWidgetChanged(e),e},e.prototype.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch{}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit(`changeFold`,{data:{start:{row:e.row}}}),this.$updateRows()},e.prototype.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],r=[];n;)r.push(n),n=n.$oldWidget;return r},e.prototype.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},e.prototype.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!(!n||!n.length)){for(var i=1/0,a=0;a<n.length;a++){var o=n[a];if(!(!o||!o.el)&&o.session==this.session){if(!o._inDocument){if(this.session.lineWidgets[o.row]!=o)continue;o._inDocument=!0,t.container.appendChild(o.el)}o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/r.characterWidth));var s=o.h/r.lineHeight;o.coverLine&&(s-=this.session.getRowLineCount(o.row),s<0&&(s=0)),o.rowCount!=s&&(o.rowCount=s,o.row<i&&(i=o.row))}}i!=1/0&&(this.session._emit(`changeFold`,{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},e.prototype.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(r){for(var i=Math.min(this.firstRow,n.firstRow),a=Math.max(this.lastRow,n.lastRow,r.length);i>0&&!r[i];)i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=a;o++){var s=r[o];if(!(!s||!s.el)){if(s.hidden){s.el.style.top=-100-(s.pixelHeight||0)+`px`;continue}s._inDocument||(s._inDocument=!0,t.container.appendChild(s.el));var c=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;s.coverLine||(c+=n.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=c-n.offset+`px`;var l=s.coverGutter?0:t.gutterWidth;s.fixedWidth||(l-=t.scrollLeft),s.el.style.left=l+`px`,s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=n.width+2*n.padding+`px`),s.fixedWidth?s.el.style.right=t.scrollBar.getWidth()+`px`:s.el.style.right=``}}}},e}()}),ace.define(`ace/apply_delta`,[`require`,`exports`,`module`],function(e,t,n){t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,a=e[r]||``;switch(t.action){case`insert`:if(t.lines.length===1)e[r]=a.substring(0,i)+t.lines[0]+a.substring(i);else{var o=[r,1].concat(t.lines);e.splice.apply(e,o),e[r]=a.substring(0,i)+e[r],e[r+t.lines.length-1]+=a.substring(i)}break;case`remove`:var s=t.end.column,c=t.end.row;r===c?e[r]=a.substring(0,i)+a.substring(s):e.splice(r,c-r+1,a.substring(0,i)+e[c].substring(s));break}}}),ace.define(`ace/anchor`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/lib/event_emitter`],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,a=function(){function e(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof t==`number`?this.setPosition(t,n):this.setPosition(t.row,t.column)}return e.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},e.prototype.getDocument=function(){return this.document},e.prototype.onChange=function(e){if(!(e.start.row==e.end.row&&e.start.row!=this.row)&&!(e.start.row>this.row)){var t=s(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(t.row,t.column,!0)}},e.prototype.setPosition=function(e,t,n){var r=n?{row:e,column:t}:this.$clipPositionToDocument(e,t);if(!(this.row==r.row&&this.column==r.column)){var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal(`change`,{old:i,value:r})}},e.prototype.detach=function(){this.document.off(`change`,this.$onChange)},e.prototype.attach=function(e){this.document=e||this.document,this.document.on(`change`,this.$onChange)},e.prototype.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n},e}();a.prototype.$insertRight=!1,r.implement(a.prototype,i);function o(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function s(e,t,n){var r=e.action==`insert`,i=(r?1:-1)*(e.end.row-e.start.row),a=(r?1:-1)*(e.end.column-e.start.column),s=e.start,c=r?s:e.end;return o(t,s,n)?{row:t.row,column:t.column}:o(c,t,!n)?{row:t.row+i,column:t.column+(t.row==c.row?a:0)}:{row:s.row,column:s.column}}t.Anchor=a}),ace.define(`ace/document`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/apply_delta`,`ace/lib/event_emitter`,`ace/range`,`ace/anchor`],function(e,t,n){var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,a=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,s=e("./anchor").Anchor,c=function(){function e(e){this.$lines=[``],e.length===0?this.$lines=[``]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return e.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||``)},e.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},e.prototype.createAnchor=function(e,t){return new s(this,e,t)},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
180
+ `,this._signal(`changeNewLineMode`)},e.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case`windows`:return`\r
181
+ `;case`unix`:return`
182
+ `;default:return this.$autoNewLine||`
183
+ `}},e.prototype.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal(`changeNewLineMode`))},e.prototype.getNewLineMode=function(){return this.$newLineMode},e.prototype.isNewLine=function(e){return e==`\r
184
+ `||e==`\r`||e==`
185
+ `},e.prototype.getLine=function(e){return this.$lines[e]||``},e.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},e.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},e.prototype.getLength=function(){return this.$lines.length},e.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},e.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||``).substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},e.prototype.insertLines=function(e,t){return console.warn(`Use of document.insertLines is deprecated. Use the insertFullLines method instead.`),this.insertFullLines(e,t)},e.prototype.removeLines=function(e,t){return console.warn(`Use of document.removeLines is deprecated. Use the removeFullLines method instead.`),this.removeFullLines(e,t)},e.prototype.insertNewLine=function(e){return console.warn(`Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.`),this.insertMergedLines(e,[``,``])},e.prototype.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},e.prototype.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:`insert`,lines:[t]},!0),this.clonePos(r)},e.prototype.clippedPos=function(e,t){var n=this.getLength();e===void 0?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var r=this.getLine(e);return t??=r.length,t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},e.prototype.clonePos=function(e){return{row:e.row,column:e.column}},e.prototype.pos=function(e,t){return{row:e,column:t}},e.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},e.prototype.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([``]),n=0):(t=[``].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},e.prototype.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:`insert`,lines:t}),this.clonePos(r)},e.prototype.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:`remove`,lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},e.prototype.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:`remove`,lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},e.prototype.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,a=n?this.getLine(i).length:0,s=r?t+1:t,c=new o(i,a,s,r?0:this.getLine(s).length),l=this.$lines.slice(e,t+1);return this.applyDelta({start:c.start,end:c.end,action:`remove`,lines:this.getLinesForRange(c)}),l},e.prototype.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:`remove`,lines:[``,``]})},e.prototype.replace=function(e,t){return e instanceof o||(e=o.fromPoints(e.start,e.end)),t.length===0&&e.isEmpty()?e.start:t==this.getTextRange(e)?e.end:(this.remove(e),t?this.insert(e.start,t):e.start)},e.prototype.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},e.prototype.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},e.prototype.applyDelta=function(e,t){var n=e.action==`insert`;(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal(`change`,e)))},e.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action==`remove`&&e.start.row<t&&e.end.row<t||e.action==`insert`&&e.start.row<=t)&&this.applyDelta(e)},e.prototype.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length-t+1,i=e.start.row,a=e.start.column,o=0,s=0;o<r;o=s){s+=t-1;var c=n.slice(o,s);c.push(``),this.applyDelta({start:this.pos(i+o,a),end:this.pos(i+s,a=0),action:e.action,lines:c},!0)}e.lines=n.slice(o),e.start.row=i+o,e.start.column=a,this.applyDelta(e,!0)},e.prototype.revertDelta=function(e){this.$safeApplyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action==`insert`?`remove`:`insert`,lines:e.lines.slice()})},e.prototype.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=t||0,a=n.length;i<a;i++)if(e-=n[i].length+r,e<0)return{row:i,column:e+n[i].length+r};return{row:a-1,column:e+n[a-1].length+r}},e.prototype.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,a=Math.min(e.row,n.length),o=t||0;o<a;++o)i+=n[o].length+r;return i+e.column},e.prototype.$split=function(e){return e.split(/\r\n|\r|\n/)},e}();c.prototype.$autoNewLine=``,c.prototype.$newLineMode=`auto`,r.implement(c.prototype,a),t.Document=c}),ace.define(`ace/background_tokenizer`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/lib/event_emitter`],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,a=function(){function e(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,r=-1,i=n.doc,a=t;n.lines[t];)t++;var o=i.getLength(),s=0;for(n.running=!1;t<o;){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);if(s++,s%5==0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),a<=r&&n.fireUpdateEvent(a,r)}}}return e.prototype.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},e.prototype.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},e.prototype.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal(`update`,{data:n})},e.prototype.start=function(e){this.currentLine=Math.min(e||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)},e.prototype.scheduleStart=function(){this.running||=setTimeout(this.$worker,700)},e.prototype.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action==`remove`)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},e.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},e.prototype.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},e.prototype.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||`start`},e.prototype.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+``==r.state+``?this.currentLine==e&&(this.currentLine=e+1):(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)),this.lines[e]=r.tokens},e.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},e}();r.implement(a.prototype,i),t.BackgroundTokenizer=a}),ace.define(`ace/search_highlight`,[`require`,`exports`,`module`,`ace/lib/lang`,`ace/range`],function(e,t,n){var r=e("./lib/lang"),i=e("./range").Range,a=function(){function e(e,t,n){n===void 0&&(n=`text`),this.setRegexp(e),this.clazz=t,this.type=n,this.docLen=0}return e.prototype.setRegexp=function(e){this.regExp+``!=e+``&&(this.regExp=e,this.cache=[])},e.prototype.update=function(e,t,n,a){if(this.regExp){for(var o=a.firstRow,s=a.lastRow,c={},l=n.$editor&&n.$editor.$search,u=l&&l.$isMultilineSearch(n.$editor.getLastSearchOptions()),d=o;d<=s;d++){var f=this.cache[d];if(f==null||n.getValue().length!=this.docLen){if(u){f=[];var p=l.$multiLineForward(n,this.regExp,d,s);if(p){var m=p.endRow<=s?p.endRow-1:s;m>d&&(d=m),f.push(new i(p.startRow,p.startCol,p.endRow,p.endCol))}f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES))}else f=r.getMatchOffsets(n.getLine(d),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new i(d,e.offset,d,e.offset+e.length)});this.cache[d]=f.length?f:``}if(f.length!==0)for(var h=f.length;h--;){var g=f[h].toScreenRange(n),_=g.toString();c[_]||(c[_]=!0,t.drawSingleLineMarker(e,g,this.clazz,a))}}this.docLen=n.getValue().length}},e}();a.prototype.MAX_RANGES=500,t.SearchHighlight=a}),ace.define(`ace/undomanager`,[`require`,`exports`,`module`,`ace/range`],function(e,t,n){var r=function(){function e(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return e.prototype.addSession=function(e){this.$session=e},e.prototype.add=function(e,t,n){if(!this.$fromUndo&&e!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),t===!1||!this.lastDeltas){this.lastDeltas=[];var r=this.$undoStack.length;r>this.$undoDepth-1&&this.$undoStack.splice(0,r-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),e.id=this.$rev=++this.$maxRev}(e.action==`remove`||e.action==`insert`)&&(this.$lastDelta=e),this.lastDeltas.push(e)}},e.prototype.addSelection=function(e,t){this.selections.push({value:e,rev:t||this.$rev})},e.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},e.prototype.markIgnored=function(e,t){t??=this.$rev+1;for(var n=this.$undoStack,r=n.length;r--;){var i=n[r][0];if(i.id<=e)break;i.id<t&&(i.ignore=!0)}this.lastDeltas=null},e.prototype.getSelection=function(e,t){for(var n=this.selections,r=n.length;r--;){var i=n[r];if(i.rev<e)return t&&(i=n[r+1]),i}},e.prototype.getRevision=function(){return this.$rev},e.prototype.getDeltas=function(e,t){t??=this.$rev+1;for(var n=this.$undoStack,r=null,i=0,a=n.length;a--;){var o=n[a][0];if(o.id<t&&!r&&(r=a+1),o.id<=e){i=a+1;break}}return n.slice(i,r)},e.prototype.getChangedRanges=function(e,t){t??=this.$rev+1},e.prototype.getChangedLines=function(e,t){t??=this.$rev+1},e.prototype.undo=function(e,t){this.lastDeltas=null;var n=this.$undoStack;if(i(n,n.length)){e||=this.$session,this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var r=n.pop(),a=null;return r&&(a=e.undoChanges(r,t),this.$redoStack.push(r),this.$syncRev()),this.$fromUndo=!1,a}},e.prototype.redo=function(e,t){if(this.lastDeltas=null,e||=this.$session,this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var n=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);v(this.$redoStack,n),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(e){e[0].id=++this.$maxRev},this)}var r=this.$redoStack.pop(),i=null;return r&&(i=e.redoChanges(r,t),this.$undoStack.push(r),this.$syncRev()),this.$fromUndo=!1,i},e.prototype.$syncRev=function(){var e=this.$undoStack,t=e[e.length-1],n=t&&t[0].id||0;this.$redoStackBaseRev=n,this.$rev=n},e.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=[]},e.prototype.canUndo=function(){return this.$undoStack.length>0},e.prototype.canRedo=function(){return this.$redoStack.length>0},e.prototype.bookmark=function(e){e??=this.$rev,this.mark=e},e.prototype.isAtBookmark=function(){return this.$rev===this.mark},e.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},e.prototype.fromJSON=function(e){this.reset(),this.$undoStack=e.$undoStack,this.$redoStack=e.$redoStack},e.prototype.$prettyPrint=function(e){return e?l(e):l(this.$undoStack)+`
186
+ ---
187
+ `+l(this.$redoStack)},e}();r.prototype.hasUndo=r.prototype.canUndo,r.prototype.hasRedo=r.prototype.canRedo,r.prototype.isClean=r.prototype.isAtBookmark,r.prototype.markClean=r.prototype.bookmark;function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){for(;n<t-1;){var i=f(e[n],e[n+1]);e[n]=i[0],e[n+1]=i[1],n++}return!0}}}var a=e("./range").Range,o=a.comparePoints;a.comparePoints;function s(e){return{row:e.row,column:e.column}}function c(e){return{start:s(e.start),end:s(e.end),action:e.action,lines:e.lines.slice()}}function l(e){if(e||=this,Array.isArray(e))return e.map(l).join(`
188
+ `);var t=``;return e.action?(t=e.action==`insert`?`+`:`-`,t+=`[`+e.lines+`]`):e.value&&(t=Array.isArray(e.value)?e.value.map(u).join(`
189
+ `):u(e.value)),e.start&&(t+=u(e)),(e.id||e.rev)&&(t+=` (`+(e.id||e.rev)+`)`),t}function u(e){return e.start.row+`:`+e.start.column+`=>`+e.end.row+`:`+e.end.column}function d(e,t){var n=e.action==`insert`,r=t.action==`insert`;if(n&&r)if(o(t.start,e.end)>=0)m(t,e,-1);else if(o(t.start,e.start)<=0)m(e,t,1);else return null;else if(n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else if(o(t.end,e.start)<=0)m(e,t,-1);else return null;else if(!n&&r)if(o(t.start,e.start)>=0)m(t,e,1);else if(o(t.start,e.start)<=0)m(e,t,1);else return null;else if(!n&&!r)if(o(t.start,e.start)>=0)m(t,e,1);else if(o(t.end,e.start)<=0)m(e,t,-1);else return null;return[t,e]}function f(e,t){for(var n=e.length;n--;)for(var r=0;r<t.length;r++)if(!d(e[n],t[r])){for(;n<e.length;){for(;r--;)d(t[r],e[n]);r=t.length,n++}return[e,t]}return e.selectionBefore=t.selectionBefore=e.selectionAfter=t.selectionAfter=null,[t,e]}function p(e,t){var n=e.action==`insert`,r=t.action==`insert`;if(n&&r)o(e.start,t.start)<0?m(t,e,1):m(e,t,1);else if(n&&!r)o(e.start,t.end)>=0?m(e,t,-1):(o(e.start,t.start)<=0||m(e,a.fromPoints(t.start,e.start),-1),m(t,e,1));else if(!n&&r)o(t.start,e.end)>=0?m(t,e,-1):(o(t.start,e.start)<=0||m(t,a.fromPoints(e.start,t.start),-1),m(e,t,1));else if(!n&&!r)if(o(t.start,e.end)>=0)m(t,e,-1);else if(o(t.end,e.start)<=0)m(e,t,-1);else{var i,s;return o(e.start,t.start)<0&&(i=e,e=g(e,t.start)),o(e.end,t.end)>0&&(s=g(e,t.end)),h(t.end,e.start,e.end,-1),s&&!i&&(e.lines=s.lines,e.start=s.start,e.end=s.end,s=e),[t,i,s].filter(Boolean)}return[t,e]}function m(e,t,n){h(e.start,t.start,t.end,n),h(e.end,t.start,t.end,n)}function h(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.column)),e.row+=r*(n.row-t.row)}function g(e,t){var n=e.lines,r=e.end;e.end=s(t);var i=e.end.row-e.start.row,a=n.splice(i,n.length),o=i?t.column:t.column-e.start.column;return n.push(a[0].substring(0,o)),a[0]=a[0].substr(o),{start:s(t),end:r,lines:a,action:e.action}}function _(e,t){t=c(t);for(var n=e.length;n--;){for(var r=e[n],i=0;i<r.length;i++){var a=r[i],o=p(a,t);t=o[0],o.length!=2&&(o[2]?(r.splice(i+1,1,o[1],o[2]),i++):o[1]||(r.splice(i,1),i--))}r.length||e.splice(n,1)}return e}function v(e,t){for(var n=0;n<t.length;n++)for(var r=t[n],i=0;i<r.length;i++)_(e,r[i])}t.UndoManager=r}),ace.define(`ace/edit_session/fold_line`,[`require`,`exports`,`module`,`ace/range`],function(e,t,n){var r=e("../range").Range;t.FoldLine=function(){function e(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}return e.prototype.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},e.prototype.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw Error(`Can't add a fold to this FoldLine as it has no connection`);this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else if(e.end.row==this.start.row)this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column;else throw Error(`Trying to add fold to FoldRow that doesn't have a matching row`);e.foldLine=this},e.prototype.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},e.prototype.walk=function(e,t,n){var r=0,i=this.folds,a,o,s,c=!0;t??(t=this.end.row,n=this.end.column);for(var l=0;l<i.length;l++){if(a=i[l],o=a.range.compareStart(t,n),o==-1){e(null,t,n,r,c);return}if(s=e(null,a.start.row,a.start.column,r,c),s=!s&&e(a.placeholder,a.start.row,a.start.column,r),s||o===0)return;c=!a.sameRow,r=a.end.column}e(null,t,n,r,c)},e.prototype.getNextFoldTo=function(e,t){for(var n,r,i=0;i<this.folds.length;i++){if(n=this.folds[i],r=n.range.compareEnd(e,t),r==-1)return{fold:n,kind:`after`};if(r===0)return{fold:n,kind:`inside`}}return null},e.prototype.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,a;if(r){if(i=r.fold,r.kind==`inside`&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){a=this.folds;var o=a.indexOf(i);for(o===0&&(this.start.column+=n);o<a.length;o++){if(i=a[o],i.start.column+=n,!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},e.prototype.split=function(t,n){var r=this.getNextFoldTo(t,n);if(!r||r.kind==`inside`)return null;var i=r.fold,a=this.folds,o=this.foldData,s=a.indexOf(i),c=a[s-1];this.end.row=c.end.row,this.end.column=c.end.column,a=a.splice(s,a.length-s);var l=new e(o,a);return o.splice(o.indexOf(this)+1,0,l),l},e.prototype.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},e.prototype.toString=function(){var e=[this.range.toString()+`: [`];return this.folds.forEach(function(t){e.push(` `+t.toString())}),e.push(`]`),e.join(`
190
+ `)},e.prototype.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var r=this.folds[n];if(e-=r.start.column-t,e<0)return{row:r.start.row,column:r.start.column+e};if(e-=r.placeholder.length,e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}},e}()}),ace.define(`ace/range_list`,[`require`,`exports`,`module`,`ace/range`],function(e,t,n){var r=e("./range").Range.comparePoints,i=function(){function e(){this.ranges=[],this.$bias=1}return e.prototype.pointIndex=function(e,t,n){for(var i=this.ranges,a=n||0;a<i.length;a++){var o=i[a],s=r(e,o.end);if(!(s>0)){var c=r(e,o.start);return s===0?t&&c!==0?-a-2:a:c>0||c===0&&!t?a:-a-1}}return-a-1},e.prototype.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},e.prototype.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},e.prototype.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},e.prototype.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return r(e.start,t.start)});for(var n=t[0],i,a=1;a<t.length;a++){i=n,n=t[a];var o=r(i.end,n.start);o<0||o==0&&!i.isEmpty()&&!n.isEmpty()||(r(i.end,n.end)<0&&(i.end.row=n.end.row,i.end.column=n.end.column),t.splice(a,1),e.push(n),n=i,a--)}return this.ranges=t,e},e.prototype.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},e.prototype.containsPoint=function(e){return this.pointIndex(e)>=0},e.prototype.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},e.prototype.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);for(var a=[],o=r;o<i;o++)a.push(n[o]);return a},e.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},e.prototype.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on(`change`,this.onChange)},e.prototype.detach=function(){this.session&&=(this.session.removeListener(`change`,this.onChange),null)},e.prototype.$onChange=function(e){for(var t=e.start,n=e.end,r=t.row,i=n.row,a=this.ranges,o=0,s=a.length;o<s;o++){var c=a[o];if(c.end.row>=r)break}if(e.action==`insert`)for(var l=i-r,u=-t.column+n.column;o<s;o++){var c=a[o];if(c.start.row>r)break;if(c.start.row==r&&c.start.column>=t.column&&(c.start.column==t.column&&this.$bias<=0||(c.start.column+=u,c.start.row+=l)),c.end.row==r&&c.end.column>=t.column){if(c.end.column==t.column&&this.$bias<0)continue;c.end.column==t.column&&u>0&&o<s-1&&c.end.column>c.start.column&&c.end.column==a[o+1].start.column&&(c.end.column-=u),c.end.column+=u,c.end.row+=l}}else for(var l=r-i,u=t.column-n.column;o<s;o++){var c=a[o];if(c.start.row>i)break;c.end.row<i&&(r<c.end.row||r==c.end.row&&t.column<c.end.column)?(c.end.row=r,c.end.column=t.column):c.end.row==i?c.end.column<=n.column?(l||c.end.column>t.column)&&(c.end.column=t.column,c.end.row=t.row):(c.end.column+=u,c.end.row+=l):c.end.row>i&&(c.end.row+=l),c.start.row<i&&(r<c.start.row||r==c.start.row&&t.column<c.start.column)?(c.start.row=r,c.start.column=t.column):c.start.row==i?c.start.column<=n.column?(l||c.start.column>t.column)&&(c.start.column=t.column,c.start.row=t.row):(c.start.column+=u,c.start.row+=l):c.start.row>i&&(c.start.row+=l)}if(l!=0&&o<s)for(;o<s;o++){var c=a[o];c.start.row+=l,c.end.row+=l}},e}();i.prototype.comparePoints=r,t.RangeList=i}),ace.define(`ace/edit_session/fold`,[`require`,`exports`,`module`,`ace/range_list`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=function(e){r(t,e);function t(t,n){var r=e.call(this)||this;return r.foldLine=null,r.placeholder=n,r.range=t,r.start=t.start,r.end=t.end,r.sameRow=t.start.row==t.end.row,r.subFolds=r.ranges=[],r}return t.prototype.toString=function(){return`"`+this.placeholder+`" `+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},t.prototype.clone=function(){var e=new t(this.range.clone(),this.placeholder);return this.subFolds.forEach(function(t){e.subFolds.push(t.clone())}),e.collapseChildren=this.collapseChildren,e},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){o(e,this.start);for(var t=e.start.row,n=e.start.column,r=0,i=-1;r<this.subFolds.length&&(i=this.subFolds[r].range.compare(t,n),i==1);r++);var a=this.subFolds[r],s=0;if(i==0){if(a.range.containsRange(e))return a.addSubFold(e);s=1}for(var t=e.range.end.row,n=e.range.end.column,c=r,i=-1;c<this.subFolds.length&&(i=this.subFolds[c].range.compare(t,n),i==1);c++);i==0&&c++;for(var l=this.subFolds.splice(r,c-r,e),u=i==0?l.length-1:l.length,d=s;d<u;d++)e.addSubFold(l[d]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return c(e,this.start)},t}(e("../range_list").RangeList);function a(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function o(e,t){a(e.start,t),a(e.end,t)}function s(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function c(e,t){s(e.start,t),s(e.end,t)}t.Fold=i}),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(e,t,n){var r=e("../range").Range,i=e("./fold_line").FoldLine,a=e("./fold").Fold,o=e("../token_iterator").TokenIterator,s=e("../mouse/mouse_event").MouseEvent;function c(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;for(var i=r.folds,a=0;a<i.length;a++){var o=i[a].range;if(o.contains(e,t)){if(n==1&&o.isEnd(e,t)&&!o.isEmpty()||n==-1&&o.isStart(e,t)&&!o.isEmpty())continue;return i[a]}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,--n.column;for(var a=0;a<r.length;a++){var o=r[a].range.compareRange(e);if(o!=2){if(o==-2)break;for(var s=r[a].folds,c=0;c<s.length;c++){var l=s[c];if(o=l.range.compareRange(e),o==-2)break;if(o!=2){if(o==42)break;i.push(l)}}}}return--t.column,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){if(r||=this.getFoldLine(e),!r)return null;for(var i={end:{column:0}},a,o,s=0;s<r.folds.length;s++){o=r.folds[s];var c=o.range.compareEnd(e,t);if(c==-1){a=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}else if(c===0)return null;i=o}return a||=this.getLine(o.start.row).substring(i.end.column),n==-1?a.substring(0,t-i.end.column):n==1?a.substring(t-i.end.column):a},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),r==-1&&(r=0);r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),r==-1&&(r=0);r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,r=t-e+1,i=0;i<n.length;i++){var a=n[i],o=a.end.row,s=a.start.row;if(o>=t){s<t&&(s>=e?r-=t-s:r=0);break}else o>=e&&(s>=e?r-=o-s:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof a?o=e:(o=new a(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var s=o.start.row,c=o.start.column,l=o.end.row,u=o.end.column,d=this.getFoldAt(s,c,1),f=this.getFoldAt(l,u,-1);if(d&&f==d)return d.addSubFold(o);d&&!d.range.isStart(s,c)&&this.removeFold(d),f&&!f.range.isEnd(l,u)&&this.removeFold(f);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),o.collapseChildren||p.forEach(function(e){o.addSubFold(e)}));for(var m=0;m<n.length;m++){var h=n[m];if(l==h.start.row){h.addFold(o),r=!0;break}else if(s==h.end.row){if(h.addFold(o),r=!0,!o.sameRow){var g=n[m+1];if(g&&g.start.row==l){h.merge(g);break}}break}else if(l<=h.start.row)break}return r||(h=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(h.start.row,h.start.row):this.$updateRowLengthCache(h.start.row,h.start.row),this.$modified=!0,this._signal(`changeFold`,{data:o,action:`add`}),o},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,a=t.folds;if(a.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))a.pop(),t.end.row=a[a.length-1].end.row,t.end.column=a[a.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))a.shift(),t.start.row=a[0].start.row,t.start.column=a[0].start.column;else if(e.sameRow)a.splice(a.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);a=o.folds,a.shift(),o.start.row=a[0].start.row,o.start.column=a[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal(`changeFold`,{data:e,action:`remove`})},this.removeFolds=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;if(e==null)n=new r(0,0,this.getLength(),0),t??=!0;else if(typeof e==`number`)n=new r(e,0,e,this.getLine(e).length);else if(`row`in e)n=r.fromPoints(e,e);else if(Array.isArray(e))return i=[],e.forEach(function(e){i=i.concat(this.unfold(e))},this),i;else n=e;i=this.getFoldsInRangeList(n);for(var a=i;i.length==1&&r.comparePoints(i[0].start,n.start)<0&&r.comparePoints(i[0].end,n.end)>0;)this.expandFolds(i),i=this.getFoldsInRangeList(n);if(t==0?this.expandFolds(i):this.removeFolds(i),a.length)return a},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r??=e.start.row,i??=0,t??=e.end.row,n??=this.getLine(t).length;var a=this.doc,o=``;return e.walk(function(e,t,n,s){if(!(t<r)){if(t==r){if(n<i)return;s=Math.max(i,s)}e==null?o+=a.getLine(t).substring(s,n):o+=e}},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(i)return this.getFoldDisplayLine(i,e,t,n,r);var a=this.doc.getLine(e);return a.substring(r||0,t||a.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection.getRange(),n,r;if(t.isEmpty()){var i=t.start;if(n=this.getFoldAt(i.row,i.column),n){this.expandFold(n);return}else if(e){var a=this.getFoldLine(i.row);a&&this.expandFolds(a.folds);return}else (r=this.findMatchingBracket(i))?t.comparePoint(r)==1?t.end=r:(t.start=r,t.start.column++,t.end.column--):(r=this.findMatchingBracket({row:i.row,column:i.column+1}))?(t.comparePoint(r)==1?t.end=r:t.start=r,t.start.column++):t=this.getCommentFoldRange(i.row,i.column)||t}else{var o=this.getFoldsInRange(t);if(e&&o.length){this.expandFolds(o);return}else o.length==1&&(n=o[0])}if(n||=this.getFoldAt(t.start.row,t.start.column),n&&n.range.toString()==t.toString()){this.expandFold(n);return}var s=`...`;if(!t.isMultiLine()){if(s=this.getTextRange(t),s.length<4)return;s=s.trim().substring(0,2)+`..`}this.addFold(s,t)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),a=i.getCurrentToken(),s=a&&a.type;if(a&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s==`comment`&&(s+=`|doc-start|\\.doc`);var c=new RegExp(s),l=new r;if(n!=1){do a=i.stepBackward();while(a&&c.test(a.type));a=i.stepForward()}l.start.row=i.getCurrentTokenRow(),l.start.column=i.getCurrentTokenColumn()+a.value.length,i=new o(this,e,t);var u=this.getState(i.$row);if(n!=-1){var d=-1;do if(a=i.stepForward(),d==-1){var f=this.getState(i.$row);u.toString()!==f.toString()&&(d=i.$row)}else if(i.$row>d)break;while(a&&c.test(a.type));a=i.stepBackward()}else a=i.getCurrentToken();return l.end.row=i.getCurrentTokenRow(),l.end.column=i.getCurrentTokenColumn(),l.start.row==l.end.row&&l.start.column>l.end.column?void 0:l}},this.foldAll=function(e,t,n,r){n??=1e5;var i=this.foldWidgets;if(i){t||=this.getLength(),e||=0;for(var a=e;a<t;a++)if(i[a]??(i[a]=this.getFoldWidget(a)),i[a]==`start`&&!(r&&!r(a))){var o=this.getFoldWidgetRange(a);o&&o.isMultiLine()&&o.end.row<=t&&o.start.row>=e&&(a=o.end.row,o.collapseChildren=n,this.addFold(`...`,o))}}},this.foldToLevel=function(e){for(this.foldAll();e-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,function(t){for(var n=e.getTokens(t),r=0;r<n.length;r++){var i=n[r];if(!(i.type==`text`&&/^\s+$/.test(i.value)))return!!/comment/.test(i.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle=`markbegin`,this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw Error(`invalid fold style: `+e+`[`+Object.keys(this.$foldStyles).join(`, `)+`]`);if(this.$foldStyle!=e){this.$foldStyle=e,e==`manual`&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){if(this.$foldMode!=e){if(this.$foldMode=e,this.off(`change`,this.$updateFoldWidgets),this.off(`tokenizerUpdate`,this.$tokenizerUpdateFoldWidgets),this._signal(`changeAnnotation`),!e||this.$foldStyle==`manual`){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,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(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var r=e-1,i;r>=0;){var a=n[r];if(a??=n[r]=this.getFoldWidget(r),a==`start`){var o=this.getFoldWidgetRange(r);if(i||=o,o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t instanceof s&&(t=t.domEvent);var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,n)){var r=t.target||t.srcElement;r&&/ace_fold-widget/.test(r.className)&&(r.className+=` ace_invalid`)}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),r=this.getLine(e),i=n===`end`?-1:1,a=this.getFoldAt(e,i===-1?0:r.length,i);if(a)return t.children||t.all?this.removeFold(a):this.expandFold(a),a;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()&&(a=this.getFoldAt(o.start.row,o.start.column,1),a&&o.isEqual(a.range)))return this.removeFold(a),a;if(t.siblings){var s=this.getParentFoldRangeData(e);if(s.range)var c=s.range.start.row+1,l=s.range.end.row;this.foldAll(c,l,t.all?1e4:0)}else t.children?(l=o?o.end.row:this.getLength(),this.foldAll(e+1,l,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold(`...`,o));return o}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var r=this.getParentFoldRangeData(t,!0);if(n=r.range||r.firstRange,n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold(`...`,n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action==`remove`)this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}t.Folding=c}),ace.define(`ace/edit_session/bracket_match`,[`require`,`exports`,`module`,`ace/token_iterator`,`ace/range`],function(e,t,n){var r=e("../token_iterator").TokenIterator,i=e("../range").Range;function a(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n==``)return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,a=t.charAt(e.column-1),o=a&&a.match(/([\(\[\{])|([\)\]\}])/);if(o||(a=t.charAt(e.column),e={row:e.row,column:e.column+1},o=a&&a.match(/([\(\[\{])|([\)\]\}])/),n=!1),!o)return null;if(o[1]){var s=this.$findClosingBracket(o[1],e);if(!s)return null;r=i.fromPoints(e,s),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var s=this.$findOpeningBracket(o[2],e);if(!s)return null;r=i.fromPoints(s,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.getMatchingBracketRanges=function(e,t){var n=this.getLine(e.row),r=/([\(\[\{])|([\)\]\}])/,a=!t&&n.charAt(e.column-1),o=a&&a.match(r);if(o||=(a=(t===void 0||t)&&n.charAt(e.column),e={row:e.row,column:e.column+1},a&&a.match(r)),!o)return null;var s=new i(e.row,e.column-1,e.row,e.column),c=o[1]?this.$findClosingBracket(o[1],e):this.$findOpeningBracket(o[2],e);return c?[s,new i(c.row,c.column,c.row,c.column+1)]:[s]},this.$brackets={")":`(`,"(":`)`,"]":`[`,"[":`]`,"{":`}`,"}":`{`,"<":`>`,">":`<`},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],a=1,o=new r(this,t.row,t.column),s=o.getCurrentToken();if(s||=o.stepForward(),s){n||=RegExp(`(\\.?`+s.type.replace(`.`,`\\.`).replace(`rparen`,`.paren`).replace(/\b(?:end)\b/,`(?:start|begin|end)`).replace(/-close\b/,`-(close|open)`)+`)+`);for(var c=t.column-o.getCurrentTokenColumn()-2,l=s.value;;){for(;c>=0;){var u=l.charAt(c);if(u==i){if(--a,a==0)return{row:o.getCurrentTokenRow(),column:c+o.getCurrentTokenColumn()}}else u==e&&(a+=1);--c}do s=o.stepBackward();while(s&&!n.test(s.type));if(s==null)break;l=s.value,c=l.length-1}return null}},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],a=1,o=new r(this,t.row,t.column),s=o.getCurrentToken();if(s||=o.stepForward(),s){n||=RegExp(`(\\.?`+s.type.replace(`.`,`\\.`).replace(`lparen`,`.paren`).replace(/\b(?:start|begin)\b/,`(?:start|begin|end)`).replace(/-open\b/,`-(close|open)`)+`)+`);for(var c=t.column-o.getCurrentTokenColumn();;){for(var l=s.value,u=l.length;c<u;){var d=l.charAt(c);if(d==i){if(--a,a==0)return{row:o.getCurrentTokenRow(),column:c+o.getCurrentTokenColumn()}}else d==e&&(a+=1);c+=1}do s=o.stepForward();while(s&&!n.test(s.type));if(s==null)break;c=0}return null}},this.getMatchingTags=function(e){var t=new r(this,e.row,e.column),n=this.$findTagName(t);if(n)return t.stepBackward().value===`<`?this.$findClosingTag(t,n):this.$findOpeningTag(t,n)},this.$findTagName=function(e){var t=e.getCurrentToken(),n=!1,r=!1;if(t&&t.type.indexOf(`tag-name`)===-1)do t=r?e.stepBackward():e.stepForward(),t&&(t.value===`/>`?r=!0:t.type.indexOf(`tag-name`)!==-1&&(n=!0));while(t&&!n);return t},this.$findClosingTag=function(e,t){var n,r=t.value,a=t.value,o=0,s=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);t=e.stepForward();var c=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length),l=!1;do{if(n=t,n.type.indexOf(`tag-close`)!==-1&&!l){var u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);l=!0}if(t=e.stepForward(),t){if(t.value===`>`&&!l){var u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);l=!0}if(t.type.indexOf(`tag-name`)!==-1){if(r=t.value,a===r){if(n.value===`<`)o++;else if(n.value===`</`&&(o--,o<0)){e.stepBackward();var d=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2);t=e.stepForward();var f=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);if(t.type.indexOf(`tag-close`)===-1&&(t=e.stepForward()),t&&t.value===`>`)var p=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);else return}}}else if(a===r&&t.value===`/>`&&(o--,o<0))var d=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+2),f=d,p=f,u=new i(c.end.row,c.end.column,c.end.row,c.end.column+1)}}while(t&&o>=0);if(s&&u&&d&&p&&c&&f)return{openTag:new i(s.start.row,s.start.column,u.end.row,u.end.column),closeTag:new i(d.start.row,d.start.column,p.end.row,p.end.column),openTagName:c,closeTagName:f}},this.$findOpeningTag=function(e,t){var n=e.getCurrentToken(),r=t.value,a=0,o=e.getCurrentTokenRow(),s=e.getCurrentTokenColumn(),c=s+2,l=new i(o,s,o,c);e.stepForward();var u=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+t.value.length);if(t.type.indexOf(`tag-close`)===-1&&(t=e.stepForward()),!(!t||t.value!==`>`)){var d=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);e.stepBackward(),e.stepBackward();do if(t=n,o=e.getCurrentTokenRow(),s=e.getCurrentTokenColumn(),c=s+t.value.length,n=e.stepBackward(),t){if(t.type.indexOf(`tag-name`)!==-1){if(r===t.value)if(n.value===`<`){if(a++,a>0){var f=new i(o,s,o,c),p=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1);do t=e.stepForward();while(t&&t.value!==`>`);var m=new i(e.getCurrentTokenRow(),e.getCurrentTokenColumn(),e.getCurrentTokenRow(),e.getCurrentTokenColumn()+1)}}else n.value===`</`&&a--}else if(t.value===`/>`){for(var h=0,g=n;g;){if(g.type.indexOf(`tag-name`)!==-1&&g.value===r){a--;break}else if(g.value===`<`)break;g=e.stepBackward(),h++}for(var _=0;_<h;_++)e.stepForward()}}while(n&&a<=0);if(p&&m&&l&&d&&f&&u)return{openTag:new i(p.start.row,p.start.column,m.end.row,m.end.column),closeTag:new i(l.start.row,l.start.column,d.end.row,d.end.column),openTagName:f,closeTagName:u}}}}t.BracketMatch=a}),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/line_widgets`,`ace/document`,`ace/background_tokenizer`,`ace/search_highlight`,`ace/undomanager`,`ace/edit_session/folding`,`ace/edit_session/bracket_match`],function(e,t,n){var r=e("./lib/oop"),i=e("./lib/lang"),a=e("./bidihandler").BidiHandler,o=e("./config"),s=e("./lib/event_emitter").EventEmitter,c=e("./selection").Selection,l=e("./mode/text").Mode,u=e("./range").Range,d=e("./line_widgets").LineWidgets,f=e("./document").Document,p=e("./background_tokenizer").BackgroundTokenizer,m=e("./search_highlight").SearchHighlight,h=e("./undomanager").UndoManager,g=function(){function e(t,n){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id=`session`+ ++e.$uid,this.$foldData.toString=function(){return this.join(`
191
+ `)},this.$gutterCustomWidgets={},this.bgTokenizer=new p(new l().getTokenizer(),this);var r=this;this.bgTokenizer.on(`update`,function(e){r._signal(`tokenizerUpdate`,e)}),this.on(`changeFold`,this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof t!=`object`||!t.getLine)&&(t=new f(t)),this.setDocument(t),this.selection=new c(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on(`changeSelection`,this.$onSelectionChange),this.selection.on(`changeCursor`,this.$onSelectionChange),this.$bidiHandler=new a(this),o.resetOptions(this),this.setMode(n),o._signal(`session`,this),this.destroyed=!1,this.$initOperationListeners()}return e.prototype.$initOperationListeners=function(){var e=this;this.curOp=null,this.on(`change`,function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.docChanged=!0},!0),this.on(`changeSelection`,function(){e.curOp||(e.startOperation(),e.curOp.selectionBefore=e.$lastSel),e.curOp.selectionChanged=!0},!0),this.$operationResetTimer=i.delayedCall(this.endOperation.bind(this,!0))},e.prototype.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||={},this.$operationResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal(`startOperation`,e)},e.prototype.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1){this.curOp=null,this._signal(`endOperation`,e);return}if(e==1&&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`,e)}},e.prototype.setDocument=function(e){this.doc&&this.doc.off(`change`,this.$onChange),this.doc=e,e.on(`change`,this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},e.prototype.getDocument=function(){return this.doc},Object.defineProperty(e.prototype,"widgetManager",{get:function(){var e=new d(this);return this.widgetManager=e,this.$editor&&e.attach(this.$editor),e},set:function(e){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:e})},enumerable:!1,configurable:!0}),e.prototype.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},e.prototype.$getRowCacheIndex=function(e,t){for(var n=0,r=e.length-1;n<=r;){var i=n+r>>1,a=e[i];if(t>a)n=i+1;else if(t<a)r=i-1;else return i}return n-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(e){var t=e.data;this.$resetRowCache(t.start.row)},e.prototype.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&(t&&t.length&&(this.$undoManager.add({action:`removeFolds`,folds:t},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(e,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(e),this._signal(`change`,e)},e.prototype.onSelectionChange=function(){this._signal(`changeSelection`)},e.prototype.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},e.fromJSON=function(t){typeof t==`string`&&(t=JSON.parse(t));var n=new h;n.$undoStack=t.history.$undoStack,n.$redoStack=t.history.$redoStack,n.mark=t.history.mark,n.$rev=t.history.rev;var r=new e(t.value);return t.folds.forEach(function(e){r.addFold(`...`,u.fromPoints(e.start,e.end))}),r.setAnnotations(t.annotations),r.setBreakpoints(t.breakpoints),r.setMode(t.mode),r.setScrollLeft(t.scrollLeft),r.setScrollTop(t.scrollTop),r.setUndoManager(n),r.selection.fromJSON(t.selection),r},e.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(e){return e.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(e){return this.bgTokenizer.getState(e)},e.prototype.getTokens=function(e){return this.bgTokenizer.getTokens(e)},e.prototype.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null){var a=n.length-1;i=this.getLine(e).length}else for(var a=0;a<n.length&&(i+=n[a].value.length,!(i>=t));a++);return r=n[a],r?(r.index=a,r.start=i-r.value.length,r):null},e.prototype.setUndoManager=function(e){if(this.$undoManager=e,this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;e.addSession(this),this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.mergeUndoDeltas=!1},this.$informUndoManager=i.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()?i.stringRepeat(` `,this.getTabSize()):` `},e.prototype.setUseSoftTabs=function(e){this.setOption(`useSoftTabs`,e)},e.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},e.prototype.setTabSize=function(e){this.setOption(`tabSize`,e)},e.prototype.getTabSize=function(){return this.$tabSize},e.prototype.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},e.prototype.setNavigateWithinSoftTabs=function(e){this.setOption(`navigateWithinSoftTabs`,e)},e.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},e.prototype.setOverwrite=function(e){this.setOption(`overwrite`,e)},e.prototype.getOverwrite=function(){return this.$overwrite},e.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},e.prototype.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=``),this.$decorations[e]+=` `+t,this._signal(`changeBreakpoint`,{})},e.prototype.removeGutterCustomWidget=function(e){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(e)},e.prototype.addGutterCustomWidget=function(e,t){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||``).replace(` `+t,``),this._signal(`changeBreakpoint`,{})},e.prototype.getBreakpoints=function(){return this.$breakpoints},e.prototype.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]=`ace_breakpoint`;this._signal(`changeBreakpoint`,{})},e.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal(`changeBreakpoint`,{})},e.prototype.setBreakpoint=function(e,t){t===void 0&&(t=`ace_breakpoint`),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal(`changeBreakpoint`,{})},e.prototype.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal(`changeBreakpoint`,{})},e.prototype.addMarker=function(e,t,n,r){var i=this.$markerId++,a={range:e,type:n||`line`,renderer:typeof n==`function`?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=a,this._signal(`changeFrontMarker`)):(this.$backMarkers[i]=a,this._signal(`changeBackMarker`)),i},e.prototype.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal(`changeFrontMarker`)):(this.$backMarkers[n]=e,this._signal(`changeBackMarker`)),e}},e.prototype.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var n=t.inFront?this.$frontMarkers:this.$backMarkers;delete n[e],this._signal(t.inFront?`changeFrontMarker`:`changeBackMarker`)}},e.prototype.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},e.prototype.highlight=function(e){if(!this.$searchHighlight){var t=new m(null,`ace_selected-word`,`text`);this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},e.prototype.highlightLines=function(e,t,n,r){typeof t!=`number`&&(n=t,t=e),n||=`ace_step`;var i=new u(e,0,t,1/0);return i.id=this.addMarker(i,n,`fullLine`,r),i},e.prototype.setAnnotations=function(e){this.$annotations=e,this._signal(`changeAnnotation`,{})},e.prototype.getAnnotations=function(){return this.$annotations||[]},e.prototype.clearAnnotations=function(){this.setAnnotations([])},e.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine=`
192
+ `},e.prototype.getWordRange=function(e,t){var n=this.getLine(e),r=!1;if(t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||=!!n.charAt(t).match(this.tokenRe),r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var a=t;if(a>0){do a--;while(a>=0&&n.charAt(a).match(i));a++}for(var o=t;o<n.length&&n.charAt(o).match(i);)o++;return new u(e,a,e,o)},e.prototype.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),r=this.getLine(n.end.row);r.charAt(n.end.column).match(/[ \t]/);)n.end.column+=1;return n},e.prototype.setNewLineMode=function(e){this.doc.setNewLineMode(e)},e.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},e.prototype.setUseWorker=function(e){this.setOption(`useWorker`,e)},e.prototype.getUseWorker=function(){return this.$useWorker},e.prototype.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal(`tokenizerUpdate`,e)},e.prototype.setMode=function(e,t){if(e&&typeof e==`object`){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||`ace/mode/text`;if(this.$modes[`ace/mode/text`]||(this.$modes[`ace/mode/text`]=new l),this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,o.loadModule([`mode`,r],function(e){if(!this.destroyed){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}}.bind(this)),this.$mode||this.$onChangeMode(this.$modes[`ace/mode/text`],!0)},e.prototype.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){var n=this.$mode;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var r=e.getTokenizer();if(r.on!==void 0){var i=this.onReloadTokenizer.bind(this);r.on(`update`,i)}this.bgTokenizer.setTokenizer(r),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit(`changeMode`,{oldMode:n,mode:e}))}},e.prototype.$stopWorker=function(){this.$worker&&=(this.$worker.terminate(),null)},e.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){o.warn(`Could not load worker`,e),this.$worker=null}},e.prototype.getMode=function(){return this.$mode},e.prototype.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal(`changeScrollTop`,e))},e.prototype.getScrollTop=function(){return this.$scrollTop},e.prototype.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal(`changeScrollLeft`,e))},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 e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},e.prototype.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,a=this.$foldData[i],o=a?a.start.row:1/0,s=t.length,c=0;c<s;c++){if(c>o){if(c=a.end.row+1,c>=s)break;a=this.$foldData[i++],o=a?a.start.row:1/0}n[c]??(n[c]=this.$getStringScreenWidth(t[c])[0]),n[c]>r&&(r=n[c])}this.screenWidth=r}},e.prototype.getLine=function(e){return this.doc.getLine(e)},e.prototype.getLines=function(e,t){return this.doc.getLines(e,t)},e.prototype.getLength=function(){return this.doc.getLength()},e.prototype.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},e.prototype.insert=function(e,t){return this.doc.insert(e,t)},e.prototype.remove=function(e){return this.doc.remove(e)},e.prototype.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},e.prototype.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=e.length-1;n!=-1;n--){var r=e[n];r.action==`insert`||r.action==`remove`?this.doc.revertDelta(r):r.folds&&this.addFolds(r.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},e.prototype.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=0;n<e.length;n++){var r=e[n];(r.action==`insert`||r.action==`remove`)&&this.doc.$safeApplyDelta(r)}!t&&this.$undoSelect&&(e.selectionAfter?this.selection.fromJSON(e.selectionAfter):this.selection.setRange(this.$getUndoSelection(e,!1))),this.$fromUndo=!1}},e.prototype.setUndoSelect=function(e){this.$undoSelect=e},e.prototype.$getUndoSelection=function(e,t){function n(e){return t?e.action!==`insert`:e.action===`insert`}for(var r,i,a=0;a<e.length;a++){var o=e[a];if(o.start){if(!r){r=n(o)?u.fromPoints(o.start,o.end):u.fromPoints(o.start,o.start);continue}n(o)?(i=o.start,r.compare(i.row,i.column)==-1&&r.setStart(i),i=o.end,r.compare(i.row,i.column)==1&&r.setEnd(i)):(i=o.start,r.compare(i.row,i.column)==-1&&(r=u.fromPoints(o.start,o.start)))}}return r},e.prototype.replace=function(e,t){return this.doc.replace(e,t)},e.prototype.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),a=u.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,s=o?-e.end.column:e.start.column-e.end.column;s&&(a.start.row==e.end.row&&a.start.column>e.end.column&&(a.start.column+=s),a.end.row==e.end.row&&a.end.column>e.end.column&&(a.end.column+=s)),o&&a.start.row>=e.end.row&&(a.start.row+=o,a.end.row+=o)}if(a.end=this.insert(a.start,r),i.length){var c=e.start,l=a.start,o=l.row-c.row,s=l.column-c.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==c.row&&(e.start.column+=s),e.end.row==c.row&&(e.end.column+=s),e.start.row+=o,e.end.row+=o,e}))}return a},e.prototype.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},e.prototype.outdentRows=function(e){for(var t=e.collapseRows(),n=new u(0,0,0,0),r=this.getTabSize(),i=t.start.row;i<=t.end.row;++i){var a=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r&&a.charAt(o)==` `;++o);o<r&&a.charAt(o)==` `?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},e.prototype.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var a=new u(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(a).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),s=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,s),o.length&&this.addFolds(o),i},e.prototype.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},e.prototype.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},e.prototype.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},e.prototype.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},e.prototype.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},e.prototype.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},e.prototype.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},e.prototype.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){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(e,t){(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)&&(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal(`changeWrapMode`))},e.prototype.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal(`changeWrapLimit`)),!0):!1},e.prototype.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},e.prototype.getWrapLimit=function(){return this.$wrapLimit},e.prototype.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},e.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},e.prototype.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,a=r.row,o=i.row,s=o-a,c=null;if(this.$updating=!0,s!=0)if(n===`remove`){this[t?`$wrapData`:`$rowLengthCache`].splice(a,s);var l=this.$foldData;c=this.getFoldsInRange(e),this.removeFolds(c);var u=this.getFoldLine(i.row),d=0;if(u){u.addRemoveChars(i.row,i.column,r.column-i.column),u.shiftRow(-s);var f=this.getFoldLine(a);f&&f!==u&&(f.merge(u),u=f),d=l.indexOf(u)+1}for(;d<l.length;d++){var u=l[d];u.start.row>=i.row&&u.shiftRow(-s)}o=a}else{var p=Array(s);p.unshift(a,0);var m=t?this.$wrapData:this.$rowLengthCache;m.splice.apply(m,p);var l=this.$foldData,u=this.getFoldLine(a),d=0;if(u){var h=u.range.compareInside(r.row,r.column);h==0?(u=u.split(r.row,r.column),u&&(u.shiftRow(s),u.addRemoveChars(o,0,i.column-r.column))):h==-1&&(u.addRemoveChars(a,0,i.column-r.column),u.shiftRow(s)),d=l.indexOf(u)+1}for(;d<l.length;d++){var u=l[d];u.start.row>=a&&u.shiftRow(s)}}else{s=Math.abs(e.start.column-e.end.column),n===`remove`&&(c=this.getFoldsInRange(e),this.removeFolds(c),s=-s);var u=this.getFoldLine(a);u&&u.addRemoveChars(a,r.column,s)}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(a,o):this.$updateRowLengthCache(a,o),c},e.prototype.$updateRowLengthCache=function(e,t){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},e.prototype.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,a=this.$wrapLimit,o,s,c=e;for(t=Math.min(t,n.length-1);c<=t;)s=this.getFoldLine(c,s),s?(o=[],s.walk(function(e,t,r,i){var a;if(e!=null){a=this.$getDisplayTokens(e,o.length),a[0]=y;for(var s=1;s<a.length;s++)a[s]=b}else a=this.$getDisplayTokens(n[t].substring(i,r),o.length);o=o.concat(a)}.bind(this),s.end.row,n[s.end.row].length+1),i[s.start.row]=this.$computeWrapSplits(o,a,r),c=s.end.row+1):(o=this.$getDisplayTokens(n[c]),i[c]=this.$computeWrapSplits(o,a,r),c++)},e.prototype.$computeWrapSplits=function(e,t,n){if(e.length==0)return[];var r=[],i=e.length,a=0,o=0,s=this.$wrapAsCode,c=this.$indentedSoftWrap,l=t<=Math.max(2*n,8)||c===!1?0:Math.floor(t/2);function u(){var t=0;if(l===0)return t;if(c)for(var r=0;r<e.length;r++){var i=e[r];if(i==S)t+=1;else if(i==C)t+=n;else if(i==w)continue;else break}return s&&c!==!1&&(t+=n),Math.min(t,l)}function d(t){for(var n=t-a,i=a;i<t;i++){var s=e[i];(s===12||s===2)&&--n}r.length||(f=u(),r.indent=f),o+=n,r.push(o),a=t}for(var f=0;i-a>t-f;){var p=a+t-f;if(e[p-1]>=S&&e[p]>=S){d(p);continue}if(e[p]==y||e[p]==b){for(;p!=a-1&&e[p]!=y;p--);if(p>a){d(p);continue}for(p=a+t;p<e.length&&e[p]==b;p++);if(p==e.length)break;d(p);continue}for(var m=Math.max(p-(t-(t>>2)),a-1);p>m&&e[p]<y;)p--;if(s){for(;p>m&&e[p]<y;)p--;for(;p>m&&e[p]==x;)p--}else for(;p>m&&e[p]<S;)p--;if(p>m){d(++p);continue}p=a+t,e[p]==v&&p--,d(p-f)}return r},e.prototype.$getDisplayTokens=function(e,t){var n=[],r;t||=0;for(var i=0;i<e.length;i++){var a=e.charCodeAt(i);if(a==9){r=this.getScreenTabSize(n.length+t),n.push(C);for(var o=1;o<r;o++)n.push(w)}else a==32?n.push(S):a>39&&a<48||a>57&&a<64?n.push(x):a>=4352&&T(a)?n.push(_,v):n.push(_)}return n},e.prototype.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t??=1/0,n||=0;var r,i;for(i=0;i<e.length&&(r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&T(r)?n+=2:n+=1,!(n>t));i++);return[n,i]},e.prototype.getRowLength=function(e){var t=1;return this.lineWidgets&&(t+=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0),!this.$useWrapMode||!this.$wrapData[e]?t:this.$wrapData[e].length+t},e.prototype.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},e.prototype.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}else return 0},e.prototype.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},e.prototype.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},e.prototype.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},e.prototype.getRowSplitData=function(e){if(this.$useWrapMode)return this.$wrapData[e]},e.prototype.getScreenTabSize=function(e){return this.$tabSize-(e%this.$tabSize|0)},e.prototype.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},e.prototype.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},e.prototype.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,i=0,a=0,o,s=0,c=0,l=this.$screenRowCache,u=this.$getRowCacheIndex(l,e),d=l.length;if(d&&u>=0)var s=l[u],i=this.$docRowCache[u],f=e>l[d-1];else var f=!d;for(var p=this.getLength()-1,m=this.getNextFoldLine(i),h=m?m.start.row:1/0;s<=e&&(c=this.getRowLength(i),!(s+c>e||i>=p));)s+=c,i++,i>h&&(i=m.end.row+1,m=this.getNextFoldLine(i,m),h=m?m.start.row:1/0),f&&(this.$docRowCache.push(i),this.$screenRowCache.push(s));if(m&&m.start.row<=i)r=this.getFoldDisplayLine(m),i=m.start.row;else if(s+c<=e||i>p)return{row:p,column:this.getLine(p).length};else r=this.getLine(i),m=null;var g=0,_=Math.floor(e-s);if(this.$useWrapMode){var v=this.$wrapData[i];v&&(o=v[_],_>0&&v.length&&(g=v.indent,a=v[_-1]||v[v.length-1],r=r.substring(a)))}return n!==void 0&&this.$bidiHandler.isBidiRow(s+_,i,_)&&(t=this.$bidiHandler.offsetToCol(n)),a+=this.$getStringScreenWidth(r,t-g)[1],this.$useWrapMode&&a>=o&&(a=o-1),m?m.idxToPosition(a):{row:i,column:a}},e.prototype.documentToScreenPosition=function(e,t){if(t===void 0)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,a=null;a=this.getFoldAt(e,t,1),a&&(e=a.start.row,t=a.start.column);var o,s=0,c=this.$docRowCache,l=this.$getRowCacheIndex(c,e),u=c.length;if(u&&l>=0)var s=c[l],r=this.$screenRowCache[l],d=e>c[u-1];else var d=!u;for(var f=this.getNextFoldLine(s),p=f?f.start.row:1/0;s<e;){if(s>=p){if(o=f.end.row+1,o>e)break;f=this.getNextFoldLine(o,f),p=f?f.start.row:1/0}else o=s+1;r+=this.getRowLength(s),s=o,d&&(this.$docRowCache.push(s),this.$screenRowCache.push(r))}var m=``;f&&s>=p?(m=this.getFoldDisplayLine(f,e,t),i=f.start.row):(m=this.getLine(e).substring(0,t),i=e);var h=0;if(this.$useWrapMode){var g=this.$wrapData[i];if(g){for(var _=0;m.length>=g[_];)r++,_++;m=m.substring(g[_-1]||0,m.length),h=_>0?g.indent:0}}return this.lineWidgets&&this.lineWidgets[s]&&this.lineWidgets[s].rowsAbove&&(r+=this.lineWidgets[s].rowsAbove),{row:r,column:h+this.$getStringScreenWidth(m)[0]}},e.prototype.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},e.prototype.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},e.prototype.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var n=this.$wrapData.length,r=0,i=0,t=this.$foldData[i++],a=t?t.start.row:1/0;r<n;){var o=this.$wrapData[r];e+=o?o.length+1:1,r++,r>a&&(r=t.end.row+1,t=this.$foldData[i++],a=t?t.start.row:1/0)}else{e=this.getLength();for(var s=this.$foldData,i=0;i<s.length;i++)t=s[i],e-=t.end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},e.prototype.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||=1/0,r||=0;var i,a;for(a=0;a<t.length&&(i=t.charAt(a),i===` `?r+=this.getScreenTabSize(r):r+=e.getCharacterWidth(i),!(r>n));a++);return[r,a]})},e.prototype.getPrecedingCharacter=function(){var e=this.selection.getCursor();return e.column===0?e.row===0?``:this.doc.getNewLineCharacter():this.getLine(e.row)[e.column-1]},e.prototype.destroy=function(){this.destroyed||=(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),!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}();g.$uid=0,g.prototype.$modes=o.$modes,g.prototype.getValue=g.prototype.toString,g.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},g.prototype.$overwrite=!1,g.prototype.$mode=null,g.prototype.$modeId=null,g.prototype.$scrollTop=0,g.prototype.$scrollLeft=0,g.prototype.$wrapLimit=80,g.prototype.$useWrapMode=!1,g.prototype.$wrapLimitRange={min:null,max:null},g.prototype.lineWidgets=null,g.prototype.isFullWidth=T,r.implement(g.prototype,s);var _=1,v=2,y=3,b=4,x=9,S=10,C=11,w=12;function T(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}e("./edit_session/folding").Folding.call(g.prototype),e("./edit_session/bracket_match").BracketMatch.call(g.prototype),o.defineOptions(g.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 t=typeof e==`number`?e:null;this.setWrapLimitRange(t,t),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}}),t.EditSession=g}),ace.define(`ace/search`,[`require`,`exports`,`module`,`ace/lib/lang`,`ace/lib/oop`,`ace/range`],function(e,t,n){var r=e("./lib/lang"),i=e("./lib/oop"),a=e("./range").Range,o=function(){function e(){this.$options={}}return e.prototype.set=function(e){return i.mixin(this.$options,e),this},e.prototype.getOptions=function(){return r.copyObject(this.$options)},e.prototype.setOptions=function(e){this.$options=e},e.prototype.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i,o){return r=new a(e,n,i,o),n==o&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start)?(r=null,!1):!0}),r},e.prototype.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],s=t.re;if(t.$isMultiLine){var c=s.length,l=i.length-c,u;outer:for(var d=s.offset||0;d<=l;d++){for(var f=0;f<c;f++)if(i[d+f].search(s[f])==-1)continue outer;var p=i[d],m=i[d+c-1],h=p.length-p.match(s[0])[0].length,g=m.match(s[c-1])[0].length;u&&u.end.row===d&&u.end.column>h||(o.push(u=new a(d,h,d+c-1,g)),c>2&&(d=d+c-2))}}else for(var _,v=0;v<i.length;v++)if(this.$isMultilineSearch(t)){var y=i.length-1;if(_=this.$multiLineForward(e,s,v,y),_){var b=_.endRow<=y?_.endRow-1:y;b>v&&(v=b),o.push(new a(_.startRow,_.startCol,_.endRow,_.endCol))}}else{_=r.getMatchOffsets(i[v],s);for(var f=0;f<_.length;f++){var x=_[f];o.push(new a(v,x.offset,v,x.offset+x.length))}}if(n){for(var S=n.start.column,C=n.end.column,v=0,f=o.length-1;v<f&&o[v].start.column<S&&o[v].start.row==0;)v++;for(var w=n.end.row-n.start.row;v<f&&o[f].end.column>C&&o[f].end.row==w;)f--;for(o=o.slice(v,f+1),v=0,f=o.length;v<f;v++)o[v].start.row+=n.start.row,o[v].end.row+=n.start.row}return o},e.prototype.parseReplaceString=function(e){for(var t={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},n=``,r=0,i=e.length;r<i;r++){var a=e.charCodeAt(r);if(a===t.Backslash){if(r++,r>=i){n+=`\\`;break}switch(e.charCodeAt(r)){case t.Backslash:n+=`\\`;break;case t.n:n+=`
193
+ `;break;case t.t:n+=` `;break}continue}if(a===t.DollarSign){if(r++,r>=i){n+=`$`;break}var o=e.charCodeAt(r);if(o===t.DollarSign){n+=`$$`;continue}if(o===t.Digit0||o===t.Ampersand){n+=`$&`;continue}if(t.Digit1<=o&&o<=t.Digit9){n+=`$`+e[r];continue}}n+=e[r]}return n||e},e.prototype.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(r){var i=this.$isMultilineSearch(n);i&&(e=e.replace(/\r\n|\r|\n/g,`
194
+ `));var a=r.exec(e);if(!a||!i&&a[0].length!=e.length)return null;if(t=n.regExp?this.parseReplaceString(t):t.replace(/\$/g,`$$$$`),t=e.replace(r,t),n.preserveCase){t=t.split(``);for(var o=Math.min(e.length,e.length);o--;){var s=e[o];s&&s.toLowerCase()!=s?t[o]=t[o].toUpperCase():t[o]=t[o].toLowerCase()}t=t.join(``)}return t}},e.prototype.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n));var i=e.caseSensitive?`gm`:`gmi`;try{new RegExp(n,`u`),e.$supportsUnicodeFlag=!0,i+=`u`}catch{e.$supportsUnicodeFlag=!1}if(e.wholeWord&&(n=s(n,e)),e.$isMultiLine=!t&&/[\n\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var a=new RegExp(n,i)}catch{a=!1}return e.re=a},e.prototype.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\r\n|\r|\n/g,`$
195
+ ^`).split(`
196
+ `),r=[],i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch{return!1}return r},e.prototype.$isMultilineSearch=function(e){return e.re&&/\\r\\n|\\r|\\n/.test(e.re.source)&&e.regExp&&!e.$isMultiLine},e.prototype.$multiLineForward=function(e,t,n,r){for(var i,a=l(e,n),o=n;o<=r;){for(var s=0;s<a&&!(o>r);s++){var c=e.getLine(o++);i=i==null?c:i+`
197
+ `+c}var u=t.exec(i);if(t.lastIndex=0,u){var d=i.slice(0,u.index).split(`
198
+ `),f=u[0].split(`
199
+ `),p=n+d.length-1,m=d[d.length-1].length;return{startRow:p,startCol:m,endRow:p+f.length-1,endCol:f.length==1?m+f[0].length:f[f.length-1].length}}}return null},e.prototype.$multiLineBackward=function(e,t,n,r,i){for(var a,o=l(e,r),s=e.getLine(r).length-n,u=r;u>=i;){for(var d=0;d<o&&u>=i;d++){var f=e.getLine(u--);a=a==null?f:f+`
200
+ `+a}var p=c(a,t,s);if(p){var m=a.slice(0,p.index).split(`
201
+ `),h=p[0].split(`
202
+ `),g=u+m.length,_=m[m.length-1].length;return{startRow:g,startCol:_,endRow:g+h.length-1,endCol:h.length==1?_+h[0].length:h[h.length-1].length}}}return null},e.prototype.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i=this.$isMultilineSearch(t),a=this.$multiLineForward,o=this.$multiLineBackward,s=t.backwards==1,c=t.skipCurrent!=0,l=n.unicode,u=t.range,d=t.start;d||=u?u[s?`end`:`start`]:e.selection.getRange(),d.start&&(d=d[c==s?`start`:`end`]);var f=u?u.start.row:0,p=u?u.end.row:e.getLength()-1;if(s)var m=function(e){var n=d.row;if(!g(n,d.column,e)){for(n--;n>=f;n--)if(g(n,Number.MAX_VALUE,e))return;if(t.wrap!=0){for(n=p,f=d.row;n>=f;n--)if(g(n,Number.MAX_VALUE,e))return}}};else var m=function(e){var n=d.row;if(!g(n,d.column,e)){for(n+=1;n<=p;n++)if(g(n,0,e))return;if(t.wrap!=0){for(n=f,p=d.row;n<=p;n++)if(g(n,0,e))return}}};if(t.$isMultiLine)var h=n.length,g=function(t,r,i){var a=s?t-h+1:t;if(!(a<0||a+h>e.getLength())){var o=e.getLine(a),c=o.search(n[0]);if(!(!s&&c<r||c===-1)){for(var l=1;l<h;l++)if(o=e.getLine(a+l),o.search(n[l])==-1)return;var u=o.match(n[h-1])[0].length;if(!(s&&u>r)&&i(a,c,a+h-1,u))return!0}}};else if(s)var g=function(t,a,s){if(i){var c=o(e,n,a,t,f);if(!c)return!1;if(s(c.startRow,c.startCol,c.endRow,c.endCol))return!0}else{var u=e.getLine(t),d=[],p,m=0;for(n.lastIndex=0;p=n.exec(u);){var h=p[0].length;if(m=p.index,!h){if(m>=u.length)break;n.lastIndex=m+=r.skipEmptyMatch(u,m,l)}if(p.index+h>a)break;d.push(p.index,h)}for(var g=d.length-1;g>=0;g-=2){var _=d[g-1],h=d[g];if(s(t,_,t,_+h))return!0}}};else var g=function(t,o,s){if(n.lastIndex=o,i){var c=a(e,n,t,p);if(c){var u=c.endRow<=p?c.endRow-1:p;u>t&&(t=u)}if(!c)return!1;if(s(c.startRow,c.startCol,c.endRow,c.endCol))return!0}else for(var d=e.getLine(t),f,m;m=n.exec(d);){var h=m[0].length;if(f=m.index,s(t,f,t,f+h))return!0;if(!h&&(n.lastIndex=f+=r.skipEmptyMatch(d,f,l),f>=d.length))return!1}};return{forEach:m}},e}();function s(e,t){var n=r.supportsLookbehind();function i(e,r){return r===void 0&&(r=!0),(n&&t.$supportsUnicodeFlag?RegExp(`[\\p{L}\\p{N}_]`,`u`):RegExp(`\\w`)).test(e)||t.regExp?n&&t.$supportsUnicodeFlag?r?`(?<=^|[^\\p{L}\\p{N}_])`:`(?=[^\\p{L}\\p{N}_]|$)`:`\\b`:``}var a=Array.from(e),o=a[0],s=a[a.length-1];return i(o)+e+i(s,!1)}function c(e,t,n){for(var r=null,i=0;i<=e.length;){t.lastIndex=i;var a=t.exec(e);if(!a)break;var o=a.index+a[0].length;if(o>e.length-n)break;(!r||o>r.index+r[0].length)&&(r=a),i=a.index+1}return r}function l(e,t){var n=5e3,r={row:t,column:0},i=e.doc.positionToIndex(r)+n;return e.doc.indexToPosition(i).row+1}t.Search=o}),ace.define(`ace/keyboard/hash_handler`,[`require`,`exports`,`module`,`ace/lib/keys`,`ace/lib/useragent`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=e("../lib/keys"),a=e("../lib/useragent"),o=i.KEY_MODS,s=function(){function e(e,t){this.$init(e,t,!1)}return e.prototype.$init=function(e,t,n){this.platform=t||(a.isMac?`mac`:`win`),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=n},e.prototype.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},e.prototype.removeCommand=function(e,t){var n=e&&(typeof e==`string`?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var a=r[i];if(a==e)delete r[i];else if(Array.isArray(a)){var o=a.indexOf(e);o!=-1&&(a.splice(o,1),a.length==1&&(r[i]=a[0]))}}},e.prototype.bindKey=function(e,t,n){if(typeof e==`object`&&e&&(n??=e.position,e=e[this.platform]),e){if(typeof t==`function`)return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split(`|`).forEach(function(e){var r=``;if(e.indexOf(` `)!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=o[t.hashId]+t.key;r+=(r?` `:``)+n,this._addCommandToBinding(r,`chainKeys`)},this),r+=` `}var a=this.parseKeys(e),s=o[a.hashId]+a.key;this._addCommandToBinding(r+s,t,n)},this)}},e.prototype._addCommandToBinding=function(e,t,n){var r=this.commandKeyBinding,i;if(!t)delete r[e];else if(!r[e]||this.$singleCommand)r[e]=t;else{Array.isArray(r[e])?(i=r[e].indexOf(t))!=-1&&r[e].splice(i,1):r[e]=[r[e]],typeof n!=`number`&&(n=c(t));var a=r[e];for(i=0;i<a.length;i++){var o=a[i];if(c(o)>n)break}a.splice(i,0,t)}},e.prototype.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(n){if(typeof n==`string`)return this.bindKey(n,t);typeof n==`function`&&(n={exec:n}),typeof n==`object`&&(n.name||=t,this.addCommand(n))}},this)},e.prototype.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},e.prototype.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},e.prototype._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},e.prototype.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),r=i[n];if(i.FUNCTION_KEYS[r])n=i.FUNCTION_KEYS[r].toLowerCase();else if(!t.length)return{key:n,hashId:-1};else if(t.length==1&&t[0]==`shift`)return{key:n.toUpperCase(),hashId:-1};for(var a=0,o=t.length;o--;){var s=i.KEY_MODS[t[o]];if(s==null)return typeof console<`u`&&console.error(`invalid modifier `+t[o]+` in `+e),!1;a|=s}return{key:n,hashId:a}},e.prototype.findKeyCommand=function(e,t){var n=o[e]+t;return this.commandKeyBinding[n]},e.prototype.handleKeyboard=function(e,t,n,r){if(!(r<0)){var i=o[t]+n,a=this.commandKeyBinding[i];return e.$keyChain&&(e.$keyChain+=` `+i,a=this.commandKeyBinding[e.$keyChain]||a),a&&(a==`chainKeys`||a[a.length-1]==`chainKeys`)?(e.$keyChain=e.$keyChain||i,{command:`null`}):(e.$keyChain&&((!t||t==4)&&n.length==1?e.$keyChain=e.$keyChain.slice(0,-i.length-1):(t==-1||r>0)&&(e.$keyChain=``)),{command:a})}},e.prototype.getStatusText=function(e,t){return t.$keyChain||``},e}();function c(e){return typeof e==`object`&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}var l=function(e){r(t,e);function t(t,n){var r=e.call(this,t,n)||this;return r.$singleCommand=!0,r}return t}(s);l.call=function(e,t,n){s.prototype.$init.call(e,t,n,!0)},s.call=function(e,t,n){s.prototype.$init.call(e,t,n,!1)},t.HashHandler=l,t.MultiHashHandler=s}),ace.define(`ace/commands/command_manager`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/keyboard/hash_handler`,`ace/lib/event_emitter`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=e("../lib/oop"),a=e("../keyboard/hash_handler").MultiHashHandler,o=e("../lib/event_emitter").EventEmitter,s=function(e){r(t,e);function t(t,n){var r=e.call(this,n,t)||this;return r.byName=r.commands,r.setDefaultHandler(`exec`,function(e){return e.args?e.command.exec(e.editor,e.args,e.event,!1):e.command.exec(e.editor,{},e.event,!0)}),r}return t.prototype.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e==`string`&&(e=this.commands[e]);var i={editor:t,command:e,args:n};return this.canExecute(e,t)?(i.returnValue=this._emit(`exec`,i),this._signal(`afterExec`,i),i.returnValue!==!1):(this._signal(`commandUnavailable`,i),!1)},t.prototype.canExecute=function(e,t){return typeof e==`string`&&(e=this.commands[e]),!(!e||t&&t.$readOnly&&!e.readOnly||this.$checkCommandState!=0&&e.isAvailable&&!e.isAvailable(t))},t.prototype.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit(`changeStatus`),this.recording?(this.macro.pop(),this.off(`exec`,this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||=function(e){this.macro.push([e.command,e.args])}.bind(this),this.oldMacro=this.macro,this.macro=[],this.on(`exec`,this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(e){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t==`string`?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},t.prototype.trimMacro=function(e){return e.map(function(e){return typeof e[0]!=`string`&&(e[0]=e[0].name),e[1]||(e=e[0]),e})},t}(a);i.implement(s.prototype,o),t.CommandManager=s}),ace.define(`ace/commands/default_commands`,[`require`,`exports`,`module`,`ace/lib/lang`,`ace/config`,`ace/range`],function(e,t,n){var r=e("../lib/lang"),i=e("../config"),a=e("../range").Range;function o(e,t){return{win:e,mac:t}}t.commands=[{name:`showSettingsMenu`,description:`Show settings menu`,bindKey:o(`Ctrl-,`,`Command-,`),exec:function(e){i.loadModule(`ace/ext/settings_menu`,function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:`goToNextError`,description:`Go to next error`,bindKey:o(`Alt-E`,`F4`),exec:function(e){i.loadModule(`ace/ext/error_marker`,function(t){t.showErrorMarker(e,1)})},scrollIntoView:`animate`,readOnly:!0},{name:`goToPreviousError`,description:`Go to previous error`,bindKey:o(`Alt-Shift-E`,`Shift-F4`),exec:function(e){i.loadModule(`ace/ext/error_marker`,function(t){t.showErrorMarker(e,-1)})},scrollIntoView:`animate`,readOnly:!0},{name:`selectall`,description:`Select all`,bindKey:o(`Ctrl-A`,`Command-A`),exec:function(e){e.selectAll()},readOnly:!0},{name:`centerselection`,description:`Center selection`,bindKey:o(null,`Ctrl-L`),exec:function(e){e.centerSelection()},readOnly:!0},{name:`gotoline`,description:`Go to line...`,bindKey:o(`Ctrl-L`,`Command-L`),exec:function(e,t){typeof t==`number`&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:`gotoLine`})},readOnly:!0},{name:`fold`,bindKey:o(`Alt-L|Ctrl-F1`,`Command-Alt-L|Command-F1`),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:`forEach`,scrollIntoView:`center`,readOnly:!0},{name:`unfold`,bindKey:o(`Alt-Shift-L|Ctrl-Shift-F1`,`Command-Alt-Shift-L|Command-Shift-F1`),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:`forEach`,scrollIntoView:`center`,readOnly:!0},{name:`toggleFoldWidget`,description:`Toggle fold widget`,bindKey:o(`F2`,`F2`),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:`forEach`,scrollIntoView:`center`,readOnly:!0},{name:`toggleParentFoldWidget`,description:`Toggle parent fold widget`,bindKey:o(`Alt-F2`,`Alt-F2`),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:`forEach`,scrollIntoView:`center`,readOnly:!0},{name:`foldall`,description:`Fold all`,bindKey:o(null,`Ctrl-Command-Option-0`),exec:function(e){e.session.foldAll()},scrollIntoView:`center`,readOnly:!0},{name:`foldAllComments`,description:`Fold all comments`,bindKey:o(null,`Ctrl-Command-Option-0`),exec:function(e){e.session.foldAllComments()},scrollIntoView:`center`,readOnly:!0},{name:`foldOther`,description:`Fold other`,bindKey:o(`Alt-0`,`Command-Option-0`),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:`center`,readOnly:!0},{name:`unfoldall`,description:`Unfold all`,bindKey:o(`Alt-Shift-0`,`Command-Option-Shift-0`),exec:function(e){e.session.unfold()},scrollIntoView:`center`,readOnly:!0},{name:`findnext`,description:`Find next`,bindKey:o(`Ctrl-K`,`Command-G`),exec:function(e){e.findNext()},multiSelectAction:`forEach`,scrollIntoView:`center`,readOnly:!0},{name:`findprevious`,description:`Find previous`,bindKey:o(`Ctrl-Shift-K`,`Command-Shift-G`),exec:function(e){e.findPrevious()},multiSelectAction:`forEach`,scrollIntoView:`center`,readOnly:!0},{name:`selectOrFindNext`,description:`Select or find next`,bindKey:o(`Alt-K`,`Ctrl-G`),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:`selectOrFindPrevious`,description:`Select or find previous`,bindKey:o(`Alt-Shift-K`,`Ctrl-Shift-G`),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:`find`,description:`Find`,bindKey:o(`Ctrl-F`,`Command-F`),exec:function(e){i.loadModule(`ace/ext/searchbox`,function(t){t.Search(e)})},readOnly:!0},{name:`overwrite`,description:`Overwrite`,bindKey:`Insert`,exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:`selecttostart`,description:`Select to start`,bindKey:o(`Ctrl-Shift-Home`,`Command-Shift-Home|Command-Shift-Up`),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:`forEach`,readOnly:!0,scrollIntoView:`animate`,aceCommandGroup:`fileJump`},{name:`gotostart`,description:`Go to start`,bindKey:o(`Ctrl-Home`,`Command-Home|Command-Up`),exec:function(e){e.navigateFileStart()},multiSelectAction:`forEach`,readOnly:!0,scrollIntoView:`animate`,aceCommandGroup:`fileJump`},{name:`selectup`,description:`Select up`,bindKey:o(`Shift-Up`,`Shift-Up|Ctrl-Shift-P`),exec:function(e){e.getSelection().selectUp()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`golineup`,description:`Go line up`,bindKey:o(`Up`,`Up|Ctrl-P`),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selecttoend`,description:`Select to end`,bindKey:o(`Ctrl-Shift-End`,`Command-Shift-End|Command-Shift-Down`),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:`forEach`,readOnly:!0,scrollIntoView:`animate`,aceCommandGroup:`fileJump`},{name:`gotoend`,description:`Go to end`,bindKey:o(`Ctrl-End`,`Command-End|Command-Down`),exec:function(e){e.navigateFileEnd()},multiSelectAction:`forEach`,readOnly:!0,scrollIntoView:`animate`,aceCommandGroup:`fileJump`},{name:`selectdown`,description:`Select down`,bindKey:o(`Shift-Down`,`Shift-Down|Ctrl-Shift-N`),exec:function(e){e.getSelection().selectDown()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`golinedown`,description:`Go line down`,bindKey:o(`Down`,`Down|Ctrl-N`),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selectwordleft`,description:`Select word left`,bindKey:o(`Ctrl-Shift-Left`,`Option-Shift-Left`),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`gotowordleft`,description:`Go to word left`,bindKey:o(`Ctrl-Left`,`Option-Left`),exec:function(e){e.navigateWordLeft()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selecttolinestart`,description:`Select to line start`,bindKey:o(`Alt-Shift-Left`,`Command-Shift-Left|Ctrl-Shift-A`),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`gotolinestart`,description:`Go to line start`,bindKey:o(`Alt-Left|Home`,`Command-Left|Home|Ctrl-A`),exec:function(e){e.navigateLineStart()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selectleft`,description:`Select left`,bindKey:o(`Shift-Left`,`Shift-Left|Ctrl-Shift-B`),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`gotoleft`,description:`Go to left`,bindKey:o(`Left`,`Left|Ctrl-B`),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selectwordright`,description:`Select word right`,bindKey:o(`Ctrl-Shift-Right`,`Option-Shift-Right`),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`gotowordright`,description:`Go to word right`,bindKey:o(`Ctrl-Right`,`Option-Right`),exec:function(e){e.navigateWordRight()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selecttolineend`,description:`Select to line end`,bindKey:o(`Alt-Shift-Right`,`Command-Shift-Right|Shift-End|Ctrl-Shift-E`),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`gotolineend`,description:`Go to line end`,bindKey:o(`Alt-Right|End`,`Command-Right|End|Ctrl-E`),exec:function(e){e.navigateLineEnd()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selectright`,description:`Select right`,bindKey:o(`Shift-Right`,`Shift-Right`),exec:function(e){e.getSelection().selectRight()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`gotoright`,description:`Go to right`,bindKey:o(`Right`,`Right|Ctrl-F`),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selectpagedown`,description:`Select page down`,bindKey:`Shift-PageDown`,exec:function(e){e.selectPageDown()},readOnly:!0},{name:`pagedown`,description:`Page down`,bindKey:o(null,`Option-PageDown`),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:`gotopagedown`,description:`Go to page down`,bindKey:o(`PageDown`,`PageDown|Ctrl-V`),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:`selectpageup`,description:`Select page up`,bindKey:`Shift-PageUp`,exec:function(e){e.selectPageUp()},readOnly:!0},{name:`pageup`,description:`Page up`,bindKey:o(null,`Option-PageUp`),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:`gotopageup`,description:`Go to page up`,bindKey:`PageUp`,exec:function(e){e.gotoPageUp()},readOnly:!0},{name:`scrollup`,description:`Scroll up`,bindKey:o(`Ctrl-Up`,null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:`scrolldown`,description:`Scroll down`,bindKey:o(`Ctrl-Down`,null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:`selectlinestart`,description:`Select line start`,bindKey:`Shift-Home`,exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`selectlineend`,description:`Select line end`,bindKey:`Shift-End`,exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`togglerecording`,description:`Toggle recording`,bindKey:o(`Ctrl-Alt-E`,`Command-Option-E`),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:`replaymacro`,description:`Replay macro`,bindKey:o(`Ctrl-Shift-E`,`Command-Shift-E`),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:`jumptomatching`,description:`Jump to matching`,bindKey:o(`Ctrl-\\|Ctrl-P`,`Command-\\`),exec:function(e){e.jumpToMatching()},multiSelectAction:`forEach`,scrollIntoView:`animate`,readOnly:!0},{name:`selecttomatching`,description:`Select to matching`,bindKey:o(`Ctrl-Shift-\\|Ctrl-Shift-P`,`Command-Shift-\\`),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:`forEach`,scrollIntoView:`animate`,readOnly:!0},{name:`expandToMatching`,description:`Expand to matching`,bindKey:o(`Ctrl-Shift-M`,`Ctrl-Shift-M`),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:`forEach`,scrollIntoView:`animate`,readOnly:!0},{name:`passKeysToBrowser`,description:`Pass keys to browser`,bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:`copy`,description:`Copy`,exec:function(e){},readOnly:!0},{name:`cut`,description:`Cut`,exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty()?e.selection.getLineRange():e.selection.getRange();e._emit(`cut`,t),t.isEmpty()||e.session.remove(t),e.clearSelection()},scrollIntoView:`cursor`,multiSelectAction:`forEach`},{name:`paste`,description:`Paste`,exec:function(e,t){e.$handlePaste(t)},scrollIntoView:`cursor`},{name:`removeline`,description:`Remove line`,bindKey:o(`Ctrl-D`,`Command-D`),exec:function(e){e.removeLines()},scrollIntoView:`cursor`,multiSelectAction:`forEachLine`},{name:`duplicateSelection`,description:`Duplicate selection`,bindKey:o(`Ctrl-Shift-D`,`Command-Shift-D`),exec:function(e){e.duplicateSelection()},scrollIntoView:`cursor`,multiSelectAction:`forEach`},{name:`sortlines`,description:`Sort lines`,bindKey:o(`Ctrl-Alt-S`,`Command-Alt-S`),exec:function(e){e.sortLines()},scrollIntoView:`selection`,multiSelectAction:`forEachLine`},{name:`togglecomment`,description:`Toggle comment`,bindKey:o(`Ctrl-/`,`Command-/`),exec:function(e){e.toggleCommentLines()},multiSelectAction:`forEachLine`,scrollIntoView:`selectionPart`},{name:`toggleBlockComment`,description:`Toggle block comment`,bindKey:o(`Ctrl-Shift-/`,`Command-Shift-/`),exec:function(e){e.toggleBlockComment()},multiSelectAction:`forEach`,scrollIntoView:`selectionPart`},{name:`modifyNumberUp`,description:`Modify number up`,bindKey:o(`Ctrl-Shift-Up`,`Alt-Shift-Up`),exec:function(e){e.modifyNumber(1)},scrollIntoView:`cursor`,multiSelectAction:`forEach`},{name:`modifyNumberDown`,description:`Modify number down`,bindKey:o(`Ctrl-Shift-Down`,`Alt-Shift-Down`),exec:function(e){e.modifyNumber(-1)},scrollIntoView:`cursor`,multiSelectAction:`forEach`},{name:`replace`,description:`Replace`,bindKey:o(`Ctrl-H`,`Command-Option-F`),exec:function(e){i.loadModule(`ace/ext/searchbox`,function(t){t.Search(e,!0)})}},{name:`undo`,description:`Undo`,bindKey:o(`Ctrl-Z`,`Command-Z`),exec:function(e){e.undo()}},{name:`redo`,description:`Redo`,bindKey:o(`Ctrl-Shift-Z|Ctrl-Y`,`Command-Shift-Z|Command-Y`),exec:function(e){e.redo()}},{name:`copylinesup`,description:`Copy lines up`,bindKey:o(`Alt-Shift-Up`,`Command-Option-Up`),exec:function(e){e.copyLinesUp()},scrollIntoView:`cursor`},{name:`movelinesup`,description:`Move lines up`,bindKey:o(`Alt-Up`,`Option-Up`),exec:function(e){e.moveLinesUp()},scrollIntoView:`cursor`},{name:`copylinesdown`,description:`Copy lines down`,bindKey:o(`Alt-Shift-Down`,`Command-Option-Down`),exec:function(e){e.copyLinesDown()},scrollIntoView:`cursor`},{name:`movelinesdown`,description:`Move lines down`,bindKey:o(`Alt-Down`,`Option-Down`),exec:function(e){e.moveLinesDown()},scrollIntoView:`cursor`},{name:`del`,description:`Delete`,bindKey:o(`Delete`,`Delete|Ctrl-D|Shift-Delete`),exec:function(e){e.remove(`right`)},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`backspace`,description:`Backspace`,bindKey:o(`Shift-Backspace|Backspace`,`Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H`),exec:function(e){e.remove(`left`)},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`cut_or_delete`,description:`Cut or delete`,bindKey:o(`Shift-Delete`,null),exec:function(e){if(e.selection.isEmpty())e.remove(`left`);else return!1},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`removetolinestart`,description:`Remove to line start`,bindKey:o(`Alt-Backspace`,`Command-Backspace`),exec:function(e){e.removeToLineStart()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`removetolineend`,description:`Remove to line end`,bindKey:o(`Alt-Delete`,`Ctrl-K|Command-Delete`),exec:function(e){e.removeToLineEnd()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`removetolinestarthard`,description:`Remove to line start hard`,bindKey:o(`Ctrl-Shift-Backspace`,null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`removetolineendhard`,description:`Remove to line end hard`,bindKey:o(`Ctrl-Shift-Delete`,null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`removewordleft`,description:`Remove word left`,bindKey:o(`Ctrl-Backspace`,`Alt-Backspace|Ctrl-Alt-Backspace`),exec:function(e){e.removeWordLeft()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`removewordright`,description:`Remove word right`,bindKey:o(`Ctrl-Delete`,`Alt-Delete`),exec:function(e){e.removeWordRight()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`outdent`,description:`Outdent`,bindKey:o(`Shift-Tab`,`Shift-Tab`),exec:function(e){e.blockOutdent()},multiSelectAction:`forEach`,scrollIntoView:`selectionPart`},{name:`indent`,description:`Indent`,bindKey:o(`Tab`,`Tab`),exec:function(e){e.indent()},multiSelectAction:`forEach`,scrollIntoView:`selectionPart`},{name:`blockoutdent`,description:`Block outdent`,bindKey:o(`Ctrl-[`,`Ctrl-[`),exec:function(e){e.blockOutdent()},multiSelectAction:`forEachLine`,scrollIntoView:`selectionPart`},{name:`blockindent`,description:`Block indent`,bindKey:o(`Ctrl-]`,`Ctrl-]`),exec:function(e){e.blockIndent()},multiSelectAction:`forEachLine`,scrollIntoView:`selectionPart`},{name:`insertstring`,description:`Insert string`,exec:function(e,t){e.insert(t)},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`inserttext`,description:`Insert text`,exec:function(e,t){e.insert(r.stringRepeat(t.text||``,t.times||1))},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`splitline`,description:`Split line`,bindKey:o(null,`Ctrl-O`),exec:function(e){e.splitLine()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`transposeletters`,description:`Transpose letters`,bindKey:o(`Alt-Shift-X`,`Ctrl-T`),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:`cursor`},{name:`touppercase`,description:`To uppercase`,bindKey:o(`Ctrl-U`,`Ctrl-U`),exec:function(e){e.toUpperCase()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`tolowercase`,description:`To lowercase`,bindKey:o(`Ctrl-Shift-U`,`Ctrl-Shift-U`),exec:function(e){e.toLowerCase()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`autoindent`,description:`Auto Indent`,bindKey:o(null,null),exec:function(e){e.autoIndent()},scrollIntoView:`animate`},{name:`expandtoline`,description:`Expand to line`,bindKey:o(`Ctrl-Shift-L`,`Command-Shift-L`),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:`forEach`,scrollIntoView:`cursor`,readOnly:!0},{name:`openlink`,bindKey:o(`Ctrl+F3`,`F3`),exec:function(e){e.openLink()}},{name:`joinlines`,description:`Join lines`,bindKey:o(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,s=e.session.doc.getTextRange(e.selection.getRange()).replace(/\n\s*/,` `).length,c=e.session.doc.getLine(n.row),l=n.row+1;l<=i.row+1;l++){var u=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));u.length!==0&&(u=` `+u),c+=u}i.row+1<e.session.doc.getLength()-1&&(c+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new a(n.row,0,i.row+2,0),c),s>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+s)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:`forEach`,readOnly:!0},{name:`invertSelection`,description:`Invert selection`,bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row===t&&r[o].end.column===n||i.push(new a(r[o].end.row,r[o].end.column,t,n))),o===0?r[o].start.row===0&&r[o].start.column===0||i.push(new a(0,0,r[o].start.row,r[o].start.column)):i.push(new a(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:`none`},{name:`addLineAfter`,description:`Add new line after the current line`,exec:function(e){e.selection.clearSelection(),e.navigateLineEnd(),e.insert(`
203
+ `)},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`addLineBefore`,description:`Add new line before the current line`,exec:function(e){e.selection.clearSelection();var t=e.getCursorPosition();e.selection.moveTo(t.row-1,Number.MAX_VALUE),e.insert(`
204
+ `),t.row===0&&e.navigateUp()},multiSelectAction:`forEach`,scrollIntoView:`cursor`},{name:`openCommandPallete`,exec:function(e){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),e.prompt({$type:`commands`})},readOnly:!0},{name:`openCommandPalette`,description:`Open command palette`,bindKey:o(`F1`,`F1`),exec:function(e){e.prompt({$type:`commands`})},readOnly:!0},{name:`modeSelect`,description:`Change language mode...`,bindKey:o(null,null),exec:function(e){e.prompt({$type:`modes`})},readOnly:!0}];for(var s=1;s<9;s++)t.commands.push({name:`foldToLevel`+s,description:`Fold To Level `+s,level:s,exec:function(e){e.session.foldToLevel(this.level)},scrollIntoView:`center`,readOnly:!0})}),ace.define(`ace/keyboard/gutter_handler`,[`require`,`exports`,`module`,`ace/lib/keys`],function(e,t,n){var r=e("../lib/keys");t.GutterKeyboardHandler=function(){function e(e){this.editor=e,this.gutterLayer=e.renderer.$gutterLayer,this.element=e.renderer.$gutter,this.lines=e.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=this.editor.$mouseHandler.$tooltip}return e.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))},e.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))},e.prototype.$onGutterKeyDown=function(e){if(this.annotationTooltip.isOpen){e.preventDefault(),e.keyCode===r.escape&&this.annotationTooltip.hide();return}if(e.target===this.element){if(e.keyCode!=r.enter)return;e.preventDefault();var t=this.editor.getCursorPosition().row;this.editor.isRowVisible(t)||this.editor.scrollToLine(t,!0,!0),setTimeout(function(){var e=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldLaneWidget(e),n=this.$findNearestAnnotation(e);if(!(t===null&&n===null))if(this.$findClosestNumber(t,n,e)===t)if(this.activeLane=`fold`,this.activeRowIndex=t,this.$isCustomWidgetVisible(t)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=n,this.activeLane=`annotation`,this.$focusAnnotation(this.activeRowIndex);return}}.bind(this),10);return}this.$handleGutterKeyboardInteraction(e),setTimeout(function(){this.editor._signal(`gutterkeydown`,new i(e,this))}.bind(this),10)},e.prototype.$handleGutterKeyboardInteraction=function(e){if(e.keyCode===r.tab){e.preventDefault();return}if(e.keyCode===r.escape){e.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(e.keyCode===r.up){switch(e.preventDefault(),this.activeLane){case`fold`:this.$moveFoldWidgetUp();break;case`annotation`:this.$moveAnnotationUp();break}return}if(e.keyCode===r.down){switch(e.preventDefault(),this.activeLane){case`fold`:this.$moveFoldWidgetDown();break;case`annotation`:this.$moveAnnotationDown();break}return}if(e.keyCode===r.left){e.preventDefault(),this.$switchLane(`annotation`);return}if(e.keyCode===r.right){e.preventDefault(),this.$switchLane(`fold`);return}if(e.keyCode===r.enter||e.keyCode===r.space){switch(e.preventDefault(),this.activeLane){case`fold`:var t=this.$rowIndexToRow(this.activeRowIndex),n=this.editor.session.$gutterCustomWidgets[t];if(n)n.callbacks&&n.callbacks.onClick&&n.callbacks.onClick(e,t);else if(this.gutterLayer.session.foldWidgets[t]===`start`){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),e),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==t&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(t),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]===`end`)break;return;case`annotation`:this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex)),this.annotationTooltip.$fromKeyboard=!0;break}return}},e.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case`fold`:this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case`annotation`:this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hide()},e.prototype.$isFoldWidgetVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),n=this.$getFoldWidget(e).style.display!==`none`;return t&&n},e.prototype.$isCustomWidgetVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),n=!!this.$getCustomWidget(e);return t&&n},e.prototype.$isAnnotationVisible=function(e){var t=this.editor.isRowFullyVisible(this.$rowIndexToRow(e)),n=this.$getAnnotation(e).style.display!==`none`;return t&&n},e.prototype.$getFoldWidget=function(e){return this.lines.get(e).element.childNodes[1]},e.prototype.$getCustomWidget=function(e){return this.lines.get(e).element.childNodes[3]},e.prototype.$getAnnotation=function(e){return this.lines.get(e).element.childNodes[2]},e.prototype.$findNearestFoldLaneWidget=function(e){if(this.$isCustomWidgetVisible(e)||this.$isFoldWidgetVisible(e))return e;for(var t=0;e-t>0||e+t<this.lines.getLength()-1;){if(t++,e-t>=0&&this.$isCustomWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(e+t))return e+t;if(e-t>=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},e.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;for(var t=0;e-t>0||e+t<this.lines.getLength()-1;){if(t++,e-t>=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},e.prototype.$focusFoldWidget=function(e){if(e!=null){var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},e.prototype.$focusCustomWidget=function(e){if(e!=null){var t=this.$getCustomWidget(e);t&&(t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus())}},e.prototype.$focusAnnotation=function(e){if(e!=null){var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},e.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$blurCustomWidget=function(e){var t=this.$getCustomWidget(e);t&&(t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur())},e.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},e.prototype.$moveFoldWidgetUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},e.prototype.$moveFoldWidgetDown=function(){for(var e=this.activeRowIndex;e<this.lines.getLength()-1;)if(e++,this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},e.prototype.$moveAnnotationUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);return}},e.prototype.$moveAnnotationDown=function(){for(var e=this.activeRowIndex;e<this.lines.getLength()-1;)if(e++,this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);return}},e.prototype.$findClosestNumber=function(e,t,n){return e===null?t:t===null||Math.abs(n-e)<=Math.abs(n-t)?e:t},e.prototype.$switchLane=function(e){switch(e){case`annotation`:if(this.activeLane===`annotation`)break;var t=this.$findNearestAnnotation(this.activeRowIndex);if(t==null)break;this.activeLane=`annotation`,this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=t,this.$focusAnnotation(this.activeRowIndex);break;case`fold`:if(this.activeLane===`fold`)break;var n=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(n===null)break;this.activeLane=`fold`,this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=n,this.$isCustomWidgetVisible(n)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex);break}},e.prototype.$rowIndexToRow=function(e){var t=this.lines.get(e);return t?t.row:null},e.prototype.$rowToRowIndex=function(e){for(var t=0;t<this.lines.getLength();t++)if(this.lines.get(t).row==e)return t;return null},e}();var i=function(){function e(e,t){this.gutterKeyboardHandler=t,this.domEvent=e}return e.prototype.getKey=function(){return r.keyCodeToString(this.domEvent.keyCode)},e.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},e.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane===`annotation`},e.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane===`fold`},e}();t.GutterKeyboardEvent=i}),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/keyboard/gutter_handler`,`ace/config`,`ace/clipboard`,`ace/lib/keys`,`ace/lib/event`,`ace/tooltip`],function(e,t,n){var r=this&&this.__values||function(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)},i=e("./lib/oop"),a=e("./lib/dom"),o=e("./lib/lang"),s=e("./lib/useragent"),c=e("./keyboard/textinput").TextInput,l=e("./mouse/mouse_handler").MouseHandler,u=e("./mouse/fold_handler").FoldHandler,d=e("./keyboard/keybinding").KeyBinding,f=e("./edit_session").EditSession,p=e("./search").Search,m=e("./range").Range,h=e("./lib/event_emitter").EventEmitter,g=e("./commands/command_manager").CommandManager,_=e("./commands/default_commands").commands,v=e("./config"),y=e("./token_iterator").TokenIterator,b=e("./keyboard/gutter_handler").GutterKeyboardHandler,x=e("./config").nls,S=e("./clipboard"),C=e("./lib/keys"),w=e("./lib/event"),T=e("./tooltip").HoverTooltip,E=function(){function e(t,n,r){this.id=`editor`+ ++e.$uid,this.session,this.$toDestroy=[];var i=t.getContainerElement();this.container=i,this.renderer=t,this.commands=new g(s.isMac?`mac`:`win`,_),typeof document==`object`&&(this.textInput=new c(t.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new l(this),new u(this)),this.keyBinding=new d(this),this.$search=new p().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on(`exec`,this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=o.delayedCall(function(){this._signal(`input`,{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on(`change`,function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(n||r&&r.session||new f(``)),v.resetOptions(this),r&&this.setOptions(r),v._signal(`editor`,this)}return e.prototype.$initOperationListeners=function(){this.commands.on(`exec`,this.startOperation.bind(this),!0),this.commands.on(`afterExec`,this.endOperation.bind(this),!0)},e.prototype.startOperation=function(e){this.session.startOperation(e)},e.prototype.endOperation=function(e){this.session.endOperation(e)},e.prototype.onStartOperation=function(e){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,e||(this.previousCommand=null)},e.prototype.onEndOperation=function(e){if(this.curOp&&this.session){if(e&&e.returnValue===!1){this.curOp=null;return}if(this._signal(`beforeEndOperation`),!this.curOp)return;var t=this.curOp.command,n=t&&t.scrollIntoView;if(n){switch(n){case`center-animate`:n=`animate`;case`center`:this.renderer.scrollCursorIntoView(null,.5);break;case`animate`:case`cursor`:this.renderer.scrollCursorIntoView();break;case`selectionPart`:var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:break}n==`animate`&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},e.prototype.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name==`insertstring`){var i=e.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r&&=n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!=`always`&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},e.prototype.setKeyboardHandler=function(e,t){if(e&&typeof e==`string`&&e!=`ace`){this.$keybindingId=e;var n=this;v.loadModule([`keybinding`,e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},e.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},e.prototype.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){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 n=this.session.getSelection();n.off(`changeCursor`,this.$onCursorChange),n.off(`changeSelection`,this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on(`change`,this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on(`changeMode`,this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on(`tokenizerUpdate`,this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on(`changeTabSize`,this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on(`changeWrapLimit`,this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on(`changeWrapMode`,this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.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=e.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(e)),this._signal(`changeSession`,{session:e,oldSession:t}),this.curOp=null,t&&t._signal(`changeEditor`,{oldEditor:this}),t&&(t.$editor=null),e&&e._signal(`changeEditor`,{editor:this}),e&&(e.$editor=this),e&&!e.destroyed&&e.bgTokenizer.scheduleStart()}},e.prototype.getSession=function(){return this.session},e.prototype.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},e.prototype.getValue=function(){return this.session.getValue()},e.prototype.getSelection=function(){return this.selection},e.prototype.resize=function(e){this.renderer.onResize(e)},e.prototype.setTheme=function(e,t){this.renderer.setTheme(e,t)},e.prototype.getTheme=function(){return this.renderer.getTheme()},e.prototype.setStyle=function(e,t){this.renderer.setStyle(e,t)},e.prototype.unsetStyle=function(e){this.renderer.unsetStyle(e)},e.prototype.getFontSize=function(){return this.getOption(`fontSize`)||a.computedStyle(this.container).fontSize},e.prototype.setFontSize=function(e){this.setOption(`fontSize`,e)},e.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!(!t||t.destroyed)){t.$bracketHighlight&&=(t.$bracketHighlight.markerIds.forEach(function(e){t.removeMarker(e)}),null);var n=e.getCursorPosition(),r=e.getKeyboardHandler(),i=r&&r.$getDirectionForHighlight&&r.$getDirectionForHighlight(e),a=t.getMatchingBracketRanges(n,i);if(!a){var o=new y(t,n.row,n.column).getCurrentToken();if(o&&/\b(?:tag-open|tag-name)/.test(o.type)){var s=t.getMatchingTags(n);s&&(a=[s.openTagName.isEmpty()?s.openTag:s.openTagName,s.closeTagName.isEmpty()?s.closeTag:s.closeTagName])}}if(!a&&t.$mode.getMatching&&(a=t.$mode.getMatching(e.session)),!a){e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide();return}var c=`ace_bracket`;Array.isArray(a)?a.length==1&&(c=`ace_error_bracket`):a=[a],a.length==2&&(m.comparePoints(a[0].end,a[1].start)==0?a=[m.fromPoints(a[0].start,a[1].end)]:m.comparePoints(a[0].start,a[1].end)==0&&(a=[m.fromPoints(a[1].start,a[0].end)])),t.$bracketHighlight={ranges:a,markerIds:a.map(function(e){return t.addMarker(e,c,`text`)})},e.getHighlightIndentGuides()&&e.renderer.$textLayer.$highlightIndentGuide()}},50)}},e.prototype.focus=function(){this.textInput.focus()},e.prototype.isFocused=function(){return this.textInput.isFocused()},e.prototype.blur=function(){this.textInput.blur()},e.prototype.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit(`focus`,e))},e.prototype.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit(`blur`,e))},e.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},e.prototype.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,t),this._signal(`change`,e),this.$cursorChange()},e.prototype.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},e.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},e.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},e.prototype.onCursorChange=function(){this.$cursorChange(),this._signal(`changeSelection`)},e.prototype.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine&&((this.$selectionStyle!=`line`||!this.selection.isMultiLine())&&(t=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(t=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)),e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new m(t.row,t.column,t.row,1/0);n.id=e.addMarker(n,`ace_active-line`,`screenLine`),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal(`changeBackMarker`))},e.prototype.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,`ace_selection`,r)}var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal(`changeSelection`)},e.prototype.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!(t.isEmpty()||t.isMultiLine())){var n=t.start.column,r=t.end.column,i=e.getLine(t.start.row),a=i.substring(n,r);if(!(a.length>5e3||!/[\w\d]/.test(a))){var o=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:a}),s=i.substring(n-1,r+1);if(o.test(s))return o}}},e.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},e.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},e.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},e.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},e.prototype.onChangeMode=function(e){this.renderer.updateText(),this._emit(`changeMode`,e)},e.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},e.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},e.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},e.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},e.prototype.getCopyText=function(){var e=this.getSelectedText(),t=this.session.doc.getNewLineCharacter(),n=!1;if(!e&&this.$copyWithEmptySelection){n=!0;for(var r=this.selection.getAllRanges(),i=0;i<r.length;i++){var a=r[i];i&&r[i-1].start.row==a.start.row||(e+=this.session.getLine(a.start.row)+t)}}var o={text:e};return this._signal(`copy`,o),S.lineMode=n?o.text:!1,o.text},e.prototype.onCopy=function(){this.commands.exec(`copy`,this)},e.prototype.onCut=function(){this.commands.exec(`cut`,this)},e.prototype.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec(`paste`,this,n)},e.prototype.$handlePaste=function(e){typeof e==`string`&&(e={text:e}),this._signal(`paste`,e);var t=e.text,n=t===S.lineMode,r=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)n?r.insert({row:this.selection.lead.row,column:0},t):this.insert(t);else if(n)this.selection.rangeList.ranges.forEach(function(e){r.insert({row:e.start.row,column:0},t)});else{var i=t.split(/\r\n|\r|\n/),a=this.selection.rangeList.ranges,o=i.length==2&&(!i[0]||!i[1]);if(i.length!=a.length||o)return this.commands.exec(`insertstring`,this,t);for(var s=a.length;s--;){var c=a[s];c.isEmpty()||r.remove(c),r.insert(c.start,i[s])}}},e.prototype.execCommand=function(e,t){return this.commands.exec(e,this,t)},e.prototype.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var a=r.transformAction(n.getState(i.row),`insertion`,this,n,e);a&&(e!==a.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=a.text)}if(e==` `&&(e=this.session.getTabString()),!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()&&e.indexOf(`
205
+ `)==-1){var o=m.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e==`
206
+ `||e==`\r
207
+ `){var s=n.getLine(i.row);if(i.column>s.search(/\S|$/)){var c=s.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+c)}}this.clearSelection();var l=i.column,u=n.getState(i.row),s=n.getLine(i.row),d=r.checkOutdent(u,s,e);if(n.insert(i,e),a&&a.selection&&(a.selection.length==2?this.selection.setSelectionRange(new m(i.row,l+a.selection[0],i.row,l+a.selection[1])):this.selection.setSelectionRange(new m(i.row+a.selection[0],a.selection[1],i.row+a.selection[2],a.selection[3]))),this.$enableAutoIndent){if(n.getDocument().isNewLine(e)){var f=r.getNextLineIndent(u,s.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},f)}d&&r.autoOutdent(u,n,i.row)}},e.prototype.autoIndent=function(){for(var e=this.session,t=e.getMode(),n=this.selection.isEmpty()?[new m(0,0,e.doc.getLength()-1,0)]:this.selection.getAllRanges(),r=``,i=``,a=``,o=e.getTabString(),s=0;s<n.length;s++)for(var c=n[s].start.row,l=n[s].end.row,u=c;u<=l;u++){u>0&&(r=e.getState(u-1),i=e.getLine(u-1),a=t.getNextLineIndent(r,i,o));var d=e.getLine(u),f=t.$getIndent(d);if(a!==f){if(f.length>0){var p=new m(u,0,u,f.length);e.remove(p)}a.length>0&&e.insert({row:u,column:0},a)}t.autoOutdent(r,e,u)}},e.prototype.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:`insertstring`}});var n=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(n):n(),this.endOperation()},e.prototype.applyComposition=function(e,t){if(t.extendLeft||t.extendRight){var n=this.selection.getRange();n.start.column-=t.extendLeft,n.end.column+=t.extendRight,n.start.column<0&&(n.start.row--,n.start.column+=this.session.getLine(n.start.row).length+1),this.selection.setRange(n),!e&&!n.isEmpty()&&this.remove()}if((e||!this.selection.isEmpty())&&this.insert(e,!0),t.restoreStart||t.restoreEnd){var n=this.selection.getRange();n.start.column-=t.restoreStart,n.end.column-=t.restoreEnd,this.selection.setRange(n)}},e.prototype.onCommandKey=function(e,t,n){return this.keyBinding.onCommandKey(e,t,n)},e.prototype.setOverwrite=function(e){this.session.setOverwrite(e)},e.prototype.getOverwrite=function(){return this.session.getOverwrite()},e.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},e.prototype.setScrollSpeed=function(e){this.setOption(`scrollSpeed`,e)},e.prototype.getScrollSpeed=function(){return this.getOption(`scrollSpeed`)},e.prototype.setDragDelay=function(e){this.setOption(`dragDelay`,e)},e.prototype.getDragDelay=function(){return this.getOption(`dragDelay`)},e.prototype.setSelectionStyle=function(e){this.setOption(`selectionStyle`,e)},e.prototype.getSelectionStyle=function(){return this.getOption(`selectionStyle`)},e.prototype.setHighlightActiveLine=function(e){this.setOption(`highlightActiveLine`,e)},e.prototype.getHighlightActiveLine=function(){return this.getOption(`highlightActiveLine`)},e.prototype.setHighlightGutterLine=function(e){this.setOption(`highlightGutterLine`,e)},e.prototype.getHighlightGutterLine=function(){return this.getOption(`highlightGutterLine`)},e.prototype.setHighlightSelectedWord=function(e){this.setOption(`highlightSelectedWord`,e)},e.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},e.prototype.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},e.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},e.prototype.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},e.prototype.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},e.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},e.prototype.setHighlightIndentGuides=function(e){this.renderer.setHighlightIndentGuides(e)},e.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},e.prototype.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},e.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},e.prototype.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},e.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},e.prototype.setReadOnly=function(e){this.setOption(`readOnly`,e)},e.prototype.getReadOnly=function(){return this.getOption(`readOnly`)},e.prototype.setBehavioursEnabled=function(e){this.setOption(`behavioursEnabled`,e)},e.prototype.getBehavioursEnabled=function(){return this.getOption(`behavioursEnabled`)},e.prototype.setWrapBehavioursEnabled=function(e){this.setOption(`wrapBehavioursEnabled`,e)},e.prototype.getWrapBehavioursEnabled=function(){return this.getOption(`wrapBehavioursEnabled`)},e.prototype.setShowFoldWidgets=function(e){this.setOption(`showFoldWidgets`,e)},e.prototype.getShowFoldWidgets=function(){return this.getOption(`showFoldWidgets`)},e.prototype.setFadeFoldWidgets=function(e){this.setOption(`fadeFoldWidgets`,e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption(`fadeFoldWidgets`)},e.prototype.remove=function(e){this.selection.isEmpty()&&(e==`left`?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,`deletion`,this,n,t);if(t.end.column===0){var a=n.getTextRange(t);if(a[a.length-1]==`
208
+ `){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},e.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},e.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},e.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert(`
209
+ `),this.moveCursorToPosition(e)},e.prototype.setGhostText=function(e,t){this.renderer.setGhostText(e,t)},e.prototype.removeGhostText=function(){this.renderer.removeGhostText()},e.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(t!==0){var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new m(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new m(e.row,t-2,e.row,t)),this.session.replace(i,r),this.session.selection.moveToPosition(i.end)}}},e.prototype.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},e.prototype.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},e.prototype.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last,` `);return}else if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last,` `);return}}var i=e.getLine(t.start.row),a=t.start,s=e.getTabSize(),c=e.documentToScreenColumn(a.row,a.column);if(this.session.getUseSoftTabs())var l=s-c%s,u=o.stringRepeat(` `,l);else{for(var l=c%s;i[t.start.column-1]==` `&&l;)t.start.column--,l--;this.selection.setSelectionRange(t),u=` `}return this.insert(u)},e.prototype.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,` `)},e.prototype.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},e.prototype.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,n=[],r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:+(e.toLowerCase()>t.toLowerCase())});for(var i=new m(0,0,0,0),r=e.first;r<=e.last;r++){var a=t.getLine(r);i.start.row=r,i.end.row=r,i.end.column=a.length,t.replace(i,n[r-e.first])}},e.prototype.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},e.prototype.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},e.prototype.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex<t;){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t)return{value:i[0],start:i.index,end:i.index+i[0].length}}return null},e.prototype.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new m(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var a=this.getNumberAt(t,n);if(a){var o=a.value.indexOf(`.`)>=0?a.start+a.value.indexOf(`.`)+1:a.end,s=a.start+a.value.length-o,c=parseFloat(a.value);c*=10**s,o!==a.end&&n<o?e*=10**(a.end-n-1):e*=10**(a.end-n),c+=e,c/=10**s;var l=c.toFixed(s),u=new m(t,a.start,t,a.end);this.session.replace(u,l),this.moveCursorTo(t,Math.max(a.start+1,n+l.length-a.value.length))}}else this.toggleWord()},e.prototype.toggleWord=function(){var e=this.selection.getCursor().row,t=this.selection.getCursor().column;this.selection.selectWord();var n=this.getSelectedText(),r=this.selection.getWordRange().start.column,i=n.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,`$1 `).split(/\s/),a=t-r-1;a<0&&(a=0);var s=0,c=0,l=this;n.match(/[A-Za-z0-9_]+/)&&i.forEach(function(t,i){c=s+t.length,a>=s&&a<=c&&(n=t,l.selection.clearSelection(),l.moveCursorTo(e,s+r),l.selection.selectTo(e,c+r)),s=c});for(var u=this.$toggleWordPairs,d,f=0;f<u.length;f++)for(var p=u[f],m=0;m<=1;m++){var h=+!m,g=n.match(RegExp(`^\\s?_?(`+o.escapeRegExp(p[m])+`)\\s?$`,`i`));g&&n.match(RegExp(`([_]|^|\\s)(`+o.escapeRegExp(g[1])+`)($|\\s)`,`g`))&&(d=n.replace(new RegExp(o.escapeRegExp(p[m]),`i`),function(e){var t=p[h];return e.toUpperCase()==e?t=t.toUpperCase():e.charAt(0).toUpperCase()==e.charAt(0)&&(t=t.substr(0,0)+p[h].charAt(0).toUpperCase()+t.substr(1)),t}),this.insert(d),d=``)}},e.prototype.findLinkAt=function(e,t){var n,i,a=this.session.getLine(e).split(/((?:https?|ftp):\/\/[\S]+)/),o=t;o<0&&(o=0);var s=0,c=0,l;try{for(var u=r(a),d=u.next();!d.done;d=u.next()){var f=d.value;if(c=s+f.length,o>=s&&o<=c&&f.match(/((?:https?|ftp):\/\/[\S]+)/)){l=f.replace(/[\s:.,'";}\]]+$/,``);break}s=c}}catch(e){n={error:e}}finally{try{d&&!d.done&&(i=u.return)&&i.call(u)}finally{if(n)throw n.error}}return l},e.prototype.openLink=function(){var e=this.selection.getCursor(),t=this.findLinkAt(e.row,e.column);return t&&window.open(t,`_blank`),t!=null},e.prototype.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},e.prototype.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var a=r?n.start:n.end,o=t.insert(a,t.getTextRange(n));n.start=a,n.end=o,e.setSelectionRange(n,r)}},e.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},e.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},e.prototype.moveText=function(e,t,n){return this.session.moveText(e,t,n)},e.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},e.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},e.prototype.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var a=i.toOrientedRange();n=this.$getSelectedRows(a),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),a.moveBy(r,0),i.fromOrientedRange(a)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var s=0,c=0,l=o.length,u=0;u<l;u++){var d=u;o[u].moveBy(s,0),n=this.$getSelectedRows(o[u]);for(var f=n.first,p=n.last;++u<l;){c&&o[u].moveBy(c,0);var m=this.$getSelectedRows(o[u]);if(t&&m.first!=p||!t&&m.first>p+1)break;p=m.last}for(u--,s=this.session.$moveLines(f,p,t?0:e),t&&e==-1&&(d=u+1);d<=u;)o[d].moveBy(s,0),d++;t||(s=0),c+=s}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},e.prototype.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},e.prototype.onCompositionStart=function(e){this.renderer.showComposition(e)},e.prototype.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},e.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},e.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},e.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},e.prototype.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},e.prototype.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},e.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},e.prototype.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection());var a=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(a)},e.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},e.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},e.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},e.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},e.prototype.scrollPageDown=function(){this.$moveByPage(1)},e.prototype.scrollPageUp=function(){this.$moveByPage(-1)},e.prototype.scrollToRow=function(e){this.renderer.scrollToRow(e)},e.prototype.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},e.prototype.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},e.prototype.getCursorPosition=function(){return this.selection.getCursor()},e.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},e.prototype.getSelectionRange=function(){return this.selection.getRange()},e.prototype.selectAll=function(){this.selection.selectAll()},e.prototype.clearSelection=function(){this.selection.clearSelection()},e.prototype.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},e.prototype.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},e.prototype.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),a=0;i&&i.type.indexOf(`tag-name`)!==-1&&(i=r.stepBackward());var o=i||r.stepForward();if(o){var s,c=!1,l={},u=n.column-o.start,d,f={")":`(`,"(":`(`,"]":`[`,"[":`[`,"{":`{`,"}":`{`};do{if(o.value.match(/[{}()\[\]]/g)){for(;u<o.value.length&&!c;u++)if(f[o.value[u]])switch(d=f[o.value[u]]+`.`+o.type.replace(`rparen`,`lparen`),isNaN(l[d])&&(l[d]=0),o.value[u]){case`(`:case`[`:case`{`:l[d]++;break;case`)`:case`]`:case`}`:l[d]--,l[d]===-1&&(s=`bracket`,c=!0);break}}else o.type.indexOf(`tag-name`)!==-1&&(isNaN(l[o.value])&&(l[o.value]=0),i.value===`<`&&a>1?l[o.value]++:i.value===`</`&&l[o.value]--,l[o.value]===-1&&(s=`tag`,c=!0));c||(i=o,a++,o=r.stepForward(),u=0)}while(o&&!c);if(s){var p,h;if(s===`bracket`)p=this.session.getBracketRange(n),p||(p=new m(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+u-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+u-1),h=p.start,(t||h.row===n.row&&Math.abs(h.column-n.column)<2)&&(p=this.session.getBracketRange(h)));else if(s===`tag`){if(!o||o.type.indexOf(`tag-name`)===-1)return;if(p=new m(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2),p.compare(n.row,n.column)===0){var g=this.session.getMatchingTags(n);g&&(g.openTag.contains(n.row,n.column)?(p=g.closeTag,h=p.start):(p=g.openTag,h=g.closeTag.start.row===n.row&&g.closeTag.start.column===n.column?p.end:p.start))}h||=p.start}h=p&&p.cursor||h,h&&(e?p&&t?this.selection.setRange(p):p&&p.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(h.row,h.column):this.selection.moveTo(h.row,h.column))}}},e.prototype.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},e.prototype.navigateTo=function(e,t){this.selection.moveTo(e,t)},e.prototype.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},e.prototype.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},e.prototype.navigateLeft=function(e){if(this.selection.isEmpty())for(e||=1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},e.prototype.navigateRight=function(e){if(this.selection.isEmpty())for(e||=1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},e.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},e.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},e.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},e.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},e.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},e.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},e.prototype.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end),r):r},e.prototype.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var a=n.length-1;a>=0;--a)this.$tryReplace(n[a],e)&&r++;return this.selection.setSelectionRange(i),r},e.prototype.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t===null?null:(e.end=this.session.replace(e,t),e)},e.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},e.prototype.find=function(e,t,n){t||={},typeof e==`string`||e instanceof RegExp?t.needle=e:typeof e==`object`&&i.mixin(t,e);var r=this.selection.getRange();t.needle??(e=this.session.getTextRange(r)||this.$search.$options.needle,e||=(r=this.session.getWordRange(r.start.row,r.start.column),this.session.getTextRange(r)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:r});var a=this.$search.find(this.session);if(t.preventScroll)return a;if(a)return this.revealRange(a,n),a;t.backwards?r.start=r.end:r.end=r.start,this.selection.setRange(r)},e.prototype.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},e.prototype.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},e.prototype.revealRange=function(e,t){this.session.unfold(e),this.selection.setSelectionRange(e);var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},e.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},e.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&=(this.$toDestroy.forEach(function(e){e.destroy()}),[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal(`destroy`,this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},e.prototype.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,r=!1;this.$scrollAnchor||=document.createElement(`div`);var i=this.$scrollAnchor;i.style.cssText=`position:absolute`,this.container.insertBefore(i,this.container.firstChild);var a=this.on(`changeSelection`,function(){r=!0}),o=this.renderer.on(`beforeRender`,function(){r&&(t=n.renderer.container.getBoundingClientRect())}),s=this.renderer.on(`afterRender`,function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,a=e.$cursorLayer.$pixelPos,o=e.layerConfig,s=a.top-o.offset;r=a.top>=0&&s+t.top<0?!0:a.top<o.height&&a.top+t.top+o.lineHeight>window.innerHeight?!1:null,r!=null&&(i.style.top=s+`px`,i.style.left=a.left+`px`,i.style.height=o.lineHeight+`px`,i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off(`changeSelection`,a),this.renderer.off(`afterRender`,s),this.renderer.off(`beforeRender`,o))}}},e.prototype.$resetCursorStyle=function(){var e=this.$cursorStyle||`ace`,t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!=`wide`,a.setCssClass(t.element,`ace_slim-cursors`,/slim/.test(e)))},e.prototype.prompt=function(e,t,n){var r=this;v.loadModule(`ace/ext/prompt`,function(i){i.prompt(r,e,t,n)})},Object.defineProperty(e.prototype,"hoverTooltip",{get:function(){return this.$hoverTooltip||=new T(this.container)},set:function(e){this.$hoverTooltip&&this.$hoverTooltip.destroy(),this.$hoverTooltip=e},enumerable:!1,configurable:!0}),e}();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`],[`&&`,`||`],[`==`,`!=`]],i.implement(E.prototype,h),v.defineOptions(E.prototype,`editor`,{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal(`changeSelectionStyle`,{data:e})},initialValue:`line`},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){var t=this;if(this.textInput.setReadOnly(e),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||=function(e){var n=!1;if(e&&e.type==`keydown`){if(e&&e.key&&!e.ctrlKey&&!e.metaKey&&(e.key==` `&&e.preventDefault(),n=e.key.length==1),!n)return}else e&&e.type!==`exec`&&(n=!0);if(n){var r=a.createElement(`div`);r.textContent=x(`editor.tooltip.disable-editing`,`Editing is disabled`),t.hoverTooltip.isOpen||t.hoverTooltip.showForRange(t,t.getSelectionRange(),r)}else t.hoverTooltip&&t.hoverTooltip.isOpen&&t.hoverTooltip.hide()};var n=this.textInput.getElement();e?(w.addListener(n,`keydown`,this.$readOnlyCallback,this),this.commands.on(`exec`,this.$readOnlyCallback),this.commands.on(`commandUnavailable`,this.$readOnlyCallback)):(w.removeListener(n,`keydown`,this.$readOnlyCallback),this.commands.off(`exec`,this.$readOnlyCallback),this.commands.off(`commandUnavailable`,this.$readOnlyCallback))}},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){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(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?D.attach(this):D.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?D.attach(this):D.detach(this)}},placeholder:{set:function(e){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var e=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(e&&this.renderer.placeholderNode)this.renderer.off(`afterRender`,this.$updatePlaceholder),a.removeCssClass(this.container,`ace_hasPlaceholder`),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!e&&!this.renderer.placeholderNode){this.renderer.on(`afterRender`,this.$updatePlaceholder),a.addCssClass(this.container,`ace_hasPlaceholder`);var t=a.createElement(`div`);t.className=`ace_placeholder`,t.textContent=this.$placeholder||``,this.renderer.placeholderNode=t,this.renderer.content.appendChild(this.renderer.placeholderNode)}else !e&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||``)}.bind(this),this.on(`input`,this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(e){var t={name:`blurTextInput`,description:`Set focus to the editor content div to allow tabbing through the page`,bindKey:`Esc`,exec:function(e){e.blur(),e.renderer.scroller.focus()},readOnly:!0},n=function(e){if(e.target==this.renderer.scroller&&e.keyCode===C.enter){e.preventDefault();var t=this.getCursorPosition().row;this.isRowVisible(t)||this.scrollToLine(t,!0,!0),this.focus()}},r;e?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName=`ace_keyboard-focus`,this.textInput.getElement().setAttribute(`tabindex`,-1),this.textInput.setNumberOfExtraLines(s.isWin?3:0),this.renderer.scroller.setAttribute(`tabindex`,0),this.renderer.scroller.setAttribute(`role`,`group`),this.renderer.scroller.setAttribute(`aria-roledescription`,x(`editor.scroller.aria-roledescription`,`editor`)),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute(`aria-label`,x(`editor.scroller.aria-label`,`Editor content, press Enter to start editing, press Escape to exit`)),this.renderer.scroller.addEventListener(`keyup`,n.bind(this)),this.commands.addCommand(t),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`,x(`editor.gutter.aria-roledescription`,`editor gutter`)),this.renderer.$gutter.setAttribute(`aria-label`,x(`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),r||=new b(this),r.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`,n.bind(this)),this.commands.removeCommand(t),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),r&&r.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(e){this.$textInputAriaLabel=e},initialValue:``},enableMobileMenu:{set:function(e){this.$enableMobileMenu=e},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`,firstLineNumber:`session`,overwrite:`session`,newLineMode:`session`,useWorker:`session`,useSoftTabs:`session`,navigateWithinSoftTabs:`session`,tabSize:`session`,wrap:`session`,indentedSoftWrap:`session`,foldStyle:`session`,mode:`session`});var D={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?`·`:``))+``},getWidth:function(e,t,n){return Math.max(t.toString().length,(n.lastRow+1).toString().length,2)*n.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on(`changeSelection`,this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off(`changeSelection`,this.update),this.update(null,e)}};t.Editor=E}),ace.define(`ace/layer/lines`,[`require`,`exports`,`module`,`ace/lib/dom`],function(e,t,n){var r=e("../lib/dom");t.Lines=function(){function e(e,t){this.element=e,this.canvasHeight=t||5e5,this.element.style.height=this.canvasHeight*2+`px`,this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return e.prototype.moveContainer=function(e){r.translate(this.element,0,-(e.firstRowScreen*e.lineHeight%this.canvasHeight)-e.offset*this.$offsetCoefficient)},e.prototype.pageChanged=function(e,t){return Math.floor(e.firstRowScreen*e.lineHeight/this.canvasHeight)!==Math.floor(t.firstRowScreen*t.lineHeight/this.canvasHeight)},e.prototype.computeLineTop=function(e,t,n){var r=t.firstRowScreen*t.lineHeight,i=Math.floor(r/this.canvasHeight);return n.documentToScreenRow(e,0)*t.lineHeight-i*this.canvasHeight},e.prototype.computeLineHeight=function(e,t,n){return t.lineHeight*n.getRowLineCount(e)},e.prototype.getLength=function(){return this.cells.length},e.prototype.get=function(e){return this.cells[e]},e.prototype.shift=function(){this.$cacheCell(this.cells.shift())},e.prototype.pop=function(){this.$cacheCell(this.cells.pop())},e.prototype.push=function(e){if(Array.isArray(e)){this.cells.push.apply(this.cells,e);for(var t=r.createFragment(this.element),n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.appendChild(t)}else this.cells.push(e),this.element.appendChild(e.element)},e.prototype.unshift=function(e){if(Array.isArray(e)){this.cells.unshift.apply(this.cells,e);for(var t=r.createFragment(this.element),n=0;n<e.length;n++)t.appendChild(e[n].element);this.element.firstChild?this.element.insertBefore(t,this.element.firstChild):this.element.appendChild(t)}else this.cells.unshift(e),this.element.insertAdjacentElement(`afterbegin`,e.element)},e.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},e.prototype.$cacheCell=function(e){e&&(e.element.remove(),this.cellCache.push(e))},e.prototype.createCell=function(e,t,n,i){var a=this.cellCache.pop();if(!a){var o=r.createElement(`div`);i&&i(o),this.element.appendChild(o),a={element:o,text:``,row:e}}return a.row=e,a},e}()}),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(e,t,n){var r=e("../lib/dom"),i=e("../lib/oop"),a=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,s=e("./lines").Lines,c=e("../config").nls,l=function(){function e(e){this.$showCursorMarker=null,this.element=r.createElement(`div`),this.element.className=`ace_layer ace_gutter-layer`,e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new s(this.element),this.$lines.$offsetCoefficient=1}return e.prototype.setSession=function(e){this.session&&this.session.off(`change`,this.$updateAnnotations),this.session=e,e&&e.on(`change`,this.$updateAnnotations)},e.prototype.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn(`deprecated use session.addGutterDecoration`),this.session.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn(`deprecated use session.removeGutterDecoration`),this.session.removeGutterDecoration(e,t)},e.prototype.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||=this.$annotations[r]={text:[],type:[],displayText:[]};var o=n.text,s=n.text,c=n.type;o=o?a.escapeHTML(o):n.html||``,s=s||n.html||``,i.text.indexOf(o)===-1&&(i.text.push(o),i.type.push(c),i.displayText.push(s));var l=n.className;l?i.className=l:c===`error`?i.className=` ace_error`:c===`security`&&!/\bace_error\b/.test(i.className)?i.className=` ace_security`:c===`warning`&&!/\bace_(error|security)\b/.test(i.className)?i.className=` ace_warning`:c===`info`&&!i.className?i.className=` ace_info`:c===`hint`&&!i.className&&(i.className=` ace_hint`)}},e.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(n!==0)if(e.action==`remove`)this.$annotations.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}}},e.prototype.update=function(e){this.config=e;var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1);this.oldLastRow=r,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var i=t.getNextFoldLine(n),a=i?i.start.row:1/0,o=null,s=-1,c=n;;){if(c>a&&(c=i.end.row+1,i=t.getNextFoldLine(c,i),a=i?i.start.row:1/0),c>r){for(;this.$lines.getLength()>s+1;)this.$lines.pop();break}o=this.$lines.get(++s),o?o.row=c:(o=this.$lines.createCell(c,e,this.session,u),this.$lines.push(o)),this.$renderCell(o,e,i,c),c++}this._signal(`afterRender`),this.$updateGutterWidth(e),this.$showCursorMarker&&this.$highlightGutterLine&&this.$updateCursorMarker()},e.prototype.$updateGutterWidth=function(e){var t=this.session,n=t.gutterRenderer||this.$renderer,r=t.$firstLineNumber,i=this.$lines.last()?this.$lines.last().text:``;(this.$fixedWidth||t.$useWrapMode)&&(i=t.getLength()+r-1);var a=n?n.getWidth(t,i,e):i.toString().length*e.characterWidth,o=this.$padding||this.$computePadding();a+=o.left+o.right,a!==this.gutterWidth&&!isNaN(a)&&(this.gutterWidth=a,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+`px`,this._signal(`changeGutterWidth`,a))},e.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},e.prototype.updateLineHighlight=function(){if(this.$showCursorMarker&&this.$updateCursorMarker(),this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace(`ace_gutter-active-line `,``));var t=this.$lines.cells;this.$cursorCell=null;for(var n=0;n<t.length;n++){var r=t[n];if(r.row>=this.$cursorRow){if(r.row>this.$cursorRow){var i=this.session.getFoldLine(this.$cursorRow);if(n>0&&i&&i.start.row==t[n-1].row)r=t[n-1];else break}r.element.className=`ace_gutter-active-line `+r.element.className,this.$cursorCell=r;break}}}}},e.prototype.$updateCursorMarker=function(){if(this.session){var e=this.session;this.$highlightElement||(this.$highlightElement=r.createElement(`div`),this.$highlightElement.className=`ace_gutter-cursor`,this.$highlightElement.style.pointerEvents=`none`,this.element.appendChild(this.$highlightElement));var t=e.selection.cursor,n=this.config,i=this.$lines,a=n.firstRowScreen*n.lineHeight,o=Math.floor(a/i.canvasHeight),s=e.documentToScreenRow(t)*n.lineHeight-o*i.canvasHeight;r.setStyle(this.$highlightElement.style,`height`,n.lineHeight+`px`),r.setStyle(this.$highlightElement.style,`top`,s+`px`)}},e.prototype.scrollLines=function(e){var t=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),r=this.oldLastRow;if(this.oldLastRow=n,!t||r<e.firstRow||n<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(r>n)for(var i=this.session.getFoldedRowCount(n+1,r);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,t.firstRow-1)),n>r&&this.$lines.push(this.$renderLines(e,r+1,n)),this.updateLineHighlight(),this._signal(`afterRender`),this.$updateGutterWidth(e)},e.prototype.$renderLines=function(e,t,n){for(var r=[],i=t,a=this.session.getNextFoldLine(i),o=a?a.start.row:1/0;i>o&&(i=a.end.row+1,a=this.session.getNextFoldLine(i,a),o=a?a.start.row:1/0),!(i>n);){var s=this.$lines.createCell(i,e,this.session,u);this.$renderCell(s,e,a,i),r.push(s),i++}return r},e.prototype.$renderCell=function(e,t,n,i){var a=e.element,o=this.session,s=a.childNodes[0],l=a.childNodes[1],u=a.childNodes[2],d=a.childNodes[3],f=u.firstChild,p=o.$firstLineNumber,m=o.$breakpoints,h=o.$decorations,g=o.gutterRenderer||this.$renderer,_=this.$showFoldWidgets&&o.foldWidgets,v=n?n.start.row:Number.MAX_VALUE,y=t.lineHeight+`px`,b=this.$useSvgGutterIcons?`ace_gutter-cell_svg-icons `:`ace_gutter-cell `,x=this.$useSvgGutterIcons?`ace_icon_svg`:`ace_icon`,S=(g?g.getText(o,i):i+p).toString();if(this.$highlightGutterLine&&(i==this.$cursorRow||n&&i<this.$cursorRow&&i>=v&&this.$cursorRow<=n.end.row)&&(b+=`ace_gutter-active-line `,this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace(`ace_gutter-active-line `,``)),this.$cursorCell=e)),m[i]&&(b+=m[i]),h[i]&&(b+=h[i]),this.$annotations[i]&&i!==v&&(b+=this.$annotations[i].className),_){var C=_[i];C??=_[i]=o.getFoldWidget(i)}if(C){var w=`ace_fold-widget ace_`+C,T=C==`start`&&i==v&&i<n.end.row;if(T){w+=` ace_closed`;for(var E=``,D=!1,O=i+1;O<=n.end.row;O++)if(this.$annotations[O]){if(this.$annotations[O].className===` ace_error`){D=!0,E=` ace_error_fold`;break}this.$annotations[O].className===` ace_security`?(D=!0,E=` ace_security_fold`):this.$annotations[O].className===` ace_warning`&&E!==` ace_security_fold`&&(D=!0,E=` ace_warning_fold`)}b+=E}else w+=` ace_open`;l.className!=w&&(l.className=w),r.setStyle(l.style,`height`,y),r.setStyle(l.style,`display`,`inline-block`),l.setAttribute(`role`,`button`),l.setAttribute(`tabindex`,`-1`);var k=o.getFoldWidgetRange(i);k?l.setAttribute(`aria-label`,c(`gutter.code-folding.range.aria-label`,`Toggle code folding, rows $0 through $1`,[k.start.row+1,k.end.row+1])):n?l.setAttribute(`aria-label`,c(`gutter.code-folding.closed.aria-label`,`Toggle code folding, rows $0 through $1`,[n.start.row+1,n.end.row+1])):l.setAttribute(`aria-label`,c(`gutter.code-folding.open.aria-label`,`Toggle code folding, row $0`,[i+1])),T?(l.setAttribute(`aria-expanded`,`false`),l.setAttribute(`title`,c(`gutter.code-folding.closed.title`,`Unfold code`))):(l.setAttribute(`aria-expanded`,`true`),l.setAttribute(`title`,c(`gutter.code-folding.open.title`,`Fold code`)))}else l&&(r.setStyle(l.style,`display`,`none`),l.setAttribute(`tabindex`,`0`),l.removeAttribute(`role`),l.removeAttribute(`aria-label`));var A=this.session.$gutterCustomWidgets[i];if(A?this.$addCustomWidget(i,A,e):d&&this.$removeCustomWidget(i,e),D&&this.$showFoldedAnnotations){u.className=`ace_gutter_annotation`,f.className=x,f.className+=E,r.setStyle(f.style,`height`,y),r.setStyle(u.style,`display`,`block`),r.setStyle(u.style,`height`,y);var j;switch(E){case` ace_error_fold`:j=c(`gutter.annotation.aria-label.error`,`Error, read annotations row $0`,[S]);break;case` ace_security_fold`:j=c(`gutter.annotation.aria-label.security`,`Security finding, read annotations row $0`,[S]);break;case` ace_warning_fold`:j=c(`gutter.annotation.aria-label.warning`,`Warning, read annotations row $0`,[S]);break}u.setAttribute(`aria-label`,j),u.setAttribute(`tabindex`,`-1`),u.setAttribute(`role`,`button`)}else if(this.$annotations[i]){u.className=`ace_gutter_annotation`,f.className=x,this.$useSvgGutterIcons?f.className+=this.$annotations[i].className:a.classList.add(this.$annotations[i].className.replace(` `,``)),r.setStyle(f.style,`height`,y),r.setStyle(u.style,`display`,`block`),r.setStyle(u.style,`height`,y);var j;switch(this.$annotations[i].className){case` ace_error`:j=c(`gutter.annotation.aria-label.error`,`Error, read annotations row $0`,[S]);break;case` ace_security`:j=c(`gutter.annotation.aria-label.security`,`Security finding, read annotations row $0`,[S]);break;case` ace_warning`:j=c(`gutter.annotation.aria-label.warning`,`Warning, read annotations row $0`,[S]);break;case` ace_info`:j=c(`gutter.annotation.aria-label.info`,`Info, read annotations row $0`,[S]);break;case` ace_hint`:j=c(`gutter.annotation.aria-label.hint`,`Suggestion, read annotations row $0`,[S]);break}u.setAttribute(`aria-label`,j),u.setAttribute(`tabindex`,`-1`),u.setAttribute(`role`,`button`)}else r.setStyle(u.style,`display`,`none`),u.removeAttribute(`aria-label`),u.removeAttribute(`role`),u.setAttribute(`tabindex`,`0`);return S!==s.data&&(s.data=S),a.className!=b&&(a.className=b),r.setStyle(e.element.style,`height`,this.$lines.computeLineHeight(i,t,o)+`px`),r.setStyle(e.element.style,`top`,this.$lines.computeLineTop(i,t,o)+`px`),e.text=S,u.style.display===`none`&&l.style.display===`none`&&!A?e.element.setAttribute(`aria-hidden`,!0):e.element.setAttribute(`aria-hidden`,!1),e},e.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e,!e&&this.$highlightElement&&(this.$highlightElement.remove(),this.$highlightElement=null)},e.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return``}}},e.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},e.prototype.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,`ace_folding-enabled`):r.removeCssClass(this.element,`ace_folding-enabled`),this.$showFoldWidgets=e,this.$padding=null},e.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},e.prototype.$hideFoldWidget=function(e,t){var n=t||this.$getGutterCell(e);if(n&&n.element){var i=n.element.childNodes[1];i&&r.setStyle(i.style,`display`,`none`)}},e.prototype.$showFoldWidget=function(e,t){var n=t||this.$getGutterCell(e);if(n&&n.element){var i=n.element.childNodes[1];i&&this.session.foldWidgets&&this.session.foldWidgets[n.row]&&r.setStyle(i.style,`display`,`inline-block`)}},e.prototype.$getGutterCell=function(e){var t=this.$lines.cells,n=0,r=t.length-1;if(!(e<t[0].row||e>t[r].row)){for(;n<=r;){var i=Math.floor((n+r)/2),a=t[i];if(a.row>e)r=i-1;else if(a.row<e)n=i+1;else return a}return a}},e.prototype.$addCustomWidget=function(e,t,n){var i=t.className,a=t.label,o=t.title,s=t.callbacks;this.session.$gutterCustomWidgets[e]={className:i,label:a,title:o,callbacks:s},this.$hideFoldWidget(e,n);var c=n||this.$getGutterCell(e);if(c&&c.element){var l=c.element.querySelector(`.ace_custom-widget`);l&&l.remove(),l=r.createElement(`span`),l.className=`ace_custom-widget ${i}`,l.setAttribute(`tabindex`,`-1`),l.setAttribute(`role`,`button`),l.setAttribute(`aria-label`,a),l.setAttribute(`title`,o),r.setStyle(l.style,`display`,`inline-block`),r.setStyle(l.style,`height`,`inherit`),s&&s.onClick&&l.addEventListener(`click`,function(t){s.onClick(t,e),t.stopPropagation()}),c.element.appendChild(l)}},e.prototype.$removeCustomWidget=function(e,t){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,t);var n=t||this.$getGutterCell(e);if(n&&n.element){var r=n.element.querySelector(`.ace_custom-widget`);r&&n.element.removeChild(r)}},e.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},e.prototype.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return`markers`;if(this.$showFoldWidgets&&e.x>n.right-t.right)return`foldWidgets`},e}();l.prototype.$fixedWidth=!1,l.prototype.$highlightGutterLine=!0,l.prototype.$renderer=void 0,l.prototype.$showLineNumbers=!0,l.prototype.$showFoldWidgets=!0,i.implement(l.prototype,o);function u(e){var t=document.createTextNode(``);e.appendChild(t);var n=r.createElement(`span`);e.appendChild(n);var i=r.createElement(`span`);e.appendChild(i);var a=r.createElement(`span`);return i.appendChild(a),e}t.Gutter=l}),ace.define(`ace/layer/marker`,[`require`,`exports`,`module`,`ace/range`,`ace/lib/dom`],function(e,t,n){var r=e("../range").Range,i=e("../lib/dom"),a=function(){function e(e){this.element=i.createElement(`div`),this.element.className=`ace_layer ace_marker-layer`,e.appendChild(this.element)}return e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setMarkers=function(e){this.markers=e},e.prototype.elt=function(e,t){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=t,n.className=e},e.prototype.update=function(e){if(e){this.config=e,this.i=0;var t;for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(!i.isEmpty())if(i=i.toScreenRange(this.session),r.renderer){var a=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,a,e)}else r.type==`fullLine`?this.drawFullLineMarker(t,i,r.clazz,e):r.type==`screenLine`?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type==`text`?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+` ace_start ace_br15`,e)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},e.prototype.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},e.prototype.drawTextMarker=function(e,t,n,i,a){for(var s=this.session,c=t.start.row,l=t.end.row,u=c,d=0,f=0,p=s.getScreenLastRowColumn(u),m=new r(u,t.start.column,u,f);u<=l;u++)m.start.row=m.end.row=u,m.start.column=u==c?t.start.column:s.getRowWrapIndent(u),m.end.column=p,d=f,f=p,p=u+1<l?s.getScreenLastRowColumn(u+1):u==l?0:t.end.column,this.drawSingleLineMarker(e,m,n+(u==c?` ace_start`:``)+` ace_br`+o(u==c||u==c+1&&t.start.column,d<f,f>p,u==l),i,u==l?0:1,a)},e.prototype.drawMultiLineMarker=function(e,t,n,r,i){var a=this.$padding,o=r.lineHeight,s=this.$getTop(t.start.row,r),c=a+t.start.column*r.characterWidth;if(i||=``,this.session.$bidiHandler.isBidiRow(t.start.row)){var l=t.clone();l.end.row=l.start.row,l.end.column=this.session.getLine(l.start.row).length,this.drawBidiSingleLineMarker(e,l,n+` ace_br1 ace_start`,r,null,i)}else this.elt(n+` ace_br1 ace_start`,`height:`+o+`px;right:`+a+`px;top:`+s+`px;left:`+c+`px;`+(i||``));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var l=t.clone();l.start.row=l.end.row,l.start.column=0,this.drawBidiSingleLineMarker(e,l,n+` ace_br12`,r,null,i)}else{s=this.$getTop(t.end.row,r);var u=t.end.column*r.characterWidth;this.elt(n+` ace_br12`,`height:`+o+`px;width:`+u+`px;top:`+s+`px;left:`+a+`px;`+(i||``))}if(o=(t.end.row-t.start.row-1)*r.lineHeight,!(o<=0)){s=this.$getTop(t.start.row+1,r);var d=!!t.start.column|(t.end.column?0:8);this.elt(n+(d?` ace_br`+d:``),`height:`+o+`px;right:`+a+`px;top:`+s+`px;left:`+a+`px;`+(i||``))}},e.prototype.drawSingleLineMarker=function(e,t,n,r,i,a){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,n,r,i,a);var o=r.lineHeight,s=(t.end.column+(i||0)-t.start.column)*r.characterWidth,c=this.$getTop(t.start.row,r),l=this.$padding+t.start.column*r.characterWidth;this.elt(n,`height:`+o+`px;width:`+s+`px;top:`+c+`px;left:`+l+`px;`+(a||``))},e.prototype.drawBidiSingleLineMarker=function(e,t,n,r,i,a){var o=r.lineHeight,s=this.$getTop(t.start.row,r),c=this.$padding;this.session.$bidiHandler.getSelections(t.start.column,t.end.column).forEach(function(e){this.elt(n,`height:`+o+`px;width:`+(e.width+(i||0))+`px;top:`+s+`px;left:`+(c+e.left)+`px;`+(a||``))},this)},e.prototype.drawFullLineMarker=function(e,t,n,r,i){var a=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-a),this.elt(n,`height:`+o+`px;top:`+a+`px;left:0;right:0;`+(i||``))},e.prototype.drawScreenLineMarker=function(e,t,n,r,i){var a=this.$getTop(t.start.row,r),o=r.lineHeight;this.elt(n,`height:`+o+`px;top:`+a+`px;left:0;right:0;`+(i||``))},e}();a.prototype.$padding=0;function o(e,t,n,r){return!!e|(t?2:0)|(n?4:0)|(r?8:0)}t.Marker=a}),ace.define(`ace/layer/text_util`,[`require`,`exports`,`module`],function(e,t,n){var r=new Set([`text`,`rparen`,`lparen`]);t.isTextToken=function(e){return r.has(e)}}),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(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),a=e("../lib/lang"),o=e("./lines").Lines,s=e("../lib/event_emitter").EventEmitter,c=e("../config").nls,l=e("./text_util").isTextToken,u=function(){function e(e){this.dom=i,this.element=this.dom.createElement(`div`),this.element.className=`ace_layer ace_text-layer`,e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new o(this.element)}return e.prototype.$updateEolChar=function(){var e=this.session.doc,t=e.getNewLineCharacter()==`
210
+ `&&e.getNewLineMode()!=`windows`?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=t)return this.EOL_CHAR=t,!0},e.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin=`0 `+e+`px`},e.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},e.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},e.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on(`changeCharacterSize`,function(e){this._signal(`changeCharacterSize`,e)}.bind(this)),this.$pollSizeChanges()},e.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},e.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},e.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},e.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e==`string`?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},e.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},e.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},e.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n<e+1;n++)if(this.showTabs){var r=this.dom.createElement(`span`);r.className=`ace_invisible ace_invisible_tab`,r.textContent=a.stringRepeat(this.TAB_CHAR,n),t.push(r)}else t.push(this.dom.createTextNode(a.stringRepeat(` `,n),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var i=`ace_indent-guide`,o=this.showSpaces?` ace_invisible ace_invisible_space`:``,s=this.showSpaces?a.stringRepeat(this.SPACE_CHAR,this.tabSize):a.stringRepeat(` `,this.tabSize),c=this.showTabs?` ace_invisible ace_invisible_tab`:``,l=this.showTabs?a.stringRepeat(this.TAB_CHAR,this.tabSize):s,r=this.dom.createElement(`span`);r.className=i+o,r.textContent=s,this.$tabStrings[` `]=r;var r=this.dom.createElement(`span`);r.className=i+c,r.textContent=l,this.$tabStrings[` `]=r}},e.prototype.updateLines=function(e,t,n){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),a=this.element.childNodes,o=0,s=e.firstRow;s<r;s++){var c=this.session.getFoldLine(s);if(c)if(c.containsRow(r)){r=c.start.row;break}else s=c.end.row;o++}for(var l=!1,s=r,c=this.session.getNextFoldLine(s),u=c?c.start.row:1/0;s>u&&(s=c.end.row+1,c=this.session.getNextFoldLine(s,c),u=c?c.start.row:1/0),!(s>i);){var d=a[o++];if(d){this.dom.removeChildren(d),this.$renderLine(d,s,s==u?c:!1),l&&(d.style.top=this.$lines.computeLineTop(s,e,this.session)+`px`);var f=e.lineHeight*this.session.getRowLength(s)+`px`;d.style.height!=f&&(l=!0,d.style.height=f)}s++}if(l)for(;o<this.$lines.cells.length;){var p=this.$lines.cells[o++];p.element.style.top=this.$lines.computeLineTop(p.row,e,this.session)+`px`}},e.prototype.scrollLines=function(e){var t=this.config;if(this.config=e,this.$lines.pageChanged(t,e))return this.update(e);this.$lines.moveContainer(e);var n=e.lastRow,r=t?t.lastRow:-1;if(!t||r<e.firstRow||n<t.firstRow||!t||t.lastRow<e.firstRow||e.lastRow<t.firstRow)return this.update(e);if(t.firstRow<e.firstRow)for(var i=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);i>0;i--)this.$lines.shift();if(t.lastRow>e.lastRow)for(var i=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);i>0;i--)this.$lines.pop();e.firstRow<t.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,t.firstRow-1)),e.lastRow>t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},e.prototype.$renderLinesFragment=function(e,t,n){for(var r=[],a=t,o=this.session.getNextFoldLine(a),s=o?o.start.row:1/0;a>s&&(a=o.end.row+1,o=this.session.getNextFoldLine(a,o),s=o?o.start.row:1/0),!(a>n);){var c=this.$lines.createCell(a,e,this.session),l=c.element;this.dom.removeChildren(l),i.setStyle(l.style,`height`,this.$lines.computeLineHeight(a,e,this.session)+`px`),i.setStyle(l.style,`top`,this.$lines.computeLineTop(a,e,this.session)+`px`),this.$renderLine(l,a,a==s?o:!1),this.$useLineGroups()?l.className=`ace_line_group`:l.className=`ace_line`,r.push(c),a++}return r},e.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var t=e.firstRow,n=e.lastRow,r=this.$lines;r.getLength();)r.pop();r.push(this.$renderLinesFragment(e,t,n))},e.prototype.$renderToken=function(e,t,n,r){for(var i=this,o=/(\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\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\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,s=this.dom.createFragment(this.element),u,d=0;u=o.exec(r);){var f=u[1],p=u[2],m=u[3],h=u[4],g=u[5];if(!(!i.showSpaces&&p)){var _=d==u.index?``:r.slice(d,u.index);if(d=u.index+u[0].length,_&&s.appendChild(this.dom.createTextNode(_,this.element)),f){var v=i.session.getScreenTabSize(t+u.index),y=i.$tabStrings[v].cloneNode(!0);y.charCount=1,s.appendChild(y),t+=v-1}else if(p)if(i.showSpaces){var b=this.dom.createElement(`span`);b.className=`ace_invisible ace_invisible_space`,b.textContent=a.stringRepeat(i.SPACE_CHAR,p.length),s.appendChild(b)}else s.appendChild(this.dom.createTextNode(p,this.element));else if(m){var b=this.dom.createElement(`span`);b.className=`ace_invisible ace_invisible_space ace_invalid`,b.textContent=a.stringRepeat(i.SPACE_CHAR,m.length),s.appendChild(b)}else if(h){t+=1;var b=this.dom.createElement(`span`);b.style.width=i.config.characterWidth*2+`px`,b.className=i.showSpaces?`ace_cjk ace_invisible ace_invisible_space`:`ace_cjk`,b.textContent=i.showSpaces?i.SPACE_CHAR:h,s.appendChild(b)}else if(g){t+=1;var b=this.dom.createElement(`span`);b.style.width=i.config.characterWidth*2+`px`,b.className=`ace_cjk`,b.textContent=g,s.appendChild(b)}}}if(s.appendChild(this.dom.createTextNode(d?r.slice(d):r,this.element)),l(n.type))e.appendChild(s);else{var x=`ace_`+n.type.replace(/\./g,` ace_`),b=this.dom.createElement(`span`);n.type==`fold`&&(b.style.width=n.value.length*this.config.characterWidth+`px`,b.setAttribute(`title`,c(`inline-fold.closed.title`,`Unfold code`))),b.className=x,b.appendChild(s),e.appendChild(b)}return t+r.length},e.prototype.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);if(r<=0||r>=n)return t;if(t[0]==` `){r-=r%this.tabSize;for(var i=r/this.tabSize,a=0;a<i;a++)e.appendChild(this.$tabStrings[` `].cloneNode(!0));return this.$highlightIndentGuide(),t.substr(r)}else if(t[0]==` `){for(var a=0;a<r;a++){var o=this.$tabStrings[` `].cloneNode(!0);o.charCount=1,e.appendChild(o)}return this.$highlightIndentGuide(),t.substr(r)}return this.$highlightIndentGuide(),t},e.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var t=this.session.selection.getCursor(),n=/^\s*/.exec(this.session.doc.getLine(t.row))[0].length,r=Math.floor(n/this.tabSize);if(this.$highlightIndentGuideMarker={indentLevel:r,start:t.row},this.session.$bracketHighlight){for(var i=this.session.$bracketHighlight.ranges,a=0;a<i.length;a++)if(t.row!==i[a].start.row){this.$highlightIndentGuideMarker.end=i[a].start.row+1,t.row>i[a].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[t.row]!==``&&t.column===e[t.row].length){this.$highlightIndentGuideMarker.dir=1;for(var a=t.row+1;a<e.length;a++){var o=e[a],s=/^\s*/.exec(o)[0].length;if(o!==``&&(this.$highlightIndentGuideMarker.end=a,s<=n))break}}this.$renderHighlightIndentGuide()}}},e.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(`.ace_indent-guide-active`),t=0;t<e.length;t++)e[t].classList.remove(`ace_indent-guide-active`)},e.prototype.$setIndentGuideActive=function(e,t){if(this.session.doc.getLine(e.row)!==``){var n=e.element;if(e.element.classList&&e.element.classList.contains(`ace_line_group`))if(e.element.childNodes.length>0)n=e.element.childNodes[0];else return;var r=n.childNodes;if(r){var i=r[t-1];i&&i.classList&&i.classList.contains(`ace_indent-guide`)&&i.classList.add(`ace_indent-guide-active`)}}},e.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var t=this.$highlightIndentGuideMarker.indentLevel;if(t!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var n=0;n<e.length;n++){var r=e[n];if(this.$highlightIndentGuideMarker.end&&r.row>=this.$highlightIndentGuideMarker.start+1){if(r.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(r,t)}}else for(var n=e.length-1;n>=0;n--){var r=e[n];if(this.$highlightIndentGuideMarker.end&&r.row<this.$highlightIndentGuideMarker.start){if(r.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(r,t)}}}},e.prototype.$createLineElement=function(e){var t=this.dom.createElement(`div`);return t.className=`ace_line`,t.style.height=this.config.lineHeight+`px`,t},e.prototype.$renderWrappedLine=function(e,t,n){var r=0,i=0,o=n[0],s=0,c=this.$createLineElement();e.appendChild(c);for(var l=0;l<t.length;l++){var u=t[l],d=u.value;if(l==0&&this.displayIndentGuides){if(r=d.length,d=this.renderIndentGuide(c,d,o),!d)continue;r-=d.length}if(r+d.length<o)s=this.$renderToken(c,s,u,d),r+=d.length;else{for(;r+d.length>=o;){s=this.$renderToken(c,s,u,d.substring(0,o-r)),d=d.substring(o-r),r=o,c=this.$createLineElement(),e.appendChild(c);var f=this.dom.createTextNode(a.stringRepeat(`\xA0`,n.indent),this.element);f.charCount=0,c.appendChild(f),i++,s=0,o=n[i]||Number.MAX_VALUE}d.length!=0&&(r+=d.length,s=this.$renderToken(c,s,u,d))}}n[n.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(c,s,null,``,!0)},e.prototype.$renderSimpleLine=function(e,t){for(var n=0,r=0;r<t.length;r++){var i=t[r],a=i.value;if(!(r==0&&this.displayIndentGuides&&(a=this.renderIndentGuide(e,a),!a))){if(n+a.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,n,i,a);n=this.$renderToken(e,n,i,a)}}},e.prototype.$renderOverflowMessage=function(e,t,n,r,i){n&&this.$renderToken(e,t,n,r.slice(0,this.MAX_LINE_LENGTH-t));var a=this.dom.createElement(`span`);a.className=`ace_inline_button ace_keyword ace_toggle_wrap`,a.textContent=i?`<hide>`:`<click to see more...>`,e.appendChild(a)},e.prototype.$renderLine=function(e,t,n){if(!n&&n!=0&&(n=this.session.getFoldLine(t)),n)var r=this.$getFoldLineTokens(t,n);else var r=this.session.getTokens(t);var i=e;if(r.length){var a=this.session.getRowSplitData(t);if(a&&a.length){this.$renderWrappedLine(e,r,a);var i=e.lastChild}else{var i=e;this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i)),this.$renderSimpleLine(i,r)}}else this.$useLineGroups()&&(i=this.$createLineElement(),e.appendChild(i));if(this.showEOL&&i){n&&(t=n.end.row);var o=this.dom.createElement(`span`);o.className=`ace_invisible ace_invisible_eol`,o.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,i.appendChild(o)}},e.prototype.$getFoldLineTokens=function(e,t){var n=this.session,r=[];function i(e,t,n){for(var i=0,a=0;a+e[i].value.length<t;)if(a+=e[i].value.length,i++,i==e.length)return;if(a!=t){var o=e[i].value.substring(t-a);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),a=t+o.length,i+=1}for(;a<n&&i<e.length;){var o=e[i].value;o.length+a>n?r.push({type:e[i].type,value:o.substring(0,n-a)}):r.push(e[i]),a+=o.length,i+=1}}var a=n.getTokens(e);return t.walk(function(e,t,o,s,c){e==null?(c&&(a=n.getTokens(t)),a.length&&i(a,s,o)):r.push({type:`fold`,value:e})},t.end.row,this.session.getLine(t.end.row).length),r},e.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},e}();u.prototype.EOF_CHAR=`¶`,u.prototype.EOL_CHAR_LF=`¬`,u.prototype.EOL_CHAR_CRLF=`¤`,u.prototype.EOL_CHAR=u.prototype.EOL_CHAR_LF,u.prototype.TAB_CHAR=`—`,u.prototype.SPACE_CHAR=`·`,u.prototype.$padding=0,u.prototype.MAX_LINE_LENGTH=1e4,u.prototype.showInvisibles=!1,u.prototype.showSpaces=!1,u.prototype.showTabs=!1,u.prototype.showEOL=!1,u.prototype.displayIndentGuides=!0,u.prototype.$highlightIndentGuides=!0,u.prototype.$tabStrings=[],u.prototype.destroy={},u.prototype.onChangeTabSize=u.prototype.$computeTabString,r.implement(u.prototype,s),t.Text=u}),ace.define(`ace/layer/cursor`,[`require`,`exports`,`module`,`ace/lib/dom`],function(e,t,n){var r=e("../lib/dom"),i=function(){function e(e){this.element=r.createElement(`div`),this.element.className=`ace_layer ace_cursor-layer`,e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,`ace_hidden-cursors`),this.$updateCursors=this.$updateOpacity.bind(this)}return e.prototype.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)r.setStyle(t[n].style,`opacity`,e?``:`0`)},e.prototype.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+`ms`;this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&r.addCssClass(this.element,`ace_animate-blinking`)}.bind(this))},e.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,r.removeCssClass(this.element,`ace_animate-blinking`)},e.prototype.setPadding=function(e){this.$padding=e},e.prototype.setSession=function(e){this.session=e},e.prototype.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},e.prototype.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},e.prototype.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,r.setCssClass(this.element,`ace_smooth-blinking`,e),this.$updateCursors(!0),this.restartTimer())},e.prototype.addCursor=function(){var e=r.createElement(`div`);return e.className=`ace_cursor`,this.element.appendChild(e),this.cursors.push(e),e},e.prototype.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},e.prototype.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,`ace_hidden-cursors`),this.restartTimer()},e.prototype.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,`ace_hidden-cursors`),this.restartTimer()},e.prototype.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,r.removeCssClass(this.element,`ace_smooth-blinking`)),e(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&r.addCssClass(this.element,`ace_smooth-blinking`)}.bind(this))),r.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},e.prototype.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||=this.session.selection.getCursor();var n=this.session.documentToScreenPosition(e);return{left:this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),top:(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight}},e.prototype.isCursorInView=function(e,t){return e.top>=0&&e.top<t.maxHeight},e.prototype.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,i=0;(t===void 0||t.length===0)&&(t=[{cursor:null}]);for(var n=0,a=t.length;n<a;n++){var o=this.getPixelPosition(t[n].cursor,!0);if(!((o.top>e.height+e.offset||o.top<0)&&n>1)){var s=this.cursors[i++]||this.addCursor(),c=s.style;this.drawCursor?this.drawCursor(s,o,e,t[n],this.session):this.isCursorInView(o,e)?(r.setStyle(c,`display`,`block`),r.translate(s,o.left,o.top),r.setStyle(c,`width`,Math.round(e.characterWidth)+`px`),r.setStyle(c,`height`,e.lineHeight+`px`)):r.setStyle(c,`display`,`none`)}}for(;this.cursors.length>i;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=o,this.restartTimer()},e.prototype.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,`ace_overwrite-cursors`):r.removeCssClass(this.element,`ace_overwrite-cursors`))},e.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},e}();i.prototype.$padding=0,i.prototype.drawCursor=null,t.Cursor=i}),ace.define(`ace/scrollbar`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/lib/dom`,`ace/lib/event`,`ace/lib/event_emitter`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=e("./lib/oop"),a=e("./lib/dom"),o=e("./lib/event"),s=e("./lib/event_emitter").EventEmitter,c=32768,l=function(){function e(e,t){this.element=a.createElement(`div`),this.element.className=`ace_scrollbar ace_scrollbar`+t,this.element.tabIndex=-1,this.inner=a.createElement(`div`),this.inner.className=`ace_scrollbar-inner`,this.inner.textContent=`\xA0`,this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,`scroll`,this.onScroll.bind(this)),o.addListener(this.element,`mousedown`,o.preventDefault)}return e.prototype.setVisible=function(e){this.element.style.display=e?``:`none`,this.isVisible=e,this.coeff=1},e}();i.implement(l.prototype,s);var u=function(e){r(t,e);function t(t,n){var r=e.call(this,t,`-v`)||this;return r.scrollTop=0,r.scrollHeight=0,n.$scrollbarWidth=r.width=a.scrollbarWidth(t.ownerDocument),r.inner.style.width=r.element.style.width=(r.width||15)+5+`px`,r.$minWidth=0,r}return t.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit(`scroll`,{data:this.scrollTop})}this.skipEvent=!1},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.element.style.height=e+`px`},t.prototype.setScrollHeight=function(e){this.scrollHeight=e,e>c?(this.coeff=c/e,e=c):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+`px`},t.prototype.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)},t}(l);u.prototype.setInnerHeight=u.prototype.setScrollHeight;var d=function(e){r(t,e);function t(t,n){var r=e.call(this,t,`-h`)||this;return r.scrollLeft=0,r.height=n.$scrollbarWidth,r.inner.style.height=r.element.style.height=(r.height||15)+5+`px`,r}return t.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit(`scroll`,{data:this.scrollLeft})),this.skipEvent=!1},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.setWidth=function(e){this.element.style.width=e+`px`},t.prototype.setInnerWidth=function(e){this.inner.style.width=e+`px`},t.prototype.setScrollWidth=function(e){this.inner.style.width=e+`px`},t.prototype.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)},t}(l);t.ScrollBar=u,t.ScrollBarV=u,t.ScrollBarH=d,t.VScrollBar=u,t.HScrollBar=d}),ace.define(`ace/scrollbar_custom`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/lib/dom`,`ace/lib/event`,`ace/lib/event_emitter`],function(e,t,n){var r=this&&this.__extends||(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if(typeof n!=`function`&&n!==null)throw TypeError(`Class extends value `+String(n)+` is not a constructor or null`);e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),i=e("./lib/oop"),a=e("./lib/dom"),o=e("./lib/event"),s=e("./lib/event_emitter").EventEmitter;a.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
211
+ position: absolute;
212
+ background: rgba(128, 128, 128, 0.6);
213
+ -moz-box-sizing: border-box;
214
+ box-sizing: border-box;
215
+ border: 1px solid #bbb;
216
+ border-radius: 2px;
217
+ z-index: 8;
218
+ }
219
+ .ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
220
+ position: absolute;
221
+ z-index: 6;
222
+ background: none;
223
+ overflow: hidden!important;
224
+ }
225
+ .ace_editor>.ace_sb-v {
226
+ z-index: 6;
227
+ right: 0;
228
+ top: 0;
229
+ width: 12px;
230
+ }
231
+ .ace_editor>.ace_sb-v div {
232
+ z-index: 8;
233
+ right: 0;
234
+ width: 100%;
235
+ }
236
+ .ace_editor>.ace_sb-h {
237
+ bottom: 0;
238
+ left: 0;
239
+ height: 12px;
240
+ }
241
+ .ace_editor>.ace_sb-h div {
242
+ bottom: 0;
243
+ height: 100%;
244
+ }
245
+ .ace_editor>.ace_sb_grabbed {
246
+ z-index: 8;
247
+ background: #000;
248
+ }`,`ace_scrollbar.css`,!1);var c=function(){function e(e,t){this.element=a.createElement(`div`),this.element.className=`ace_sb`+t,this.inner=a.createElement(`div`),this.inner.className=``,this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addMultiMouseDownListener(this.element,[500,300,300],this,`onMouseDown`)}return e.prototype.setVisible=function(e){this.element.style.display=e?``:`none`,this.isVisible=e,this.coeff=1},e}();i.implement(c.prototype,s);var l=function(e){r(t,e);function t(t,n){var r=e.call(this,t,`-v`)||this;return r.scrollTop=0,r.scrollHeight=0,r.parent=t,r.width=r.VScrollWidth,r.renderer=n,r.inner.style.width=r.element.style.width=(r.width||15)+`px`,r.$minWidth=0,r}return t.prototype.onMouseDown=function(e,t){if(e===`mousedown`&&!(o.getButton(t)!==0||t.detail===2)){if(t.target===this.inner){var n=this,r=t.clientY,i=function(e){r=e.clientY},a=function(){clearInterval(u)},s=t.clientY,c=this.thumbTop,l=function(){if(r!==void 0){var e=n.scrollTopFromThumbTop(c+r-s);e!==n.scrollTop&&n._emit(`scroll`,{data:e})}};o.capture(this.inner,i,a);var u=setInterval(l,20);return o.preventDefault(t)}var d=t.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit(`scroll`,{data:this.scrollTopFromThumbTop(d)}),o.preventDefault(t)}},t.prototype.getHeight=function(){return this.height},t.prototype.scrollTopFromThumbTop=function(e){var t=e*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return t>>=0,t<0?t=0:t>this.pageHeight-this.viewHeight&&(t=this.pageHeight-this.viewHeight),t},t.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},t.prototype.setHeight=function(e){this.height=Math.max(0,e),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},t.prototype.setScrollHeight=function(e,t){this.pageHeight===e&&!t||(this.pageHeight=e,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(e){this.scrollTop=e,e<0&&(e=0),this.thumbTop=e*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+`px`},t}(c);l.prototype.setInnerHeight=l.prototype.setScrollHeight;var u=function(e){r(t,e);function t(t,n){var r=e.call(this,t,`-h`)||this;return r.scrollLeft=0,r.scrollWidth=0,r.height=r.HScrollHeight,r.inner.style.height=r.element.style.height=(r.height||12)+`px`,r.renderer=n,r}return t.prototype.onMouseDown=function(e,t){if(e===`mousedown`&&!(o.getButton(t)!==0||t.detail===2)){if(t.target===this.inner){var n=this,r=t.clientX,i=function(e){r=e.clientX},a=function(){clearInterval(u)},s=t.clientX,c=this.thumbLeft,l=function(){if(r!==void 0){var e=n.scrollLeftFromThumbLeft(c+r-s);e!==n.scrollLeft&&n._emit(`scroll`,{data:e})}};o.capture(this.inner,i,a);var u=setInterval(l,20);return o.preventDefault(t)}var d=t.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit(`scroll`,{data:this.scrollLeftFromThumbLeft(d)}),o.preventDefault(t)}},t.prototype.getHeight=function(){return this.isVisible?this.height:0},t.prototype.scrollLeftFromThumbLeft=function(e){var t=e*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return t>>=0,t<0?t=0:t>this.pageWidth-this.viewWidth&&(t=this.pageWidth-this.viewWidth),t},t.prototype.setWidth=function(e){this.width=Math.max(0,e),this.element.style.width=this.width+`px`,this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},t.prototype.setScrollWidth=function(e,t){this.pageWidth===e&&!t||(this.pageWidth=e,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(e){this.scrollLeft=e,e<0&&(e=0),this.thumbLeft=e*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+`px`},t}(c);u.prototype.setInnerWidth=u.prototype.setScrollWidth,t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=u,t.VScrollBar=l,t.HScrollBar=u}),ace.define(`ace/renderloop`,[`require`,`exports`,`module`,`ace/lib/event`],function(e,t,n){var r=e("./lib/event");t.RenderLoop=function(){function e(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var n=this;this._flush=function(e){n.pending=!1;var t=n.changes;if(t&&(r.blockIdle(100),n.changes=0,n.onRender(t)),n.changes){if(n.$recursionLimit--<0)return;n.schedule()}else n.$recursionLimit=2}}return e.prototype.schedule=function(e){this.changes|=e,this.changes&&!this.pending&&(r.nextFrame(this._flush),this.pending=!0)},e.prototype.clear=function(e){var t=this.changes;return this.changes=0,t},e}()}),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(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),a=e("../lib/lang"),o=e("../lib/event"),s=e("../lib/useragent"),c=e("../lib/event_emitter").EventEmitter,l=512,u=typeof ResizeObserver==`function`,d=200,f=function(){function e(e){this.el=i.createElement(`div`),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement(`div`),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement(`div`),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.textContent=a.stringRepeat(`X`,l),this.$characterSize={width:0,height:0},u?this.$addObserver():this.checkForSizeChanges()}return e.prototype.$setMeasureNodeStyles=function(e,t){e.width=e.height=`auto`,e.left=e.top=`0px`,e.visibility=`hidden`,e.position=`absolute`,e.whiteSpace=`pre`,s.isIE<8?e[`font-family`]=`inherit`:e.font=`inherit`,e.overflow=t?`hidden`:`visible`},e.prototype.checkForSizeChanges=function(e){if(e===void 0&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight=`bold`;var t=this.$measureSizes();this.$measureNode.style.fontWeight=``,this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit(`changeCharacterSize`,{data:e})}},e.prototype.$addObserver=function(){var e=this;this.$observer=new window.ResizeObserver(function(t){e.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},e.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=o.onIdle(function t(){e.checkForSizeChanges(),o.onIdle(t,500)},500)},e.prototype.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&=(clearInterval(this.$pollSizeChangesTimer),0)},e.prototype.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/l};return t.width===0||t.height===0?null:t},e.prototype.$measureCharWidth=function(e){return this.$main.textContent=a.stringRepeat(e,l),this.$main.getBoundingClientRect().width/l},e.prototype.getCharacterWidth=function(e){var t=this.charSizes[e];return t===void 0&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},e.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},e.prototype.$getZoom=function(e){return!e||!e.parentElement?1:(Number(window.getComputedStyle(e).zoom)||1)*this.$getZoom(e.parentElement)},e.prototype.$initTransformMeasureNodes=function(){var e=function(e,t){return[`div`,{style:`position: absolute;top:`+e+`px;left:`+t+`px;`}]};this.els=i.buildDom([e(0,0),e(d,0),e(0,d),e(d,d)],this.el)},e.prototype.transformCoordinates=function(e,t){e&&=a(1/this.$getZoom(this.el),e);function n(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1])/r,(+e[1]*n[0]-e[0]*n[1])/r]}function r(e,t){return[e[0]-t[0],e[1]-t[1]]}function i(e,t){return[e[0]+t[0],e[1]+t[1]]}function a(e,t){return[e*t[0],e*t[1]]}this.els||this.$initTransformMeasureNodes();function o(e){var t=e.getBoundingClientRect();return[t.left,t.top]}var s=o(this.els[0]),c=o(this.els[1]),l=o(this.els[2]),u=o(this.els[3]),f=n(r(u,c),r(u,l),r(i(c,l),i(u,s))),p=a(1+f[0],r(c,s)),m=a(1+f[1],r(l,s));if(t){var h=t,g=f[0]*h[0]/d+f[1]*h[1]/d+1,_=i(a(h[0],p),a(h[1],m));return i(a(1/g/d,_),s)}var v=r(e,s);return a(d,n(r(p,a(f[0],v)),r(m,a(f[1],v)),v))},e}();f.prototype.$characterSize={width:0,height:0},r.implement(f.prototype,c),t.FontMetrics=f}),ace.define(`ace/css/editor-css`,[`require`,`exports`,`module`],function(e,t,n){n.exports=`
249
+ .ace_br1 {border-top-left-radius : 3px;}
250
+ .ace_br2 {border-top-right-radius : 3px;}
251
+ .ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
252
+ .ace_br4 {border-bottom-right-radius: 3px;}
253
+ .ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
254
+ .ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
255
+ .ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
256
+ .ace_br8 {border-bottom-left-radius : 3px;}
257
+ .ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
258
+ .ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
259
+ .ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
260
+ .ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
261
+ .ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
262
+ .ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
263
+ .ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
264
+
265
+
266
+ .ace_editor {
267
+ position: relative;
268
+ overflow: hidden;
269
+ padding: 0;
270
+ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
271
+ direction: ltr;
272
+ text-align: left;
273
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
274
+ forced-color-adjust: none;
275
+ }
276
+
277
+ .ace_scroller {
278
+ position: absolute;
279
+ overflow: hidden;
280
+ top: 0;
281
+ bottom: 0;
282
+ background-color: inherit;
283
+ -ms-user-select: none;
284
+ -moz-user-select: none;
285
+ -webkit-user-select: none;
286
+ user-select: none;
287
+ cursor: text;
288
+ }
289
+
290
+ .ace_content {
291
+ position: absolute;
292
+ box-sizing: border-box;
293
+ min-width: 100%;
294
+ contain: style size layout;
295
+ font-variant-ligatures: no-common-ligatures;
296
+ }
297
+ .ace_invisible {
298
+ font-variant-ligatures: none;
299
+ }
300
+
301
+ .ace_keyboard-focus:focus {
302
+ box-shadow: inset 0 0 0 2px #5E9ED6;
303
+ outline: none;
304
+ }
305
+
306
+ .ace_dragging .ace_scroller:before{
307
+ position: absolute;
308
+ top: 0;
309
+ left: 0;
310
+ right: 0;
311
+ bottom: 0;
312
+ content: '';
313
+ background: rgba(250, 250, 250, 0.01);
314
+ z-index: 1000;
315
+ }
316
+ .ace_dragging.ace_dark .ace_scroller:before{
317
+ background: rgba(0, 0, 0, 0.01);
318
+ }
319
+
320
+ .ace_gutter {
321
+ position: absolute;
322
+ overflow : hidden;
323
+ width: auto;
324
+ top: 0;
325
+ bottom: 0;
326
+ left: 0;
327
+ cursor: default;
328
+ z-index: 4;
329
+ -ms-user-select: none;
330
+ -moz-user-select: none;
331
+ -webkit-user-select: none;
332
+ user-select: none;
333
+ contain: style size layout;
334
+ }
335
+
336
+ .ace_gutter-active-line {
337
+ position: absolute;
338
+ left: 0;
339
+ right: 0;
340
+ }
341
+
342
+ .ace_scroller.ace_scroll-left:after {
343
+ content: "";
344
+ position: absolute;
345
+ top: 0;
346
+ right: 0;
347
+ bottom: 0;
348
+ left: 0;
349
+ box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
350
+ pointer-events: none;
351
+ }
352
+
353
+ .ace_gutter-cell, .ace_gutter-cell_svg-icons {
354
+ position: absolute;
355
+ top: 0;
356
+ left: 0;
357
+ right: 0;
358
+ padding-left: 19px;
359
+ padding-right: 6px;
360
+ background-repeat: no-repeat;
361
+ }
362
+
363
+ .ace_gutter-cell_svg-icons .ace_gutter_annotation {
364
+ margin-left: -14px;
365
+ float: left;
366
+ }
367
+
368
+ .ace_gutter-cell .ace_gutter_annotation {
369
+ margin-left: -19px;
370
+ float: left;
371
+ }
372
+
373
+ .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 {
374
+ 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==");
375
+ background-repeat: no-repeat;
376
+ background-position: 2px center;
377
+ }
378
+
379
+ .ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
380
+ 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==");
381
+ background-repeat: no-repeat;
382
+ background-position: 2px center;
383
+ }
384
+
385
+ .ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
386
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
387
+ background-repeat: no-repeat;
388
+ background-position: 2px center;
389
+ }
390
+
391
+ .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 {
392
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
393
+ }
394
+
395
+ .ace_icon_svg.ace_error {
396
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
397
+ background-color: crimson;
398
+ }
399
+ .ace_icon_svg.ace_security {
400
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
401
+ background-color: crimson;
402
+ }
403
+ .ace_icon_svg.ace_warning {
404
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
405
+ background-color: darkorange;
406
+ }
407
+ .ace_icon_svg.ace_info {
408
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
409
+ background-color: royalblue;
410
+ }
411
+ .ace_icon_svg.ace_hint {
412
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
413
+ background-color: silver;
414
+ }
415
+
416
+ .ace_icon_svg.ace_error_fold {
417
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
418
+ background-color: crimson;
419
+ }
420
+ .ace_icon_svg.ace_security_fold {
421
+ -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
422
+ background-color: crimson;
423
+ }
424
+ .ace_icon_svg.ace_warning_fold {
425
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
426
+ background-color: darkorange;
427
+ }
428
+
429
+ .ace_scrollbar {
430
+ contain: strict;
431
+ position: absolute;
432
+ right: 0;
433
+ bottom: 0;
434
+ z-index: 6;
435
+ }
436
+
437
+ .ace_scrollbar-inner {
438
+ position: absolute;
439
+ cursor: text;
440
+ left: 0;
441
+ top: 0;
442
+ }
443
+
444
+ .ace_scrollbar-v{
445
+ overflow-x: hidden;
446
+ overflow-y: scroll;
447
+ top: 0;
448
+ }
449
+
450
+ .ace_scrollbar-h {
451
+ overflow-x: scroll;
452
+ overflow-y: hidden;
453
+ left: 0;
454
+ }
455
+
456
+ .ace_print-margin {
457
+ position: absolute;
458
+ height: 100%;
459
+ }
460
+
461
+ .ace_text-input {
462
+ position: absolute;
463
+ z-index: 0;
464
+ width: 0.5em;
465
+ height: 1em;
466
+ opacity: 0;
467
+ background: transparent;
468
+ -moz-appearance: none;
469
+ appearance: none;
470
+ border: none;
471
+ resize: none;
472
+ outline: none;
473
+ overflow: hidden;
474
+ font: inherit;
475
+ padding: 0 1px;
476
+ margin: 0 -1px;
477
+ contain: strict;
478
+ -ms-user-select: text;
479
+ -moz-user-select: text;
480
+ -webkit-user-select: text;
481
+ user-select: text;
482
+ /*with \`pre-line\` chrome inserts &nbsp; instead of space*/
483
+ white-space: pre!important;
484
+ }
485
+ .ace_text-input.ace_composition {
486
+ background: transparent;
487
+ color: inherit;
488
+ z-index: 1000;
489
+ opacity: 1;
490
+ }
491
+ .ace_composition_placeholder { color: transparent }
492
+ .ace_composition_marker {
493
+ border-bottom: 1px solid;
494
+ position: absolute;
495
+ border-radius: 0;
496
+ margin-top: 1px;
497
+ }
498
+
499
+ [ace_nocontext=true] {
500
+ transform: none!important;
501
+ filter: none!important;
502
+ clip-path: none!important;
503
+ mask : none!important;
504
+ contain: none!important;
505
+ perspective: none!important;
506
+ mix-blend-mode: initial!important;
507
+ z-index: auto;
508
+ }
509
+
510
+ .ace_layer {
511
+ z-index: 1;
512
+ position: absolute;
513
+ overflow: hidden;
514
+ /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
515
+ word-wrap: normal;
516
+ white-space: pre;
517
+ height: 100%;
518
+ width: 100%;
519
+ box-sizing: border-box;
520
+ /* setting pointer-events: auto; on node under the mouse, which changes
521
+ during scroll, will break mouse wheel scrolling in Safari */
522
+ pointer-events: none;
523
+ }
524
+
525
+ .ace_gutter-layer {
526
+ position: relative;
527
+ width: auto;
528
+ text-align: right;
529
+ pointer-events: auto;
530
+ height: 1000000px;
531
+ contain: style size layout;
532
+ }
533
+
534
+ .ace_text-layer {
535
+ font: inherit !important;
536
+ position: absolute;
537
+ height: 1000000px;
538
+ width: 1000000px;
539
+ contain: style size layout;
540
+ }
541
+
542
+ .ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
543
+ contain: style size layout;
544
+ position: absolute;
545
+ top: 0;
546
+ left: 0;
547
+ right: 0;
548
+ }
549
+
550
+ .ace_hidpi .ace_text-layer,
551
+ .ace_hidpi .ace_gutter-layer,
552
+ .ace_hidpi .ace_content,
553
+ .ace_hidpi .ace_gutter {
554
+ contain: strict;
555
+ }
556
+ .ace_hidpi .ace_text-layer > .ace_line,
557
+ .ace_hidpi .ace_text-layer > .ace_line_group {
558
+ contain: strict;
559
+ }
560
+
561
+ .ace_cjk {
562
+ display: inline-block;
563
+ text-align: center;
564
+ }
565
+
566
+ .ace_cursor-layer {
567
+ z-index: 4;
568
+ }
569
+
570
+ .ace_cursor {
571
+ z-index: 4;
572
+ position: absolute;
573
+ box-sizing: border-box;
574
+ border-left: 2px solid;
575
+ /* workaround for smooth cursor repaintng whole screen in chrome */
576
+ transform: translatez(0);
577
+ }
578
+
579
+ .ace_multiselect .ace_cursor {
580
+ border-left-width: 1px;
581
+ }
582
+
583
+ .ace_slim-cursors .ace_cursor {
584
+ border-left-width: 1px;
585
+ }
586
+
587
+ .ace_overwrite-cursors .ace_cursor {
588
+ border-left-width: 0;
589
+ border-bottom: 1px solid;
590
+ }
591
+
592
+ .ace_hidden-cursors .ace_cursor {
593
+ opacity: 0.2;
594
+ }
595
+
596
+ .ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
597
+ opacity: 0;
598
+ }
599
+
600
+ .ace_smooth-blinking .ace_cursor {
601
+ transition: opacity 0.18s;
602
+ }
603
+
604
+ .ace_animate-blinking .ace_cursor {
605
+ animation-duration: 1000ms;
606
+ animation-timing-function: step-end;
607
+ animation-name: blink-ace-animate;
608
+ animation-iteration-count: infinite;
609
+ }
610
+
611
+ .ace_animate-blinking.ace_smooth-blinking .ace_cursor {
612
+ animation-duration: 1000ms;
613
+ animation-timing-function: ease-in-out;
614
+ animation-name: blink-ace-animate-smooth;
615
+ }
616
+
617
+ @keyframes blink-ace-animate {
618
+ from, to { opacity: 1; }
619
+ 60% { opacity: 0; }
620
+ }
621
+
622
+ @keyframes blink-ace-animate-smooth {
623
+ from, to { opacity: 1; }
624
+ 45% { opacity: 1; }
625
+ 60% { opacity: 0; }
626
+ 85% { opacity: 0; }
627
+ }
628
+
629
+ .ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
630
+ position: absolute;
631
+ z-index: 3;
632
+ }
633
+
634
+ .ace_marker-layer .ace_selection {
635
+ position: absolute;
636
+ z-index: 5;
637
+ }
638
+
639
+ .ace_marker-layer .ace_bracket {
640
+ position: absolute;
641
+ z-index: 6;
642
+ }
643
+
644
+ .ace_marker-layer .ace_error_bracket {
645
+ position: absolute;
646
+ border-bottom: 1px solid #DE5555;
647
+ border-radius: 0;
648
+ }
649
+
650
+ .ace_marker-layer .ace_active-line {
651
+ position: absolute;
652
+ z-index: 2;
653
+ }
654
+
655
+ .ace_marker-layer .ace_selected-word {
656
+ position: absolute;
657
+ z-index: 4;
658
+ box-sizing: border-box;
659
+ }
660
+
661
+ .ace_line .ace_fold {
662
+ box-sizing: border-box;
663
+
664
+ display: inline-block;
665
+ height: 11px;
666
+ margin-top: -2px;
667
+ vertical-align: middle;
668
+
669
+ background-image:
670
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
671
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
672
+ background-repeat: no-repeat, repeat-x;
673
+ background-position: center center, top left;
674
+ color: transparent;
675
+
676
+ border: 1px solid black;
677
+ border-radius: 2px;
678
+
679
+ cursor: pointer;
680
+ pointer-events: auto;
681
+ }
682
+
683
+ .ace_dark .ace_fold {
684
+ }
685
+
686
+ .ace_fold:hover{
687
+ background-image:
688
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
689
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
690
+ }
691
+
692
+ .ace_tooltip {
693
+ background-color: #f5f5f5;
694
+ border: 1px solid gray;
695
+ border-radius: 1px;
696
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
697
+ color: black;
698
+ padding: 3px 4px;
699
+ position: fixed;
700
+ z-index: 999999;
701
+ box-sizing: border-box;
702
+ cursor: default;
703
+ white-space: pre-wrap;
704
+ word-wrap: break-word;
705
+ line-height: normal;
706
+ font-style: normal;
707
+ font-weight: normal;
708
+ letter-spacing: normal;
709
+ pointer-events: none;
710
+ overflow: auto;
711
+ max-width: min(33em, 66vw);
712
+ overscroll-behavior: contain;
713
+ }
714
+ .ace_tooltip pre {
715
+ white-space: pre-wrap;
716
+ }
717
+
718
+ .ace_tooltip.ace_dark {
719
+ background-color: #636363;
720
+ color: #fff;
721
+ }
722
+
723
+ .ace_tooltip:focus {
724
+ outline: 1px solid #5E9ED6;
725
+ }
726
+
727
+ .ace_icon {
728
+ display: inline-block;
729
+ width: 18px;
730
+ vertical-align: top;
731
+ }
732
+
733
+ .ace_icon_svg {
734
+ display: inline-block;
735
+ width: 12px;
736
+ vertical-align: top;
737
+ -webkit-mask-repeat: no-repeat;
738
+ -webkit-mask-size: 12px;
739
+ -webkit-mask-position: center;
740
+ }
741
+
742
+ .ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
743
+ padding-right: 13px;
744
+ }
745
+
746
+ .ace_fold-widget, .ace_custom-widget {
747
+ box-sizing: border-box;
748
+
749
+ margin: 0 -12px 0 1px;
750
+ display: none;
751
+ width: 11px;
752
+ vertical-align: top;
753
+
754
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
755
+ background-repeat: no-repeat;
756
+ background-position: center;
757
+
758
+ border-radius: 3px;
759
+
760
+ border: 1px solid transparent;
761
+ cursor: pointer;
762
+ pointer-events: auto;
763
+ }
764
+
765
+ .ace_custom-widget {
766
+ background: none;
767
+ }
768
+
769
+ .ace_folding-enabled .ace_fold-widget {
770
+ display: inline-block;
771
+ }
772
+
773
+ .ace_fold-widget.ace_end {
774
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
775
+ }
776
+
777
+ .ace_fold-widget.ace_closed {
778
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
779
+ }
780
+
781
+ .ace_fold-widget:hover {
782
+ border: 1px solid rgba(0, 0, 0, 0.3);
783
+ background-color: rgba(255, 255, 255, 0.2);
784
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
785
+ }
786
+
787
+ .ace_fold-widget:active {
788
+ border: 1px solid rgba(0, 0, 0, 0.4);
789
+ background-color: rgba(0, 0, 0, 0.05);
790
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
791
+ }
792
+ /**
793
+ * Dark version for fold widgets
794
+ */
795
+ .ace_dark .ace_fold-widget {
796
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
797
+ }
798
+ .ace_dark .ace_fold-widget.ace_end {
799
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
800
+ }
801
+ .ace_dark .ace_fold-widget.ace_closed {
802
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
803
+ }
804
+ .ace_dark .ace_fold-widget:hover {
805
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
806
+ background-color: rgba(255, 255, 255, 0.1);
807
+ }
808
+ .ace_dark .ace_fold-widget:active {
809
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
810
+ }
811
+
812
+ .ace_inline_button {
813
+ border: 1px solid lightgray;
814
+ display: inline-block;
815
+ margin: -1px 8px;
816
+ padding: 0 5px;
817
+ pointer-events: auto;
818
+ cursor: pointer;
819
+ }
820
+ .ace_inline_button:hover {
821
+ border-color: gray;
822
+ background: rgba(200,200,200,0.2);
823
+ display: inline-block;
824
+ pointer-events: auto;
825
+ }
826
+
827
+ .ace_fold-widget.ace_invalid {
828
+ background-color: #FFB4B4;
829
+ border-color: #DE5555;
830
+ }
831
+
832
+ .ace_fade-fold-widgets .ace_fold-widget {
833
+ transition: opacity 0.4s ease 0.05s;
834
+ opacity: 0;
835
+ }
836
+
837
+ .ace_fade-fold-widgets:hover .ace_fold-widget {
838
+ transition: opacity 0.05s ease 0.05s;
839
+ opacity:1;
840
+ }
841
+
842
+ .ace_underline {
843
+ text-decoration: underline;
844
+ }
845
+
846
+ .ace_bold {
847
+ font-weight: bold;
848
+ }
849
+
850
+ .ace_nobold .ace_bold {
851
+ font-weight: normal;
852
+ }
853
+
854
+ .ace_italic {
855
+ font-style: italic;
856
+ }
857
+
858
+
859
+ .ace_error-marker {
860
+ background-color: rgba(255, 0, 0,0.2);
861
+ position: absolute;
862
+ z-index: 9;
863
+ }
864
+
865
+ .ace_highlight-marker {
866
+ background-color: rgba(255, 255, 0,0.2);
867
+ position: absolute;
868
+ z-index: 8;
869
+ }
870
+
871
+ .ace_mobile-menu {
872
+ position: absolute;
873
+ line-height: 1.5;
874
+ border-radius: 4px;
875
+ -ms-user-select: none;
876
+ -moz-user-select: none;
877
+ -webkit-user-select: none;
878
+ user-select: none;
879
+ background: white;
880
+ box-shadow: 1px 3px 2px grey;
881
+ border: 1px solid #dcdcdc;
882
+ color: black;
883
+ }
884
+ .ace_dark > .ace_mobile-menu {
885
+ background: #333;
886
+ color: #ccc;
887
+ box-shadow: 1px 3px 2px grey;
888
+ border: 1px solid #444;
889
+
890
+ }
891
+ .ace_mobile-button {
892
+ padding: 2px;
893
+ cursor: pointer;
894
+ overflow: hidden;
895
+ }
896
+ .ace_mobile-button:hover {
897
+ background-color: #eee;
898
+ opacity:1;
899
+ }
900
+ .ace_mobile-button:active {
901
+ background-color: #ddd;
902
+ }
903
+
904
+ .ace_placeholder {
905
+ position: relative;
906
+ font-family: arial;
907
+ transform: scale(0.9);
908
+ transform-origin: left;
909
+ white-space: pre;
910
+ opacity: 0.7;
911
+ margin: 0 10px;
912
+ z-index: 1;
913
+ }
914
+
915
+ .ace_ghost_text {
916
+ opacity: 0.5;
917
+ font-style: italic;
918
+ }
919
+
920
+ .ace_ghost_text_container > div {
921
+ white-space: pre;
922
+ }
923
+
924
+ .ghost_text_line_wrapped::after {
925
+ content: "↩";
926
+ position: absolute;
927
+ }
928
+
929
+ .ace_lineWidgetContainer.ace_ghost_text {
930
+ margin: 0px 4px
931
+ }
932
+
933
+ .ace_screenreader-only {
934
+ position:absolute;
935
+ left:-10000px;
936
+ top:auto;
937
+ width:1px;
938
+ height:1px;
939
+ overflow:hidden;
940
+ }
941
+
942
+ .ace_hidden_token {
943
+ display: none;
944
+ }`}),ace.define(`ace/layer/decorators`,[`require`,`exports`,`module`,`ace/lib/dom`,`ace/lib/oop`,`ace/lib/event_emitter`],function(e,t,n){var r=e("../lib/dom"),i=e("../lib/oop"),a=e("../lib/event_emitter").EventEmitter,o=function(){function e(e,t){this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,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)`},this.setScrollBarV(e)}return e.prototype.$createCanvas=function(){this.canvas=r.createElement(`canvas`),this.canvas.style.top=`0px`,this.canvas.style.right=`0px`,this.canvas.style.zIndex=`7`,this.canvas.style.position=`absolute`},e.prototype.setScrollBarV=function(e){this.$createCanvas(),this.scrollbarV=e,e.element.appendChild(this.canvas),this.setDimensions()},e.prototype.$updateDecorators=function(e){if(typeof this.canvas.getContext!=`function`)return;var t=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(e);var n=this.canvas.getContext(`2d`);function r(e,t){return e.priority<t.priority?-1:+(e.priority>t.priority)}var i=this.renderer.session.$annotations;if(n.clearRect(0,0,this.canvas.width,this.canvas.height),i){var a={info:1,warning:2,error:3};i.forEach(function(e){e.priority=a[e.type]||null}),i=i.sort(r);for(var o=0;o<i.length;o++){var s=i[o].row,c=this.getVerticalOffsetForRow(s),l=c+this.lineHeight,u=Math.round(this.heightRatio*c),d=Math.round(this.heightRatio*l),f=Math.round((u+d)/2),p=d-f;p<this.halfMinDecorationHeight&&(p=this.halfMinDecorationHeight),f-p<0&&(f=p),f+p>this.canvasHeight&&(f=this.canvasHeight-p);var m=f-p,h=f+p-m;n.fillStyle=t[i[o].type]||null,n.fillRect(0,m,Math.round(this.oneZoneWidth-1),h)}}var g=this.renderer.session.selection.getCursor();if(g){var _=Math.round(this.getVerticalOffsetForRow(g.row)*this.heightRatio);n.fillStyle=`rgba(0, 0, 0, 0.5)`,n.fillRect(0,_,this.canvasWidth,2)}},e.prototype.getVerticalOffsetForRow=function(e){return e|=0,this.renderer.session.documentToScreenRow(e,0)*this.lineHeight},e.prototype.setDimensions=function(e){e||=this.renderer.layerConfig,this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height,this.canvasWidth=this.scrollbarV.width||this.canvasWidth,this.setZoneWidth(),this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight},e.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},e.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},e}();i.implement(o.prototype,a),t.Decorator=o}),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(e,t,n){var r=e("./lib/oop"),i=e("./lib/dom"),a=e("./lib/lang"),o=e("./config"),s=e("./layer/gutter").Gutter,c=e("./layer/marker").Marker,l=e("./layer/text").Text,u=e("./layer/cursor").Cursor,d=e("./scrollbar").HScrollBar,f=e("./scrollbar").VScrollBar,p=e("./scrollbar_custom").HScrollBar,m=e("./scrollbar_custom").VScrollBar,h=e("./renderloop").RenderLoop,g=e("./layer/font_metrics").FontMetrics,_=e("./lib/event_emitter").EventEmitter,v=e("./css/editor-css"),y=e("./layer/decorators").Decorator,b=e("./lib/useragent"),x=e("./layer/text_util").isTextToken;i.importCssString(v,`ace_editor.css`,!1);var S=function(){function e(e,t){var n=this;this.container=e||i.createElement(`div`),i.addCssClass(this.container,`ace_editor`),i.HI_DPI&&i.addCssClass(this.container,`ace_hidpi`),this.setTheme(t),o.get(`useStrictCSP`)??o.set(`useStrictCSP`,!1),this.$gutter=i.createElement(`div`),this.$gutter.className=`ace_gutter`,this.container.appendChild(this.$gutter),this.$gutter.setAttribute(`aria-hidden`,`true`),this.scroller=i.createElement(`div`),this.scroller.className=`ace_scroller`,this.container.appendChild(this.scroller),this.content=i.createElement(`div`),this.content.className=`ace_content`,this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on(`changeGutterWidth`,this.onGutterResize.bind(this)),this.$markerBack=new c(this.content);var r=this.$textLayer=new l(this.content);this.canvas=r.element,this.$markerFront=new c(this.content),this.$cursorLayer=new u(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new f(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.on(`scroll`,function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.on(`scroll`,function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on(`changeCharacterSize`,function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal(`changeCharacterSize`,e)}),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=!b.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),o.resetOptions(this),o._signal(`renderer`,this)}return e.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(),i.setStyle(this.scroller.style,`line-height`,this.lineHeight+`px`)},e.prototype.setSession=function(e){this.session&&this.session.doc.off(`changeNewLineMode`,this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(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))},e.prototype.updateLines=function(e,t,n){if(t===void 0&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow)if(n)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},e.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},e.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},e.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},e.prototype.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},e.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},e.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},e.prototype.onResize=function(e,t,n,r){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=+!!e;var i=this.container;r||=i.clientHeight||i.scrollHeight,!r&&this.$maxLines&&this.lineHeight>1&&(!i.style.height||i.style.height==`0px`)&&(i.style.height=`1px`,r=i.clientHeight||i.scrollHeight),n||=i.clientWidth||i.scrollWidth;var a=this.$updateCachedSize(e,t,n,r);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(a|this.$changes,!0):this.$loop.schedule(a|this.$changes),this.resizing&&=0,this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},e.prototype.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var a=0,o=this.$size,s={width:o.width,height:o.height,scrollerHeight:o.scrollerHeight,scrollerWidth:o.scrollerWidth};if(r&&(e||o.height!=r)&&(o.height=r,a|=this.CHANGE_SIZE,o.scrollerHeight=o.height,this.$horizScroll&&(o.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(o.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+`px`,a|=this.CHANGE_SCROLL),n&&(e||o.width!=n)){a|=this.CHANGE_SIZE,o.width=n,t??=this.$showGutter?this.$gutter.offsetWidth:0,this.gutterWidth=t,i.setStyle(this.scrollBarH.element.style,`left`,t+`px`),i.setStyle(this.scroller.style,`left`,t+this.margin.left+`px`),o.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()-this.margin.h),i.setStyle(this.$gutter.style,`left`,this.margin.left+`px`);var c=this.scrollBarV.getWidth()+`px`;i.setStyle(this.scrollBarH.element.style,`right`,c),i.setStyle(this.scroller.style,`right`,c),i.setStyle(this.scroller.style,`bottom`,this.scrollBarH.getHeight()),this.scrollBarH.setWidth(o.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(a|=this.CHANGE_FULL)}return o.$dirty=!n||!r,a&&this._signal(`resize`,s),a},e.prototype.onGutterResize=function(e){var t=this.$showGutter?e:0;t!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,t,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()||this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},e.prototype.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},e.prototype.setAnimatedScroll=function(e){this.setOption(`animatedScroll`,e)},e.prototype.getAnimatedScroll=function(){return this.$animatedScroll},e.prototype.setShowInvisibles=function(e){this.setOption(`showInvisibles`,e),this.session.$bidiHandler.setShowInvisibles(e)},e.prototype.getShowInvisibles=function(){return this.getOption(`showInvisibles`)},e.prototype.getDisplayIndentGuides=function(){return this.getOption(`displayIndentGuides`)},e.prototype.setDisplayIndentGuides=function(e){this.setOption(`displayIndentGuides`,e)},e.prototype.getHighlightIndentGuides=function(){return this.getOption(`highlightIndentGuides`)},e.prototype.setHighlightIndentGuides=function(e){this.setOption(`highlightIndentGuides`,e)},e.prototype.setShowPrintMargin=function(e){this.setOption(`showPrintMargin`,e)},e.prototype.getShowPrintMargin=function(){return this.getOption(`showPrintMargin`)},e.prototype.setPrintMarginColumn=function(e){this.setOption(`printMarginColumn`,e)},e.prototype.getPrintMarginColumn=function(){return this.getOption(`printMarginColumn`)},e.prototype.getShowGutter=function(){return this.getOption(`showGutter`)},e.prototype.setShowGutter=function(e){return this.setOption(`showGutter`,e)},e.prototype.getFadeFoldWidgets=function(){return this.getOption(`fadeFoldWidgets`)},e.prototype.setFadeFoldWidgets=function(e){this.setOption(`fadeFoldWidgets`,e)},e.prototype.setHighlightGutterLine=function(e){this.setOption(`highlightGutterLine`,e)},e.prototype.getHighlightGutterLine=function(){return this.getOption(`highlightGutterLine`)},e.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var e=i.createElement(`div`);e.className=`ace_layer ace_print-margin-layer`,this.$printMarginEl=i.createElement(`div`),this.$printMarginEl.className=`ace_print-margin`,e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+`px`,t.visibility=this.$showPrintMargin?`visible`:`hidden`,this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},e.prototype.getContainerElement=function(){return this.container},e.prototype.getMouseEventTarget=function(){return this.scroller},e.prototype.getTextAreaContainer=function(){return this.container},e.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var e=this.textarea.style,t=this.$composition;if(!this.$keepTextAreaAtCursor&&!t){i.translate(this.textarea,-100,0);return}var n=this.$cursorLayer.$pixelPos;if(n){t&&t.markerRange&&(n=this.$cursorLayer.getPixelPosition(t.markerRange.start,!0));var r=this.layerConfig,a=n.top,o=n.left;a-=r.offset;var s=t&&t.useTextareaForIME||b.isMobile?this.lineHeight:1;if(a<0||a>r.height-s){i.translate(this.textarea,0,0);return}var c=1,l=this.$size.height-s;if(!t)a+=this.lineHeight;else if(t.useTextareaForIME){var u=this.textarea.value;c=this.characterWidth*this.session.$getStringScreenWidth(u)[0]}else a+=this.lineHeight+2;o-=this.scrollLeft,o>this.$size.scrollerWidth-c&&(o=this.$size.scrollerWidth-c),o+=this.gutterWidth+this.margin.left,i.setStyle(e,`height`,s+`px`),i.setStyle(e,`width`,c+`px`),i.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-c),Math.min(a,l))}}},e.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},e.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},e.prototype.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},e.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},e.prototype.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},e.prototype.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},e.prototype.setMargin=function(e,t,n,r){var i=this.margin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},e.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},e.prototype.setHScrollBarAlwaysVisible=function(e){this.setOption(`hScrollBarAlwaysVisible`,e)},e.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},e.prototype.setVScrollBarAlwaysVisible=function(e){this.setOption(`vScrollBarAlwaysVisible`,e)},e.prototype.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},e.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},e.prototype.freeze=function(){this.$frozen=!0},e.prototype.unfreeze=function(){this.$frozen=!1},e.prototype.$renderChanges=function(e,t){if(this.$changes&&=(e|=this.$changes,0),!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal(`beforeRender`,e),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig()|this.$loop.clear())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),i.translate(this.content,-this.scrollLeft,-n.offset);var a=n.width+2*this.$padding+`px`,o=n.minHeight+`px`;i.setStyle(this.content.style,`width`,a),i.setStyle(this.content.style,`height`,o)}if(e&this.CHANGE_H_SCROLL&&(i.translate(this.content,-this.scrollLeft,-n.offset),this.scroller.className=this.scrollLeft<=0?`ace_scroller `:`ace_scroller ace_scroll-left `,this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),e&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal(`afterRender`,e);return}if(e&this.CHANGE_SCROLL){this.$changedLines=null,e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&(e&this.CHANGE_GUTTER||e&this.CHANGE_LINES?this.$gutterLayer.update(n):this.$gutterLayer.scrollLines(n)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this._signal(`afterRender`,e);return}e&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_LINES?((this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)):e&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(n),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(n)),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal(`afterRender`,e)},e.prototype.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=!(n<=2*this.lineHeight)&&e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+`px`,this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal(`autosize`)}},e.prototype.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength()*this.lineHeight,i=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-i-2*this.$padding<0),o=this.$horizScroll!==a;o&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var s=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),n=t.height<=2*this.lineHeight);var c=t.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;r+=l;var u=this.scrollMargin;this.session.setScrollTop(Math.max(-u.top,Math.min(this.scrollTop,r-t.scrollerHeight+u.bottom))),this.session.setScrollLeft(Math.max(-u.left,Math.min(this.scrollLeft,i+2*this.$padding-t.scrollerWidth+u.right)));var d=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-r+l<0||this.scrollTop>u.top),f=s!==d;f&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var p=this.scrollTop%this.lineHeight,m=Math.ceil(c/this.lineHeight)-1,h=Math.max(0,Math.round((this.scrollTop-p)/this.lineHeight)),g=h+m,_,v,y=this.lineHeight;h=e.screenToDocumentRow(h,0);var b=e.getFoldLine(h);b&&(h=b.start.row),_=e.documentToScreenRow(h,0),v=e.getRowLength(h)*y,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),c=t.scrollerHeight+e.getRowLength(g)*y+v,p=this.scrollTop-_*y,p<0&&_>0&&(_=Math.max(0,_+Math.floor(p/y)),p=this.scrollTop-_*y);var x=0;return(this.layerConfig.width!=i||o)&&(x=this.CHANGE_H_SCROLL),(o||f)&&(x|=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal(`scrollbarVisibilityChanged`),f&&(i=this.$getLongestLine())),this.layerConfig={width:i,padding:this.$padding,firstRow:h,firstRowScreen:_,lastRow:g,lineHeight:y,characterWidth:this.characterWidth,minHeight:c,maxHeight:r,offset:p,gutterOffset:y?Math.max(0,Math.ceil((p+t.height-t.scrollerHeight)/y)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(i-this.$padding),x},e.prototype.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1)&&!(t<n.firstRow)){if(t===1/0){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0}}},e.prototype.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),this.$textLayer&&e>this.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},e.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},e.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},e.prototype.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},e.prototype.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},e.prototype.updateBreakpoints=function(e){this._rows=e,this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},e.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},e.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},e.prototype.showCursor=function(){this.$cursorLayer.showCursor()},e.prototype.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},e.prototype.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight!==0){var r=this.$cursorLayer.getPixelPosition(e),i=r.left,a=r.top,o=n&&n.top||0,s=n&&n.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var c=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;c+o>a?(t&&c+o>a+this.lineHeight&&(a-=t*this.$size.scrollerHeight),a===0&&(a=-this.scrollMargin.top),this.session.setScrollTop(a)):c+this.$size.scrollerHeight-s<a+this.lineHeight&&(t&&c+this.$size.scrollerHeight-s<a-this.lineHeight&&(a+=t*this.$size.scrollerHeight),this.session.setScrollTop(a+this.lineHeight+s-this.$size.scrollerHeight));var l=this.scrollLeft,u=2*this.layerConfig.characterWidth;i-u<l?(i-=u,i<this.$padding+u&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):(i+=u,l+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):l<=this.$padding&&i-l<this.characterWidth&&this.session.setScrollLeft(0))}},e.prototype.getScrollTop=function(){return this.session.getScrollTop()},e.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},e.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},e.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},e.prototype.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},e.prototype.alignCursor=function(e,t){typeof e==`number`&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},e.prototype.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],a=function(e,t,n){return n*((e-1)**3+1)+t};for(n=0;n<r;++n)i.push(a(n/this.STEPS,e,t-e));return i},e.prototype.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}).top;t&&(i-=this.$size.scrollerHeight/2);var a=this.scrollTop;this.session.setScrollTop(i),n!==!1&&this.animateScrolling(a,r)},e.prototype.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length&&(e=i[0],e==n))return}var a=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:a},clearInterval(this.$timer),r.session.setScrollTop(a.shift()),r.session.$scrollTop=n;function o(){r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,r.$stopAnimation=!1,t&&t()}this.$timer=setInterval(function(){if(r.$stopAnimation){o();return}if(!r.session)return clearInterval(r.$timer);a.length?(r.session.setScrollTop(a.shift()),r.session.$scrollTop=n):n==null?o():(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null)},10)},e.prototype.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},e.prototype.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},e.prototype.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(e)},e.prototype.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},e.prototype.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},e.prototype.pixelToScreenCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,a=i/this.characterWidth,o=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=this.$blockCursor?Math.floor(a):Math.round(a);return{row:o,column:s,side:a-s>0?1:-1,offsetX:i}},e.prototype.screenToTextCoordinates=function(e,t){var n;if(this.$hasCssTransforms){n={top:0,left:0};var r=this.$fontMetrics.transformCoordinates([e,t]);e=r[1]-this.gutterWidth-this.margin.left,t=r[0]}else n=this.scroller.getBoundingClientRect();var i=e+this.scrollLeft-n.left-this.$padding,a=i/this.characterWidth,o=this.$blockCursor?Math.floor(a):Math.round(a),s=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(s,Math.max(o,0),i)},e.prototype.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),a=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+a-this.scrollTop}},e.prototype.visualizeFocus=function(){i.addCssClass(this.container,`ace_focus`)},e.prototype.visualizeBlur=function(){i.removeCssClass(this.container,`ace_focus`)},e.prototype.showComposition=function(e){this.$composition=e,e.cssText||=this.textarea.style.cssText,e.useTextareaForIME??=this.$useTextareaForIME,this.$useTextareaForIME?(i.addCssClass(this.textarea,`ace_composition`),this.textarea.style.cssText=``,this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display=`none`):e.markerId=this.session.addMarker(e.markerRange,`ace_composition_marker`,`text`)},e.prototype.setCompositionText=function(e){var t=this.session.selection.cursor;this.addToken(e,`composition_placeholder`,t.row,t.column),this.$moveTextAreaToCursor()},e.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),i.removeCssClass(this.textarea,`ace_composition`),this.textarea.style.cssText=this.$composition.cssText;var e=this.session.selection.cursor;this.removeExtraToken(e.row,e.column),this.$composition=null,this.$cursorLayer.element.style.display=``}},e.prototype.setGhostText=function(e,t){var n=this.session.selection.cursor,r=t||{row:n.row,column:n.column};this.removeGhostText();var a=this.$calculateWrappedTextChunks(e,r);this.addToken(a[0].text,`ghost_text`,r.row,r.column),this.$ghostText={text:e,position:{row:r.row,column:r.column}};var o=i.createElement(`div`);if(a.length>1){var s=this.hideTokensAfterPosition(r.row,r.column),c;a.slice(1).forEach(function(e){var t=i.createElement(`div`),n=i.createElement(`span`);n.className=`ace_ghost_text`,e.wrapped&&(t.className=`ghost_text_line_wrapped`),e.text.length===0&&(e.text=` `),n.appendChild(i.createTextNode(e.text)),t.appendChild(n),o.appendChild(t),c=t}),s.forEach(function(e){var t=i.createElement(`span`);x(e.type)||(t.className=`ace_`+e.type.replace(/\./g,` ace_`)),t.appendChild(i.createTextNode(e.value)),c.appendChild(t)}),this.$ghostTextWidget={el:o,row:r.row,column:r.column,className:`ace_ghost_text_container`},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var l=this.$cursorLayer.getPixelPosition(r,!0),u=this.container.getBoundingClientRect().height,d=a.length*this.lineHeight;if(d<u-l.top)return;d<u?this.scrollBy(0,(a.length-1)*this.lineHeight):this.scrollToRow(r.row)}},e.prototype.$calculateWrappedTextChunks=function(e,t){var n=this.$size.scrollerWidth-this.$padding*2,r=Math.floor(n/this.characterWidth)-2;r=r<=0?60:r;for(var i=e.split(/\r?\n/),a=[],o=0;o<i.length;o++){var s=this.session.$getDisplayTokens(i[o],t.column),c=this.session.$computeWrapSplits(s,r,this.session.$tabSize);if(c.length>0){var l=0;c.push(i[o].length);for(var u=0;u<c.length;u++){var d=i[o].slice(l,c[u]);a.push({text:d,wrapped:!0}),l=c[u]}}else a.push({text:i[o],wrapped:!1})}return a},e.prototype.removeGhostText=function(){if(this.$ghostText){var e=this.$ghostText.position;this.removeExtraToken(e.row,e.column),this.$ghostTextWidget&&=(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),null),this.$ghostText=null}},e.prototype.addToken=function(e,t,n,r){var i=this.session;i.bgTokenizer.lines[n]=null;var a={type:t,value:e},o=i.getTokens(n);if(r==null||!o.length)o.push(a);else for(var s=0,c=0;c<o.length;c++){var l=o[c];if(s+=l.value.length,r<=s){var u=l.value.length-(s-r),d=l.value.slice(0,u),f=l.value.slice(u);o.splice(c,1,{type:l.type,value:d},a,{type:l.type,value:f});break}}this.updateLines(n,n)},e.prototype.hideTokensAfterPosition=function(e,t){for(var n=this.session.getTokens(e),r=0,i=!1,a=[],o=0;o<n.length;o++){var s=n[o];if(r+=s.value.length,s.type!==`ghost_text`){if(i){a.push({type:s.type,value:s.value}),s.type=`hidden_token`;continue}r===t&&(i=!0)}}return this.updateLines(e,e),a},e.prototype.removeExtraToken=function(e,t){this.session.bgTokenizer.lines[e]=null,this.updateLines(e,e)},e.prototype.setTheme=function(e,t){var n=this;if(this.$themeId=e,n._dispatchEvent(`themeChange`,{theme:e}),!e||typeof e==`string`){var r=e||this.$options.theme.initialValue;o.loadModule([`theme`,r],a)}else a(e);function a(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw Error(`couldn't load module `+e+` or it didn't call define`);r.$id&&(n.$themeId=r.$id),i.importCssString(r.cssText,r.cssClass,n.container),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var a=`padding`in r?r.padding:`padding`in(n.theme||{})?4:n.$padding;if(n.$padding&&a!=n.$padding&&n.setPadding(a),n.$gutterLayer){var o=r.$showGutterCursorMarker;o&&!n.$gutterLayer.$showCursorMarker?n.$gutterLayer.$showCursorMarker=`theme`:!o&&n.$gutterLayer.$showCursorMarker==`theme`&&(n.$gutterLayer.$showCursorMarker=null)}n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,`ace_dark`,r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent(`themeLoaded`,{theme:r}),t&&t(),b.isSafari&&n.scroller&&(n.scroller.style.background=`red`,n.scroller.style.background=``)}},e.prototype.getTheme=function(){return this.$themeId},e.prototype.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},e.prototype.unsetStyle=function(e){i.removeCssClass(this.container,e)},e.prototype.setCursorStyle=function(e){i.setStyle(this.scroller.style,`cursor`,e)},e.prototype.setMouseCursor=function(e){i.setStyle(this.scroller.style,`cursor`,e)},e.prototype.attachToShadowRoot=function(){i.importCssString(v,`ace_editor.css`,this.container)},e.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent=``,this.setOption(`useResizeObserver`,!1)},e.prototype.$updateCustomScrollbar=function(e){var t=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),e===!0?(this.scrollBarV=new m(this.container,this),this.scrollBarH=new p(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener(`scroll`,function(e){t.$scrollAnimation||t.session.setScrollTop(e.data-t.scrollMargin.top)}),this.scrollBarH.addEventListener(`scroll`,function(e){t.$scrollAnimation||t.session.setScrollLeft(e.data-t.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new y(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators())):(this.scrollBarV=new f(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.addEventListener(`scroll`,function(e){t.$scrollAnimation||t.session.setScrollTop(e.data-t.scrollMargin.top)}),this.scrollBarH.addEventListener(`scroll`,function(e){t.$scrollAnimation||t.session.setScrollLeft(e.data-t.scrollMargin.left)}))},e.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var e=this;this.$resizeTimer=a.delayedCall(function(){e.destroyed||e.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(t){var n=t[0].contentRect.width,r=t[0].contentRect.height;Math.abs(e.$size.width-n)>1||Math.abs(e.$size.height-r)>1?e.$resizeTimer.delay():e.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},e}();S.prototype.CHANGE_CURSOR=1,S.prototype.CHANGE_MARKER=2,S.prototype.CHANGE_GUTTER=4,S.prototype.CHANGE_SCROLL=8,S.prototype.CHANGE_LINES=16,S.prototype.CHANGE_TEXT=32,S.prototype.CHANGE_SIZE=64,S.prototype.CHANGE_MARKER_BACK=128,S.prototype.CHANGE_MARKER_FRONT=256,S.prototype.CHANGE_FULL=512,S.prototype.CHANGE_H_SCROLL=1024,S.prototype.$changes=0,S.prototype.$padding=null,S.prototype.$frozen=!1,S.prototype.STEPS=8,r.implement(S.prototype,_),o.defineOptions(S.prototype,`renderer`,{useResizeObserver:{set:function(e){!e&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):e&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&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(e){typeof e==`number`&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?`block`:`none`,this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(e){this.$gutterLayer.$useSvgGutterIcons=e},initialValue:!1},showFoldedAnnotations:{set:function(e){this.$gutterLayer.$showFoldedAnnotations=e},initialValue:!1},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,`ace_fade-fold-widgets`,e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(e){this.$textLayer.setHighlightIndentGuides(e)==1?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(e){this.$gutterLayer.setHighlightGutterLine(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e==`number`&&(e+=`px`),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(e){this.$updateCustomScrollbar(e)},initialValue:!1},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:`./theme/textmate`,handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!b.isMobile&&!b.isIE}}),t.VirtualRenderer=S}),ace.define(`ace/worker/worker_client`,[`require`,`exports`,`module`,`ace/lib/oop`,`ace/lib/net`,`ace/lib/event_emitter`,`ace/config`],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/net"),a=e("../lib/event_emitter").EventEmitter,o=e("../config");function s(e){var t=`importScripts('`+i.qualifyURL(e)+`');`;try{return new Blob([t],{type:`application/javascript`})}catch{var n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);return n.append(t),n.getBlob(`application/javascript`)}}function c(e){if(typeof Worker>`u`)return{postMessage:function(){},terminate:function(){}};if(o.get(`loadWorkerFromBlob`)){var t=s(e),n=(window.URL||window.webkitURL).createObjectURL(t);return new Worker(n)}return new Worker(e)}var l=function(e){e.postMessage||(e=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=e,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(){r.implement(this,a),this.$createWorkerFromOldConfig=function(t,n,r,i,a){if(e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),o.get(`packaged`)||!e.toUrl)i||=o.moduleUrl(n,`worker`);else{var s=this.$normalizePath;i||=s(e.toUrl(`ace/worker/worker.js`,null,`_`));var l={};t.forEach(function(t){l[t]=s(e.toUrl(t,null,`_`).replace(/(\.js)?(\?.*)?$/,``))})}return this.$worker=c(i),a&&this.send(`importScripts`,a),this.$worker.postMessage({init:!0,tlns:l,module:n,classname:r}),this.$worker},this.onMessage=function(e){var t=e.data;switch(t.type){case`event`:this._signal(t.name,{data:t.data});break;case`call`:var n=this.callbacks[t.id];n&&(n(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(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal(`terminate`,{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(e){e.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off(`change`,this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,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:e,data:{data:t.data}})}catch(e){console.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call(`setValue`,[e.getValue()]),e.on(`change`,this.changeListener,!0)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action==`insert`?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call(`setValue`,[this.$doc.getValue()]):this.emit(`change`,{data:e}))}}).call(l.prototype),t.UIWorkerClient=function(e,t,n){var r=null,i=!1,s=Object.create(a),c=[],u=new l({messageBuffer:c,terminate:function(){},postMessage:function(e){c.push(e),r&&(i?setTimeout(d):d())}});u.setEmitSync=function(e){i=e};var d=function(){var e=c.shift();e.command?r[e.command].apply(r,e.args):e.event&&s._signal(e.event,e.data)};return s.postMessage=function(e){u.onMessage({data:e})},s.callback=function(e,t){this.postMessage({type:`call`,id:t,data:e})},s.emit=function(e,t){this.postMessage({type:`event`,name:e,data:t})},o.loadModule([`worker`,t],function(e){for(r=new e[n](s);c.length;)d()}),u},t.WorkerClient=l,t.createWorker=c}),ace.define(`ace/placeholder`,[`require`,`exports`,`module`,`ace/range`,`ace/lib/event_emitter`,`ace/lib/oop`],function(e,t,n){var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,a=e("./lib/oop"),o=function(){function e(e,t,n,r,i,a){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=a,this.$onUpdate=this.onUpdate.bind(this),this.doc.on(`change`,this.$onUpdate,!0),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var s=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=s.length,this.setup(),e.selection.on(`changeCursor`,this.$onCursorChange)}return e.prototype.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},e.prototype.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})}},e.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},e.prototype.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var n=e.action===`insert`?t.end.column-t.start.column:t.start.column-t.end.column,i=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,a=t.start.column-this.pos.column;if(this.updateAnchors(e),i&&(this.length+=n),i&&!this.session.$fromUndo){if(e.action===`insert`)for(var o=this.others.length-1;o>=0;o--){var s=this.others[o],c={row:s.row,column:s.column+a};this.doc.insertMergedLines(c,e.lines)}else if(e.action===`remove`)for(var o=this.others.length-1;o>=0;o--){var s=this.others[o],c={row:s.row,column:s.column+a};this.doc.remove(new r(c.row,c.column,c.row,c.column-n))}}this.$updating=!1,this.updateMarkers()}},e.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},e.prototype.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)}},e.prototype.onCursorChange=function(e){if(!(this.$updating||!this.session)){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit(`cursorEnter`,e)):(this.hideOtherMarkers(),this._emit(`cursorLeave`,e))}},e.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},e.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n<t;n++)e.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},e}();a.implement(o.prototype,i),t.PlaceHolder=o}),ace.define(`ace/mouse/multi_select_handler`,[`require`,`exports`,`module`,`ace/lib/event`,`ace/lib/useragent`],function(e,t,n){var r=e("../lib/event"),i=e("../lib/useragent");function a(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,s=t.ctrlKey,c=e.getAccelKey(),l=e.getButton();if(s&&i.isMac&&(l=t.button),e.editor.inMultiSelectMode&&l==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!s&&!n&&!c){l===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(l===0){var u=e.editor,d=u.selection,f=u.inMultiSelectMode,p=e.getDocumentPosition(),m=d.getCursor(),h=e.inSelection()||d.isEmpty()&&a(p,m),g=e.x,_=e.y,v=function(e){g=e.clientX,_=e.clientY},y=u.session,b=u.renderer.pixelToScreenCoordinates(g,_),x=b,S;if(u.$mouseHandler.$enableJumpToDef)s&&n||c&&n?S=o?`block`:`add`:n&&u.$blockSelectEnabled&&(S=`block`);else if(c&&!n){if(S=`add`,!f&&o)return}else n&&u.$blockSelectEnabled&&(S=`block`);if(S&&i.isMac&&t.ctrlKey&&u.$mouseHandler.cancelContextMenu(),S==`add`){if(!f&&h)return;if(!f){var C=d.toOrientedRange();u.addSelectionMarker(C)}var w=d.rangeList.rangeAtPoint(p);u.inVirtualSelectionMode=!0,o&&(w=null,C=d.ranges[0]||C,u.removeSelectionMarker(C)),u.once(`mouseup`,function(){var e=d.toOrientedRange();w&&e.isEmpty()&&a(w.cursor,e.cursor)?d.substractPoint(e.cursor):(o?d.substractPoint(C.cursor):C&&(u.removeSelectionMarker(C),d.addRange(C)),d.addRange(e)),u.inVirtualSelectionMode=!1})}else if(S==`block`){e.stop(),u.inVirtualSelectionMode=!0;var T,E=[],D=function(){var e=u.renderer.pixelToScreenCoordinates(g,_),t=y.screenToDocumentPosition(e.row,e.column,e.offsetX);a(x,e)&&a(t,d.lead)||(x=e,u.selection.moveToPosition(t),u.renderer.scrollCursorIntoView(),u.removeSelectionMarkers(E),E=d.rectangularRangeBlock(x,b),u.$mouseHandler.$clickSelection&&E.length==1&&E[0].isEmpty()&&(E[0]=u.$mouseHandler.$clickSelection.clone()),E.forEach(u.addSelectionMarker,u),u.updateSelectionMarkers())};f&&!c?d.toSingleRange():!f&&c&&(T=d.toOrientedRange(),u.addSelectionMarker(T)),o?b=y.documentToScreenPosition(d.lead):d.moveToPosition(p),x={row:-1,column:-1};var O=function(e){D(),clearInterval(A),u.removeSelectionMarkers(E),E.length||(E=[d.toOrientedRange()]),T&&(u.removeSelectionMarker(T),d.toSingleRange(T));for(var t=0;t<E.length;t++)d.addRange(E[t]);u.inVirtualSelectionMode=!1,u.$mouseHandler.$clickSelection=null},k=D;r.capture(u.container,v,O);var A=setInterval(function(){k()},20);return e.preventDefault()}}}t.onMouseDown=o}),ace.define(`ace/commands/multi_select_commands`,[`require`,`exports`,`module`,`ace/keyboard/hash_handler`],function(e,t,n){t.defaultCommands=[{name:`addCursorAbove`,description:`Add cursor above`,exec:function(e){e.selectMoreLines(-1)},bindKey:{win:`Ctrl-Alt-Up`,mac:`Ctrl-Alt-Up`},scrollIntoView:`cursor`,readOnly:!0},{name:`addCursorBelow`,description:`Add cursor below`,exec:function(e){e.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(e){e.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(e){e.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(e){e.selectMore(-1)},bindKey:{win:`Ctrl-Alt-Left`,mac:`Ctrl-Alt-Left`},scrollIntoView:`cursor`,readOnly:!0},{name:`selectMoreAfter`,description:`Select more after`,exec:function(e){e.selectMore(1)},bindKey:{win:`Ctrl-Alt-Right`,mac:`Ctrl-Alt-Right`},scrollIntoView:`cursor`,readOnly:!0},{name:`selectNextBefore`,description:`Select next before`,exec:function(e){e.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(e){e.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(e){e.multiSelect.rangeCount>1?e.multiSelect.joinSelections():e.multiSelect.splitIntoLines()},bindKey:{win:`Ctrl-Alt-L`,mac:`Ctrl-Alt-L`},readOnly:!0},{name:`splitSelectionIntoLines`,description:`Split into lines`,exec:function(e){e.multiSelect.splitIntoLines()},readOnly:!0},{name:`alignCursors`,description:`Align cursors`,exec:function(e){e.alignCursors()},bindKey:{win:`Ctrl-Alt-A`,mac:`Ctrl-Alt-A`},scrollIntoView:`cursor`},{name:`findAll`,description:`Find all`,exec:function(e){e.findAll()},bindKey:{win:`Ctrl-Alt-K`,mac:`Ctrl-Alt-G`},scrollIntoView:`cursor`,readOnly:!0}],t.multiSelectCommands=[{name:`singleSelection`,description:`Single selection`,bindKey:`esc`,exec:function(e){e.exitMultiSelectMode()},scrollIntoView:`cursor`,readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.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(e,t,n){var r=e("./range_list").RangeList,i=e("./range").Range,a=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,s=e("./lib/event"),c=e("./lib/lang"),l=e("./commands/multi_select_commands");t.commands=l.defaultCommands.concat(l.multiSelectCommands);var u=e("./search").Search,d=new u;function f(e,t,n){return d.$options.wrap=!0,d.$options.needle=t,d.$options.backwards=n==-1,d.find(e)}var p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||=e.end;var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal(`multiSelect`),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e||=this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length&&this.$onRemoveRange(e)},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal(`addRange`,{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal(`removeRange`,{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal(`singleSelect`),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t||=this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new r,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var e=this.ranges.length?this.ranges:[this.getRange()],t=[],n=0;n<e.length;n++){var r=e[n],a=r.start.row,o=r.end.row;if(a===o)t.push(r.clone());else{for(t.push(new i(a,r.start.column,a,this.session.getLine(a).length));++a<o;)t.push(this.getLineRange(a,!0));t.push(new i(o,0,o,r.end.column))}n==0&&!this.isBackwards()&&(t=t.reverse())}this.toSingleRange();for(var n=t.length;n--;)this.addRange(t[n])},this.joinSelections=function(){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.cursor),a=this.session.documentToScreenPosition(this.anchor);this.rectangularRangeBlock(r,a).forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],a=e.column<t.column;if(a)var o=e.column,s=t.column,c=e.offsetX,l=t.offsetX;else var o=t.column,s=e.column,c=t.offsetX,l=e.offsetX;var u=e.row<t.row;if(u)var d=e.row,f=t.row;else var d=t.row,f=e.row;o<0&&(o=0),d<0&&(d=0),d==f&&(n=!0);for(var p,m=d;m<=f;m++){var g=i.fromPoints(this.session.screenToDocumentPosition(m,o,c),this.session.screenToDocumentPosition(m,s,l));if(g.isEmpty()){if(p&&h(g.end,p))break;p=g.end}g.cursor=a?g.start:g.end,r.push(g)}if(u&&r.reverse(),!n){for(var _=r.length-1;r[_].isEmpty()&&_>0;)_--;if(_>0)for(var v=0;r[v].isEmpty();)v++;for(var y=_;y>=v;y--)r[y].isEmpty()&&r.splice(y,1)}return r}}).call(a.prototype);var m=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||=e.end;var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,`ace_selection`,t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var r=e[n];if(r.marker){this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle(`ace_multiselect`),this.keyBinding.addKeyboardHandler(l.keyboardHandler),this.commands.setDefaultHandler(`exec`,this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle(`ace_multiselect`),this.keyBinding.removeKeyboardHandler(l.keyboardHandler),this.commands.removeDefaultHandler(`exec`,this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit(`changeSelection`))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)t.multiSelectAction==`forEach`?r=n.forEachSelection(t,e.args):t.multiSelectAction==`forEachLine`?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction==`single`?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});else{var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return r}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,s=this.selection,c=s.rangeList,l=(r?s:c).ranges,u;if(!l.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=s._eventRegistry;s._eventRegistry={};var f=new a(o);this.inVirtualSelectionMode=!0;for(var p=l.length;p--;){if(i)for(;p>0&&l[p].start.row==l[p-1].end.row;)p--;f.fromOrientedRange(l[p]),f.index=p,this.selection=o.selection=f;var m=e.exec?e.exec(this,t||{}):e(this,t||{});!u&&m!==void 0&&(u=m),f.toOrientedRange(l[p])}f.detach(),this.selection=o.selection=s,this.inVirtualSelectionMode=!1,s._eventRegistry=d,s.mergeOverlappingRanges(),s.ranges[0]&&s.fromOrientedRange(s.ranges[0]);var h=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),h&&h.from==h.to&&this.renderer.animateScrolling(h.from),u}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e=``;if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();e=n.join(i),e.length==(n.length-1)*i.length&&(e=``)}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(e,t,n){if(t||={},t.needle=e||t.needle,t.needle==null){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;var a=this.multiSelect;n||a.toSingleRange(i[0]);for(var o=i.length;o--;)a.addRange(i[o],!0);return r&&a.rangeList.rangeAtPoint(r.start)&&a.addRange(r,!0),i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,a=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(a.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(a.row+e,a.column);if(n.isEmpty())var s=o;else var c=this.session.documentToScreenPosition(r?n.end:n.start),s=this.session.screenToDocumentPosition(c.row+e,c.column);if(r){var l=i.fromPoints(o,s);l.cursor=l.start}else{var l=i.fromPoints(s,o);l.cursor=l.end}if(l.desiredColumn=a.column,!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var u=n.cursor;this.selection.addRange(l),u&&this.selection.substractPoint(u)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,r=n.ranges,i=r.length;i--;){var a=r[i];if(a.isEmpty()){var o=t.getWordRange(a.start.row,a.start.column);a.start.row=o.start.row,a.start.column=o.start.column,a.end.row=o.end.row,a.end.column=o.end.column}}n.mergeOverlappingRanges();for(var s=[],i=r.length;i--;){var a=r[i];s.unshift(t.getTextRange(a))}e<0?s.unshift(s.pop()):s.push(s.shift());for(var i=r.length;i--;){var a=r[i],c=a.clone();t.replace(a,s[i]),a.start.row=c.start.row,a.start.column=c.start.column}n.fromOrientedRange(n.ranges[0])},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect.toOrientedRange();if(!(i.isEmpty()&&(i=r.getWordRange(i.start.row,i.start.column),i.cursor=e==-1?i.start:i.end,this.multiSelect.addRange(i),n))){var a=f(r,r.getTextRange(i),e);a&&(a.cursor=e==-1?a.start:a.end,this.session.unfold(a),this.multiSelect.addRange(a),this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(i.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,a=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||a.length==n.length-1){var o=this.selection.getRange(),s=o.start.row,l=o.end.row,u=s==l;if(u){var d=this.session.getLength(),f;do f=this.session.getLine(l);while(/[=:]/.test(f)&&++l<d);do f=this.session.getLine(s);while(/[=:]/.test(f)&&--s>0);s<0&&(s=0),l>=d&&(l=d-1)}var p=this.session.removeFullLines(s,l);p=this.$reAlignText(p,u),this.session.insert({row:s,column:0},p.join(`
945
+ `)+`
946
+ `),u||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{a.forEach(function(e){t.substractPoint(e.cursor)});var m=0,h=1/0,g=n.map(function(t){var n=t.cursor,r=e.getLine(n.row).substr(n.column).search(/\S/g);return r==-1&&(r=0),n.column>m&&(m=n.column),r<h&&(h=r),r});n.forEach(function(t,n){var r=t.cursor,a=m-r.column,o=g[n]-h;a>o?e.insert(r,c.stringRepeat(` `,a-o)):e.remove(new i(r.row,r.column,r.row,r.column-a+o)),t.start.column=t.end.column=m,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){var n=!0,r=!0,i,a,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,a=t[2].length,o=t[3].length,t):(i+a+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),a<t[2].length&&(a=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]}).map(t?l:n?r?u:l:d);function s(e){return c.stringRepeat(` `,e)}function l(e){return e[2]?s(i)+e[2]+s(a-e[2].length+o)+e[4].replace(/^([=:])\s+/,`$1 `):e[0]}function u(e){return e[2]?s(i+a-e[2].length)+e[2]+s(o)+e[4].replace(/^([=:])\s+/,`$1 `):e[0]}function d(e){return e[2]?s(i)+e[2]+s(o)+e[4].replace(/^([=:])\s+/,`$1 `):e[0]}}}).call(m.prototype);function h(e,t){return e.row==t.row&&e.column==t.column}t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off(`addRange`,this.$onAddRange),n.multiSelect.off(`removeRange`,this.$onRemoveRange),n.multiSelect.off(`multiSelect`,this.$onMultiSelect),n.multiSelect.off(`singleSelect`,this.$onSingleSelect),n.multiSelect.lead.off(`change`,this.$checkMultiselectChange),n.multiSelect.anchor.off(`change`,this.$checkMultiselectChange)),t&&(t.multiSelect.on(`addRange`,this.$onAddRange),t.multiSelect.on(`removeRange`,this.$onRemoveRange),t.multiSelect.on(`multiSelect`,this.$onMultiSelect),t.multiSelect.on(`singleSelect`,this.$onSingleSelect),t.multiSelect.lead.on(`change`,this.$checkMultiselectChange),t.multiSelect.anchor.on(`change`,this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function g(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on(`changeSession`,e.$multiselectOnSessionChange),e.on(`mousedown`,o),e.commands.addCommands(l.defaultCommands),_(e))}function _(e){if(!e.textInput)return;var t=e.textInput.getElement(),n=!1;s.addListener(t,`keydown`,function(t){var i=t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey);e.$blockSelectEnabled&&i?n||=(e.renderer.setMouseCursor(`crosshair`),!0):n&&r()},e),s.addListener(t,`keyup`,r,e),s.addListener(t,`blur`,r,e);function r(t){n&&=(e.renderer.setMouseCursor(``),!1)}}t.MultiSelect=g,e("./config").defineOptions(m.prototype,`editor`,{enableMultiselect:{set:function(e){g(this),e?this.on(`mousedown`,o):this.off(`mousedown`,o)},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define(`ace/mode/folding/fold_mode`,[`require`,`exports`,`module`,`ace/range`],function(e,t,n){var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?`start`:t==`markbeginend`&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?`end`:``},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,a=e.getLine(t),o=a.search(i);if(o!=-1){for(var s=n||a.length,c=e.getLength(),l=t,u=t;++t<c;){var d=e.getLine(t).search(i);if(d!=-1){if(d<=o){var f=e.getTokenAt(t,0);if(!f||f.type!==`string`)break}u=t}}if(u>l){var p=e.getLine(u).length;return new r(l,s,u,p)}}},this.openingBracketBlock=function(e,t,n,i,a){var o={row:n,column:i+1},s=e.$findClosingBracket(t,o,a);if(s){var c=e.foldWidgets[s.row];return c??=e.getFoldWidget(s.row),c==`start`&&s.row>o.row&&(s.row--,s.column=e.getLine(s.row).length),r.fromPoints(o,s)}},this.closingBracketBlock=function(e,t,n,i,a){var o={row:n,column:i},s=e.$findOpeningBracket(t,o);if(s)return s.column++,o.column--,r.fromPoints(s,o)}}).call(i.prototype)}),ace.define(`ace/ext/error_marker`,[`require`,`exports`,`module`,`ace/lib/dom`,`ace/range`,`ace/config`],function(e,t,n){var r=e("../lib/dom"),i=e("../range").Range,a=e("../config").nls;function o(e,t,n){for(var r=0,i=e.length-1;r<=i;){var a=r+i>>1,o=n(t,e[a]);if(o>0)r=a+1;else if(o<0)i=a-1;else return a}return-(r+1)}function s(e,t,n){var r=e.getAnnotations().sort(i.comparePoints);if(r.length){var a=o(r,{row:t,column:-1},i.comparePoints);a<0&&(a=-a-1),a>=r.length?a=n>0?0:r.length-1:a===0&&n<0&&(a=r.length-1);var s=r[a];if(!(!s||!n)){if(s.row===t){do s=r[a+=n];while(s&&s.row===t);if(!s)return r.slice()}var c=[];t=s.row;do c[n<0?`unshift`:`push`](s),s=r[a+=n];while(s&&s.row==t);return c.length&&c}}}t.showErrorMarker=function(e,t){var n=e.session,i=e.getCursorPosition(),o=i.row,c=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type==`errorMarker`})[0];c?c.destroy():o-=t;var l=s(n,o,t),u;if(l){var d=l[0];i.column=(d.pos&&typeof d.column!=`number`?d.pos.sc:d.column)||0,i.row=d.row,u=e.renderer.$gutterLayer.$annotations[i.row]}else if(c)return;else u={displayText:[a(`error-marker.good-state`,`Looks good!`)],className:`ace_ok`};e.session.unfold(i.row),e.selection.moveToPosition(i);var f={row:i.row,fixedWidth:!0,coverGutter:!0,el:r.createElement(`div`),type:`errorMarker`},p=f.el.appendChild(r.createElement(`div`)),m=f.el.appendChild(r.createElement(`div`));m.className=`error_widget_arrow `+u.className;var h=e.renderer.$cursorLayer.getPixelPosition(i).left;m.style.left=h+e.renderer.gutterWidth-5+`px`,f.el.className=`error_widget_wrapper`,p.className=`error_widget `+u.className,u.displayText.forEach(function(e,t){p.appendChild(r.createTextNode(e)),t<u.displayText.length-1&&p.appendChild(r.createElement(`br`))}),p.appendChild(r.createElement(`div`));var g=function(e,t,n){if(t===0&&(n===`esc`||n===`return`))return f.destroy(),{command:`null`}};f.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),n.widgetManager.removeLineWidget(f),e.off(`changeSelection`,f.destroy),e.off(`changeSession`,f.destroy),e.off(`mouseup`,f.destroy),e.off(`change`,f.destroy))},e.keyBinding.addKeyboardHandler(g),e.on(`changeSelection`,f.destroy),e.on(`changeSession`,f.destroy),e.on(`mouseup`,f.destroy),e.on(`change`,f.destroy),e.session.widgetManager.addLineWidget(f),f.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:f.el.offsetHeight})},r.importCssString(`
947
+ .error_widget_wrapper {
948
+ background: inherit;
949
+ color: inherit;
950
+ border:none
951
+ }
952
+ .error_widget {
953
+ border-top: solid 2px;
954
+ border-bottom: solid 2px;
955
+ margin: 5px 0;
956
+ padding: 10px 40px;
957
+ white-space: pre-wrap;
958
+ }
959
+ .error_widget.ace_error, .error_widget_arrow.ace_error{
960
+ border-color: #ff5a5a
961
+ }
962
+ .error_widget.ace_warning, .error_widget_arrow.ace_warning{
963
+ border-color: #F1D817
964
+ }
965
+ .error_widget.ace_info, .error_widget_arrow.ace_info{
966
+ border-color: #5a5a5a
967
+ }
968
+ .error_widget.ace_ok, .error_widget_arrow.ace_ok{
969
+ border-color: #5aaa5a
970
+ }
971
+ .error_widget_arrow {
972
+ position: absolute;
973
+ border: solid 5px;
974
+ border-top-color: transparent!important;
975
+ border-right-color: transparent!important;
976
+ border-left-color: transparent!important;
977
+ top: -5px;
978
+ }
979
+ `,`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(e,t,n){e("./loader_build")(t);var r=e("./lib/dom"),i=e("./range").Range,a=e("./editor").Editor,o=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,c=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.edit=function(e,n){if(typeof e==`string`){var i=e;if(e=document.getElementById(i),!e)throw Error(`ace.edit can't find div #`+i)}if(e&&e.env&&e.env.editor instanceof a)return e.env.editor;var o=``;if(e&&/input|textarea/i.test(e.tagName)){var s=e;o=s.value,e=r.createElement(`pre`),s.parentNode.replaceChild(e,s)}else e&&(o=e.textContent,e.innerHTML=``);var l=t.createEditSession(o),u=new a(new c(e),l,n),d={document:l,editor:u,onResize:u.resize.bind(u,null)};return s&&(d.textarea=s),u.on(`destroy`,function(){d.editor.container.env=null}),u.container.env=u.env=d,u},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new s),n},t.Range=i,t.Editor=a,t.EditSession=o,t.UndoManager=s,t.VirtualRenderer=c,t.version=t.config.version}),(function(){ace.require([`ace/ace`],function(n){n&&(n.config.init(!0),n.define=ace.define);var r=(function(){return this})();for(var i in!r&&typeof window<`u`&&(r=window),!r&&typeof self<`u`&&(r=self),r.ace||=n,n)n.hasOwnProperty(i)&&(r.ace[i]=n[i]);r.ace.default=r.ace,typeof t==`object`&&typeof e==`object`&&t&&(t.exports=r.ace)})})()})),n=`/assets/mode-yaml-CIYL8U3d.js`,r=`data:text/javascript;base64,YWNlLmRlZmluZSgiYWNlL3RoZW1lL3R3aWxpZ2h0LWNzcyIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpe21vZHVsZS5leHBvcnRzID0gIi5hY2UtdHdpbGlnaHQgLmFjZV9ndXR0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICBjb2xvcjogI0UyRTJFMlxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfcHJpbnQtbWFyZ2luIHtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogIzIzMjMyM1xufVxuXG4uYWNlLXR3aWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDtcbiAgY29sb3I6ICNGOEY4Rjhcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2N1cnNvciB7XG4gIGNvbG9yOiAjQTdBN0E3XG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjQwLCAyNTUsIDAuMjApXG59XG5cbi5hY2UtdHdpbGlnaHQuYWNlX211bHRpc2VsZWN0IC5hY2Vfc2VsZWN0aW9uLmFjZV9zdGFydCB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMHB4ICMxNDE0MTQ7XG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zdGVwIHtcbiAgYmFja2dyb3VuZDogcmdiKDEwMiwgODIsIDApXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9icmFja2V0IHtcbiAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9hY3RpdmUtbGluZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzEpXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9ndXR0ZXItYWN0aXZlLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMxKVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfbWFya2VyLWxheWVyIC5hY2Vfc2VsZWN0ZWQtd29yZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjIxLCAyNDAsIDI1NSwgMC4yMClcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2ludmlzaWJsZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9rZXl3b3JkLFxuLmFjZS10d2lsaWdodCAuYWNlX21ldGEge1xuICBjb2xvcjogI0NEQTg2OVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfY29uc3RhbnQsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfY29uc3RhbnQuYWNlX2NoYXJhY3Rlcixcbi5hY2UtdHdpbGlnaHQgLmFjZV9jb25zdGFudC5hY2VfY2hhcmFjdGVyLmFjZV9lc2NhcGUsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfY29uc3RhbnQuYWNlX290aGVyLFxuLmFjZS10d2lsaWdodCAuYWNlX2hlYWRpbmcsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfbWFya3VwLmFjZV9oZWFkaW5nLFxuLmFjZS10d2lsaWdodCAuYWNlX3N1cHBvcnQuYWNlX2NvbnN0YW50IHtcbiAgY29sb3I6ICNDRjZBNENcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2ludmFsaWQuYWNlX2lsbGVnYWwge1xuICBjb2xvcjogI0Y4RjhGODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4NiwgNDUsIDg2LCAwLjc1KVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfaW52YWxpZC5hY2VfZGVwcmVjYXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjRDJBOEExXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9zdXBwb3J0IHtcbiAgY29sb3I6ICM5Qjg1OURcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2ZvbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUM4ODVCO1xuICBib3JkZXItY29sb3I6ICNGOEY4Rjhcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX3N1cHBvcnQuYWNlX2Z1bmN0aW9uIHtcbiAgY29sb3I6ICNEQUQwODVcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2xpc3QsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfbWFya3VwLmFjZV9saXN0LFxuLmFjZS10d2lsaWdodCAuYWNlX3N0b3JhZ2Uge1xuICBjb2xvcjogI0Y5RUU5OFxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfZW50aXR5LmFjZV9uYW1lLmFjZV9mdW5jdGlvbixcbi5hY2UtdHdpbGlnaHQgLmFjZV9tZXRhLmFjZV90YWcge1xuICBjb2xvcjogI0FDODg1QlxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2Vfc3RyaW5nIHtcbiAgY29sb3I6ICM4RjlENkFcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX3N0cmluZy5hY2VfcmVnZXhwIHtcbiAgY29sb3I6ICNFOUMwNjJcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2NvbW1lbnQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNUY1QTYwXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV92YXJpYWJsZSB7XG4gIGNvbG9yOiAjNzU4N0E2XG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV94bWwtcGUge1xuICBjb2xvcjogIzQ5NDk0OVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfaW5kZW50LWd1aWRlIHtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQ0NBWUFBQUNaZ2JZbkFBQUFFa2xFUVZRSW1XTVFFUkZwWUxDMXRmMFBBQWdPQW5Qbmh4eWlBQUFBQUVsRlRrU3VRbUNDKSByaWdodCByZXBlYXQteVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfaW5kZW50LWd1aWRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUNDQVlBQUFDWmdiWW5BQUFBRWtsRVFWUUlXMlBRMWRYOXp6Qno1c3ovQUJDY0JGRmVudExsQUFBQUFFbEZUa1N1UW1DQykgcmlnaHQgcmVwZWF0LXk7XG59XG4iOwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvdGhlbWUvdHdpbGlnaHQiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvdGhlbWUvdHdpbGlnaHQtY3NzIiwiYWNlL2xpYi9kb20iXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKXtleHBvcnRzLmlzRGFyayA9IHRydWU7CmV4cG9ydHMuY3NzQ2xhc3MgPSAiYWNlLXR3aWxpZ2h0IjsKZXhwb3J0cy5jc3NUZXh0ID0gcmVxdWlyZSgiLi90d2lsaWdodC1jc3MiKTsKdmFyIGRvbSA9IHJlcXVpcmUoIi4uL2xpYi9kb20iKTsKZG9tLmltcG9ydENzc1N0cmluZyhleHBvcnRzLmNzc1RleHQsIGV4cG9ydHMuY3NzQ2xhc3MsIGZhbHNlKTsKCn0pOyAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgYWNlLnJlcXVpcmUoWyJhY2UvdGhlbWUvdHdpbGlnaHQiXSwgZnVuY3Rpb24obSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSA9PSAib2JqZWN0IiAmJiB0eXBlb2YgZXhwb3J0cyA9PSAib2JqZWN0IiAmJiBtb2R1bGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gbTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSkoKTsKICAgICAgICAgICAg`,i=`data:text/javascript;base64,YWNlLmRlZmluZSgiYWNlL3RoZW1lL2dpdGh1Yi1jc3MiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKXttb2R1bGUuZXhwb3J0cyA9ICIvKiBDU1Mgc3R5bGUgY29udGVudCBmcm9tIGdpdGh1YidzIGRlZmF1bHQgcHlnbWVudHMgaGlnaGxpZ2h0ZXIgdGVtcGxhdGUuXG4gICBDdXJzb3IgYW5kIHNlbGVjdGlvbiBzdHlsZXMgZnJvbSB0ZXh0bWF0ZS5jc3MuICovXG4uYWNlLWdpdGh1YiAuYWNlX2d1dHRlciB7XG4gIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gIGNvbG9yOiAjQUFBO1xufVxuXG4uYWNlLWdpdGh1YiAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9rZXl3b3JkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2Vfc3RyaW5nIHtcbiAgY29sb3I6ICNEMTQ7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfdmFyaWFibGUuYWNlX2NsYXNzIHtcbiAgY29sb3I6IHRlYWw7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfY29uc3RhbnQuYWNlX251bWVyaWMge1xuICBjb2xvcjogIzA5OTtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9jb25zdGFudC5hY2VfYnVpbGRpbiB7XG4gIGNvbG9yOiAjMDA4NkIzO1xufVxuXG4uYWNlLWdpdGh1YiAuYWNlX3N1cHBvcnQuYWNlX2Z1bmN0aW9uIHtcbiAgY29sb3I6ICMwMDg2QjM7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfY29tbWVudCB7XG4gIGNvbG9yOiAjOTk4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfdmFyaWFibGUuYWNlX2xhbmd1YWdlICB7XG4gIGNvbG9yOiAjMDA4NkIzO1xufVxuXG4uYWNlLWdpdGh1YiAuYWNlX3BhcmVuIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfYm9vbGVhbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uYWNlLWdpdGh1YiAuYWNlX3N0cmluZy5hY2VfcmVnZXhwIHtcbiAgY29sb3I6ICMwMDk5MjY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfdmFyaWFibGUuYWNlX2luc3RhbmNlIHtcbiAgY29sb3I6IHRlYWw7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfY29uc3RhbnQuYWNlX2xhbmd1YWdlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfY3Vyc29yIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uYWNlLWdpdGh1Yi5hY2VfZm9jdXMgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9hY3RpdmUtbGluZSB7XG4gIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjA0KTtcbn1cbi5hY2UtZ2l0aHViIC5hY2VfbWFya2VyLWxheWVyIC5hY2VfYWN0aXZlLWxpbmUge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfbWFya2VyLWxheWVyIC5hY2Vfc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogcmdiKDE4MSwgMjEzLCAyNTUpO1xufVxuXG4uYWNlLWdpdGh1Yi5hY2VfbXVsdGlzZWxlY3QgLmFjZV9zZWxlY3Rpb24uYWNlX3N0YXJ0IHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAwcHggd2hpdGU7XG59XG4vKiBib2xkIGtleXdvcmRzIGNhdXNlIGN1cnNvciBpc3N1ZXMgZm9yIHNvbWUgZm9udHMgKi9cbi8qIHRoaXMgZGlzYWJsZXMgYm9sZCBzdHlsZSBmb3IgZWRpdG9yIGFuZCBrZWVwcyBmb3Igc3RhdGljIGhpZ2hsaWdodGVyICovXG4uYWNlLWdpdGh1Yi5hY2Vfbm9ib2xkIC5hY2VfbGluZSA+IHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zdGVwIHtcbiAgYmFja2dyb3VuZDogcmdiKDI1MiwgMjU1LCAwKTtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zdGFjayB7XG4gIGJhY2tncm91bmQ6IHJnYigxNjQsIDIyOSwgMTAxKTtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9icmFja2V0IHtcbiAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTkyLCAxOTIsIDE5Mik7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfZ3V0dGVyLWFjdGl2ZS1saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zZWxlY3RlZC13b3JkIHtcbiAgYmFja2dyb3VuZDogcmdiKDI1MCwgMjUwLCAyNTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjAwLCAyMDAsIDI1MCk7XG59XG5cbi5hY2UtZ2l0aHViIC5hY2VfaW52aXNpYmxlIHtcbiAgY29sb3I6ICNCRkJGQkZcbn1cblxuLmFjZS1naXRodWIgLmFjZV9wcmludC1tYXJnaW4ge1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xufVxuXG4uYWNlLWdpdGh1YiAuYWNlX2luZGVudC1ndWlkZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQ0NBWUFBQUNaZ2JZbkFBQUFFMGxFUVZRSW1XUDQvLy8vZjRiTGx5Ly9Cd0FtVmdkMS93MTEvZ0FBQUFCSlJVNUVya0pnZ2c9PVwiKSByaWdodCByZXBlYXQteTtcbn1cblxuLmFjZS1naXRodWIgLmFjZV9pbmRlbnQtZ3VpZGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFDQ0FZQUFBQ1pnYlluQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBQVpTVVJCVkhqYVl2ai8vLzkvaGl2S3l2OEJBQUFBLy84REFDTHFCaGJ2aysvZUFBQUFBRWxGVGtTdVFtQ0NcIikgcmlnaHQgcmVwZWF0LXk7XG59XG4iOwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvdGhlbWUvZ2l0aHViIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIiwiYWNlL3RoZW1lL2dpdGh1Yi1jc3MiLCJhY2UvbGliL2RvbSJdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpe2V4cG9ydHMuaXNEYXJrID0gZmFsc2U7CmV4cG9ydHMuY3NzQ2xhc3MgPSAiYWNlLWdpdGh1YiI7CmV4cG9ydHMuY3NzVGV4dCA9IHJlcXVpcmUoIi4vZ2l0aHViLWNzcyIpOwp2YXIgZG9tID0gcmVxdWlyZSgiLi4vbGliL2RvbSIpOwpkb20uaW1wb3J0Q3NzU3RyaW5nKGV4cG9ydHMuY3NzVGV4dCwgZXhwb3J0cy5jc3NDbGFzcywgZmFsc2UpOwoKfSk7ICAgICAgICAgICAgICAgIChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBhY2UucmVxdWlyZShbImFjZS90aGVtZS9naXRodWIiXSwgZnVuY3Rpb24obSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSA9PSAib2JqZWN0IiAmJiB0eXBlb2YgZXhwb3J0cyA9PSAib2JqZWN0IiAmJiBtb2R1bGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gbTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSkoKTsKICAgICAgICAgICAg`,a=`/assets/worker-base-ybazWkNy.js`,o=`/assets/worker-yaml-crtWQpDN.js`,s=e(((e,t)=>{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(e,t,n){var r=e("./lib/dom"),i=e("./lib/oop"),a=e("./lib/event_emitter").EventEmitter,o=e("./lib/lang"),s=e("./range").Range,c=e("./range_list").RangeList,l=e("./keyboard/hash_handler").HashHandler,u=e("./tokenizer").Tokenizer,d=e("./clipboard"),f={CURRENT_WORD:function(e){return e.session.getTextRange(e.session.getWordRange())},SELECTION:function(e,t,n){var r=e.session.getTextRange();return n?r.replace(/\n\r?([ \t]*\S)/g,`
980
+ `+n+`$1`):r},CURRENT_LINE:function(e){return e.session.getLine(e.getCursorPosition().row)},PREV_LINE:function(e){return e.session.getLine(e.getCursorPosition().row-1)},LINE_INDEX:function(e){return e.getCursorPosition().row},LINE_NUMBER:function(e){return e.getCursorPosition().row+1},SOFT_TABS:function(e){return e.session.getUseSoftTabs()?`YES`:`NO`},TAB_SIZE:function(e){return e.session.getTabSize()},CLIPBOARD:function(e){return d.getText&&d.getText()},FILENAME:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0]},FILENAME_BASE:function(e){return/[^/\\]*$/.exec(this.FILEPATH(e))[0].replace(/\.[^.]*$/,``)},DIRECTORY:function(e){return this.FILEPATH(e).replace(/[^/\\]*$/,``)},FILEPATH:function(e){return`/not implemented.txt`},WORKSPACE_NAME:function(){return`Unknown`},FULLNAME:function(){return`Unknown`},BLOCK_COMMENT_START:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.start||``},BLOCK_COMMENT_END:function(e){var t=e.session.$mode||{};return t.blockComment&&t.blockComment.end||``},LINE_COMMENT:function(e){return(e.session.$mode||{}).lineCommentStart||``},CURRENT_YEAR:p.bind(null,{year:`numeric`}),CURRENT_YEAR_SHORT:p.bind(null,{year:`2-digit`}),CURRENT_MONTH:p.bind(null,{month:`numeric`}),CURRENT_MONTH_NAME:p.bind(null,{month:`long`}),CURRENT_MONTH_NAME_SHORT:p.bind(null,{month:`short`}),CURRENT_DATE:p.bind(null,{day:`2-digit`}),CURRENT_DAY_NAME:p.bind(null,{weekday:`long`}),CURRENT_DAY_NAME_SHORT:p.bind(null,{weekday:`short`}),CURRENT_HOUR:p.bind(null,{hour:`2-digit`,hour12:!1}),CURRENT_MINUTE:p.bind(null,{minute:`2-digit`}),CURRENT_SECOND:p.bind(null,{second:`2-digit`})};f.SELECTED_TEXT=f.SELECTION;function p(e){var t=new Date().toLocaleString(`en-us`,e);return t.length==1?`0`+t:t}var m=function(){function e(){this.snippetMap={},this.snippetNameMap={},this.variables=f}return e.prototype.getTokenizer=function(){return e.$tokenizer||this.createTokenizer()},e.prototype.createTokenizer=function(){function t(e){return e=e.substr(1),/^\d+$/.test(e)?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function n(e){return`(?:[^\\\\`+e+`]|\\\\.)`}var r={regex:`/(`+n(`/`)+`+)/`,onMatch:function(e,t,n){var r=n[0];return r.fmtString=!0,r.guard=e.slice(1,-1),r.flag=``,``},next:`formatString`};return e.$tokenizer=new u({start:[{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return(r==`}`&&n.length||"`$\\".indexOf(r)!=-1)&&(e=r),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:t},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(e,n,r){var i=t(e.substr(1));return r.unshift(i[0]),i},next:`snippetVar`},{regex:/\n/,token:`newline`,merge:!1}],snippetVar:[{regex:`\\|`+n(`\\|`)+`*\\|`,onMatch:function(e,t,n){var r=e.slice(1,-1).replace(/\\[,|\\]|,/g,function(e){return e.length==2?e[1]:`\0`}).split(`\0`).map(function(e){return{value:e}});return n[0].choices=r,[r[0]]},next:`start`},r,{regex:`([^:}\\\\]|\\\\.)*:?`,token:``,next:`start`}],formatString:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectElse?(n[0].expectElse=!1,n[0].ifEnd={elseEnd:n[0]},[n[0].ifEnd]):`:`}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r==`}`&&n.length?e=r:"`$\\".indexOf(r)==-1?r==`n`?e=`
981
+ `:r==`t`?e=` `:`ulULE`.indexOf(r)!=-1&&(e={changeCase:r,local:r>`a`}):e=r,[e]}},{regex:`/\\w*}`,onMatch:function(e,t,n){var r=n.shift();return r&&(r.flag=e.slice(1,-1)),this.next=r&&r.tabstopId?`start`:``,[r||e]},next:`start`},{regex:/\$(?:\d+|\w+)/,onMatch:function(e,t,n){return[{text:e.slice(1)}]}},{regex:/\${\w+/,onMatch:function(e,t,n){var r={text:e.slice(2)};return n.unshift(r),[r]},next:`formatStringVar`},{regex:/\n/,token:`newline`,merge:!1},{regex:/}/,onMatch:function(e,t,n){var r=n.shift();return this.next=r&&r.tabstopId?`start`:``,[r||e]},next:`start`}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(e,t,n){var r=n[0];return r.formatFunction=e.slice(2,-1),[n.shift()]},next:`formatString`},r,{regex:/:[\?\-+]?/,onMatch:function(e,t,n){e[1]==`+`&&(n[0].ifEnd=n[0]),e[1]==`?`&&(n[0].expectElse=!0)},next:`formatString`},{regex:`([^:}\\\\]|\\\\.)*:?`,token:``,next:`formatString`}]}),e.$tokenizer},e.prototype.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},e.prototype.getVariableValue=function(e,t,n){if(/^\d+$/.test(t))return(this.variables.__||{})[t]||``;if(/^[A-Z]\d+$/.test(t))return(this.variables[t[0]+`__`]||{})[t.substr(1)]||``;if(t=t.replace(/^TM_/,``),!this.variables.hasOwnProperty(t))return``;var r=this.variables[t];return typeof r==`function`&&(r=this.variables[t](e,t,n)),r??``},e.prototype.tmStrFormat=function(e,t,n){if(!t.fmt)return e;var r=t.flag||``,i=t.guard;i=new RegExp(i,r.replace(/[^gim]/g,``));var a=typeof t.fmt==`string`?this.tokenizeTmSnippet(t.fmt,`formatString`):t.fmt,o=this;return e.replace(i,function(){var e=o.variables.__;o.variables.__=[].slice.call(arguments);for(var t=o.resolveVariables(a,n),r=`E`,i=0;i<t.length;i++){var s=t[i];if(typeof s==`object`)if(t[i]=``,s.changeCase&&s.local){var c=t[i+1];c&&typeof c==`string`&&(s.changeCase==`u`?t[i]=c[0].toUpperCase():t[i]=c[0].toLowerCase(),t[i+1]=c.substr(1))}else s.changeCase&&(r=s.changeCase);else r==`U`?t[i]=s.toUpperCase():r==`L`&&(t[i]=s.toLowerCase())}return o.variables.__=e,t.join(``)})},e.prototype.tmFormatFunction=function(e,t,n){return t.formatFunction==`upcase`?e.toUpperCase():t.formatFunction==`downcase`?e.toLowerCase():e},e.prototype.resolveVariables=function(e,t){for(var n=[],r=``,i=!0,a=0;a<e.length;a++){var o=e[a];if(typeof o==`string`){n.push(o),o==`
982
+ `?(i=!0,r=``):i&&=(r=/^\t*/.exec(o)[0],/\S/.test(o));continue}if(o){if(i=!1,o.fmtString){var s=e.indexOf(o,a+1);s==-1&&(s=e.length),o.fmt=e.slice(a+1,s),a=s}if(o.text){var c=this.getVariableValue(t,o.text,r)+``;o.fmtString&&(c=this.tmStrFormat(c,o,t)),o.formatFunction&&(c=this.tmFormatFunction(c,o,t)),c&&!o.ifEnd?(n.push(c),l(o)):!c&&o.ifEnd&&l(o.ifEnd)}else o.elseEnd?l(o.elseEnd):o.tabstopId==null?o.changeCase!=null&&n.push(o):n.push(o)}}function l(t){var n=e.indexOf(t,a+1);n!=-1&&(a=n)}return n},e.prototype.getDisplayTextForSnippet=function(e,t){return h.call(this,e,t).text},e.prototype.insertSnippetForSelection=function(e,t,n){n===void 0&&(n={});var r=h.call(this,e,t,n),i=e.getSelectionRange(),a=e.session.replace(i,r.text),o=new g(e),s=e.inVirtualSelectionMode&&e.selection.index;o.addTabstops(r.tabstops,i.start,a,s)},e.prototype.insertSnippet=function(e,t,n){n===void 0&&(n={});var r=this;if(e.inVirtualSelectionMode)return r.insertSnippetForSelection(e,t,n);e.forEachSelection(function(){r.insertSnippetForSelection(e,t,n)},null,{keepOrder:!0}),e.tabstopManager&&e.tabstopManager.tabNext()},e.prototype.$getScope=function(e){var t=e.session.$mode.$id||``;if(t=t.split(`/`).pop(),t===`html`||t===`php`){t===`php`&&!e.session.$mode.inlinePhp&&(t=`html`);var n=e.getCursorPosition(),r=e.session.getState(n.row);typeof r==`object`&&(r=r[0]),r.substring&&(r.substring(0,3)==`js-`?t=`javascript`:r.substring(0,4)==`css-`?t=`css`:r.substring(0,4)==`php-`&&(t=`php`))}return t},e.prototype.getActiveScopes=function(e){var t=this.$getScope(e),n=[t],r=this.snippetMap;return r[t]&&r[t].includeScopes&&n.push.apply(n,r[t].includeScopes),n.push(`_`),n},e.prototype.expandWithTab=function(e,t){var n=this,r=e.forEachSelection(function(){return n.expandSnippetForSelection(e,t)},null,{keepOrder:!0});return r&&e.tabstopManager&&e.tabstopManager.tabNext(),r},e.prototype.expandSnippetForSelection=function(e,t){var n=e.getCursorPosition(),r=e.session.getLine(n.row),i=r.substring(0,n.column),a=r.substr(n.column),o=this.snippetMap,s;return this.getActiveScopes(e).some(function(e){var t=o[e];return t&&(s=this.findMatchingSnippet(t,i,a)),!!s},this),s?t&&t.dryRun?!0:(e.session.doc.removeInLine(n.row,n.column-s.replaceBefore.length,n.column+s.replaceAfter.length),this.variables.M__=s.matchBefore,this.variables.T__=s.matchAfter,this.insertSnippetForSelection(e,s.content),this.variables.M__=this.variables.T__=null,!0):!1},e.prototype.findMatchingSnippet=function(e,t,n){for(var r=e.length;r--;){var i=e[r];if(!(i.startRe&&!i.startRe.test(t))&&!(i.endRe&&!i.endRe.test(n))&&!(!i.startRe&&!i.endRe))return i.matchBefore=i.startRe?i.startRe.exec(t):[``],i.matchAfter=i.endRe?i.endRe.exec(n):[``],i.replaceBefore=i.triggerRe?i.triggerRe.exec(t)[0]:``,i.replaceAfter=i.endTriggerRe?i.endTriggerRe.exec(n)[0]:``,i}},e.prototype.register=function(e,t){var n=this.snippetMap,r=this.snippetNameMap,i=this;e||=[];function a(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e=`(?:`+e+`)`),e||``}function s(e,t,n){return e=a(e),t=a(t),n?(e=t+e,e&&e[e.length-1]!=`$`&&(e+=`$`)):(e+=t,e&&e[0]!=`^`&&(e=`^`+e)),new RegExp(e)}function c(e){e.scope||=t||`_`,t=e.scope,n[t]||(n[t]=[],r[t]={});var a=r[t];if(e.name){var c=a[e.name];c&&i.unregister(c),a[e.name]=e}n[t].push(e),e.prefix&&(e.tabTrigger=e.prefix),!e.content&&e.body&&(e.content=Array.isArray(e.body)?e.body.join(`
983
+ `):e.body),e.tabTrigger&&!e.trigger&&(!e.guard&&/^\w/.test(e.tabTrigger)&&(e.guard=`\\b`),e.trigger=o.escapeRegExp(e.tabTrigger)),!(!e.trigger&&!e.guard&&!e.endTrigger&&!e.endGuard)&&(e.startRe=s(e.trigger,e.guard,!0),e.triggerRe=new RegExp(e.trigger),e.endRe=s(e.endTrigger,e.endGuard,!0),e.endTriggerRe=new RegExp(e.endTrigger))}Array.isArray(e)?e.forEach(c):Object.keys(e).forEach(function(t){c(e[t])}),this._signal(`registerSnippets`,{scope:t})},e.prototype.unregister=function(e,t){var n=this.snippetMap,r=this.snippetNameMap;function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var a=n[e.scope||t],o=a&&a.indexOf(e);o>=0&&a.splice(o,1)}}e.content?i(e):Array.isArray(e)&&e.forEach(i)},e.prototype.parseSnippetFile=function(e){e=e.replace(/\r/g,``);for(var t=[],n={},r=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,i;i=r.exec(e);){if(i[1])try{n=JSON.parse(i[1]),t.push(n)}catch{}if(i[4])n.content=i[4].replace(/^\t/gm,``),t.push(n),n={};else{var a=i[2],o=i[3];if(a==`regex`){var s=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=s.exec(o)[1],n.trigger=s.exec(o)[1],n.endTrigger=s.exec(o)[1],n.endGuard=s.exec(o)[1]}else a==`snippet`?(n.tabTrigger=o.match(/^\S*/)[0],n.name||=o):a&&(n[a]=o)}}return t},e.prototype.getSnippetByName=function(e,t){var n=this.snippetNameMap,r;return this.getActiveScopes(t).some(function(t){var i=n[t];return i&&(r=i[e]),!!r},this),r},e}();i.implement(m.prototype,a);var h=function(e,t,n){n===void 0&&(n={});var r=e.getCursorPosition(),i=e.session.getLine(r.row),a=e.session.getTabString(),o=i.match(/^\s*/)[0];r.column<o.length&&(o=o.slice(0,r.column)),t=t.replace(/\r/g,``);var s=this.tokenizeTmSnippet(t);s=this.resolveVariables(s,e),s=s.map(function(e){return e==`
984
+ `&&!n.excludeExtraIndent?e+o:typeof e==`string`?e.replace(/\t/g,a):e});var c=[];s.forEach(function(e,t){if(typeof e==`object`){var n=e.tabstopId,r=c[n];if(r||(r=c[n]=[],r.index=n,r.value=``,r.parents={}),r.indexOf(e)===-1){e.choices&&!r.choices&&(r.choices=e.choices),r.push(e);var i=s.indexOf(e,t+1);if(i!==-1){var a=s.slice(t+1,i);a.some(function(e){return typeof e==`object`})&&!r.value?r.value=a:a.length&&(!r.value||typeof r.value!=`string`)&&(r.value=a.join(``))}}}}),c.forEach(function(e){e.length=0});var l={};function u(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];if(typeof r==`object`){if(l[r.tabstopId])continue;r=t[e.lastIndexOf(r,n-1)]||{tabstopId:r.tabstopId}}t[n]=r}return t}for(var d=0;d<s.length;d++){var f=s[d];if(typeof f==`object`){var p=f.tabstopId,m=c[p],h=s.indexOf(f,d+1);if(l[p]){l[p]===f&&(delete l[p],Object.keys(l).forEach(function(e){m.parents[e]=!0}));continue}l[p]=f;var g=m.value;typeof g==`string`?f.fmt&&(g=this.tmStrFormat(g,f,e)):g=u(g),s.splice.apply(s,[d+1,Math.max(0,h-d)].concat(g,f)),m.indexOf(f)===-1&&m.push(f)}}var _=0,v=0,y=``;return s.forEach(function(e){if(typeof e==`string`){var t=e.split(`
985
+ `);t.length>1?(v=t[t.length-1].length,_+=t.length-1):v+=e.length,y+=e}else e&&(e.start?e.end={row:_,column:v}:e.start={row:_,column:v})}),{text:y,tabstops:c,tokens:s}},g=function(){function e(e){if(this.index=0,this.ranges=[],this.tabstops=[],e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=o.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)}return e.prototype.attach=function(e){this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.session=e.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)},e.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},e.prototype.onChange=function(e){for(var t=e.action[0]==`r`,n=this.selectedTabstop||{},r=n.parents||{},i=this.tabstops.slice(),a=0;a<i.length;a++){var o=i[a],s=o==n||r[o.index];if(o.rangeList.$bias=+!s,e.action==`remove`&&o!==n){var c=o.parents&&o.parents[n.index],l=o.rangeList.pointIndex(e.start,c);l=l<0?-l-1:l+1;var u=o.rangeList.pointIndex(e.end,c);u=u<0?-u-1:u-1;for(var d=o.rangeList.ranges.slice(l,u),f=0;f<d.length;f++)this.removeRange(d[f])}o.rangeList.$onChange(e)}var p=this.session;!this.$inChange&&t&&p.getLength()==1&&!p.getValue()&&this.detach()},e.prototype.updateLinkedFields=function(){var e=this.selectedTabstop;if(!(!e||!e.hasLinkedRanges||!e.firstNonLinked)){this.$inChange=!0;for(var n=this.session,r=n.getTextRange(e.firstNonLinked),i=0;i<e.length;i++){var a=e[i];if(a.linked){var o=a.original,s=t.snippetManager.tmStrFormat(r,o,this.editor);n.replace(a,s)}}this.$inChange=!1}},e.prototype.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},e.prototype.onChangeSelection=function(){if(this.editor){for(var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty(),r=0;r<this.ranges.length;r++)if(!this.ranges[r].linked){var i=this.ranges[r].contains(e.row,e.column),a=n||this.ranges[r].contains(t.row,t.column);if(i&&a)return}this.detach()}},e.prototype.onChangeSession=function(){this.detach()},e.prototype.tabNext=function(e){var t=this.tabstops.length,n=this.index+(e||1);n=Math.min(Math.max(n,1),t),n==t&&(n=0),this.selectTabstop(n),this.updateTabstopMarkers(),n===0&&this.detach()},e.prototype.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];if(t&&this.addTabstopMarkers(t),this.index=e,t=this.tabstops[this.index],!(!t||!t.length)){this.selectedTabstop=t;var n=t.firstNonLinked||t;if(t.choices&&(n.cursor=n.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange(n);else{var r=this.editor.multiSelect;r.toSingleRange(n);for(var i=0;i<t.length;i++)t.hasLinkedRanges&&t[i].linked||r.addRange(t[i].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand(`startAutocomplete`,{matches:this.selectedTabstop.choices})}},e.prototype.addTabstops=function(e,t,n){var r=this.useLink||!this.editor.getOption(`enableMultiselect`);if(this.$openTabstops||=[],!e[0]){var i=s.fromPoints(n,n);v(i.start,t),v(i.end,t),e[0]=[i],e[0].index=0}var a=[this.index+1,0],o=this.ranges,l=this.snippetId=(this.snippetId||0)+1;e.forEach(function(e,n){var i=this.$openTabstops[n]||e;i.snippetId=l;for(var u=0;u<e.length;u++){var d=e[u],f=s.fromPoints(d.start,d.end||d.start);_(f.start,t),_(f.end,t),f.original=d,f.tabstop=i,o.push(f),i==e?i[u]=f:i.unshift(f),d.fmtString||i.firstNonLinked&&r?(f.linked=!0,i.hasLinkedRanges=!0):i.firstNonLinked||=f}i.firstNonLinked||(i.hasLinkedRanges=!1),i===e&&(a.push(i),this.$openTabstops[n]=i),this.addTabstopMarkers(i),i.rangeList=i.rangeList||new c,i.rangeList.$bias=0,i.rangeList.addList(i)},this),a.length>2&&(this.tabstops.length&&a.push(a.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,a))},e.prototype.addTabstopMarkers=function(e){var t=this.session;e.forEach(function(e){e.markerId||=t.addMarker(e,`ace_snippet-marker`,`text`)})},e.prototype.removeTabstopMarkers=function(e){var t=this.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},e.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var e=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&e--,this.tabstops.forEach(function(t){t.snippetId===e?this.addTabstopMarkers(t):this.removeTabstopMarkers(t)},this)}},e.prototype.removeRange=function(e){var t=e.tabstop.indexOf(e);t!=-1&&e.tabstop.splice(t,1),t=this.ranges.indexOf(e),t!=-1&&this.ranges.splice(t,1),t=e.tabstop.rangeList.ranges.indexOf(e),t!=-1&&e.tabstop.splice(t,1),this.session.removeMarker(e.markerId),e.tabstop.length||(t=this.tabstops.indexOf(e.tabstop),t!=-1&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},e}();g.prototype.keyboardHandler=new l,g.prototype.keyboardHandler.bindKeys({Tab:function(e){t.snippetManager&&t.snippetManager.expandWithTab(e)||(e.tabstopManager.tabNext(1),e.renderer.scrollCursorIntoView())},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1),e.renderer.scrollCursorIntoView()},Esc:function(e){e.tabstopManager.detach()}});var _=function(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row},v=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};r.importCssString(`
986
+ .ace_snippet-marker {
987
+ -moz-box-sizing: border-box;
988
+ box-sizing: border-box;
989
+ background: rgba(194, 193, 208, 0.09);
990
+ border: 1px dotted rgba(211, 208, 235, 0.62);
991
+ position: absolute;
992
+ }`,`snippets.css`,!1),t.snippetManager=new m;var y=e("./editor").Editor;(function(){this.insertSnippet=function(e,n){return t.snippetManager.insertSnippet(this,e,n)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(y.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(e,t,n){var r=e("../virtual_renderer").VirtualRenderer,i=e("../editor").Editor,a=e("../range").Range,o=e("../lib/event"),s=e("../lib/lang"),c=e("../lib/dom"),l=e("../config").nls,u=e("./../lib/useragent"),d=function(e){return`suggest-aria-id:${e}`},f=u.isSafari?`menu`:`listbox`,p=u.isSafari?`menuitem`:`option`,m=u.isSafari?`aria-current`:`aria-selected`,h=function(e){var t=new r(e);t.$maxLines=4;var n=new i(t);return n.setHighlightActiveLine(!1),n.setShowPrintMargin(!1),n.renderer.setShowGutter(!1),n.renderer.setHighlightGutterLine(!1),n.$mouseHandler.$focusTimeout=0,n.$highlightTagPending=!0,n},g=function(){function e(e){var t=c.createElement(`div`),n=h(t);e&&e.appendChild(t),t.style.display=`none`,n.renderer.content.style.cursor=`default`,n.renderer.setStyle(`ace_autocomplete`),n.renderer.$textLayer.element.setAttribute(`role`,f),n.renderer.$textLayer.element.setAttribute(`aria-roledescription`,l(`autocomplete.popup.aria-roledescription`,`Autocomplete suggestions`)),n.renderer.$textLayer.element.setAttribute(`aria-label`,l(`autocomplete.popup.aria-label`,`Autocomplete suggestions`)),n.renderer.textarea.setAttribute(`aria-hidden`,`true`),n.setOption(`displayIndentGuides`,!1),n.setOption(`dragDelay`,150);var r=function(){};n.focus=r,n.$isFocused=!0,n.renderer.$cursorLayer.restartTimer=r,n.renderer.$cursorLayer.element.style.opacity=`0`,n.renderer.$maxLines=8,n.renderer.$keepTextAreaAtCursor=!1,n.setHighlightActiveLine(!1),n.session.highlight(``),n.session.$searchHighlight.clazz=`ace_highlight-marker`,n.on(`mousedown`,function(e){var t=e.getDocumentPosition();n.selection.moveToPosition(t),g.start.row=g.end.row=t.row,e.stop()});var i,u=new a(-1,0,-1,1/0),g=new a(-1,0,-1,1/0);g.id=n.session.addMarker(g,`ace_active-line`,`fullLine`),n.setSelectOnHover=function(e){e?u.id&&=(n.session.removeMarker(u.id),null):u.id=n.session.addMarker(u,`ace_line-hover`,`fullLine`)},n.setSelectOnHover(!1),n.on(`mousemove`,function(e){if(!i){i=e;return}if(!(i.x==e.x&&i.y==e.y)){i=e,i.scrollTop=n.renderer.scrollTop,n.isMouseOver=!0;var t=i.getDocumentPosition().row;u.start.row!=t&&(u.id||n.setRow(t),v(t))}}),n.renderer.on(`beforeRender`,function(){if(i&&u.start.row!=-1){i.$pos=null;var e=i.getDocumentPosition().row;u.id||n.setRow(e),v(e,!0)}}),n.renderer.on(`afterRender`,function(){for(var e=n.renderer.$textLayer,t=e.config.firstRow,r=e.config.lastRow;t<=r;t++){var i=e.element.childNodes[t-e.config.firstRow];i.setAttribute(`role`,p),i.setAttribute(`aria-roledescription`,l(`autocomplete.popup.item.aria-roledescription`,`item`)),i.setAttribute(`aria-setsize`,n.data.length),i.setAttribute(`aria-describedby`,`doc-tooltip`),i.setAttribute(`aria-posinset`,t+1);var a=n.getData(t);if(a){var o=`${a.caption||a.value}${a.meta?`, ${a.meta}`:``}`;i.setAttribute(`aria-label`,o)}i.querySelectorAll(`.ace_completion-highlight`).forEach(function(e){e.setAttribute(`role`,`mark`)})}}),n.renderer.on(`afterRender`,function(){var e=n.getRow(),t=n.renderer.$textLayer,r=t.element.childNodes[e-t.config.firstRow],i=document.activeElement;if(r!==n.selectedNode&&n.selectedNode&&(c.removeCssClass(n.selectedNode,`ace_selected`),n.selectedNode.removeAttribute(m),n.selectedNode.removeAttribute(`id`)),i.removeAttribute(`aria-activedescendant`),n.selectedNode=r,r){var a=d(e);c.addCssClass(r,`ace_selected`),r.id=a,t.element.setAttribute(`aria-activedescendant`,a),i.setAttribute(`aria-activedescendant`,a),r.setAttribute(m,`true`)}});var _=function(){v(-1)},v=function(e,t){e!==u.start.row&&(u.start.row=u.end.row=e,t||n.session._emit(`changeBackMarker`),n._emit(`changeHoverMarker`))};n.getHoveredRow=function(){return u.start.row},o.addListener(n.container,`mouseout`,function(){n.isMouseOver=!1,_()}),n.on(`hide`,_),n.on(`changeSelection`,_),n.session.doc.getLength=function(){return n.data.length},n.session.doc.getLine=function(e){var t=n.data[e];return typeof t==`string`?t:t&&t.value||``};var y=n.session.bgTokenizer;return y.$tokenizeRow=function(e){var t=n.data[e],r=[];if(!t)return r;typeof t==`string`&&(t={value:t});var i=t.caption||t.value||t.name;function a(e,n){e&&r.push({type:(t.className||``)+(n||``),value:e})}for(var o=i.toLowerCase(),s=(n.filterText||``).toLowerCase(),c=0,l=0,u=0;u<=s.length;u++)if(u!=l&&(t.matchMask&1<<u||u==s.length)){var d=s.slice(l,u);l=u;var f=o.indexOf(d,c);if(f==-1)continue;a(i.slice(c,f),``),c=f+d.length,a(i.slice(f,c),`completion-highlight`)}return a(i.slice(c,i.length),``),r.push({type:`completion-spacer`,value:` `}),t.meta&&r.push({type:`completion-meta`,value:t.meta}),t.message&&r.push({type:`completion-message`,value:t.message}),r},y.$updateOnChange=r,y.start=r,n.session.$computeWidth=function(){return this.screenWidth=0},n.isOpen=!1,n.isTopdown=!1,n.autoSelect=!0,n.filterText=``,n.isMouseOver=!1,n.data=[],n.setData=function(e,t){n.filterText=t||``,n.setValue(s.stringRepeat(`
993
+ `,e.length),-1),n.data=e||[],n.setRow(0)},n.getData=function(e){return n.data[e]},n.getRow=function(){return g.start.row},n.setRow=function(e){e=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,e)),g.start.row!=e&&(n.selection.clearSelection(),g.start.row=g.end.row=e||0,n.session._emit(`changeBackMarker`),n.moveCursorTo(e||0,0),n.isOpen&&n._signal(`select`))},n.on(`changeSelection`,function(){n.isOpen&&n.setRow(n.selection.lead.row),n.renderer.scrollCursorIntoView()}),n.hide=function(){this.container.style.display=`none`,n.anchorPos=null,n.anchor=null,n.isOpen&&(n.isOpen=!1,this._signal(`hide`))},n.tryShow=function(e,t,r,a){if(!a&&n.isOpen&&n.anchorPos&&n.anchor&&n.anchorPos.top===e.top&&n.anchorPos.left===e.left&&n.anchor===r)return!0;var o=this.container,s=this.renderer.scrollBar.width||10,l=window.innerHeight-s,u=window.innerWidth-s,d=this.renderer,f=d.$maxLines*t*1.4,p={top:0,bottom:0,left:0},m=l-e.top-3*this.$borderSize-t,h=e.top-3*this.$borderSize;r||=h<=m||m>=f?`bottom`:`top`,r===`top`?(p.bottom=e.top-this.$borderSize,p.top=p.bottom-f):r===`bottom`&&(p.top=e.top+t+this.$borderSize,p.bottom=p.top+f);var g=p.top>=0&&p.bottom<=l;if(!a&&!g)return!1;g?d.$maxPixelHeight=null:r===`top`?d.$maxPixelHeight=h:d.$maxPixelHeight=m,r===`top`?(o.style.top=``,o.style.bottom=l+s-p.bottom+`px`,n.isTopdown=!1):(o.style.top=p.top+`px`,o.style.bottom=``,n.isTopdown=!0),o.style.display=``;var _=e.left;return _+o.offsetWidth>u&&(_=u-o.offsetWidth),o.style.left=_+`px`,o.style.right=``,c.$fixPositionBug(o),n.isOpen||(n.isOpen=!0,this._signal(`show`),i=null),n.anchorPos=e,n.anchor=r,!0},n.show=function(e,t,n){this.tryShow(e,t,n?`bottom`:void 0,!0)},n.goTo=function(e){var t=this.getRow(),n=this.session.getLength()-1;switch(e){case`up`:t=t<=0?n:t-1;break;case`down`:t=t>=n?-1:t+1;break;case`start`:t=0;break;case`end`:t=n;break}this.setRow(t)},n.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},n.$imageSize=0,n.$borderSize=1,n}return e}();c.importCssString(`
994
+ .ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
995
+ background-color: #CAD6FA;
996
+ z-index: 1;
997
+ }
998
+ .ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
999
+ background-color: #3a674e;
1000
+ }
1001
+ .ace_editor.ace_autocomplete .ace_line-hover {
1002
+ border: 1px solid #abbffe;
1003
+ margin-top: -1px;
1004
+ background: rgba(233,233,253,0.4);
1005
+ position: absolute;
1006
+ z-index: 2;
1007
+ }
1008
+ .ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
1009
+ border: 1px solid rgba(109, 150, 13, 0.8);
1010
+ background: rgba(58, 103, 78, 0.62);
1011
+ }
1012
+ .ace_completion-meta {
1013
+ opacity: 0.5;
1014
+ margin-left: 0.9em;
1015
+ }
1016
+ .ace_completion-message {
1017
+ margin-left: 0.9em;
1018
+ color: blue;
1019
+ }
1020
+ .ace_editor.ace_autocomplete .ace_completion-highlight{
1021
+ color: #2d69c7;
1022
+ }
1023
+ .ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{
1024
+ color: #93ca12;
1025
+ }
1026
+ .ace_editor.ace_autocomplete {
1027
+ width: 300px;
1028
+ z-index: 200000;
1029
+ border: 1px lightgray solid;
1030
+ position: fixed;
1031
+ box-shadow: 2px 3px 5px rgba(0,0,0,.2);
1032
+ line-height: 1.4;
1033
+ background: #fefefe;
1034
+ color: #111;
1035
+ }
1036
+ .ace_dark.ace_editor.ace_autocomplete {
1037
+ border: 1px #484747 solid;
1038
+ box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
1039
+ line-height: 1.4;
1040
+ background: #25282c;
1041
+ color: #c1c1c1;
1042
+ }
1043
+ .ace_autocomplete .ace_text-layer {
1044
+ width: calc(100% - 8px);
1045
+ }
1046
+ .ace_autocomplete .ace_line {
1047
+ display: flex;
1048
+ align-items: center;
1049
+ }
1050
+ .ace_autocomplete .ace_line > * {
1051
+ min-width: 0;
1052
+ flex: 0 0 auto;
1053
+ }
1054
+ .ace_autocomplete .ace_line .ace_ {
1055
+ flex: 0 1 auto;
1056
+ overflow: hidden;
1057
+ text-overflow: ellipsis;
1058
+ }
1059
+ .ace_autocomplete .ace_completion-spacer {
1060
+ flex: 1;
1061
+ }
1062
+ .ace_autocomplete.ace_loading:after {
1063
+ content: "";
1064
+ position: absolute;
1065
+ top: 0px;
1066
+ height: 2px;
1067
+ width: 8%;
1068
+ background: blue;
1069
+ z-index: 100;
1070
+ animation: ace_progress 3s infinite linear;
1071
+ animation-delay: 300ms;
1072
+ transform: translateX(-100%) scaleX(1);
1073
+ }
1074
+ @keyframes ace_progress {
1075
+ 0% { transform: translateX(-100%) scaleX(1) }
1076
+ 50% { transform: translateX(625%) scaleX(2) }
1077
+ 100% { transform: translateX(1500%) scaleX(3) }
1078
+ }
1079
+ @media (prefers-reduced-motion) {
1080
+ .ace_autocomplete.ace_loading:after {
1081
+ transform: translateX(625%) scaleX(2);
1082
+ animation: none;
1083
+ }
1084
+ }
1085
+ `,`autocompletion.css`,!1),t.AcePopup=g,t.$singleLineEditor=h,t.getAriaId=d}),ace.define(`ace/autocomplete/inline_screenreader`,[`require`,`exports`,`module`],function(e,t,n){t.AceInlineScreenReader=function(){function e(e){this.editor=e,this.screenReaderDiv=document.createElement(`div`),this.screenReaderDiv.classList.add(`ace_screenreader-only`),this.editor.container.appendChild(this.screenReaderDiv)}return e.prototype.setScreenReaderContent=function(e){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on(`afterRender`,function(){var e=this.popup.getRow(),t=this.popup.renderer.$textLayer,n=t.element.childNodes[e-t.config.firstRow];if(n){for(var r=`doc-tooltip `,i=0;i<this._lines.length;i++)r+=`ace-inline-screenreader-line-${i} `;n.setAttribute(`aria-describedby`,r)}}.bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=e.split(/\r\n|\r|\n/);var t=this.createCodeBlock();this.screenReaderDiv.appendChild(t)},e.prototype.destroy=function(){this.screenReaderDiv.remove()},e.prototype.createCodeBlock=function(){var e=document.createElement(`pre`);e.setAttribute(`id`,`ace-inline-screenreader`);for(var t=0;t<this._lines.length;t++){var n=document.createElement(`code`);n.setAttribute(`id`,`ace-inline-screenreader-line-${t}`);var r=document.createTextNode(this._lines[t]);n.appendChild(r),e.appendChild(n)}return e},e}()}),ace.define(`ace/autocomplete/inline`,[`require`,`exports`,`module`,`ace/snippets`,`ace/autocomplete/inline_screenreader`],function(e,t,n){var r=e("../snippets").snippetManager,i=e("./inline_screenreader").AceInlineScreenReader;t.AceInline=function(){function e(){this.editor=null}return e.prototype.show=function(e,t,n){if(n||=``,e&&this.editor&&this.editor!==e&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!e||!t)return!1;this.inlineScreenReader||=new i(e);var a=t.snippet?r.getDisplayTextForSnippet(e,t.snippet):t.value;return t.hideInlinePreview||!a||!a.startsWith(n)?!1:(this.editor=e,this.inlineScreenReader.setScreenReaderContent(a),a=a.slice(n.length),a===``?e.removeGhostText():e.setGhostText(a),!0)},e.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},e.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},e.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&=(this.inlineScreenReader.destroy(),null)},e}()}),ace.define(`ace/autocomplete/util`,[`require`,`exports`,`module`],function(e,t,n){t.parForEach=function(e,t,n){var r=0,i=e.length;i===0&&n();for(var a=0;a<i;a++)t(e[a],function(e,t){r++,r===i&&n(e,t)})};var r=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;t.retrievePrecedingIdentifier=function(e,t,n){n||=r;for(var i=[],a=t-1;a>=0&&n.test(e[a]);a--)i.push(e[a]);return i.reverse().join(``)},t.retrieveFollowingIdentifier=function(e,t,n){n||=r;for(var i=[],a=t;a<e.length&&n.test(e[a]);a++)i.push(e[a]);return i},t.getCompletionPrefix=function(e){var t=e.getCursorPosition(),n=e.session.getLine(t.row),r;return e.completers.forEach(function(e){e.identifierRegexps&&e.identifierRegexps.forEach(function(e){!r&&e&&(r=this.retrievePrecedingIdentifier(n,t.column,e))}.bind(this))}.bind(this)),r||this.retrievePrecedingIdentifier(n,t.column)},t.triggerAutocomplete=function(e,t){var t=t??e.session.getPrecedingCharacter();return e.completers.some(function(e){if(e.triggerCharacters&&Array.isArray(e.triggerCharacters))return e.triggerCharacters.includes(t)})}}),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(e,t,n){var r=e("./keyboard/hash_handler").HashHandler,i=e("./autocomplete/popup").AcePopup,a=e("./autocomplete/inline").AceInline,o=e("./autocomplete/popup").getAriaId,s=e("./autocomplete/util"),c=e("./lib/lang"),l=e("./lib/dom"),u=e("./snippets").snippetManager,d=e("./config"),f=e("./lib/event"),p=e("./lib/scroll").preventParentScroll,m=function(e,t){t.completer&&t.completer.destroy()},h=function(){function e(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new r,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=c.delayedCall(function(){this.updateCompletions(!0)}.bind(this)),this.tooltipTimer=c.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=c.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=c.delayedCall(function(){this.stickySelection=!0}.bind(this),this.stickySelectionDelay),this.$firstOpenTimer=c.delayedCall(function(){var t=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!t||this.editor.completers.length===0||(this.completions=new _(e.completionsForLoading),this.openPopup(this.editor,t.prefix,!1),this.popup.renderer.setStyle(`ace_loading`,!0))}.bind(this),this.stickySelectionDelay)}return Object.defineProperty(e,"completionsForLoading",{get:function(){return[{caption:d.nls(`autocomplete.loading`,`Loading...`),value:``}]},enumerable:!1,configurable:!0}),e.prototype.$init=function(){return this.popup=new i(this.parentNode||document.body||document.documentElement),this.popup.on(`click`,function(e){this.insertMatch(),e.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)),f.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},e.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new a,this.inlineRenderer},e.prototype.getPopup=function(){return this.popup||this.$init()},e.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},e.prototype.$seen=function(e){!this.hasSeen.has(e)&&e&&e.completer&&e.completer.onSeen&&typeof e.completer.onSeen==`function`&&(e.completer.onSeen(this.editor,e),this.hasSeen.add(e))},e.prototype.$onPopupChange=function(e){if(this.inlineRenderer&&this.inlineEnabled){var t=e?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(t),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)},e.prototype.$updateGhostText=function(e){var t=this.base.row,n=this.base.column,r=this.editor.getCursorPosition().column,i=this.editor.session.getLine(t).slice(n,r);this.inlineRenderer.show(this.editor,e,i)?this.$seen(e):this.inlineRenderer.hide()},e.prototype.$onPopupRender=function(){var e=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var t=this.popup.getFirstVisibleRow();t<=this.popup.getLastVisibleRow();t++){var n=this.popup.getData(t);n&&(!e||n.hideInlinePreview)&&this.$seen(n)}},e.prototype.$onPopupShow=function(e){this.$onPopupChange(e),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},e.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener(`resize`,this.onLayoutChange,{passive:!0}),window.addEventListener(`wheel`,this.mousewheelListener);for(var e=this.editor.container.parentNode,t=[];e;)t.push(e),e.addEventListener(`scroll`,this.onLayoutChange,{passive:!0}),e=e.parentNode;this.$elements=t}},e.prototype.unObserveLayoutChanges=function(){var e=this;window.removeEventListener(`resize`,this.onLayoutChange,{passive:!0}),window.removeEventListener(`wheel`,this.mousewheelListener),this.$elements&&this.$elements.forEach(function(t){t.removeEventListener(`scroll`,e.onLayoutChange,{passive:!0})}),this.$elements=null},e.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},e.prototype.$updatePopupPosition=function(){var e=this.editor,t=e.renderer,n=t.layerConfig.lineHeight,r=t.$cursorLayer.getPixelPosition(this.base,!0);r.left-=this.popup.getTextLeftOffset();var i=e.container.getBoundingClientRect();r.top+=i.top-t.layerConfig.offset,r.left+=i.left-e.renderer.scrollLeft,r.left+=t.gutterWidth;var a={top:r.top,left:r.left};t.$ghostText&&t.$ghostTextWidget&&this.base.row===t.$ghostText.position.row&&(a.top+=t.$ghostTextWidget.el.offsetHeight);var o=e.container.getBoundingClientRect().bottom-n,s=o<a.top?{top:o,left:a.left}:a;this.popup.tryShow(s,n,`bottom`)||this.popup.tryShow(r,n,`top`)||this.popup.show(r,n)},e.prototype.openPopup=function(e,t,n){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var r=this.popup.getRow(),i=this.popup.data[r];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:o(this.popup.getRow()),inline:this.inlineEnabled}),e.keyBinding.addKeyboardHandler(this.keyboardHandler);var a;this.stickySelection&&(a=this.popup.data.indexOf(i)),(!a||a===-1)&&(a=0),this.popup.setRow(this.autoSelect?a:-1),a===r&&i!==this.completions.filtered[a]&&this.$onPopupChange();var s=this.inlineRenderer&&this.inlineEnabled;if(a===r&&s){var c=this.popup.getData(this.popup.getRow());this.$updateGhostText(c)}n||(this.popup.setTheme(e.getTheme()),this.popup.setFontSize(e.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},e.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()},e.prototype.changeListener=function(e){var t=this.editor.selection.lead;(t.row!=this.base.row||t.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},e.prototype.blurListener=function(e){var t=document.activeElement,n=this.editor.textInput.getElement(),r=e.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(e.relatedTarget),i=this.popup&&this.popup.container;t!=n&&t.parentNode!=i&&!r&&t!=this.tooltipNode&&e.relatedTarget!=n&&this.detach()},e.prototype.mousedownListener=function(e){this.detach()},e.prototype.mousewheelListener=function(e){this.popup&&!this.popup.isMouseOver&&this.detach()},e.prototype.mouseOutListener=function(e){this.popup.isOpen&&this.$updatePopupPosition()},e.prototype.goTo=function(e){this.popup.goTo(e)},e.prototype.insertMatch=function(e,t){if(e||=this.popup.getData(this.popup.getRow()),!e)return!1;if(e.value===``)return this.detach();var n=this.completions,r=this.getCompletionProvider().insertMatch(this.editor,e,n.filterText,t);return this.completions==n&&this.detach(),r},e.prototype.showPopup=function(e,t){this.editor&&this.detach(),this.activated=!0,this.editor=e,e.completer!=this&&(e.completer&&e.completer.detach(),e.completer=this),e.on(`changeSelection`,this.changeListener),e.on(`blur`,this.blurListener),e.on(`mousedown`,this.mousedownListener),e.on(`mousewheel`,this.mousewheelListener),this.updateCompletions(!1,t)},e.prototype.getCompletionProvider=function(e){return this.completionProvider||=new g(e),this.completionProvider},e.prototype.gatherCompletions=function(e,t){return this.getCompletionProvider().gatherCompletions(e,t)},e.prototype.updateCompletions=function(t,n){if(t&&this.base&&this.completions){var r=this.editor.getCursorPosition(),i=this.editor.session.getTextRange({start:this.base,end:r});if(i==this.completions.filterText)return;if(this.completions.setFilter(i),!this.completions.filtered.length||this.completions.filtered.length==1&&this.completions.filtered[0].value==i&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,i,t);return}if(n&&n.matches){var r=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(r.row,r.column),this.base.$insertRight=!0,this.completions=new _(n.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,``,t)}var a=this.editor.getSession(),r=this.editor.getCursorPosition(),i=s.getCompletionPrefix(this.editor);this.base=a.doc.createAnchor(r.row,r.column-i.length),this.base.$insertRight=!0;var o={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:i,pos:r}).provideCompletions(this.editor,o,function(n,r,i){var a=r.filtered,o=s.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),i){if(!a.length){var c=!this.autoShown&&this.emptyMessage;if(typeof c==`function`&&(c=this.emptyMessage(o)),c){var l=[{caption:c,value:``}];this.completions=new _(l),this.openPopup(this.editor,o,t),this.popup.renderer.setStyle(`ace_loading`,!1),this.popup.renderer.setStyle(`ace_empty-message`,!0);return}return this.detach()}if(a.length==1&&a[0].value==o&&!a[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&a.length==1)return this.insertMatch(a[0])}this.completions=!i&&this.showLoadingState?new _(e.completionsForLoading.concat(a),r.filterText):r,this.openPopup(this.editor,o,t),this.popup.renderer.setStyle(`ace_empty-message`,!1),this.popup.renderer.setStyle(`ace_loading`,!i)}.bind(this)),this.showLoadingState&&!this.autoShown&&!(this.popup&&this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},e.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},e.prototype.updateDocTooltip=function(){var e=this.popup,t=this.completions&&this.completions.filtered,n=t&&(t[e.getHoveredRow()]||t[e.getRow()]),r=null;if(!n||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var i=this.editor.completers.length,a=0;a<i;a++){var o=this.editor.completers[a];if(o.getDocTooltip&&n.completerId===o.id){r=o.getDocTooltip(n);break}}if(!r&&typeof n!=`string`&&(r=n),typeof r==`string`&&(r={docText:r}),!r||!(r.docHTML||r.docText))return this.hideDocTooltip();this.showDocTooltip(r)},e.prototype.showDocTooltip=function(e){this.tooltipNode||(this.tooltipNode=l.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`,p));var t=this.editor.renderer.theme;this.tooltipNode.className=`ace_tooltip ace_doc-tooltip `+(t.isDark?`ace_dark `:``)+(t.cssClass||``);var n=this.tooltipNode;e.docHTML?n.innerHTML=e.docHTML:e.docText&&(n.textContent=e.docText),n.parentNode||this.popup.container.appendChild(this.tooltipNode);var r=this.popup,i=r.container.getBoundingClientRect(),a=400,o=300,s=r.renderer.scrollBar.width||10,c=i.left,u=window.innerWidth-i.right-s,d=r.isTopdown?window.innerHeight-s-i.bottom:i.top,f=[Math.min(u/a,1),Math.min(c/a,1),Math.min(d/o,1)*.9],m=Math.max.apply(Math,f),h=n.style;h.display=`block`,m==f[0]||f[0]>=1?(h.left=i.right+1+`px`,h.right=``,h.maxWidth=a*m+`px`,h.top=i.top+`px`,h.bottom=``,h.maxHeight=Math.min(window.innerHeight-s-i.top,o)+`px`):m==f[1]||f[1]>=1?(h.right=window.innerWidth-i.left+`px`,h.left=``,h.maxWidth=a*m+`px`,h.top=i.top+`px`,h.bottom=``,h.maxHeight=Math.min(window.innerHeight-s-i.top,o)+`px`):m==f[2]&&(h.left=i.left+`px`,h.right=``,h.maxWidth=Math.min(a,window.innerWidth-i.left)+`px`,r.isTopdown?(h.top=i.bottom+`px`,h.bottom=``,h.maxHeight=Math.min(window.innerHeight-s-i.bottom,o)+`px`):(h.top=``,h.bottom=window.innerHeight-i.top+`px`,h.maxHeight=Math.min(i.top,o)+`px`)),l.$fixPositionBug(n)},e.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),this.tooltipNode){var e=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==e&&this.editor.focus(),this.tooltipNode=null,e.parentNode&&e.parentNode.removeChild(e)}},e.prototype.onTooltipClick=function(e){for(var t=e.target;t&&t!=this.tooltipNode;){if(t.nodeName==`A`&&t.href){t.rel=`noreferrer`,t.target=`_blank`;break}t=t.parentNode}},e.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var e=this.popup.container;e&&e.parentNode&&e.parentNode.removeChild(e)}this.editor&&this.editor.completer==this&&(this.editor.off(`destroy`,m),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},e.for=function(t){return t.completer instanceof e?t.completer:(t.completer&&=(t.completer.destroy(),null),d.get(`sharedPopups`)?(e.$sharedInstance||=new e,t.completer=e.$sharedInstance):(t.completer=new e,t.once(`destroy`,m)),t.completer)},e}();h.prototype.commands={Up:function(e){e.completer.goTo(`up`)},Down:function(e){e.completer.goTo(`down`)},"Ctrl-Up|Ctrl-Home":function(e){e.completer.goTo(`start`)},"Ctrl-Down|Ctrl-End":function(e){e.completer.goTo(`end`)},Esc:function(e){e.completer.detach()},Return:function(e){return e.completer.insertMatch()},"Shift-Return":function(e){e.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(e){var t=e.completer.insertMatch();if(!t&&!e.tabstopManager)e.completer.goTo(`down`);else return t},Backspace:function(e){e.execCommand(`backspace`),!s.getCompletionPrefix(e)&&e.completer&&e.completer.detach()},PageUp:function(e){e.completer.popup.gotoPageUp()},PageDown:function(e){e.completer.popup.gotoPageDown()}},h.startCommand={name:`startAutocomplete`,exec:function(e,t){var n=h.for(e);n.autoInsert=!1,n.autoSelect=!0,n.autoShown=!1,n.showPopup(e,t),n.cancelContextMenu()},bindKey:`Ctrl-Space|Ctrl-Shift-Space|Alt-Space`};var g=function(){function e(e){this.initialPosition=e,this.active=!0}return e.prototype.insertByIndex=function(e,t,n){return!this.completions||!this.completions.filtered?!1:this.insertMatch(e,this.completions.filtered[t],n)},e.prototype.insertMatch=function(e,t,n){if(!t)return!1;if(e.startOperation({command:{name:`insertMatch`}}),t.completer&&t.completer.insertMatch)t.completer.insertMatch(e,t);else{if(!this.completions)return!1;var r=this.completions.filterText.length,i=0;if(t.range&&t.range.start.row===t.range.end.row&&(r-=this.initialPosition.prefix.length,r+=this.initialPosition.pos.column-t.range.start.column,i+=t.range.end.column-this.initialPosition.pos.column),r||i)for(var a=e.selection.getAllRanges?e.selection.getAllRanges():[e.getSelectionRange()],o=0,s;s=a[o];o++)s.start.column-=r,s.end.column+=i,e.session.remove(s);t.snippet?u.insertSnippet(e,t.snippet):this.$insertString(e,t),t.completer&&t.completer.onInsert&&typeof t.completer.onInsert==`function`&&t.completer.onInsert(e,t),t.command&&t.command===`startAutocomplete`&&e.execCommand(t.command)}return e.endOperation(),!0},e.prototype.$insertString=function(e,t){var n=t.value||t;e.execCommand(`insertstring`,n)},e.prototype.gatherCompletions=function(e,t){var n=e.getSession(),r=e.getCursorPosition(),i=s.getCompletionPrefix(e),a=[];this.completers=e.completers;var o=e.completers.length;return e.completers.forEach(function(c,l){c.getCompletions(e,n,r,i,function(n,r){c.hideInlinePreview&&(r=r.map(function(e){return Object.assign(e,{hideInlinePreview:c.hideInlinePreview})})),!n&&r&&(a=a.concat(r)),t(null,{prefix:s.getCompletionPrefix(e),matches:a,finished:--o===0})})}),!0},e.prototype.provideCompletions=function(e,t,n){var r=function(e){var r=e.prefix,i=e.matches;this.completions=new _(i),t.exactMatch&&(this.completions.exactMatch=!0),t.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(r),(e.finished||this.completions.filtered.length)&&n(null,this.completions,e.finished)}.bind(this),i=!0,a=null;if(this.gatherCompletions(e,function(e,t){if(this.active&&(e&&(n(e,[],!0),this.detach()),t.prefix.indexOf(t.prefix)===0)){if(i){a=t;return}r(t)}}.bind(this)),i=!1,a){var o=a;a=null,r(o)}},e.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(e){typeof e.cancel==`function`&&e.cancel()})},e}(),_=function(){function e(e,t){this.all=e,this.filtered=e,this.filterText=t||``,this.exactMatch=!1,this.ignoreCaption=!1}return e.prototype.setFilter=function(e){if(e.length>this.filterText&&e.lastIndexOf(this.filterText,0)===0)var t=this.filtered;else var t=this.all;this.filterText=e,t=this.filterCompletions(t,this.filterText),t=t.sort(function(e,t){return t.exactMatch-e.exactMatch||t.$score-e.$score||(e.caption||e.value).localeCompare(t.caption||t.value)});var n=null;t=t.filter(function(e){var t=e.snippet||e.caption||e.value;return t===n?!1:(n=t,!0)}),this.filtered=t},e.prototype.filterCompletions=function(e,t){var n=[],r=t.toUpperCase(),i=t.toLowerCase();loop:for(var a=0,o;o=e[a];a++){if(o.skipFilter){o.$score=o.score,n.push(o);continue}var s=!this.ignoreCaption&&o.caption||o.value||o.snippet;if(s){var c=-1,l=0,u=0,d,f;if(this.exactMatch){if(t!==s.substr(0,t.length))continue loop}else{var p=s.toLowerCase().indexOf(i);if(p>-1)u=p;else for(var m=0;m<t.length;m++){var h=s.indexOf(i[m],c+1),g=s.indexOf(r[m],c+1);if(d=h>=0&&(g<0||h<g)?h:g,d<0)continue loop;f=d-c-1,f>0&&(c===-1&&(u+=10),u+=f,l|=1<<m),c=d}}o.matchMask=l,o.exactMatch=+!u,o.$score=(o.score||0)-u,n.push(o)}}return n},e}();t.Autocomplete=h,t.CompletionProvider=g,t.FilteredList=_}),ace.define(`ace/marker_group`,[`require`,`exports`,`module`],function(e,t,n){var r=function(){function e(e,t){t&&(this.markerType=t.markerType),this.markers=[],this.session=e,e.addDynamicMarker(this)}return e.prototype.getMarkerAtPosition=function(e){return this.markers.find(function(t){return t.range.contains(e.row,e.column)})},e.prototype.markersComparator=function(e,t){return e.range.start.row-t.range.start.row},e.prototype.setMarkers=function(e){this.markers=e.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal(`changeBackMarker`)},e.prototype.update=function(e,t,n,r){if(!(!this.markers||!this.markers.length))for(var i=r.firstRow,a=r.lastRow,o,s=0,c=0,l=0;l<this.markers.length;l++){var u=this.markers[l];if(!(u.range.end.row<i)&&!(u.range.start.row>a)&&(u.range.start.row===c?s++:(c=u.range.start.row,s=0),!(s>200))){var d=u.range.clipRows(i,a);if(!(d.start.row===d.end.row&&d.start.column===d.end.column)){var f=d.toScreenRange(n);if(f.isEmpty()){o=n.getNextFoldLine(d.end.row,o),o&&o.end.row>d.end.row&&(i=o.end.row);continue}this.markerType===`fullLine`?t.drawFullLineMarker(e,f,u.className,r):f.isMultiLine()?this.markerType===`line`?t.drawMultiLineMarker(e,f,u.className,r):t.drawTextMarker(e,f,u.className,r):t.drawSingleLineMarker(e,f,u.className+` ace_br15`,r)}}}},e}();r.prototype.MAX_MARKERS=1e4,t.MarkerGroup=r}),ace.define(`ace/autocomplete/text_completer`,[`require`,`exports`,`module`,`ace/range`],function(e,t,n){var r=e("../range").Range,i=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;function a(e,t){return e.getTextRange(r.fromPoints({row:0,column:0},t)).split(i).length-1}function o(e,t){var n=a(e,t),r=e.getValue().split(i),o=Object.create(null),s=r[n];return r.forEach(function(e,t){if(!(!e||e===s)){var i=Math.abs(n-t),a=r.length-i;o[e]?o[e]=Math.max(a,o[e]):o[e]=a}}),o}t.id=`textCompleter`,t.getCompletions=function(e,t,n,r,i){var a=o(t,n);i(null,Object.keys(a).map(function(e){return{caption:e,value:e,score:a[e],meta:`local`}}))}}),ace.define(`ace/ext/language_tools`,[`require`,`exports`,`module`,`ace/snippets`,`ace/autocomplete`,`ace/config`,`ace/lib/lang`,`ace/autocomplete/util`,`ace/marker_group`,`ace/autocomplete/text_completer`,`ace/editor`,`ace/config`],function(e,t,n){var r=e("../snippets").snippetManager,i=e("../autocomplete").Autocomplete,a=e("../config"),o=e("../lib/lang"),s=e("../autocomplete/util"),c=e("../marker_group").MarkerGroup,l=e("../autocomplete/text_completer"),u={getCompletions:function(e,t,n,r,i){if(t.$mode.completer)return t.$mode.completer.getCompletions(e,t,n,r,i);var a=e.session.getState(n.row),o=t.$mode.getCompletions(a,t,n,r);o=o.map(function(e){return e.completerId=u.id,e}),i(null,o)},id:`keywordCompleter`},d=function(e){var t={};return e.replace(/\${(\d+)(:(.*?))?}/g,function(e,n,r,i){return t[n]=i||``}).replace(/\$(\d+?)/g,function(e,n){return t[n]})},f={getCompletions:function(e,t,n,i,a){var o=[],s=t.getTokenAt(n.row,n.column);s&&s.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?o.push(`html-tag`):o=r.getActiveScopes(e);var c=r.snippetMap,l=[];o.forEach(function(e){for(var t=c[e]||[],n=t.length;n--;){var r=t[n],i=r.name||r.tabTrigger;i&&l.push({caption:i,snippet:r.content,meta:r.tabTrigger&&!r.name?r.tabTrigger+`⇥ `:`snippet`,completerId:f.id})}},this),a(null,l)},getDocTooltip:function(e){e.snippet&&!e.docHTML&&(e.docHTML=[`<b>`,o.escapeHTML(e.caption),`</b>`,`<hr></hr>`,o.escapeHTML(d(e.snippet))].join(``))},id:`snippetCompleter`},p=[f,l,u];t.setCompleters=function(e){p.length=0,e&&p.push.apply(p,e)},t.addCompleter=function(e){p.push(e)},t.textCompleter=l,t.keyWordCompleter=u,t.snippetCompleter=f;var m={name:`expandSnippet`,exec:function(e){return r.expandWithTab(e)},bindKey:`Tab`},h=function(e,t){g(t.session.$mode)},g=function(e){typeof e==`string`&&(e=a.$modes[e]),e&&(r.files||={},_(e.$id,e.snippetFileId),e.modes&&e.modes.forEach(g))},_=function(e,t){!t||!e||r.files[e]||(r.files[e]={},a.loadModule(t,function(t){t&&(r.files[e]=t,!t.snippets&&t.snippetText&&(t.snippets=r.parseSnippetFile(t.snippetText)),r.register(t.snippets||[],t.scope),t.includeScopes&&(r.snippetMap[t.scope].includeScopes=t.includeScopes,t.includeScopes.forEach(function(e){g(`ace/mode/`+e)})))}))},v=function(e){var t=e.editor,n=t.completer&&t.completer.activated;if(e.command.name===`backspace`)n&&!s.getCompletionPrefix(t)&&t.completer.detach();else if(e.command.name===`insertstring`&&!n){y=e;var r=e.editor.$liveAutocompletionDelay;r?b.delay(r):x(e)}},y,b=o.delayedCall(function(){x(y)},0),x=function(e){var t=e.editor,n=s.getCompletionPrefix(t),r=e.args,a=s.triggerAutocomplete(t,r);if(n&&n.length>=t.$liveAutocompletionThreshold||a){var o=i.for(t);o.autoShown=!0,o.showPopup(t)}},S=e("../editor").Editor;e("../config").defineOptions(S.prototype,`editor`,{enableBasicAutocompletion:{set:function(e){e?(i.for(this),this.completers||=Array.isArray(e)?e:p,this.commands.addCommand(i.startCommand)):this.commands.removeCommand(i.startCommand)},value:!1},enableLiveAutocompletion:{set:function(e){e?(this.completers||=Array.isArray(e)?e:p,this.commands.on(`afterExec`,v)):this.commands.off(`afterExec`,v)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(e){e?(this.commands.addCommand(m),this.on(`changeMode`,h),h(null,this)):(this.commands.removeCommand(m),this.off(`changeMode`,h))},value:!1}}),t.MarkerGroup=c}),(function(){ace.require([`ace/ext/language_tools`],function(n){typeof t==`object`&&typeof e==`object`&&t&&(t.exports=n)})})()}));export{r as a,i,o as n,n as o,a as r,t as s,s as t};