@ug.software/opposer 3.0.10

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 (447) hide show
  1. package/README.md +504 -0
  2. package/lib/bin/commands/build.js +75 -0
  3. package/lib/bin/commands/generate/api-key.js +28 -0
  4. package/lib/bin/commands/generate/jwt-key.js +46 -0
  5. package/lib/bin/commands/init.js +169 -0
  6. package/lib/bin/helpers/crypto.js +33 -0
  7. package/lib/bin/opposer.js +26 -0
  8. package/lib/cjs/examples/full-app/index.d.ts +1 -0
  9. package/lib/cjs/examples/full-app/index.js +102 -0
  10. package/lib/cjs/examples/full-app/models/author.d.ts +7 -0
  11. package/lib/cjs/examples/full-app/models/author.js +42 -0
  12. package/lib/cjs/examples/full-app/models/book.d.ts +9 -0
  13. package/lib/cjs/examples/full-app/models/book.js +51 -0
  14. package/lib/cjs/examples/full-app/models/category.d.ts +4 -0
  15. package/lib/cjs/examples/full-app/models/category.js +26 -0
  16. package/lib/cjs/examples/full-app/schedules/catalog-refresh.d.ts +28 -0
  17. package/lib/cjs/examples/full-app/schedules/catalog-refresh.js +149 -0
  18. package/lib/cjs/examples/full-app/schedules/inventory-sync.d.ts +12 -0
  19. package/lib/cjs/examples/full-app/schedules/inventory-sync.js +61 -0
  20. package/lib/cjs/examples/full-app/schedules/library-alerts.d.ts +11 -0
  21. package/lib/cjs/examples/full-app/schedules/library-alerts.js +55 -0
  22. package/lib/cjs/examples/minimal/src/handlers/book.d.ts +11 -0
  23. package/lib/cjs/examples/minimal/src/handlers/book.js +51 -0
  24. package/lib/cjs/examples/minimal/src/index.d.ts +1 -0
  25. package/lib/cjs/examples/minimal/src/index.js +14 -0
  26. package/lib/cjs/examples/minimal/src/models/books.d.ts +4 -0
  27. package/lib/cjs/examples/minimal/src/models/books.js +26 -0
  28. package/lib/cjs/examples/orm/models/permission.d.ts +6 -0
  29. package/lib/cjs/examples/orm/models/permission.js +38 -0
  30. package/lib/cjs/examples/orm/models/profile.d.ts +7 -0
  31. package/lib/cjs/examples/orm/models/profile.js +42 -0
  32. package/lib/cjs/examples/orm/models/user.d.ts +11 -0
  33. package/lib/cjs/examples/orm/models/user.js +70 -0
  34. package/lib/cjs/examples/orm/mysql/index.d.ts +1 -0
  35. package/lib/cjs/examples/orm/mysql/index.js +44 -0
  36. package/lib/cjs/examples/orm/postgres/index.d.ts +1 -0
  37. package/lib/cjs/examples/orm/postgres/index.js +40 -0
  38. package/lib/cjs/examples/orm/sqlite/index.d.ts +1 -0
  39. package/lib/cjs/examples/orm/sqlite/index.js +41 -0
  40. package/lib/cjs/index.d.ts +2 -0
  41. package/lib/cjs/index.js +23 -0
  42. package/lib/cjs/interfaces/controller.d.ts +109 -0
  43. package/lib/cjs/interfaces/controller.js +2 -0
  44. package/lib/cjs/interfaces/field.d.ts +23 -0
  45. package/lib/cjs/interfaces/field.js +2 -0
  46. package/lib/cjs/interfaces/handler.d.ts +18 -0
  47. package/lib/cjs/interfaces/handler.js +2 -0
  48. package/lib/cjs/interfaces/jwt.d.ts +21 -0
  49. package/lib/cjs/interfaces/jwt.js +2 -0
  50. package/lib/cjs/interfaces/model.d.ts +9 -0
  51. package/lib/cjs/interfaces/model.js +2 -0
  52. package/lib/cjs/interfaces/request.d.ts +13 -0
  53. package/lib/cjs/interfaces/request.js +2 -0
  54. package/lib/cjs/interfaces/schema.d.ts +9 -0
  55. package/lib/cjs/interfaces/schema.js +2 -0
  56. package/lib/cjs/interfaces/security.d.ts +32 -0
  57. package/lib/cjs/interfaces/security.js +2 -0
  58. package/lib/cjs/interfaces/server.d.ts +37 -0
  59. package/lib/cjs/interfaces/server.js +2 -0
  60. package/lib/cjs/interfaces/system.d.ts +41 -0
  61. package/lib/cjs/interfaces/system.js +2 -0
  62. package/lib/cjs/orm/decorators/index.d.ts +33 -0
  63. package/lib/cjs/orm/decorators/index.js +131 -0
  64. package/lib/cjs/orm/driver/mysql.d.ts +14 -0
  65. package/lib/cjs/orm/driver/mysql.js +103 -0
  66. package/lib/cjs/orm/driver/postgres.d.ts +14 -0
  67. package/lib/cjs/orm/driver/postgres.js +105 -0
  68. package/lib/cjs/orm/driver/sqlite.d.ts +14 -0
  69. package/lib/cjs/orm/driver/sqlite.js +143 -0
  70. package/lib/cjs/orm/index.d.ts +8 -0
  71. package/lib/cjs/orm/index.js +28 -0
  72. package/lib/cjs/orm/metadata.d.ts +47 -0
  73. package/lib/cjs/orm/metadata.js +47 -0
  74. package/lib/cjs/orm/opposer.d.ts +30 -0
  75. package/lib/cjs/orm/opposer.js +33 -0
  76. package/lib/cjs/orm/query-builder.d.ts +32 -0
  77. package/lib/cjs/orm/query-builder.js +278 -0
  78. package/lib/cjs/orm/repository.d.ts +54 -0
  79. package/lib/cjs/orm/repository.js +325 -0
  80. package/lib/cjs/orm/validation.d.ts +44 -0
  81. package/lib/cjs/orm/validation.js +128 -0
  82. package/lib/cjs/package.json +3 -0
  83. package/lib/cjs/persistent/cache/core-context.d.ts +17 -0
  84. package/lib/cjs/persistent/cache/core-context.js +39 -0
  85. package/lib/cjs/persistent/cache/global.d.ts +18 -0
  86. package/lib/cjs/persistent/cache/global.js +22 -0
  87. package/lib/cjs/persistent/cache/index.d.ts +3 -0
  88. package/lib/cjs/persistent/cache/index.js +12 -0
  89. package/lib/cjs/persistent/cache/session.d.ts +19 -0
  90. package/lib/cjs/persistent/cache/session.js +39 -0
  91. package/lib/cjs/persistent/cache/storage.d.ts +14 -0
  92. package/lib/cjs/persistent/cache/storage.js +88 -0
  93. package/lib/cjs/persistent/cache/store.d.ts +16 -0
  94. package/lib/cjs/persistent/cache/store.js +112 -0
  95. package/lib/cjs/persistent/context/index.d.ts +3 -0
  96. package/lib/cjs/persistent/context/index.js +5 -0
  97. package/lib/cjs/persistent/decorators/global.d.ts +1 -0
  98. package/lib/cjs/persistent/decorators/global.js +25 -0
  99. package/lib/cjs/persistent/decorators/session.d.ts +1 -0
  100. package/lib/cjs/persistent/decorators/session.js +27 -0
  101. package/lib/cjs/persistent/index.d.ts +6 -0
  102. package/lib/cjs/persistent/index.js +18 -0
  103. package/lib/cjs/persistent/interfaces/context.d.ts +5 -0
  104. package/lib/cjs/persistent/interfaces/context.js +2 -0
  105. package/lib/cjs/persistent/interfaces/system.d.ts +47 -0
  106. package/lib/cjs/persistent/interfaces/system.js +29 -0
  107. package/lib/cjs/persistent/system/index.d.ts +7 -0
  108. package/lib/cjs/persistent/system/index.js +44 -0
  109. package/lib/cjs/persistent/utils/memory.d.ts +8 -0
  110. package/lib/cjs/persistent/utils/memory.js +44 -0
  111. package/lib/cjs/persistent/utils/timer.d.ts +14 -0
  112. package/lib/cjs/persistent/utils/timer.js +21 -0
  113. package/lib/cjs/playground/build/client/assets/AddRounded-ByHfnsiW.js +4 -0
  114. package/lib/cjs/playground/build/client/assets/Button-DLrxHRm7.js +1 -0
  115. package/lib/cjs/playground/build/client/assets/Container-CgITmmbk.js +1 -0
  116. package/lib/cjs/playground/build/client/assets/Divider-B_Wx9srO.js +1 -0
  117. package/lib/cjs/playground/build/client/assets/List-juBjUmfP.js +1 -0
  118. package/lib/cjs/playground/build/client/assets/ListItemText-DgWZmgzc.js +1 -0
  119. package/lib/cjs/playground/build/client/assets/MenuItem-D_5SuVKQ.js +1 -0
  120. package/lib/cjs/playground/build/client/assets/Modal-BwXR_5Bh.js +1 -0
  121. package/lib/cjs/playground/build/client/assets/TableRow-B9hAmlnV.js +2 -0
  122. package/lib/cjs/playground/build/client/assets/TextField-UybdTIGB.js +3 -0
  123. package/lib/cjs/playground/build/client/assets/Tooltip-BGcUWUcF.js +1 -0
  124. package/lib/cjs/playground/build/client/assets/auth-CD1rXHzz.js +1 -0
  125. package/lib/cjs/playground/build/client/assets/auth-GyTIVKy5.js +1 -0
  126. package/lib/cjs/playground/build/client/assets/confirm-Dr0pbiV6.js +1 -0
  127. package/lib/cjs/playground/build/client/assets/dividerClasses-CIiqeEPO.js +1 -0
  128. package/lib/cjs/playground/build/client/assets/entry.client-D6FYz1yh.js +13 -0
  129. package/lib/cjs/playground/build/client/assets/index-CJ0wdt6Z.js +1 -0
  130. package/lib/cjs/playground/build/client/assets/index-CQc11yq_.js +1153 -0
  131. package/lib/cjs/playground/build/client/assets/index-Cr4I-4J2.js +1 -0
  132. package/lib/cjs/playground/build/client/assets/index-CtPqstFl.js +26 -0
  133. package/lib/cjs/playground/build/client/assets/index-Ct_NE85o.js +1 -0
  134. package/lib/cjs/playground/build/client/assets/index-D0I6xwmb.js +1 -0
  135. package/lib/cjs/playground/build/client/assets/index-DmDCpKb3.js +1 -0
  136. package/lib/cjs/playground/build/client/assets/index-DsSkAwyn.js +1 -0
  137. package/lib/cjs/playground/build/client/assets/index-_DMgWZ3Y.js +1 -0
  138. package/lib/cjs/playground/build/client/assets/listItemIconClasses-39Itzgzt.js +1 -0
  139. package/lib/cjs/playground/build/client/assets/listItemTextClasses-EQFLPLzt.js +1 -0
  140. package/lib/cjs/playground/build/client/assets/manifest-c06e9a7f.js +1 -0
  141. package/lib/cjs/playground/build/client/assets/mergeSlotProps-DptgQgAT.js +1 -0
  142. package/lib/cjs/playground/build/client/assets/playground-Hl52p9f5.js +108 -0
  143. package/lib/cjs/playground/build/client/assets/root-CQTBmuv8.js +1 -0
  144. package/lib/cjs/playground/build/client/assets/toast-CsAH5FIf.js +1 -0
  145. package/lib/cjs/playground/build/client/assets/use-request-BZNkzlTr.js +1 -0
  146. package/lib/cjs/playground/build/client/favicon.ico +0 -0
  147. package/lib/cjs/playground/build/client/index.html +6 -0
  148. package/lib/cjs/playground/index.d.ts +2 -0
  149. package/lib/cjs/playground/index.js +135 -0
  150. package/lib/cjs/scheduler/controllers/index.d.ts +19 -0
  151. package/lib/cjs/scheduler/controllers/index.js +62 -0
  152. package/lib/cjs/scheduler/decorators/index.d.ts +9 -0
  153. package/lib/cjs/scheduler/decorators/index.js +21 -0
  154. package/lib/cjs/scheduler/handlers/index.d.ts +19 -0
  155. package/lib/cjs/scheduler/handlers/index.js +62 -0
  156. package/lib/cjs/scheduler/index.d.ts +24 -0
  157. package/lib/cjs/scheduler/index.js +110 -0
  158. package/lib/cjs/scheduler/models/history.d.ts +10 -0
  159. package/lib/cjs/scheduler/models/history.js +50 -0
  160. package/lib/cjs/server/constants/index.d.ts +78 -0
  161. package/lib/cjs/server/constants/index.js +372 -0
  162. package/lib/cjs/server/context/index.d.ts +17 -0
  163. package/lib/cjs/server/context/index.js +33 -0
  164. package/lib/cjs/server/controller/index.d.ts +3 -0
  165. package/lib/cjs/server/controller/index.js +217 -0
  166. package/lib/cjs/server/controllers/index.d.ts +5 -0
  167. package/lib/cjs/server/controllers/index.js +72 -0
  168. package/lib/cjs/server/core/index.d.ts +16 -0
  169. package/lib/cjs/server/core/index.js +110 -0
  170. package/lib/cjs/server/core/middleware/body-parser.d.ts +2 -0
  171. package/lib/cjs/server/core/middleware/body-parser.js +27 -0
  172. package/lib/cjs/server/core/middleware/cors.d.ts +4 -0
  173. package/lib/cjs/server/core/middleware/cors.js +32 -0
  174. package/lib/cjs/server/core/middleware/logger.d.ts +2 -0
  175. package/lib/cjs/server/core/middleware/logger.js +15 -0
  176. package/lib/cjs/server/decorators/controller.d.ts +3 -0
  177. package/lib/cjs/server/decorators/controller.js +14 -0
  178. package/lib/cjs/server/decorators/field.d.ts +2 -0
  179. package/lib/cjs/server/decorators/field.js +36 -0
  180. package/lib/cjs/server/decorators/handler.d.ts +3 -0
  181. package/lib/cjs/server/decorators/handler.js +14 -0
  182. package/lib/cjs/server/decorators/index.d.ts +7 -0
  183. package/lib/cjs/server/decorators/index.js +26 -0
  184. package/lib/cjs/server/decorators/is-public-method.d.ts +3 -0
  185. package/lib/cjs/server/decorators/is-public-method.js +16 -0
  186. package/lib/cjs/server/decorators/is-public.d.ts +3 -0
  187. package/lib/cjs/server/decorators/is-public.js +14 -0
  188. package/lib/cjs/server/decorators/method.d.ts +3 -0
  189. package/lib/cjs/server/decorators/method.js +16 -0
  190. package/lib/cjs/server/decorators/payload.d.ts +3 -0
  191. package/lib/cjs/server/decorators/payload.js +15 -0
  192. package/lib/cjs/server/handlers/index.d.ts +5 -0
  193. package/lib/cjs/server/handlers/index.js +72 -0
  194. package/lib/cjs/server/helpers/index.d.ts +17 -0
  195. package/lib/cjs/server/helpers/index.js +39 -0
  196. package/lib/cjs/server/index.d.ts +12 -0
  197. package/lib/cjs/server/index.js +176 -0
  198. package/lib/cjs/server/security/controller/auth.d.ts +76 -0
  199. package/lib/cjs/server/security/controller/auth.js +346 -0
  200. package/lib/cjs/server/security/index.d.ts +2 -0
  201. package/lib/cjs/server/security/index.js +10 -0
  202. package/lib/cjs/server/security/jwt/index.d.ts +23 -0
  203. package/lib/cjs/server/security/jwt/index.js +108 -0
  204. package/lib/cjs/server/security/middleware/autorization.d.ts +3 -0
  205. package/lib/cjs/server/security/middleware/autorization.js +46 -0
  206. package/lib/cjs/server/security/middleware/permission.d.ts +3 -0
  207. package/lib/cjs/server/security/middleware/permission.js +138 -0
  208. package/lib/cjs/server/security/models/crp.d.ts +8 -0
  209. package/lib/cjs/server/security/models/crp.js +42 -0
  210. package/lib/cjs/server/security/models/ke.d.ts +7 -0
  211. package/lib/cjs/server/security/models/ke.js +38 -0
  212. package/lib/cjs/server/security/models/rl.d.ts +9 -0
  213. package/lib/cjs/server/security/models/rl.js +50 -0
  214. package/lib/cjs/server/security/models/se.d.ts +11 -0
  215. package/lib/cjs/server/security/models/se.js +54 -0
  216. package/lib/cjs/server/security/models/usr.d.ts +14 -0
  217. package/lib/cjs/server/security/models/usr.js +82 -0
  218. package/lib/cjs/server/services/delete.d.ts +13 -0
  219. package/lib/cjs/server/services/delete.js +49 -0
  220. package/lib/cjs/server/services/get.d.ts +4 -0
  221. package/lib/cjs/server/services/get.js +145 -0
  222. package/lib/cjs/server/services/insert.d.ts +13 -0
  223. package/lib/cjs/server/services/insert.js +74 -0
  224. package/lib/cjs/server/services/update.d.ts +13 -0
  225. package/lib/cjs/server/services/update.js +60 -0
  226. package/lib/cjs/system/index.d.ts +13 -0
  227. package/lib/cjs/system/index.js +237 -0
  228. package/lib/esm/examples/full-app/index.d.ts +1 -0
  229. package/lib/esm/examples/full-app/index.js +64 -0
  230. package/lib/esm/examples/full-app/models/author.d.ts +7 -0
  231. package/lib/esm/examples/full-app/models/author.js +37 -0
  232. package/lib/esm/examples/full-app/models/book.d.ts +9 -0
  233. package/lib/esm/examples/full-app/models/book.js +46 -0
  234. package/lib/esm/examples/full-app/models/category.d.ts +4 -0
  235. package/lib/esm/examples/full-app/models/category.js +24 -0
  236. package/lib/esm/examples/full-app/schedules/catalog-refresh.d.ts +28 -0
  237. package/lib/esm/examples/full-app/schedules/catalog-refresh.js +143 -0
  238. package/lib/esm/examples/full-app/schedules/inventory-sync.d.ts +12 -0
  239. package/lib/esm/examples/full-app/schedules/inventory-sync.js +55 -0
  240. package/lib/esm/examples/full-app/schedules/library-alerts.d.ts +11 -0
  241. package/lib/esm/examples/full-app/schedules/library-alerts.js +52 -0
  242. package/lib/esm/examples/minimal/src/handlers/book.d.ts +11 -0
  243. package/lib/esm/examples/minimal/src/handlers/book.js +49 -0
  244. package/lib/esm/examples/minimal/src/index.d.ts +1 -0
  245. package/lib/esm/examples/minimal/src/index.js +9 -0
  246. package/lib/esm/examples/minimal/src/models/books.d.ts +4 -0
  247. package/lib/esm/examples/minimal/src/models/books.js +24 -0
  248. package/lib/esm/examples/orm/models/permission.d.ts +6 -0
  249. package/lib/esm/examples/orm/models/permission.js +33 -0
  250. package/lib/esm/examples/orm/models/profile.d.ts +7 -0
  251. package/lib/esm/examples/orm/models/profile.js +37 -0
  252. package/lib/esm/examples/orm/models/user.d.ts +11 -0
  253. package/lib/esm/examples/orm/models/user.js +65 -0
  254. package/lib/esm/examples/orm/mysql/index.d.ts +1 -0
  255. package/lib/esm/examples/orm/mysql/index.js +39 -0
  256. package/lib/esm/examples/orm/postgres/index.d.ts +1 -0
  257. package/lib/esm/examples/orm/postgres/index.js +35 -0
  258. package/lib/esm/examples/orm/sqlite/index.d.ts +1 -0
  259. package/lib/esm/examples/orm/sqlite/index.js +36 -0
  260. package/lib/esm/index.d.ts +2 -0
  261. package/lib/esm/index.js +2 -0
  262. package/lib/esm/interfaces/controller.d.ts +109 -0
  263. package/lib/esm/interfaces/controller.js +1 -0
  264. package/lib/esm/interfaces/field.d.ts +23 -0
  265. package/lib/esm/interfaces/field.js +1 -0
  266. package/lib/esm/interfaces/handler.d.ts +18 -0
  267. package/lib/esm/interfaces/handler.js +1 -0
  268. package/lib/esm/interfaces/jwt.d.ts +21 -0
  269. package/lib/esm/interfaces/jwt.js +1 -0
  270. package/lib/esm/interfaces/model.d.ts +9 -0
  271. package/lib/esm/interfaces/model.js +1 -0
  272. package/lib/esm/interfaces/request.d.ts +13 -0
  273. package/lib/esm/interfaces/request.js +1 -0
  274. package/lib/esm/interfaces/schema.d.ts +9 -0
  275. package/lib/esm/interfaces/schema.js +1 -0
  276. package/lib/esm/interfaces/security.d.ts +32 -0
  277. package/lib/esm/interfaces/security.js +1 -0
  278. package/lib/esm/interfaces/server.d.ts +37 -0
  279. package/lib/esm/interfaces/server.js +1 -0
  280. package/lib/esm/interfaces/system.d.ts +41 -0
  281. package/lib/esm/interfaces/system.js +1 -0
  282. package/lib/esm/orm/decorators/index.d.ts +33 -0
  283. package/lib/esm/orm/decorators/index.js +118 -0
  284. package/lib/esm/orm/driver/mysql.d.ts +14 -0
  285. package/lib/esm/orm/driver/mysql.js +66 -0
  286. package/lib/esm/orm/driver/postgres.d.ts +14 -0
  287. package/lib/esm/orm/driver/postgres.js +68 -0
  288. package/lib/esm/orm/driver/sqlite.d.ts +14 -0
  289. package/lib/esm/orm/driver/sqlite.js +106 -0
  290. package/lib/esm/orm/index.d.ts +8 -0
  291. package/lib/esm/orm/index.js +8 -0
  292. package/lib/esm/orm/metadata.d.ts +47 -0
  293. package/lib/esm/orm/metadata.js +43 -0
  294. package/lib/esm/orm/opposer.d.ts +30 -0
  295. package/lib/esm/orm/opposer.js +29 -0
  296. package/lib/esm/orm/query-builder.d.ts +32 -0
  297. package/lib/esm/orm/query-builder.js +274 -0
  298. package/lib/esm/orm/repository.d.ts +54 -0
  299. package/lib/esm/orm/repository.js +318 -0
  300. package/lib/esm/orm/validation.d.ts +44 -0
  301. package/lib/esm/orm/validation.js +122 -0
  302. package/lib/esm/persistent/cache/core-context.d.ts +17 -0
  303. package/lib/esm/persistent/cache/core-context.js +34 -0
  304. package/lib/esm/persistent/cache/global.d.ts +18 -0
  305. package/lib/esm/persistent/cache/global.js +17 -0
  306. package/lib/esm/persistent/cache/index.d.ts +3 -0
  307. package/lib/esm/persistent/cache/index.js +3 -0
  308. package/lib/esm/persistent/cache/session.d.ts +19 -0
  309. package/lib/esm/persistent/cache/session.js +34 -0
  310. package/lib/esm/persistent/cache/storage.d.ts +14 -0
  311. package/lib/esm/persistent/cache/storage.js +82 -0
  312. package/lib/esm/persistent/cache/store.d.ts +16 -0
  313. package/lib/esm/persistent/cache/store.js +106 -0
  314. package/lib/esm/persistent/context/index.d.ts +3 -0
  315. package/lib/esm/persistent/context/index.js +3 -0
  316. package/lib/esm/persistent/decorators/global.d.ts +1 -0
  317. package/lib/esm/persistent/decorators/global.js +19 -0
  318. package/lib/esm/persistent/decorators/session.d.ts +1 -0
  319. package/lib/esm/persistent/decorators/session.js +21 -0
  320. package/lib/esm/persistent/index.d.ts +6 -0
  321. package/lib/esm/persistent/index.js +6 -0
  322. package/lib/esm/persistent/interfaces/context.d.ts +5 -0
  323. package/lib/esm/persistent/interfaces/context.js +1 -0
  324. package/lib/esm/persistent/interfaces/system.d.ts +47 -0
  325. package/lib/esm/persistent/interfaces/system.js +26 -0
  326. package/lib/esm/persistent/system/index.d.ts +7 -0
  327. package/lib/esm/persistent/system/index.js +39 -0
  328. package/lib/esm/persistent/utils/memory.d.ts +8 -0
  329. package/lib/esm/persistent/utils/memory.js +42 -0
  330. package/lib/esm/persistent/utils/timer.d.ts +14 -0
  331. package/lib/esm/persistent/utils/timer.js +16 -0
  332. package/lib/esm/playground/build/client/assets/AddRounded-ByHfnsiW.js +4 -0
  333. package/lib/esm/playground/build/client/assets/Button-DLrxHRm7.js +1 -0
  334. package/lib/esm/playground/build/client/assets/Container-CgITmmbk.js +1 -0
  335. package/lib/esm/playground/build/client/assets/Divider-B_Wx9srO.js +1 -0
  336. package/lib/esm/playground/build/client/assets/List-juBjUmfP.js +1 -0
  337. package/lib/esm/playground/build/client/assets/ListItemText-DgWZmgzc.js +1 -0
  338. package/lib/esm/playground/build/client/assets/MenuItem-D_5SuVKQ.js +1 -0
  339. package/lib/esm/playground/build/client/assets/Modal-BwXR_5Bh.js +1 -0
  340. package/lib/esm/playground/build/client/assets/TableRow-B9hAmlnV.js +2 -0
  341. package/lib/esm/playground/build/client/assets/TextField-UybdTIGB.js +3 -0
  342. package/lib/esm/playground/build/client/assets/Tooltip-BGcUWUcF.js +1 -0
  343. package/lib/esm/playground/build/client/assets/auth-CD1rXHzz.js +1 -0
  344. package/lib/esm/playground/build/client/assets/auth-GyTIVKy5.js +1 -0
  345. package/lib/esm/playground/build/client/assets/confirm-Dr0pbiV6.js +1 -0
  346. package/lib/esm/playground/build/client/assets/dividerClasses-CIiqeEPO.js +1 -0
  347. package/lib/esm/playground/build/client/assets/entry.client-D6FYz1yh.js +13 -0
  348. package/lib/esm/playground/build/client/assets/index-CJ0wdt6Z.js +1 -0
  349. package/lib/esm/playground/build/client/assets/index-CQc11yq_.js +1153 -0
  350. package/lib/esm/playground/build/client/assets/index-Cr4I-4J2.js +1 -0
  351. package/lib/esm/playground/build/client/assets/index-CtPqstFl.js +26 -0
  352. package/lib/esm/playground/build/client/assets/index-Ct_NE85o.js +1 -0
  353. package/lib/esm/playground/build/client/assets/index-D0I6xwmb.js +1 -0
  354. package/lib/esm/playground/build/client/assets/index-DmDCpKb3.js +1 -0
  355. package/lib/esm/playground/build/client/assets/index-DsSkAwyn.js +1 -0
  356. package/lib/esm/playground/build/client/assets/index-_DMgWZ3Y.js +1 -0
  357. package/lib/esm/playground/build/client/assets/listItemIconClasses-39Itzgzt.js +1 -0
  358. package/lib/esm/playground/build/client/assets/listItemTextClasses-EQFLPLzt.js +1 -0
  359. package/lib/esm/playground/build/client/assets/manifest-c06e9a7f.js +1 -0
  360. package/lib/esm/playground/build/client/assets/mergeSlotProps-DptgQgAT.js +1 -0
  361. package/lib/esm/playground/build/client/assets/playground-Hl52p9f5.js +108 -0
  362. package/lib/esm/playground/build/client/assets/root-CQTBmuv8.js +1 -0
  363. package/lib/esm/playground/build/client/assets/toast-CsAH5FIf.js +1 -0
  364. package/lib/esm/playground/build/client/assets/use-request-BZNkzlTr.js +1 -0
  365. package/lib/esm/playground/build/client/favicon.ico +0 -0
  366. package/lib/esm/playground/build/client/index.html +6 -0
  367. package/lib/esm/playground/index.d.ts +2 -0
  368. package/lib/esm/playground/index.js +129 -0
  369. package/lib/esm/scheduler/controllers/index.d.ts +19 -0
  370. package/lib/esm/scheduler/controllers/index.js +57 -0
  371. package/lib/esm/scheduler/decorators/index.d.ts +9 -0
  372. package/lib/esm/scheduler/decorators/index.js +16 -0
  373. package/lib/esm/scheduler/handlers/index.d.ts +19 -0
  374. package/lib/esm/scheduler/handlers/index.js +57 -0
  375. package/lib/esm/scheduler/index.d.ts +24 -0
  376. package/lib/esm/scheduler/index.js +89 -0
  377. package/lib/esm/scheduler/models/history.d.ts +10 -0
  378. package/lib/esm/scheduler/models/history.js +48 -0
  379. package/lib/esm/server/constants/index.d.ts +78 -0
  380. package/lib/esm/server/constants/index.js +369 -0
  381. package/lib/esm/server/context/index.d.ts +17 -0
  382. package/lib/esm/server/context/index.js +31 -0
  383. package/lib/esm/server/controller/index.d.ts +3 -0
  384. package/lib/esm/server/controller/index.js +179 -0
  385. package/lib/esm/server/controllers/index.d.ts +5 -0
  386. package/lib/esm/server/controllers/index.js +31 -0
  387. package/lib/esm/server/core/index.d.ts +16 -0
  388. package/lib/esm/server/core/index.js +103 -0
  389. package/lib/esm/server/core/middleware/body-parser.d.ts +2 -0
  390. package/lib/esm/server/core/middleware/body-parser.js +24 -0
  391. package/lib/esm/server/core/middleware/cors.d.ts +4 -0
  392. package/lib/esm/server/core/middleware/cors.js +29 -0
  393. package/lib/esm/server/core/middleware/logger.d.ts +2 -0
  394. package/lib/esm/server/core/middleware/logger.js +12 -0
  395. package/lib/esm/server/decorators/controller.d.ts +3 -0
  396. package/lib/esm/server/decorators/controller.js +10 -0
  397. package/lib/esm/server/decorators/field.d.ts +2 -0
  398. package/lib/esm/server/decorators/field.js +32 -0
  399. package/lib/esm/server/decorators/handler.d.ts +3 -0
  400. package/lib/esm/server/decorators/handler.js +10 -0
  401. package/lib/esm/server/decorators/index.d.ts +7 -0
  402. package/lib/esm/server/decorators/index.js +7 -0
  403. package/lib/esm/server/decorators/is-public-method.d.ts +3 -0
  404. package/lib/esm/server/decorators/is-public-method.js +12 -0
  405. package/lib/esm/server/decorators/is-public.d.ts +3 -0
  406. package/lib/esm/server/decorators/is-public.js +10 -0
  407. package/lib/esm/server/decorators/method.d.ts +3 -0
  408. package/lib/esm/server/decorators/method.js +12 -0
  409. package/lib/esm/server/decorators/payload.d.ts +3 -0
  410. package/lib/esm/server/decorators/payload.js +11 -0
  411. package/lib/esm/server/handlers/index.d.ts +5 -0
  412. package/lib/esm/server/handlers/index.js +31 -0
  413. package/lib/esm/server/helpers/index.d.ts +17 -0
  414. package/lib/esm/server/helpers/index.js +34 -0
  415. package/lib/esm/server/index.d.ts +12 -0
  416. package/lib/esm/server/index.js +147 -0
  417. package/lib/esm/server/security/controller/auth.d.ts +76 -0
  418. package/lib/esm/server/security/controller/auth.js +341 -0
  419. package/lib/esm/server/security/index.d.ts +2 -0
  420. package/lib/esm/server/security/index.js +2 -0
  421. package/lib/esm/server/security/jwt/index.d.ts +23 -0
  422. package/lib/esm/server/security/jwt/index.js +103 -0
  423. package/lib/esm/server/security/middleware/autorization.d.ts +3 -0
  424. package/lib/esm/server/security/middleware/autorization.js +41 -0
  425. package/lib/esm/server/security/middleware/permission.d.ts +3 -0
  426. package/lib/esm/server/security/middleware/permission.js +133 -0
  427. package/lib/esm/server/security/models/crp.d.ts +8 -0
  428. package/lib/esm/server/security/models/crp.js +40 -0
  429. package/lib/esm/server/security/models/ke.d.ts +7 -0
  430. package/lib/esm/server/security/models/ke.js +36 -0
  431. package/lib/esm/server/security/models/rl.d.ts +9 -0
  432. package/lib/esm/server/security/models/rl.js +45 -0
  433. package/lib/esm/server/security/models/se.d.ts +11 -0
  434. package/lib/esm/server/security/models/se.js +52 -0
  435. package/lib/esm/server/security/models/usr.d.ts +14 -0
  436. package/lib/esm/server/security/models/usr.js +77 -0
  437. package/lib/esm/server/services/delete.d.ts +13 -0
  438. package/lib/esm/server/services/delete.js +44 -0
  439. package/lib/esm/server/services/get.d.ts +4 -0
  440. package/lib/esm/server/services/get.js +140 -0
  441. package/lib/esm/server/services/insert.d.ts +13 -0
  442. package/lib/esm/server/services/insert.js +69 -0
  443. package/lib/esm/server/services/update.d.ts +13 -0
  444. package/lib/esm/server/services/update.js +55 -0
  445. package/lib/esm/system/index.d.ts +13 -0
  446. package/lib/esm/system/index.js +197 -0
  447. package/package.json +95 -0
@@ -0,0 +1,1153 @@
1
+ import{b as ce,v as ge,R as Et,A as Ce,r as Ft,g as yn}from"./index-CtPqstFl.js";import{j as pi,k as wn,m as bn,n as Sn,p as Cn,q as Xt,t as $n,v as An,u as gi,w as ut,x as ft,y as et,z as vi,s as Pe,A as Wt,P as Mn,D as Ln,B as En}from"./playground-Hl52p9f5.js";import{g as xn}from"./listItemIconClasses-39Itzgzt.js";import{a as _n}from"./List-juBjUmfP.js";import{d as Tn,u as kn,m as Rn}from"./mergeSlotProps-DptgQgAT.js";import{o as mi,M as In}from"./Modal-BwXR_5Bh.js";var xt={exports:{}},_t,Jt;function Dn(){if(Jt)return _t;Jt=1;var Y="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return _t=Y,_t}var Tt,qt;function On(){if(qt)return Tt;qt=1;var Y=Dn();function P(){}function _(){}return _.resetWarningCache=P,Tt=function(){function M(d,p,a,l,r,n){if(n!==Y){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}M.isRequired=M;function F(){return M}var m={array:M,bigint:M,bool:M,func:M,number:M,object:M,string:M,symbol:M,any:M,arrayOf:F,element:M,elementType:M,instanceOf:F,node:M,objectOf:F,oneOf:F,oneOfType:F,shape:F,exact:F,checkPropTypes:_,resetWarningCache:P};return m.PropTypes=m,m},Tt}var ei;function Pt(){return ei||(ei=1,xt.exports=On()()),xt.exports}function Nn(Y,P,_){const M=P.getBoundingClientRect(),F=_&&_.getBoundingClientRect(),m=mi(P);let d;if(P.fakeTransform)d=P.fakeTransform;else{const l=m.getComputedStyle(P);d=l.getPropertyValue("-webkit-transform")||l.getPropertyValue("transform")}let p=0,a=0;if(d&&d!=="none"&&typeof d=="string"){const l=d.split("(")[1].split(")")[0].split(",");p=parseInt(l[4],10),a=parseInt(l[5],10)}return Y==="left"?F?`translateX(${F.right+p-M.left}px)`:`translateX(${m.innerWidth+p-M.left}px)`:Y==="right"?F?`translateX(-${M.right-F.left-p}px)`:`translateX(-${M.left+M.width-p}px)`:Y==="up"?F?`translateY(${F.bottom+a-M.top}px)`:`translateY(${m.innerHeight+a-M.top}px)`:F?`translateY(-${M.top-F.top+M.height-a}px)`:`translateY(-${M.top+M.height-a}px)`}function Fn(Y){return typeof Y=="function"?Y():Y}function dt(Y,P,_){const M=Fn(_),F=Nn(Y,P,M);F&&(P.style.webkitTransform=F,P.style.transform=F)}const Wn=ce.forwardRef(function(P,_){const M=pi(),F={enter:M.transitions.easing.easeOut,exit:M.transitions.easing.sharp},m={enter:M.transitions.duration.enteringScreen,exit:M.transitions.duration.leavingScreen},{addEndListener:d,appear:p=!0,children:a,container:l,direction:r="down",easing:n=F,in:i,onEnter:t,onEntered:e,onEntering:o,onExit:s,onExited:h,onExiting:c,style:w,timeout:y=m,TransitionComponent:v=wn,...f}=P,$=ce.useRef(null),E=bn(Sn(a),$,_),A=T=>k=>{T&&(k===void 0?T($.current):T($.current,k))},L=A((T,k)=>{dt(r,T,l),Cn(T),t&&t(T,k)}),R=A((T,k)=>{const I=Xt({timeout:y,style:w,easing:n},{mode:"enter"});T.style.webkitTransition=M.transitions.create("-webkit-transform",{...I}),T.style.transition=M.transitions.create("transform",{...I}),T.style.webkitTransform="none",T.style.transform="none",o&&o(T,k)}),C=A(e),b=A(c),g=A(T=>{const k=Xt({timeout:y,style:w,easing:n},{mode:"exit"});T.style.webkitTransition=M.transitions.create("-webkit-transform",k),T.style.transition=M.transitions.create("transform",k),dt(r,T,l),s&&s(T)}),u=A(T=>{T.style.webkitTransition="",T.style.transition="",h&&h(T)}),S=T=>{d&&d($.current,T)},x=ce.useCallback(()=>{$.current&&dt(r,$.current,l)},[r,l]);return ce.useEffect(()=>{if(i||r==="down"||r==="right")return;const T=Tn(()=>{$.current&&dt(r,$.current,l)}),k=mi($.current);return k.addEventListener("resize",T),()=>{T.clear(),k.removeEventListener("resize",T)}},[r,i,l]),ce.useEffect(()=>{i||x()},[i,x]),ge.jsx(v,{nodeRef:$,onEnter:L,onEntered:C,onEntering:R,onExit:g,onExited:u,onExiting:b,addEndListener:S,appear:p,in:i,timeout:y,...f,children:(T,{ownerState:k,...I})=>ce.cloneElement(a,{ref:E,style:{visibility:T==="exited"&&!i?"hidden":void 0,...w,...a.props.style},...I})})});function Pn(Y){return $n("MuiDrawer",Y)}An("MuiDrawer",["root","docked","paper","anchorLeft","anchorRight","anchorTop","anchorBottom","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const yi=(Y,P)=>{const{ownerState:_}=Y;return[P.root,(_.variant==="permanent"||_.variant==="persistent")&&P.docked,_.variant==="temporary"&&P.modal]},Bn=Y=>{const{classes:P,anchor:_,variant:M}=Y,F={root:["root",`anchor${et(_)}`],docked:[(M==="permanent"||M==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${et(_)}`,M!=="temporary"&&`paperAnchorDocked${et(_)}`]};return vi(F,Pn,P)},Hn=Pe(In,{name:"MuiDrawer",slot:"Root",overridesResolver:yi})(Wt(({theme:Y})=>({zIndex:(Y.vars||Y).zIndex.drawer}))),zn=Pe("div",{shouldForwardProp:Ln,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:yi})({flex:"0 0 auto"}),Un=Pe(Mn,{name:"MuiDrawer",slot:"Paper",overridesResolver:(Y,P)=>{const{ownerState:_}=Y;return[P.paper,P[`paperAnchor${et(_.anchor)}`],_.variant!=="temporary"&&P[`paperAnchorDocked${et(_.anchor)}`]]}})(Wt(({theme:Y})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(Y.vars||Y).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:P})=>P.anchor==="left"&&P.variant!=="temporary",style:{borderRight:`1px solid ${(Y.vars||Y).palette.divider}`}},{props:({ownerState:P})=>P.anchor==="top"&&P.variant!=="temporary",style:{borderBottom:`1px solid ${(Y.vars||Y).palette.divider}`}},{props:({ownerState:P})=>P.anchor==="right"&&P.variant!=="temporary",style:{borderLeft:`1px solid ${(Y.vars||Y).palette.divider}`}},{props:({ownerState:P})=>P.anchor==="bottom"&&P.variant!=="temporary",style:{borderTop:`1px solid ${(Y.vars||Y).palette.divider}`}}]}))),wi={left:"right",right:"left",top:"down",bottom:"up"};function jn(Y){return["left","right"].includes(Y)}function Vn({direction:Y},P){return Y==="rtl"&&jn(P)?wi[P]:P}const Gn=ce.forwardRef(function(P,_){const M=gi({props:P,name:"MuiDrawer"}),F=pi(),m=kn(),d={enter:F.transitions.duration.enteringScreen,exit:F.transitions.duration.leavingScreen},{anchor:p="left",BackdropProps:a,children:l,className:r,elevation:n=16,hideBackdrop:i=!1,ModalProps:{BackdropProps:t,...e}={},onClose:o,open:s=!1,PaperProps:h={},SlideProps:c,TransitionComponent:w,transitionDuration:y=d,variant:v="temporary",slots:f={},slotProps:$={},...E}=M,A=ce.useRef(!1);ce.useEffect(()=>{A.current=!0},[]);const L=Vn({direction:m?"rtl":"ltr"},p),C={...M,anchor:p,elevation:n,open:s,variant:v,...E},b=Bn(C),g={slots:{transition:w,...f},slotProps:{paper:h,transition:c,...$,backdrop:Rn($.backdrop||{...a,...t},{transitionDuration:y})}},[u,S]=ut("root",{ref:_,elementType:Hn,className:ft(b.root,b.modal,r),shouldForwardComponentProp:!0,ownerState:C,externalForwardedProps:{...g,...E,...e},additionalProps:{open:s,onClose:o,hideBackdrop:i,slots:{backdrop:g.slots.backdrop},slotProps:{backdrop:g.slotProps.backdrop}}}),[x,T]=ut("paper",{elementType:Un,shouldForwardComponentProp:!0,className:ft(b.paper,h.className),ownerState:C,externalForwardedProps:g,additionalProps:{elevation:v==="temporary"?n:0,square:!0,...v==="temporary"&&{role:"dialog","aria-modal":"true"}}}),[k,I]=ut("docked",{elementType:zn,ref:_,className:ft(b.root,b.docked,r),ownerState:C,externalForwardedProps:g,additionalProps:E}),[O,z]=ut("transition",{elementType:Wn,ownerState:C,externalForwardedProps:g,additionalProps:{in:s,direction:wi[L],timeout:y,appear:A.current}}),N=ge.jsx(x,{...T,children:l});if(v==="permanent")return ge.jsx(k,{...I,children:N});const B=ge.jsx(O,{...z,children:N});return v==="persistent"?ge.jsx(k,{...I,children:B}):ge.jsx(u,{...S,children:B})}),Kn=Y=>{const{alignItems:P,classes:_}=Y;return vi({root:["root",P==="flex-start"&&"alignItemsFlexStart"]},xn,_)},Yn=Pe("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(Y,P)=>{const{ownerState:_}=Y;return[P.root,_.alignItems==="flex-start"&&P.alignItemsFlexStart]}})(Wt(({theme:Y})=>({minWidth:56,color:(Y.vars||Y).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),dr=ce.forwardRef(function(P,_){const M=gi({props:P,name:"MuiListItemIcon"}),{className:F,...m}=M,d=ce.useContext(_n),p={...M,alignItems:d.alignItems},a=Kn(p);return ge.jsx(Yn,{className:ft(a.root,F),ownerState:p,ref:_,...m})}),fr=Pe(Gn)(({open:Y})=>({".MuiDrawer-paper":{padding:"0",...Y&&{width:"200px"}},".MuiListItemText-root":{display:Y?"block":"none",margin:0},".MuiListItemIcon-root":{minWidth:Y?"35px":"0px",display:"flex",justifyContent:"center"},".MuiListItemButton-root":{justifyContent:Y?"flex-start":"center",padding:"12px 16px",width:"100%"}})),Qn=Pe(En)(({theme:Y})=>({display:"flex",width:"100%",height:"100%",overflow:"hidden","& > div":{width:"50%"}})),Zn=Pe("div")(({theme:Y})=>({zIndex:999,width:"2px !important",cursor:"e-resize",transition:"box-shadow 0.2s ease, border-color 0.2s ease","&:active, &:hover":{backgroundColor:Y.palette.primary.main,boxShadow:Y.palette.primary.light}})),ti=ce.forwardRef(({children:Y,...P},_)=>ge.jsx(ge.Fragment,{children:Et.Children.map(Y,M=>{if(Et.isValidElement(M)){const F=M.props;return Et.cloneElement(M,{...F,...P,ref:_})}return M})})),pr=({children:Y})=>{const[P,_]=ce.useState(null),[M,F]=ce.useState(null),m=ce.useRef(null),d=ce.useRef(null),p=ce.useRef(null),a=ce.useRef(null);return ce.useEffect(()=>{if(Array.isArray(Y)){const[l,r]=Y;_(l),F(r)}}),ce.useEffect(()=>{let l=!1,r=0,n=0;const i=s=>{if(!p.current)return null;l=!0,r=s.clientX,n=p.current.offsetWidth,document.body.style.userSelect="none"},t=s=>{if(!l||!d.current||!p.current||!a.current)return null;const h=s.clientX-r;p.current.style.width=n+h+"px",a.current.style.width=d.current.offsetWidth-(n+h)+"px"},e=()=>{l=!1,document.body.style.userSelect=""},o=m.current;return o&&o.addEventListener("mousedown",i),window.addEventListener("mousemove",t),window.addEventListener("mouseup",e),()=>{o&&o.removeEventListener("mousedown",i),window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",e)}},[m]),ge.jsxs(Qn,{ref:d,children:[ge.jsx(ti,{ref:p,children:P}),ge.jsx(Zn,{ref:m}),ge.jsx(ti,{ref:a,children:M})]})};var ke={},Re={},kt={exports:{}},ii;function pt(){return ii||(ii=1,(function(Y,P){(function(){var _="ace",M=(function(){return this})();!M&&typeof window<"u"&&(M=window);var F=function(r,n,i){if(typeof r!="string"){F.original?F.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(i=n),F.modules[r]||(F.payloads[r]=i,F.modules[r]=null)};F.modules={},F.payloads={};var m=function(r,n,i){if(typeof n=="string"){var t=a(r,n);if(t!=null)return i&&i(),t}else if(Object.prototype.toString.call(n)==="[object Array]"){for(var e=[],o=0,s=n.length;o<s;++o){var h=a(r,n[o]);if(h==null&&d.original)return;e.push(h)}return i&&i.apply(null,e)||!0}},d=function(r,n){var i=m("",r,n);return i==null&&d.original?d.original.apply(this,arguments):i},p=function(r,n){if(n.indexOf("!")!==-1){var i=n.split("!");return p(r,i[0])+"!"+p(r,i[1])}if(n.charAt(0)=="."){var t=r.split("/").slice(0,-1).join("/");for(n=t+"/"+n;n.indexOf(".")!==-1&&e!=n;){var e=n;n=n.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},a=function(r,n){n=p(r,n);var i=F.modules[n];if(!i){if(i=F.payloads[n],typeof i=="function"){var t={},e={id:n,uri:"",exports:t,packaged:!0},o=function(h,c){return m(n,h,c)},s=i(o,t,e);t=s||e.exports,F.modules[n]=t,delete F.payloads[n]}i=F.modules[n]=t||i}return i};function l(r){var n=M;M[r]||(M[r]={}),n=M[r],(!n.define||!n.define.packaged)&&(F.original=n.define,n.define=F,n.define.packaged=!0),(!n.require||!n.require.packaged)&&(d.original=n.require,n.require=d,n.require.packaged=!0)}l(_)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(_,M,F){function m(d,p,a){Object.defineProperty(d,p,{value:a,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||m(String.prototype,"startsWith",function(d,p){return p=p||0,this.lastIndexOf(d,p)===p}),String.prototype.endsWith||m(String.prototype,"endsWith",function(d,p){var a=this;(p===void 0||p>a.length)&&(p=a.length),p-=d.length;var l=a.indexOf(d,p);return l!==-1&&l===p}),String.prototype.repeat||m(String.prototype,"repeat",function(d){for(var p="",a=this;d>0;)d&1&&(p+=a),(d>>=1)&&(a+=a);return p}),String.prototype.includes||m(String.prototype,"includes",function(d,p){return this.indexOf(d,p)!=-1}),Object.assign||(Object.assign=function(d){if(d==null)throw new TypeError("Cannot convert undefined or null to object");for(var p=Object(d),a=1;a<arguments.length;a++){var l=arguments[a];l!=null&&Object.keys(l).forEach(function(r){p[r]=l[r]})}return p}),Object.values||(Object.values=function(d){return Object.keys(d).map(function(p){return d[p]})}),Array.prototype.find||m(Array.prototype,"find",function(d){for(var p=this.length,a=arguments[1],l=0;l<p;l++){var r=this[l];if(d.call(a,r,l,this))return r}}),Array.prototype.findIndex||m(Array.prototype,"findIndex",function(d){for(var p=this.length,a=arguments[1],l=0;l<p;l++){var r=this[l];if(d.call(a,r,l,this))return l}}),Array.prototype.includes||m(Array.prototype,"includes",function(d,p){return this.indexOf(d,p)!=-1}),Array.prototype.fill||m(Array.prototype,"fill",function(d){for(var p=this,a=p.length>>>0,l=arguments[1],r=l>>0,n=r<0?Math.max(a+r,0):Math.min(r,a),i=arguments[2],t=i===void 0?a:i>>0,e=t<0?Math.max(a+t,0):Math.min(t,a);n<e;)p[n]=d,n++;return p}),Array.of||m(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(_,M,F){_("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(_,M,F){M.deepCopy=function m(d){if(typeof d!="object"||!d)return d;var p;if(Array.isArray(d)){p=[];for(var a=0;a<d.length;a++)p[a]=m(d[a]);return p}if(Object.prototype.toString.call(d)!=="[object Object]")return d;p={};for(var a in d)p[a]=m(d[a]);return p}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(_,M,F){M.last=function(p){return p[p.length-1]},M.stringReverse=function(p){return p.split("").reverse().join("")},M.stringRepeat=function(p,a){for(var l="";a>0;)a&1&&(l+=p),(a>>=1)&&(p+=p);return l};var m=/^\s\s*/,d=/\s\s*$/;M.stringTrimLeft=function(p){return p.replace(m,"")},M.stringTrimRight=function(p){return p.replace(d,"")},M.copyObject=function(p){var a={};for(var l in p)a[l]=p[l];return a},M.copyArray=function(p){for(var a=[],l=0,r=p.length;l<r;l++)p[l]&&typeof p[l]=="object"?a[l]=this.copyObject(p[l]):a[l]=p[l];return a},M.deepCopy=_("./deep_copy").deepCopy,M.arrayToMap=function(p){for(var a={},l=0;l<p.length;l++)a[p[l]]=1;return a},M.createMap=function(p){var a=Object.create(null);for(var l in p)a[l]=p[l];return a},M.arrayRemove=function(p,a){for(var l=0;l<=p.length;l++)a===p[l]&&p.splice(l,1)},M.escapeRegExp=function(p){return p.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},M.escapeHTML=function(p){return(""+p).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},M.getMatchOffsets=function(p,a){var l=[];return p.replace(a,function(r){l.push({offset:arguments[arguments.length-2],length:r.length})}),l},M.deferredCall=function(p){var a=null,l=function(){a=null,p()},r=function(n){return r.cancel(),a=setTimeout(l,n||0),r};return r.schedule=r,r.call=function(){return this.cancel(),p(),r},r.cancel=function(){return clearTimeout(a),a=null,r},r.isPending=function(){return a},r},M.delayedCall=function(p,a){var l=null,r=function(){l=null,p()},n=function(i){l==null&&(l=setTimeout(r,i||a))};return n.delay=function(i){l&&clearTimeout(l),l=setTimeout(r,i||a)},n.schedule=n,n.call=function(){this.cancel(),p()},n.cancel=function(){l&&clearTimeout(l),l=null},n.isPending=function(){return l},n},M.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},M.skipEmptyMatch=function(p,a,l){return l&&p.codePointAt(a)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(_,M,F){M.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},M.getOS=function(){return M.isMac?M.OS.MAC:M.isLinux?M.OS.LINUX:M.OS.WINDOWS};var m=typeof navigator=="object"?navigator:{},d=(/mac|win|linux/i.exec(m.platform)||["other"])[0].toLowerCase(),p=m.userAgent||"",a=m.appName||"";M.isWin=d=="win",M.isMac=d=="mac",M.isLinux=d=="linux",M.isIE=a=="Microsoft Internet Explorer"||a.indexOf("MSAppHost")>=0?parseFloat((p.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((p.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),M.isOldIE=M.isIE&&M.isIE<9,M.isGecko=M.isMozilla=p.match(/ Gecko\/\d+/),M.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",M.isWebKit=parseFloat(p.split("WebKit/")[1])||void 0,M.isChrome=parseFloat(p.split(" Chrome/")[1])||void 0,M.isSafari=parseFloat(p.split(" Safari/")[1])&&!M.isChrome||void 0,M.isEdge=parseFloat(p.split(" Edge/")[1])||void 0,M.isAIR=p.indexOf("AdobeAIR")>=0,M.isAndroid=p.indexOf("Android")>=0,M.isChromeOS=p.indexOf(" CrOS ")>=0,M.isIOS=/iPad|iPhone|iPod/.test(p)&&!window.MSStream,M.isIOS&&(M.isMac=!0),M.isMobile=M.isIOS||M.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(_,M,F){var m=_("./useragent"),d="http://www.w3.org/1999/xhtml";M.buildDom=function i(t,e,o){if(typeof t=="string"&&t){var s=document.createTextNode(t);return e&&e.appendChild(s),s}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var h=[],c=0;c<t.length;c++){var w=i(t[c],e,o);w&&h.push(w)}return h}var y=document.createElement(t[0]),v=t[1],f=1;v&&typeof v=="object"&&!Array.isArray(v)&&(f=2);for(var c=f;c<t.length;c++)i(t[c],y,o);return f==2&&Object.keys(v).forEach(function($){var E=v[$];$==="class"?y.className=Array.isArray(E)?E.join(" "):E:typeof E=="function"||$=="value"||$[0]=="$"?y[$]=E:$==="ref"?o&&(o[E]=y):$==="style"?typeof E=="string"&&(y.style.cssText=E):E!=null&&y.setAttribute($,E)}),e&&e.appendChild(y),y},M.getDocumentHead=function(i){return i||(i=document),i.head||i.getElementsByTagName("head")[0]||i.documentElement},M.createElement=function(i,t){return document.createElementNS?document.createElementNS(t||d,i):document.createElement(i)},M.removeChildren=function(i){i.innerHTML=""},M.createTextNode=function(i,t){var e=t?t.ownerDocument:document;return e.createTextNode(i)},M.createFragment=function(i){var t=i?i.ownerDocument:document;return t.createDocumentFragment()},M.hasCssClass=function(i,t){var e=(i.className+"").split(/\s+/g);return e.indexOf(t)!==-1},M.addCssClass=function(i,t){M.hasCssClass(i,t)||(i.className+=" "+t)},M.removeCssClass=function(i,t){for(var e=i.className.split(/\s+/g);;){var o=e.indexOf(t);if(o==-1)break;e.splice(o,1)}i.className=e.join(" ")},M.toggleCssClass=function(i,t){for(var e=i.className.split(/\s+/g),o=!0;;){var s=e.indexOf(t);if(s==-1)break;o=!1,e.splice(s,1)}return o&&e.push(t),i.className=e.join(" "),o},M.setCssClass=function(i,t,e){e?M.addCssClass(i,t):M.removeCssClass(i,t)},M.hasCssString=function(i,t){var e=0,o;if(t=t||document,o=t.querySelectorAll("style")){for(;e<o.length;)if(o[e++].id===i)return!0}},M.removeElementById=function(i,t){t=t||document,t.getElementById(i)&&t.getElementById(i).remove()};var p,a=[];M.useStrictCSP=function(i){p=i,i==!1?l():a||(a=[])};function l(){var i=a;a=null,i&&i.forEach(function(t){r(t[0],t[1])})}function r(i,t,e){if(!(typeof document>"u")){if(a){if(e)l();else if(e===!1)return a.push([i,t])}if(!p){var o=e;!e||!e.getRootNode?o=document:(o=e.getRootNode(),(!o||o==e)&&(o=document));var s=o.ownerDocument||o;if(t&&M.hasCssString(t,o))return null;t&&(i+=`
2
+ /*# sourceURL=ace/css/`+t+" */");var h=M.createElement("style");h.appendChild(s.createTextNode(i)),t&&(h.id=t),o==s&&(o=M.getDocumentHead(s)),o.insertBefore(h,o.firstChild)}}}if(M.importCssString=r,M.importCssStylsheet=function(i,t){M.buildDom(["link",{rel:"stylesheet",href:i}],M.getDocumentHead(t))},M.$fixPositionBug=function(i){var t=i.getBoundingClientRect();if(i.style.left){var e=parseFloat(i.style.left),o=+t.left;Math.abs(e-o)>1&&(i.style.left=2*e-o+"px")}if(i.style.right){var e=parseFloat(i.style.right),o=window.innerWidth-t.right;Math.abs(e-o)>1&&(i.style.right=2*e-o+"px")}if(i.style.top){var e=parseFloat(i.style.top),o=+t.top;Math.abs(e-o)>1&&(i.style.top=2*e-o+"px")}if(i.style.bottom){var e=parseFloat(i.style.bottom),o=window.innerHeight-t.bottom;Math.abs(e-o)>1&&(i.style.bottom=2*e-o+"px")}},M.scrollbarWidth=function(i){var t=M.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=M.createElement("ace_outer"),o=e.style;o.position="absolute",o.left="-10000px",o.overflow="hidden",o.width="200px",o.minWidth="0px",o.height="150px",o.display="block",e.appendChild(t);var s=i&&i.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(e);var h=t.offsetWidth;o.overflow="scroll";var c=t.offsetWidth;return h===c&&(c=e.clientWidth),s.removeChild(e),h-c},M.computedStyle=function(i,t){return window.getComputedStyle(i,"")||{}},M.setStyle=function(i,t,e){i[t]!==e&&(i[t]=e)},M.HAS_CSS_ANIMATION=!1,M.HAS_CSS_TRANSFORMS=!1,M.HI_DPI=m.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,m.isChromeOS&&(M.HI_DPI=!1),typeof document<"u"){var n=document.createElement("div");M.HI_DPI&&n.style.transform!==void 0&&(M.HAS_CSS_TRANSFORMS=!0),!m.isEdge&&typeof n.style.animationName<"u"&&(M.HAS_CSS_ANIMATION=!0),n=null}M.HAS_CSS_TRANSFORMS?M.translate=function(i,t,e){i.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:M.translate=function(i,t,e){i.style.top=Math.round(e)+"px",i.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(_,M,F){var m=_("./dom");M.get=function(d,p){var a=new XMLHttpRequest;a.open("GET",d,!0),a.onreadystatechange=function(){a.readyState===4&&p(a.responseText)},a.send(null)},M.loadScript=function(d,p){var a=m.getDocumentHead(),l=document.createElement("script");l.src=d,a.appendChild(l),l.onload=l.onreadystatechange=function(r,n){(n||!l.readyState||l.readyState=="loaded"||l.readyState=="complete")&&(l=l.onload=l.onreadystatechange=null,n||p())}},M.qualifyURL=function(d){var p=document.createElement("a");return p.href=d,p.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(_,M,F){M.inherits=function(m,d){m.super_=d,m.prototype=Object.create(d.prototype,{constructor:{value:m,enumerable:!1,writable:!0,configurable:!0}})},M.mixin=function(m,d){for(var p in d)m[p]=d[p];return m},M.implement=function(m,d){M.mixin(m,d)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(_,M,F){var m={},d=function(){this.propagationStopped=!0},p=function(){this.defaultPrevented=!0};m._emit=m._dispatchEvent=function(a,l){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var r=this._eventRegistry[a]||[],n=this._defaultHandlers[a];if(!(!r.length&&!n)){(typeof l!="object"||!l)&&(l={}),l.type||(l.type=a),l.stopPropagation||(l.stopPropagation=d),l.preventDefault||(l.preventDefault=p),r=r.slice();for(var i=0;i<r.length&&(r[i](l,this),!l.propagationStopped);i++);if(n&&!l.defaultPrevented)return n(l,this)}},m._signal=function(a,l){var r=(this._eventRegistry||{})[a];if(r){r=r.slice();for(var n=0;n<r.length;n++)r[n](l,this)}},m.once=function(a,l){var r=this;if(this.on(a,function n(){r.off(a,n),l.apply(null,arguments)}),!l)return new Promise(function(n){l=n})},m.setDefaultHandler=function(a,l){var r=this._defaultHandlers;if(r||(r=this._defaultHandlers={_disabled_:{}}),r[a]){var n=r[a],i=r._disabled_[a];i||(r._disabled_[a]=i=[]),i.push(n);var t=i.indexOf(l);t!=-1&&i.splice(t,1)}r[a]=l},m.removeDefaultHandler=function(a,l){var r=this._defaultHandlers;if(r){var n=r._disabled_[a];if(r[a]==l)n&&this.setDefaultHandler(a,n.pop());else if(n){var i=n.indexOf(l);i!=-1&&n.splice(i,1)}}},m.on=m.addEventListener=function(a,l,r){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[a];return n||(n=this._eventRegistry[a]=[]),n.indexOf(l)==-1&&n[r?"unshift":"push"](l),l},m.off=m.removeListener=m.removeEventListener=function(a,l){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[a];if(r){var n=r.indexOf(l);n!==-1&&r.splice(n,1)}},m.removeAllListeners=function(a){a||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[a]=void 0),this._defaultHandlers&&(this._defaultHandlers[a]=void 0)},M.EventEmitter=m}),ace.define("ace/lib/report_error",["require","exports","module"],function(_,M,F){M.reportError=function(d,p){var a=new Error(d);a.data=p,typeof console=="object"&&console.error&&console.error(a),setTimeout(function(){throw a})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(_,M,F){var m={"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"};M.defaultEnglishMessages=m}),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(_,M,F){"no use strict";var m=_("./oop"),d=_("./event_emitter").EventEmitter,p=_("./report_error").reportError,a=_("./default_english_messages").defaultEnglishMessages,l={setOptions:function(e){Object.keys(e).forEach(function(o){this.setOption(o,e[o])},this)},getOptions:function(e){var o={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var s=this.$options;e=Object.keys(s).filter(function(h){return!s[h].hidden})}return e.forEach(function(h){o[h]=this.getOption(h)},this),o},setOption:function(e,o){if(this["$"+e]!==o){var s=this.$options[e];if(!s)return r('misspelled option "'+e+'"');if(s.forwardTo)return this[s.forwardTo]&&this[s.forwardTo].setOption(e,o);s.handlesSet||(this["$"+e]=o),s&&s.set&&s.set.call(this,o)}},getOption:function(e){var o=this.$options[e];return o?o.forwardTo?this[o.forwardTo]&&this[o.forwardTo].getOption(e):o&&o.get?o.get.call(this):this["$"+e]:r('misspelled option "'+e+'"')}};function r(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var n,i,t=(function(){function e(){this.$defaultOptions={},n=a,i="dollarSigns"}return e.prototype.defineOptions=function(o,s,h){return o.$options||(this.$defaultOptions[s]=o.$options={}),Object.keys(h).forEach(function(c){var w=h[c];typeof w=="string"&&(w={forwardTo:w}),w.name||(w.name=c),o.$options[w.name]=w,"initialValue"in w&&(o["$"+w.name]=w.initialValue)}),m.implement(o,l),this},e.prototype.resetOptions=function(o){Object.keys(o.$options).forEach(function(s){var h=o.$options[s];"value"in h&&o.setOption(s,h.value)})},e.prototype.setDefaultValue=function(o,s,h){if(!o){for(o in this.$defaultOptions)if(this.$defaultOptions[o][s])break;if(!this.$defaultOptions[o][s])return!1}var c=this.$defaultOptions[o]||(this.$defaultOptions[o]={});c[s]&&(c.forwardTo?this.setDefaultValue(c.forwardTo,s,h):c[s].value=h)},e.prototype.setDefaultValues=function(o,s){Object.keys(s).forEach(function(h){this.setDefaultValue(o,h,s[h])},this)},e.prototype.setMessages=function(o,s){n=o,s&&s.placeholders&&(i=s.placeholders)},e.prototype.nls=function(o,s,h){n[o]||(r("No message found for the key '"+o+"' in messages with id "+n.$id+", trying to find a translation for the default string '"+s+"'."),n[s]||r("No message found for the default string '"+s+"' in the provided messages. Falling back to the default English message."));var c=n[o]||n[s]||s;return h&&(i==="dollarSigns"&&(c=c.replace(/\$(\$|[\d]+)/g,function(w,y){return y=="$"?"$":h[y]})),i==="curlyBrackets"&&(c=c.replace(/\{([^\}]+)\}/g,function(w,y){return h[y]}))),c},e})();t.prototype.warn=r,t.prototype.reportError=p,m.implement(t.prototype,d),M.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(_,M,F){F.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(_,M,F){M.isDark=!1,M.cssClass="ace-tm",M.cssText=_("./textmate-css"),M.$id="ace/theme/textmate";var m=_("../lib/dom");m.importCssString(M.cssText,M.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(_,M,F){"no use strict";var m=_("./lib/lang"),d=_("./lib/net"),p=_("./lib/dom"),a=_("./lib/app_config").AppConfig;F.exports=M=new a;var l={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};M.get=function(t){if(!l.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return l[t]},M.set=function(t,e){if(l.hasOwnProperty(t))l[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&p.useStrictCSP(e)},M.all=function(){return m.copyObject(l)},M.$modes={},M.moduleUrl=function(t,e){if(l.$moduleUrls[t])return l.$moduleUrls[t];var o=t.split("/");e=e||o[o.length-2]||"";var s=e=="snippets"?"/":"-",h=o[o.length-1];if(e=="worker"&&s=="-"){var c=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");h=h.replace(c,"")}(!h||h==e)&&o.length>1&&(h=o[o.length-2]);var w=l[e+"Path"];return w==null?w=l.basePath:s=="/"&&(e=s=""),w&&w.slice(-1)!="/"&&(w+="/"),w+e+s+h+this.get("suffix")},M.setModuleUrl=function(t,e){return l.$moduleUrls[t]=e};var r=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,_("./theme/textmate"));if(n)return n(t,e);console.error("loader is not configured")},n;M.setLoader=function(t){n=t},M.dynamicModules=Object.create(null),M.$loading={},M.$loaded={},M.loadModule=function(t,e){var o;if(Array.isArray(t))var s=t[0],h=t[1];else if(typeof t=="string")var h=t;var c=function(w){if(w&&!M.$loading[h])return e&&e(w);if(M.$loading[h]||(M.$loading[h]=[]),M.$loading[h].push(e),!(M.$loading[h].length>1)){var y=function(){r(h,function(v,f){f&&(M.$loaded[h]=f),M._emit("load.module",{name:h,module:f});var $=M.$loading[h];M.$loading[h]=null,$.forEach(function(E){E&&E(f)})})};if(!M.get("packaged"))return y();d.loadScript(M.moduleUrl(h,s),y),i()}};if(M.dynamicModules[h])M.dynamicModules[h]().then(function(w){w.default?c(w.default):c(w)});else{try{o=this.$require(h)}catch{}c(o||M.$loaded[h])}},M.$require=function(t){if(typeof F.require=="function"){var e="require";return F[e](t)}},M.setModuleLoader=function(t,e){M.dynamicModules[t]=e};var i=function(){!l.basePath&&!l.workerPath&&!l.modePath&&!l.themePath&&!Object.keys(l.$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"),i=function(){})};M.version="1.43.6"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(_,M,F){_("./lib/fixoldbrowsers");var m=_("./config");m.setLoader(function(l,r){_([l],function(n){r(null,n)})});var d=(function(){return this||typeof window<"u"&&window})();F.exports=function(l){m.init=p,m.$require=_,l.require=_},p(!0);function p(l){if(!(!d||!d.document)){m.set("packaged",l||_.packaged||F.packaged||d.define&&(void 0).packaged);var r={},n="",i=document.currentScript||document._currentScript,t=i&&i.ownerDocument||document;i&&i.src&&(n=i.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),o=0;o<e.length;o++){var s=e[o],h=s.src||s.getAttribute("src");if(h){for(var c=s.attributes,w=0,y=c.length;w<y;w++){var v=c[w];v.name.indexOf("data-ace-")===0&&(r[a(v.name.replace(/^data-ace-/,""))]=v.value)}var f=h.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);f&&(n=f[1])}}n&&(r.base=r.base||n,r.packaged=!0),r.basePath=r.base,r.workerPath=r.workerPath||r.base,r.modePath=r.modePath||r.base,r.themePath=r.themePath||r.base,delete r.base;for(var $ in r)typeof r[$]<"u"&&m.set($,r[$])}}function a(l){return l.replace(/-(.)/g,function(r,n){return n.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(_,M,F){var m=(function(){function d(p,a,l,r){this.start={row:p,column:a},this.end={row:l,column:r}}return d.prototype.isEqual=function(p){return this.start.row===p.start.row&&this.end.row===p.end.row&&this.start.column===p.start.column&&this.end.column===p.end.column},d.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},d.prototype.contains=function(p,a){return this.compare(p,a)==0},d.prototype.compareRange=function(p){var a,l=p.end,r=p.start;return a=this.compare(l.row,l.column),a==1?(a=this.compare(r.row,r.column),a==1?2:a==0?1:0):a==-1?-2:(a=this.compare(r.row,r.column),a==-1?-1:a==1?42:0)},d.prototype.comparePoint=function(p){return this.compare(p.row,p.column)},d.prototype.containsRange=function(p){return this.comparePoint(p.start)==0&&this.comparePoint(p.end)==0},d.prototype.intersects=function(p){var a=this.compareRange(p);return a==-1||a==0||a==1},d.prototype.isEnd=function(p,a){return this.end.row==p&&this.end.column==a},d.prototype.isStart=function(p,a){return this.start.row==p&&this.start.column==a},d.prototype.setStart=function(p,a){typeof p=="object"?(this.start.column=p.column,this.start.row=p.row):(this.start.row=p,this.start.column=a)},d.prototype.setEnd=function(p,a){typeof p=="object"?(this.end.column=p.column,this.end.row=p.row):(this.end.row=p,this.end.column=a)},d.prototype.inside=function(p,a){return this.compare(p,a)==0?!(this.isEnd(p,a)||this.isStart(p,a)):!1},d.prototype.insideStart=function(p,a){return this.compare(p,a)==0?!this.isEnd(p,a):!1},d.prototype.insideEnd=function(p,a){return this.compare(p,a)==0?!this.isStart(p,a):!1},d.prototype.compare=function(p,a){return!this.isMultiLine()&&p===this.start.row?a<this.start.column?-1:a>this.end.column?1:0:p<this.start.row?-1:p>this.end.row?1:this.start.row===p?a>=this.start.column?0:-1:this.end.row===p?a<=this.end.column?0:1:0},d.prototype.compareStart=function(p,a){return this.start.row==p&&this.start.column==a?-1:this.compare(p,a)},d.prototype.compareEnd=function(p,a){return this.end.row==p&&this.end.column==a?1:this.compare(p,a)},d.prototype.compareInside=function(p,a){return this.end.row==p&&this.end.column==a?1:this.start.row==p&&this.start.column==a?-1:this.compare(p,a)},d.prototype.clipRows=function(p,a){if(this.end.row>a)var l={row:a+1,column:0};else if(this.end.row<p)var l={row:p,column:0};if(this.start.row>a)var r={row:a+1,column:0};else if(this.start.row<p)var r={row:p,column:0};return d.fromPoints(r||this.start,l||this.end)},d.prototype.extend=function(p,a){var l=this.compare(p,a);if(l==0)return this;if(l==-1)var r={row:p,column:a};else var n={row:p,column:a};return d.fromPoints(r||this.start,n||this.end)},d.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},d.prototype.isMultiLine=function(){return this.start.row!==this.end.row},d.prototype.clone=function(){return d.fromPoints(this.start,this.end)},d.prototype.collapseRows=function(){return this.end.column==0?new d(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new d(this.start.row,0,this.end.row,0)},d.prototype.toScreenRange=function(p){var a=p.documentToScreenPosition(this.start),l=p.documentToScreenPosition(this.end);return new d(a.row,a.column,l.row,l.column)},d.prototype.moveBy=function(p,a){this.start.row+=p,this.start.column+=a,this.end.row+=p,this.end.column+=a},d})();m.fromPoints=function(d,p){return new m(d.row,d.column,p.row,p.column)},m.comparePoints=function(d,p){return d.row-p.row||d.column-p.column},M.Range=m}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(_,M,F){for(var m=_("./oop"),d={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:"*"}},p={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},a=0;a<10;a++)p["Digit"+a]=48+a,p["Numpad"+a]=96+a,d.PRINTABLE_KEYS[48+a]=""+a,d.FUNCTION_KEYS[96+a]="Numpad"+a;for(var a=65;a<91;a++){var l=String.fromCharCode(a+32);p["Key"+l.toUpperCase()]=a,d.PRINTABLE_KEYS[a]=l}for(var a=1;a<13;a++)p["F"+a]=111+a,d.FUNCTION_KEYS[111+a]="F"+a;var r={Shift:16,Control:17,Alt:18,Meta:224};for(var n in r)p[n]=p[n+"Left"]=p[n+"Right"]=r[n];M.$codeToKeyCode=p,d.PRINTABLE_KEYS[173]="-";for(var i in d.FUNCTION_KEYS){var t=d.FUNCTION_KEYS[i].toLowerCase();d[t]=parseInt(i,10)}for(var i in d.PRINTABLE_KEYS){var t=d.PRINTABLE_KEYS[i].toLowerCase();d[t]=parseInt(i,10)}m.mixin(d,d.MODIFIER_KEYS),m.mixin(d,d.PRINTABLE_KEYS),m.mixin(d,d.FUNCTION_KEYS),d.enter=d.return,d.escape=d.esc,d.del=d.delete,(function(){for(var e=["cmd","ctrl","alt","shift"],o=Math.pow(2,e.length);o--;)d.KEY_MODS[o]=e.filter(function(s){return o&d.KEY_MODS[s]}).join("-")+"-"})(),d.KEY_MODS[0]="",d.KEY_MODS[-1]="input-",m.mixin(M,d),M.default=M,M.keyCodeToString=function(e){var o=d[e];return typeof o!="string"&&(o=String.fromCharCode(e)),o.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(_,M,F){var m=_("./keys"),d=_("./useragent"),p=null,a=0,l;function r(){l=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return l={passive:!1},!0}})}catch{}}function n(){return l==null&&r(),l}function i(w,y,v){this.elem=w,this.type=y,this.callback=v}i.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=M.addListener=function(w,y,v,f){w.addEventListener(y,v,n()),f&&f.$toDestroy.push(new i(w,y,v))},e=M.removeListener=function(w,y,v){w.removeEventListener(y,v,n())};M.stopEvent=function(w){return M.stopPropagation(w),M.preventDefault(w),!1},M.stopPropagation=function(w){w.stopPropagation&&w.stopPropagation()},M.preventDefault=function(w){w.preventDefault&&w.preventDefault()},M.getButton=function(w){return w.type=="dblclick"?0:w.type=="contextmenu"||d.isMac&&w.ctrlKey&&!w.altKey&&!w.shiftKey?2:w.button},M.capture=function(w,y,v){var f=w&&w.ownerDocument||document;function $(E){y&&y(E),v&&v(E),e(f,"mousemove",y),e(f,"mouseup",$),e(f,"dragstart",$)}return t(f,"mousemove",y),t(f,"mouseup",$),t(f,"dragstart",$),$},M.addMouseWheelListener=function(w,y,v){t(w,"wheel",function(f){var $=.15,E=f.deltaX||0,A=f.deltaY||0;switch(f.deltaMode){case f.DOM_DELTA_PIXEL:f.wheelX=E*$,f.wheelY=A*$;break;case f.DOM_DELTA_LINE:var L=15;f.wheelX=E*L,f.wheelY=A*L;break;case f.DOM_DELTA_PAGE:var R=150;f.wheelX=E*R,f.wheelY=A*R;break}y(f)},v)},M.addMultiMouseDownListener=function(w,y,v,f,$){var E=0,A,L,R,C={2:"dblclick",3:"tripleclick",4:"quadclick"};function b(g){if(M.getButton(g)!==0?E=0:g.detail>1?(E++,E>4&&(E=1)):E=1,d.isIE){var u=Math.abs(g.clientX-A)>5||Math.abs(g.clientY-L)>5;(!R||u)&&(E=1),R&&clearTimeout(R),R=setTimeout(function(){R=null},y[E-1]||600),E==1&&(A=g.clientX,L=g.clientY)}if(g._clicks=E,v[f]("mousedown",g),E>4)E=0;else if(E>1)return v[f](C[E],g)}Array.isArray(w)||(w=[w]),w.forEach(function(g){t(g,"mousedown",b,$)})};function o(w){return 0|(w.ctrlKey?1:0)|(w.altKey?2:0)|(w.shiftKey?4:0)|(w.metaKey?8:0)}M.getModifierString=function(w){return m.KEY_MODS[o(w)]};function s(w,y,v){var f=o(y);if(!v&&y.code&&(v=m.$codeToKeyCode[y.code]||v),!d.isMac&&p){if(y.getModifierState&&(y.getModifierState("OS")||y.getModifierState("Win"))&&(f|=8),p.altGr)if((3&f)!=3)p.altGr=0;else return;if(v===18||v===17){var $=y.location;if(v===17&&$===1)p[v]==1&&(a=y.timeStamp);else if(v===18&&f===3&&$===2){var E=y.timeStamp-a;E<50&&(p.altGr=!0)}}}if(v in m.MODIFIER_KEYS&&(v=-1),!(!f&&v===13&&y.location===3&&(w(y,f,-v),y.defaultPrevented))){if(d.isChromeOS&&f&8){if(w(y,f,v),y.defaultPrevented)return;f&=-9}return!f&&!(v in m.FUNCTION_KEYS)&&!(v in m.PRINTABLE_KEYS)?!1:w(y,f,v)}}M.addCommandKeyListener=function(w,y,v){var f=null;t(w,"keydown",function($){p[$.keyCode]=(p[$.keyCode]||0)+1;var E=s(y,$,$.keyCode);return f=$.defaultPrevented,E},v),t(w,"keypress",function($){f&&($.ctrlKey||$.altKey||$.shiftKey||$.metaKey)&&(M.stopEvent($),f=null)},v),t(w,"keyup",function($){p[$.keyCode]=null},v),p||(h(),t(window,"focus",h))};function h(){p=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!d.isOldIE){var c=1;M.nextTick=function(w,y){y=y||window;var v="zero-timeout-message-"+c++,f=function($){$.data==v&&(M.stopPropagation($),e(y,"message",f),w())};t(y,"message",f),y.postMessage(v,"*")}}M.$idleBlocked=!1,M.onIdle=function(w,y){return setTimeout(function v(){M.$idleBlocked?setTimeout(v,100):w()},y)},M.$idleBlockId=null,M.blockIdle=function(w){M.$idleBlockId&&clearTimeout(M.$idleBlockId),M.$idleBlocked=!0,M.$idleBlockId=setTimeout(function(){M.$idleBlocked=!1},w||100)},M.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),M.nextFrame?M.nextFrame=M.nextFrame.bind(window):M.nextFrame=function(w){setTimeout(w,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(_,M,F){var m;F.exports={lineMode:!1,pasteCancelled:function(){return m&&m>Date.now()-50?!0:m=!1},cancel:function(){m=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(_,M,F){var m=_("../lib/event"),d=_("../config").nls,p=_("../lib/useragent"),a=_("../lib/dom"),l=_("../lib/lang"),r=_("../clipboard"),n=p.isChrome<18,i=p.isIE,t=p.isChrome>63,e=400,o=_("../lib/keys"),s=o.KEY_MODS,h=p.isIOS,c=h?/\s/:/\n/,w=p.isMobile,y=(function(){function v(f,$){var E=this;this.host=$,this.text=a.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",f.insertBefore(this.text,f.firstChild),this.copied=!1,this.pasted=!1,this.inComposition=!1,this.sendingText=!1,this.tempStyle="",w||(this.text.style.fontSize="1px"),this.commandMode=!1,this.ignoreFocusEvents=!1,this.lastValue="",this.lastSelectionStart=0,this.lastSelectionEnd=0,this.lastRestoreEnd=0,this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,this.numberOfExtraLines=0;try{this.$isFocused=document.activeElement===this.text}catch{}this.cancelComposition=this.cancelComposition.bind(this),this.setAriaOptions({role:"textbox"}),m.addListener(this.text,"blur",function(A){E.ignoreFocusEvents||($.onBlur(A),E.$isFocused=!1)},$),m.addListener(this.text,"focus",function(A){if(!E.ignoreFocusEvents){if(E.$isFocused=!0,p.isEdge)try{if(!document.hasFocus())return}catch{}$.onFocus(A),p.isEdge?setTimeout(E.resetSelection.bind(E)):E.resetSelection()}},$),this.$focusScroll=!1,$.on("beforeEndOperation",function(){var A=$.curOp,L=A&&A.command&&A.command.name;if(L!="insertstring"){var R=L&&(A.docChanged||A.selectionChanged);E.inComposition&&R&&(E.lastValue=E.text.value="",E.onCompositionEnd()),E.resetSelection()}}),$.on("changeSelection",this.setAriaLabel.bind(this)),this.resetSelection=h?this.$resetSelectionIOS:this.$resetSelection,this.$isFocused&&$.onFocus(),this.inputHandler=null,this.afterContextMenu=!1,m.addCommandKeyListener(this.text,function(A,L,R){if(!E.inComposition)return $.onCommandKey(A,L,R)},$),m.addListener(this.text,"select",this.onSelect.bind(this),$),m.addListener(this.text,"input",this.onInput.bind(this),$),m.addListener(this.text,"cut",this.onCut.bind(this),$),m.addListener(this.text,"copy",this.onCopy.bind(this),$),m.addListener(this.text,"paste",this.onPaste.bind(this),$),(!("oncut"in this.text)||!("oncopy"in this.text)||!("onpaste"in this.text))&&m.addListener(f,"keydown",function(A){if(!(p.isMac&&!A.metaKey||!A.ctrlKey))switch(A.keyCode){case 67:E.onCopy(A);break;case 86:E.onPaste(A);break;case 88:E.onCut(A);break}},$),this.syncComposition=l.delayedCall(this.onCompositionUpdate.bind(this),50).schedule.bind(null,null),m.addListener(this.text,"compositionstart",this.onCompositionStart.bind(this),$),m.addListener(this.text,"compositionupdate",this.onCompositionUpdate.bind(this),$),m.addListener(this.text,"keyup",this.onKeyup.bind(this),$),m.addListener(this.text,"keydown",this.syncComposition.bind(this),$),m.addListener(this.text,"compositionend",this.onCompositionEnd.bind(this),$),this.closeTimeout,m.addListener(this.text,"mouseup",this.$onContextMenu.bind(this),$),m.addListener(this.text,"mousedown",function(A){A.preventDefault(),E.onContextMenuClose()},$),m.addListener($.renderer.scroller,"contextmenu",this.$onContextMenu.bind(this),$),m.addListener(this.text,"contextmenu",this.$onContextMenu.bind(this),$),h&&this.addIosSelectionHandler(f,$,this.text)}return v.prototype.addIosSelectionHandler=function(f,$,E){var A=this,L=null,R=!1;E.addEventListener("keydown",function(b){L&&clearTimeout(L),R=!0},!0),E.addEventListener("keyup",function(b){L=setTimeout(function(){R=!1},100)},!0);var C=function(b){if(document.activeElement===E&&!(R||A.inComposition||$.$mouseHandler.isMousePressed)&&!A.copied){var g=E.selectionStart,u=E.selectionEnd,S=null,x=0;if(g==0?S=o.up:g==1?S=o.home:u>A.lastSelectionEnd&&A.lastValue[u]==`
161
+ `?S=o.end:g<A.lastSelectionStart&&A.lastValue[g-1]==" "?(S=o.left,x=s.option):g<A.lastSelectionStart||g==A.lastSelectionStart&&A.lastSelectionEnd!=A.lastSelectionStart&&g==u?S=o.left:u>A.lastSelectionEnd&&A.lastValue.slice(0,u).split(`
162
+ `).length>2?S=o.down:u>A.lastSelectionEnd&&A.lastValue[u-1]==" "?(S=o.right,x=s.option):(u>A.lastSelectionEnd||u==A.lastSelectionEnd&&A.lastSelectionEnd!=A.lastSelectionStart&&g==u)&&(S=o.right),g!==u&&(x|=s.shift),S){var T=$.onCommandKey({},x,S);if(!T&&$.commands){S=o.keyCodeToString(S);var k=$.commands.findKeyCommand(x,S);k&&$.execCommand(k)}A.lastSelectionStart=g,A.lastSelectionEnd=u,A.resetSelection("")}}};document.addEventListener("selectionchange",C),$.on("destroy",function(){document.removeEventListener("selectionchange",C)})},v.prototype.onContextMenuClose=function(){var f=this;clearTimeout(this.closeTimeout),this.closeTimeout=setTimeout(function(){f.tempStyle&&(f.text.style.cssText=f.tempStyle,f.tempStyle=""),f.host.renderer.$isMousePressed=!1,f.host.renderer.$keepTextAreaAtCursor&&f.host.renderer.$moveTextAreaToCursor()},0)},v.prototype.$onContextMenu=function(f){this.host.textInput.onContextMenu(f),this.onContextMenuClose()},v.prototype.onKeyup=function(f){f.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()},v.prototype.cancelComposition=function(){this.ignoreFocusEvents=!0,this.text.blur(),this.text.focus(),this.ignoreFocusEvents=!1},v.prototype.onCompositionStart=function(f){if(!(this.inComposition||!this.host.onCompositionStart||this.host.$readOnly)&&(this.inComposition={},!this.commandMode)){f.data&&(this.inComposition.useTextareaForIME=!1),setTimeout(this.onCompositionUpdate.bind(this),0),this.host._signal("compositionStart"),this.host.on("mousedown",this.cancelComposition);var $=this.host.getSelectionRange();$.end.row=$.start.row,$.end.column=$.start.column,this.inComposition.markerRange=$,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()))}},v.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 f=this.text.value;this.sendText(f),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)}}},v.prototype.onCompositionEnd=function(f){!this.host.onCompositionEnd||this.host.$readOnly||(this.inComposition=!1,this.host.onCompositionEnd(),this.host.off("mousedown",this.cancelComposition),f&&this.onInput())},v.prototype.onCut=function(f){this.doCopy(f,!0)},v.prototype.onCopy=function(f){this.doCopy(f,!1)},v.prototype.onPaste=function(f){var $=this.handleClipboardData(f);r.pasteCancelled()||(typeof $=="string"?($&&this.host.onPaste($,f),p.isIE&&setTimeout(this.resetSelection),m.preventDefault(f)):(this.text.value="",this.pasted=!0))},v.prototype.doCopy=function(f,$){var E=this,A=this.host.getCopyText();if(!A)return m.preventDefault(f);this.handleClipboardData(f,A)?(h&&(this.resetSelection(A),this.copied=A,setTimeout(function(){E.copied=!1},10)),$?this.host.onCut():this.host.onCopy(),m.preventDefault(f)):(this.copied=!0,this.text.value=A,this.text.select(),setTimeout(function(){E.copied=!1,E.resetSelection(),$?E.host.onCut():E.host.onCopy()}))},v.prototype.handleClipboardData=function(f,$,E){var A=f.clipboardData||window.clipboardData;if(!(!A||n)){var L=i||E?"Text":"text/plain";try{return $?A.setData(L,$)!==!1:A.getData(L)}catch(R){if(!E)return this.handleClipboardData(R,$,!0)}}},v.prototype.onInput=function(f){if(this.inComposition)return this.onCompositionUpdate();if(f&&f.inputType){if(f.inputType=="historyUndo")return this.host.execCommand("undo");if(f.inputType=="historyRedo")return this.host.execCommand("redo")}var $=this.text.value,E=this.sendText($,!0);($.length>e+100||c.test(E)||w&&this.lastSelectionStart<1&&this.lastSelectionStart==this.lastSelectionEnd)&&this.resetSelection()},v.prototype.sendText=function(f,$){if(this.afterContextMenu&&(this.afterContextMenu=!1),this.pasted)return this.resetSelection(),f&&this.host.onPaste(f),this.pasted=!1,"";for(var E=this.text.selectionStart,A=this.text.selectionEnd,L=this.lastSelectionStart,R=this.lastValue.length-this.lastSelectionEnd,C=f,b=f.length-E,g=f.length-A,u=0;L>0&&this.lastValue[u]==f[u];)u++,L--;for(C=C.slice(u),u=1;R>0&&this.lastValue.length-u>this.lastSelectionStart-1&&this.lastValue[this.lastValue.length-u]==f[f.length-u];)u++,R--;b-=u-1,g-=u-1;var S=C.length-u+1;if(S<0&&(L=-S,S=0),C=C.slice(0,S),!$&&!C&&!b&&!L&&!R&&!g)return"";this.sendingText=!0;var x=!1;return p.isAndroid&&C==". "&&(C=" ",x=!0),C&&!L&&!R&&!b&&!g||this.commandMode?this.host.onTextInput(C):this.host.onTextInput(C,{extendLeft:L,extendRight:R,restoreStart:b,restoreEnd:g}),this.sendingText=!1,this.lastValue=f,this.lastSelectionStart=E,this.lastSelectionEnd=A,this.lastRestoreEnd=g,x?`
163
+ `:C},v.prototype.onSelect=function(f){var $=this;if(!this.inComposition){var E=function(A){return A.selectionStart===0&&A.selectionEnd>=$.lastValue.length&&A.value===$.lastValue&&$.lastValue&&A.selectionEnd!==$.lastSelectionEnd};this.copied?this.copied=!1:E(this.text)?(this.host.selectAll(),this.resetSelection()):w&&this.text.selectionStart!=this.lastSelectionStart&&this.resetSelection()}},v.prototype.$resetSelectionIOS=function(f){if(!(!this.$isFocused||this.copied&&!f||this.sendingText)){f||(f="");var $=`
164
+ ab`+f+`cde fg
165
+ `;$!=this.text.value&&(this.text.value=this.lastValue=$);var E=4,A=4+(f.length||(this.host.selection.isEmpty()?0:1));(this.lastSelectionStart!=E||this.lastSelectionEnd!=A)&&this.text.setSelectionRange(E,A),this.lastSelectionStart=E,this.lastSelectionEnd=A}},v.prototype.$resetSelection=function(){var f=this;if(!(this.inComposition||this.sendingText)&&!(!this.$isFocused&&!this.afterContextMenu)){this.inComposition=!0;var $=0,E=0,A="",L=function(k,I){for(var O=I,z=1;z<=k-f.rowStart&&z<2*f.numberOfExtraLines+1;z++)O+=f.host.session.getLine(k-z).length+1;return O};if(this.host.session){var R=this.host.selection,C=R.getRange(),b=R.cursor.row;b===this.rowEnd+1?(this.rowStart=this.rowEnd+1,this.rowEnd=this.rowStart+2*this.numberOfExtraLines):b===this.rowStart-1?(this.rowEnd=this.rowStart-1,this.rowStart=this.rowEnd-2*this.numberOfExtraLines):(b<this.rowStart-1||b>this.rowEnd+1)&&(this.rowStart=b>this.numberOfExtraLines?b-this.numberOfExtraLines:0,this.rowEnd=b>this.numberOfExtraLines?b+this.numberOfExtraLines:2*this.numberOfExtraLines);for(var g=[],u=this.rowStart;u<=this.rowEnd;u++)g.push(this.host.session.getLine(u));if(A=g.join(`
166
+ `),$=L(C.start.row,C.start.column),E=L(C.end.row,C.end.column),C.start.row<this.rowStart){var S=this.host.session.getLine(this.rowStart-1);$=C.start.row<this.rowStart-1?0:$,E+=S.length+1,A=S+`
167
+ `+A}else if(C.end.row>this.rowEnd){var x=this.host.session.getLine(this.rowEnd+1);E=C.end.row>this.rowEnd+1?x.length:C.end.column,E+=A.length+1,A=A+`
168
+ `+x}else w&&b>0&&(A=`
169
+ `+A,E+=1,$+=1);A.length>e&&($<e&&E<e?A=A.slice(0,e):(A=`
170
+ `,$==E?$=E=0:($=0,E=1)));var T=A+`
171
+
172
+ `;T!=this.lastValue&&(this.text.value=this.lastValue=T,this.lastSelectionStart=this.lastSelectionEnd=T.length)}if(this.afterContextMenu&&(this.lastSelectionStart=this.text.selectionStart,this.lastSelectionEnd=this.text.selectionEnd),this.lastSelectionEnd!=E||this.lastSelectionStart!=$||this.text.selectionEnd!=this.lastSelectionEnd)try{this.text.setSelectionRange($,E),this.lastSelectionStart=$,this.lastSelectionEnd=E}catch{}this.inComposition=!1}},v.prototype.setHost=function(f){this.host=f},v.prototype.setNumberOfExtraLines=function(f){if(this.rowStart=Number.MAX_SAFE_INTEGER,this.rowEnd=Number.MIN_SAFE_INTEGER,f<0){this.numberOfExtraLines=0;return}this.numberOfExtraLines=f},v.prototype.setAriaLabel=function(){var f="";if(this.host.$textInputAriaLabel&&(f+="".concat(this.host.$textInputAriaLabel,", ")),this.host.session){var $=this.host.session.selection.cursor.row;f+=d("text-input.aria-label","Cursor at row $0",[$+1])}this.text.setAttribute("aria-label",f)},v.prototype.setAriaOptions=function(f){f.activeDescendant?(this.text.setAttribute("aria-haspopup","true"),this.text.setAttribute("aria-autocomplete",f.inline?"both":"list"),this.text.setAttribute("aria-activedescendant",f.activeDescendant)):(this.text.setAttribute("aria-haspopup","false"),this.text.setAttribute("aria-autocomplete","both"),this.text.removeAttribute("aria-activedescendant")),f.role&&this.text.setAttribute("role",f.role),f.setLabel&&(this.text.setAttribute("aria-roledescription",d("text-input.aria-roledescription","editor")),this.setAriaLabel())},v.prototype.focus=function(){var f=this;if(this.setAriaOptions({setLabel:this.host.renderer.enableKeyboardAccessibility}),this.tempStyle||t||this.$focusScroll=="browser")return this.text.focus({preventScroll:!0});var $=this.text.style.top;this.text.style.position="fixed",this.text.style.top="0px";try{var E=this.text.getBoundingClientRect().top!=0}catch{return}var A=[];if(E)for(var L=this.text.parentElement;L&&L.nodeType==1;)A.push(L),L.setAttribute("ace_nocontext","true"),!L.parentElement&&L.getRootNode?L=L.getRootNode().host:L=L.parentElement;this.text.focus({preventScroll:!0}),E&&A.forEach(function(R){R.removeAttribute("ace_nocontext")}),setTimeout(function(){f.text.style.position="",f.text.style.top=="0px"&&(f.text.style.top=$)},0)},v.prototype.blur=function(){this.text.blur()},v.prototype.isFocused=function(){return this.$isFocused},v.prototype.setInputHandler=function(f){this.inputHandler=f},v.prototype.getInputHandler=function(){return this.inputHandler},v.prototype.getElement=function(){return this.text},v.prototype.setCommandMode=function(f){this.commandMode=f,this.text.readOnly=!1},v.prototype.setReadOnly=function(f){this.commandMode||(this.text.readOnly=f)},v.prototype.setCopyWithEmptySelection=function(f){},v.prototype.onContextMenu=function(f){this.afterContextMenu=!0,this.resetSelection(),this.host._emit("nativecontextmenu",{target:this.host,domEvent:f}),this.moveToMouse(f,!0)},v.prototype.moveToMouse=function(f,$){var E=this;this.tempStyle||(this.tempStyle=this.text.style.cssText),this.text.style.cssText=($?"z-index:100000;":"")+(p.isIE?"opacity:0.1;":"")+"text-indent: -"+(this.lastSelectionStart+this.lastSelectionEnd)*this.host.renderer.characterWidth*.5+"px;";var A=this.host.container.getBoundingClientRect(),L=a.computedStyle(this.host.container),R=A.top+(parseInt(L.borderTopWidth)||0),C=A.left+(parseInt(L.borderLeftWidth)||0),b=A.bottom-R-this.text.clientHeight-2,g=function(u){a.translate(E.text,u.clientX-C-2,Math.min(u.clientY-R-2,b))};g(f),f.type=="mousedown"&&(this.host.renderer.$isMousePressed=!0,clearTimeout(this.closeTimeout),p.isWin&&m.capture(this.host.container,g,this.onContextMenuClose.bind(this)))},v.prototype.destroy=function(){this.text.parentElement&&this.text.parentElement.removeChild(this.text)},v})();M.TextInput=y,M.$setUserAgentForTests=function(v,f){w=v,h=f}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(_,M,F){var m=_("../lib/useragent"),d=0,p=550,a=(function(){function n(i){i.$clickSelection=null;var t=i.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(i)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(i)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(i)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(i)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(i));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(o){i[o]=this[o]},this),i.selectByLines=this.extendSelectionBy.bind(i,"getLineRange"),i.selectByWords=this.extendSelectionBy.bind(i,"getWordRange")}return n.prototype.onMouseDown=function(i){var t=i.inSelection(),e=i.getDocumentPosition();this.mousedownEvent=i;var o=this.editor,s=i.getButton();if(s!==0){var h=o.getSelectionRange(),c=h.isEmpty();(c||s==1)&&o.selection.moveToPosition(e),s==2&&(o.textInput.onContextMenu(i.domEvent),m.isMozilla||i.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!o.isFocused()&&(o.focus(),this.$focusTimeout&&!this.$clickSelection&&!o.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(i);return}return this.captureMouse(i),this.startSelect(e,i.domEvent._clicks>1),i.preventDefault()},n.prototype.startSelect=function(i,t){i=i||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(i):t||e.selection.moveToPosition(i),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},n.prototype.select=function(){var i,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var o=this.$clickSelection.comparePoint(e);if(o==-1)i=this.$clickSelection.end;else if(o==1)i=this.$clickSelection.start;else{var s=r(this.$clickSelection,e,t.session);e=s.cursor,i=s.anchor}t.selection.setSelectionAnchor(i.row,i.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},n.prototype.extendSelectionBy=function(i){var t,e=this.editor,o=e.renderer.screenToTextCoordinates(this.x,this.y),s=e.selection[i](o.row,o.column);if(this.$clickSelection){var h=this.$clickSelection.comparePoint(s.start),c=this.$clickSelection.comparePoint(s.end);if(h==-1&&c<=0)t=this.$clickSelection.end,(s.end.row!=o.row||s.end.column!=o.column)&&(o=s.start);else if(c==1&&h>=0)t=this.$clickSelection.start,(s.start.row!=o.row||s.start.column!=o.column)&&(o=s.end);else if(h==-1&&c==1)o=s.end,t=s.start;else{var w=r(this.$clickSelection,o,e.session);o=w.cursor,t=w.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(o),e.renderer.scrollCursorIntoView()},n.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},n.prototype.focusWait=function(){var i=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(i>d||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},n.prototype.onDoubleClick=function(i){var t=i.getDocumentPosition(),e=this.editor,o=e.session,s=o.getBracketRange(t);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},n.prototype.onTripleClick=function(i){var t=i.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var o=e.getSelectionRange();o.isMultiLine()&&o.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(o.start.row),this.$clickSelection.end=e.selection.getLineRange(o.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},n.prototype.onQuadClick=function(i){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},n.prototype.onMouseWheel=function(i){if(!i.getAccelKey()){i.getShiftKey()&&i.wheelY&&!i.wheelX&&(i.wheelX=i.wheelY,i.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,o=i.domEvent.timeStamp,s=o-e.t,h=s?i.wheelX/s:e.vx,c=s?i.wheelY/s:e.vy;s<p&&(h=(h+e.vx)/2,c=(c+e.vy)/2);var w=Math.abs(h/c),y=!1;if(w>=1&&t.renderer.isScrollableBy(i.wheelX*i.speed,0)&&(y=!0),w<=1&&t.renderer.isScrollableBy(0,i.wheelY*i.speed)&&(y=!0),y)e.allowed=o;else if(o-e.allowed<p){var v=Math.abs(h)<=1.5*Math.abs(e.vx)&&Math.abs(c)<=1.5*Math.abs(e.vy);v?(y=!0,e.allowed=o):e.allowed=0}if(e.t=o,e.vx=h,e.vy=c,y)return t.renderer.scrollBy(i.wheelX*i.speed,i.wheelY*i.speed),i.stop()}},n})();a.prototype.selectEnd=a.prototype.selectByLinesEnd,a.prototype.selectAllEnd=a.prototype.selectByLinesEnd,a.prototype.selectByWordsEnd=a.prototype.selectByLinesEnd,M.DefaultHandlers=a;function l(n,i,t,e){return Math.sqrt(Math.pow(t-n,2)+Math.pow(e-i,2))}function r(n,i,t){if(n.start.row==n.end.row)var e=2*i.column-n.start.column-n.end.column;else if(n.start.row==n.end.row-1&&!n.start.column&&!n.end.column)var e=3*i.column-2*t.getLine(n.start.row).length;else var e=2*i.row-n.start.row-n.end.row;return e<0?{cursor:n.start,anchor:n.end}:{cursor:n.end,anchor:n.start}}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(_,M,F){var m=_("../lib/event"),d=_("../lib/useragent"),p=(function(){function a(l,r){this.speed,this.wheelX,this.wheelY,this.domEvent=l,this.editor=r,this.x=this.clientX=l.clientX,this.y=this.clientY=l.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return a.prototype.stopPropagation=function(){m.stopPropagation(this.domEvent),this.propagationStopped=!0},a.prototype.preventDefault=function(){m.preventDefault(this.domEvent),this.defaultPrevented=!0},a.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},a.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},a.prototype.getGutterRow=function(){var l=this.getDocumentPosition().row,r=this.editor.session.documentToScreenRow(l,0),n=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return r-n},a.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var l=this.editor,r=l.getSelectionRange();if(r.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=r.contains(n.row,n.column)}return this.$inSelection},a.prototype.getButton=function(){return m.getButton(this.domEvent)},a.prototype.getShiftKey=function(){return this.domEvent.shiftKey},a.prototype.getAccelKey=function(){return d.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},a})();M.MouseEvent=p}),ace.define("ace/lib/scroll",["require","exports","module"],function(_,M,F){M.preventParentScroll=function(d){d.stopPropagation();var p=d.currentTarget,a=p.scrollHeight>p.clientHeight;a||d.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(_,M,F){var m=this&&this.__extends||(function(){var o=function(s,h){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,w){c.__proto__=w}||function(c,w){for(var y in w)Object.prototype.hasOwnProperty.call(w,y)&&(c[y]=w[y])},o(s,h)};return function(s,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");o(s,h);function c(){this.constructor=s}s.prototype=h===null?Object.create(h):(c.prototype=h.prototype,new c)}})(),d=this&&this.__values||function(o){var s=typeof Symbol=="function"&&Symbol.iterator,h=s&&o[s],c=0;if(h)return h.call(o);if(o&&typeof o.length=="number")return{next:function(){return o&&c>=o.length&&(o=void 0),{value:o&&o[c++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},p=_("./lib/dom");_("./lib/event");var a=_("./range").Range,l=_("./lib/scroll").preventParentScroll,r="ace_tooltip",n=(function(){function o(s){this.isOpen=!1,this.$element=null,this.$parentNode=s}return o.prototype.$init=function(){return this.$element=p.createElement("div"),this.$element.className=r,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},o.prototype.getElement=function(){return this.$element||this.$init()},o.prototype.setText=function(s){this.getElement().textContent=s},o.prototype.setHtml=function(s){this.getElement().innerHTML=s},o.prototype.setPosition=function(s,h){this.getElement().style.left=s+"px",this.getElement().style.top=h+"px"},o.prototype.setClassName=function(s){p.addCssClass(this.getElement(),s)},o.prototype.setTheme=function(s){this.theme&&(this.theme.isDark&&p.removeCssClass(this.getElement(),"ace_dark"),this.theme.cssClass&&p.removeCssClass(this.getElement(),this.theme.cssClass)),s.isDark&&p.addCssClass(this.getElement(),"ace_dark"),s.cssClass&&p.addCssClass(this.getElement(),s.cssClass),this.theme={isDark:s.isDark,cssClass:s.cssClass}},o.prototype.show=function(s,h,c){s!=null&&this.setText(s),h!=null&&c!=null&&this.setPosition(h,c),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},o.prototype.hide=function(s){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=r,this.isOpen=!1)},o.prototype.getHeight=function(){return this.getElement().offsetHeight},o.prototype.getWidth=function(){return this.getElement().offsetWidth},o.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},o})(),i=(function(){function o(){this.popups=[]}return o.prototype.addPopup=function(s){this.popups.push(s),this.updatePopups()},o.prototype.removePopup=function(s){var h=this.popups.indexOf(s);h!==-1&&(this.popups.splice(h,1),this.updatePopups())},o.prototype.updatePopups=function(){var s,h,c,w;this.popups.sort(function(C,b){return b.priority-C.priority});var y=[];try{for(var v=d(this.popups),f=v.next();!f.done;f=v.next()){var $=f.value,E=!0;try{for(var A=(c=void 0,d(y)),L=A.next();!L.done;L=A.next()){var R=L.value;if(this.doPopupsOverlap(R,$)){E=!1;break}}}catch(C){c={error:C}}finally{try{L&&!L.done&&(w=A.return)&&w.call(A)}finally{if(c)throw c.error}}E?y.push($):$.hide()}}catch(C){s={error:C}}finally{try{f&&!f.done&&(h=v.return)&&h.call(v)}finally{if(s)throw s.error}}},o.prototype.doPopupsOverlap=function(s,h){var c=s.getElement().getBoundingClientRect(),w=h.getElement().getBoundingClientRect();return c.left<w.right&&c.right>w.left&&c.top<w.bottom&&c.bottom>w.top},o})(),t=new i;M.popupManager=t,M.Tooltip=n;var e=(function(o){m(s,o);function s(h){h===void 0&&(h=document.body);var c=o.call(this,h)||this;c.timeout=void 0,c.lastT=0,c.idleTime=350,c.lastEvent=void 0,c.onMouseOut=c.onMouseOut.bind(c),c.onMouseMove=c.onMouseMove.bind(c),c.waitForHover=c.waitForHover.bind(c),c.hide=c.hide.bind(c);var w=c.getElement();return w.style.whiteSpace="pre-wrap",w.style.pointerEvents="auto",w.addEventListener("mouseout",c.onMouseOut),w.tabIndex=-1,w.addEventListener("blur",(function(){w.contains(document.activeElement)||this.hide()}).bind(c)),w.addEventListener("wheel",l),c}return s.prototype.addToEditor=function(h){h.on("mousemove",this.onMouseMove),h.on("mousedown",this.hide);var c=h.renderer.getMouseEventTarget();c&&typeof c.removeEventListener=="function"&&c.addEventListener("mouseout",this.onMouseOut,!0)},s.prototype.removeFromEditor=function(h){h.off("mousemove",this.onMouseMove),h.off("mousedown",this.hide);var c=h.renderer.getMouseEventTarget();c&&typeof c.removeEventListener=="function"&&c.removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},s.prototype.onMouseMove=function(h,c){this.lastEvent=h,this.lastT=Date.now();var w=c.$mouseHandler.isMousePressed;if(this.isOpen){var y=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(y.row,y.column)||w||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||w||(this.lastEvent=h,this.timeout=setTimeout(this.waitForHover,this.idleTime))},s.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var h=Date.now()-this.lastT;if(this.idleTime-h>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-h);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},s.prototype.isOutsideOfText=function(h){var c=h.editor,w=h.getDocumentPosition(),y=c.session.getLine(w.row);if(w.column==y.length){var v=c.renderer.pixelToScreenCoordinates(h.clientX,h.clientY),f=c.session.documentToScreenPosition(w.row,w.column);if(f.column!=v.column||f.row!=v.row)return!0}return!1},s.prototype.setDataProvider=function(h){this.$gatherData=h},s.prototype.showForRange=function(h,c,w,y){if(!(y&&y!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var v=h.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(v.theme)),this.isOpen=!0,this.range=a.fromPoints(c.start,c.end);var f=v.textToScreenCoordinates(c.start.row,c.start.column),$=v.scroller.getBoundingClientRect();f.pageX<$.left&&(f.pageX=$.left);var E=this.getElement();E.innerHTML="",E.appendChild(w),E.style.maxHeight="",E.style.display="block",this.$setPosition(h,f,!0,c),p.$fixPositionBug(E)}},s.prototype.$setPosition=function(h,c,w,y){var v=10;w&&this.addMarker(y,h.session);var f=h.renderer,$=this.getElement(),E=$.offsetHeight,A=$.offsetWidth,L=c.pageY,R=c.pageX,C=window.innerHeight-L-f.lineHeight,b=this.$shouldPlaceAbove(E,L,C-v);$.style.maxHeight=(b?L:C)-v+"px",$.style.top=b?"":L+f.lineHeight+"px",$.style.bottom=b?window.innerHeight-L+"px":"",$.style.left=Math.min(R,window.innerWidth-A-v)+"px"},s.prototype.$shouldPlaceAbove=function(h,c,w){return!(c-h<0&&c<w)},s.prototype.addMarker=function(h,c){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=c,this.marker=c&&c.addMarker(h,"ace_highlight-marker","text")},s.prototype.hide=function(h){h&&this.$fromKeyboard&&h.type=="keydown"&&h.code=="Escape"||!h&&document.activeElement==this.getElement()||h&&h.target&&(h.type!="keydown"||h.ctrlKey||h.metaKey)&&this.$element.contains(h.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,t.removePopup(this)))},s.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},s.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},s.prototype.onMouseOut=function(h){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!h.relatedTarget||this.getElement().contains(h.relatedTarget)||h&&h.currentTarget.contains(h.relatedTarget)||h.relatedTarget.classList.contains("ace_content")||this.hide())},s})(n);M.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/mouse/mouse_event","ace/tooltip","ace/config","ace/range"],function(_,M,F){var m=this&&this.__extends||(function(){var e=function(o,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,c){h.__proto__=c}||function(h,c){for(var w in c)Object.prototype.hasOwnProperty.call(c,w)&&(h[w]=c[w])},e(o,s)};return function(o,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(o,s);function h(){this.constructor=o}o.prototype=s===null?Object.create(s):(h.prototype=s.prototype,new h)}})(),d=this&&this.__values||function(e){var o=typeof Symbol=="function"&&Symbol.iterator,s=o&&e[o],h=0;if(s)return s.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&h>=e.length&&(e=void 0),{value:e&&e[h++],done:!e}}};throw new TypeError(o?"Object is not iterable.":"Symbol.iterator is not defined.")},p=_("../lib/dom"),a=_("./mouse_event").MouseEvent,l=_("../tooltip").HoverTooltip,r=_("../config").nls,n=_("../range").Range;function i(e){var o=e.editor,s=o.renderer.$gutterLayer;e.$tooltip=new t(o),e.$tooltip.addToEditor(o),e.$tooltip.setDataProvider(function(h,c){var w=h.getDocumentPosition().row;e.$tooltip.showTooltip(w)}),e.editor.setDefaultHandler("guttermousedown",function(h){if(!(!o.isFocused()||h.getButton()!=0)){var c=s.getRegion(h);if(c!="foldWidgets"){var w=h.getDocumentPosition().row,y=o.session.selection;if(h.getShiftKey())y.selectTo(w,0);else{if(h.domEvent.detail==2)return o.selectAll(),h.preventDefault();e.$clickSelection=o.selection.getLineRange(w)}return e.setState("selectByLines"),e.captureMouse(h),h.preventDefault()}}})}M.GutterHandler=i;var t=(function(e){m(o,e);function o(s){var h=e.call(this,s.container)||this;h.id="gt"+ ++o.$uid,h.editor=s,h.visibleTooltipRow;var c=h.getElement();return c.setAttribute("role","tooltip"),c.setAttribute("id",h.id),c.style.pointerEvents="auto",h.idleTime=50,h.onDomMouseMove=h.onDomMouseMove.bind(h),h.onDomMouseOut=h.onDomMouseOut.bind(h),h.setClassName("ace_gutter-tooltip"),h}return o.prototype.onDomMouseMove=function(s){var h=new a(s,this.editor);this.onMouseMove(h,this.editor)},o.prototype.onDomMouseOut=function(s){var h=new a(s,this.editor);this.onMouseOut(h)},o.prototype.addToEditor=function(s){var h=s.renderer.$gutter;h.addEventListener("mousemove",this.onDomMouseMove),h.addEventListener("mouseout",this.onDomMouseOut),e.prototype.addToEditor.call(this,s)},o.prototype.removeFromEditor=function(s){var h=s.renderer.$gutter;h.removeEventListener("mousemove",this.onDomMouseMove),h.removeEventListener("mouseout",this.onDomMouseOut),e.prototype.removeFromEditor.call(this,s)},o.prototype.destroy=function(){this.editor&&this.removeFromEditor(this.editor),e.prototype.destroy.call(this)},Object.defineProperty(o,"annotationLabels",{get:function(){return{error:{singular:r("gutter-tooltip.aria-label.error.singular","error"),plural:r("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:r("gutter-tooltip.aria-label.security.singular","security finding"),plural:r("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:r("gutter-tooltip.aria-label.warning.singular","warning"),plural:r("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:r("gutter-tooltip.aria-label.info.singular","information message"),plural:r("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:r("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:r("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),o.prototype.showTooltip=function(s){var h,c=this.editor.renderer.$gutterLayer,w=c.$annotations[s],y;w?y={displayText:Array.from(w.displayText),type:Array.from(w.type)}:y={displayText:[],type:[]};var v=c.session.getFoldLine(s);if(v&&c.$showFoldedAnnotations){for(var f={error:[],security:[],warning:[],info:[],hint:[]},$={error:1,security:2,warning:3,info:4,hint:5},E,A=s+1;A<=v.end.row;A++)if(c.$annotations[A])for(var L=0;L<c.$annotations[A].text.length;L++){var R=c.$annotations[A].type[L];f[R].push(c.$annotations[A].text[L]),(!E||$[R]<$[E])&&(E=R)}if(["error","security","warning"].includes(E)){var C="".concat(o.annotationsToSummaryString(f)," in folded code.");y.displayText.push(C),y.type.push(E+"_fold")}}if(y.displayText.length===0)return this.hide();for(var b={error:[],security:[],warning:[],info:[],hint:[]},g=c.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",A=0;A<y.displayText.length;A++){var u=p.createElement("span"),S=p.createElement("span");(h=S.classList).add.apply(h,["ace_".concat(y.type[A]),g]),S.setAttribute("aria-label","".concat(o.annotationLabels[y.type[A].replace("_fold","")].singular)),S.setAttribute("role","img"),S.appendChild(p.createTextNode(" ")),u.appendChild(S),u.appendChild(p.createTextNode(y.displayText[A])),u.appendChild(p.createElement("br")),b[y.type[A].replace("_fold","")].push(u)}var x=p.createElement("span");b.error.forEach(function(I){return x.appendChild(I)}),b.security.forEach(function(I){return x.appendChild(I)}),b.warning.forEach(function(I){return x.appendChild(I)}),b.info.forEach(function(I){return x.appendChild(I)}),b.hint.forEach(function(I){return x.appendChild(I)}),x.setAttribute("aria-live","polite");var T=this.$findLinkedAnnotationNode(s);T&&T.setAttribute("aria-describedby",this.id);var k=n.fromPoints({row:s,column:0},{row:s,column:0});this.showForRange(this.editor,k,x),this.visibleTooltipRow=s,this.editor._signal("showGutterTooltip",this)},o.prototype.$setPosition=function(s,h,c,w){var y=this.$findCellByRow(w.start.row);if(y){var v=y&&y.element,f=v&&v.querySelector(".ace_gutter_annotation");if(f){var $=f.getBoundingClientRect();if($){var E={pageX:$.right,pageY:$.top};return e.prototype.$setPosition.call(this,s,E,!1,w)}}}},o.prototype.$shouldPlaceAbove=function(s,h,c){return c<s},o.prototype.$findLinkedAnnotationNode=function(s){var h=this.$findCellByRow(s);if(h){var c=h.element;if(c.childNodes.length>2)return c.childNodes[2]}},o.prototype.$findCellByRow=function(s){return this.editor.renderer.$gutterLayer.$lines.cells.find(function(h){return h.row===s})},o.prototype.hide=function(s){if(this.isOpen){if(this.$element.removeAttribute("aria-live"),this.visibleTooltipRow!=null){var h=this.$findLinkedAnnotationNode(this.visibleTooltipRow);h&&h.removeAttribute("aria-describedby")}this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this),e.prototype.hide.call(this,s)}},o.annotationsToSummaryString=function(s){var h,c,w=[],y=["error","security","warning","info","hint"];try{for(var v=d(y),f=v.next();!f.done;f=v.next()){var $=f.value;if(s[$].length){var E=s[$].length===1?o.annotationLabels[$].singular:o.annotationLabels[$].plural;w.push("".concat(s[$].length," ").concat(E))}}}catch(A){h={error:A}}finally{try{f&&!f.done&&(c=v.return)&&c.call(v)}finally{if(h)throw h.error}}return w.join(", ")},o.prototype.isOutsideOfText=function(s){var h=s.editor,c=h.renderer.$gutter.getBoundingClientRect();return!(s.clientX>=c.left&&s.clientX<=c.right&&s.clientY>=c.top&&s.clientY<=c.bottom)},o})(l);t.$uid=0,M.GutterTooltip=t}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(_,M,F){var m=_("../lib/dom"),d=_("../lib/event"),p=_("../lib/useragent"),a=200,l=200,r=5;function n(t){var e=t.editor,o=m.createElement("div");o.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",o.textContent=" ";var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(N){t[N]=this[N]},this),e.on("mousedown",this.onMouseDown.bind(t));var h=e.container,c,w,y,v,f,$,E=0,A,L,R,C,b;this.onDragStart=function(N){if(this.cancelDrag||!h.draggable){var B=this;return setTimeout(function(){B.startSelect(),B.captureMouse(N)},0),N.preventDefault()}f=e.getSelectionRange();var W=N.dataTransfer;W.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(o),W.setDragImage&&W.setDragImage(o,0,0),setTimeout(function(){e.container.removeChild(o)}),W.clearData(),W.setData("Text",e.session.getTextRange()),L=!0,this.setState("drag")},this.onDragEnd=function(N){if(h.draggable=!1,L=!1,this.setState(null),!e.getReadOnly()){var B=N.dataTransfer.dropEffect;!A&&B=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(N){if(!(e.getReadOnly()||!O(N.dataTransfer)))return w=N.clientX,y=N.clientY,c||x(),E++,N.dataTransfer.dropEffect=A=z(N),d.preventDefault(N)},this.onDragOver=function(N){if(!(e.getReadOnly()||!O(N.dataTransfer)))return w=N.clientX,y=N.clientY,c||(x(),E++),k!==null&&(k=null),N.dataTransfer.dropEffect=A=z(N),d.preventDefault(N)},this.onDragLeave=function(N){if(E--,E<=0&&c)return T(),A=null,d.preventDefault(N)},this.onDrop=function(N){if($){var B=N.dataTransfer;if(L)switch(A){case"move":f.contains($.row,$.column)?f={start:$,end:$}:f=e.moveText(f,$);break;case"copy":f=e.moveText(f,$,!0);break}else{var W=B.getData("Text");f={start:$,end:e.session.insert($,W)},e.focus(),A=null}return T(),d.preventDefault(N)}},d.addListener(h,"dragstart",this.onDragStart.bind(t),e),d.addListener(h,"dragend",this.onDragEnd.bind(t),e),d.addListener(h,"dragenter",this.onDragEnter.bind(t),e),d.addListener(h,"dragover",this.onDragOver.bind(t),e),d.addListener(h,"dragleave",this.onDragLeave.bind(t),e),d.addListener(h,"drop",this.onDrop.bind(t),e);function g(N,B){var W=Date.now(),U=!B||N.row!=B.row,G=!B||N.column!=B.column;if(!C||U||G)e.moveCursorToPosition(N),C=W,b={x:w,y};else{var V=i(b.x,b.y,w,y);V>r?C=null:W-C>=l&&(e.renderer.scrollCursorIntoView(),C=null)}}function u(N,B){var W=Date.now(),U=e.renderer.layerConfig.lineHeight,G=e.renderer.layerConfig.characterWidth,V=e.renderer.scroller.getBoundingClientRect(),X={x:{left:w-V.left,right:V.right-w},y:{top:y-V.top,bottom:V.bottom-y}},Q=Math.min(X.x.left,X.x.right),q=Math.min(X.y.top,X.y.bottom),ie={row:N.row,column:N.column};Q/G<=2&&(ie.column+=X.x.left<X.x.right?-3:2),q/U<=1&&(ie.row+=X.y.top<X.y.bottom?-1:1);var se=N.row!=ie.row,ae=N.column!=ie.column,re=!B||N.row!=B.row;se||ae&&!re?R?W-R>=a&&e.renderer.scrollCursorIntoView(ie):R=W:R=null}function S(){var N=$;$=e.renderer.screenToTextCoordinates(w,y),g($,N),u($,N)}function x(){f=e.selection.toOrientedRange(),c=e.session.addMarker(f,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),S(),v=setInterval(S,20),E=0,d.addListener(document,"mousemove",I)}function T(){clearInterval(v),e.session.removeMarker(c),c=null,e.selection.fromOrientedRange(f),e.isFocused()&&!L&&e.$resetCursorStyle(),f=null,$=null,E=0,R=null,C=null,d.removeListener(document,"mousemove",I)}var k=null;function I(){k==null&&(k=setTimeout(function(){k!=null&&c&&T()},20))}function O(N){var B=N.types;return!B||Array.prototype.some.call(B,function(W){return W=="text/plain"||W=="Text"})}function z(N){var B=["copy","copymove","all","uninitialized"],W=["move","copymove","linkmove","all","uninitialized"],U=p.isMac?N.altKey:N.ctrlKey,G="uninitialized";try{G=N.dataTransfer.effectAllowed.toLowerCase()}catch{}var V="none";return U&&B.indexOf(G)>=0?V="copy":W.indexOf(G)>=0?V="move":B.indexOf(G)>=0&&(V="copy"),V}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var o=p.isWin?"default":"move";t.renderer.setCursorStyle(o),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(p.isIE&&this.state=="dragReady"){var o=i(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);o>3&&e.dragDrop()}if(this.state==="dragWait"){var o=i(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);o>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,o=t.inSelection(),s=t.getButton(),h=t.domEvent.detail||1;if(h===1&&s===0&&o){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var c=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in c&&(c.unselectable="on"),e.getDragDelay()){if(p.isWebKit){this.cancelDrag=!0;var w=e.container;w.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(n.prototype);function i(t,e,o,s){return Math.sqrt(Math.pow(o-t,2)+Math.pow(s-e,2))}M.DragdropHandler=n}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(_,M,F){var m=_("./mouse_event").MouseEvent,d=_("../lib/event"),p=_("../lib/dom");M.addTouchListeners=function(a,l){var r="scroll",n,i,t,e,o,s,h=0,c,w=0,y=0,v=0,f,$;function E(){var g=window.navigator&&window.navigator.clipboard,u=!1,S=function(){var k=l.getCopyText(),I=l.session.getUndoManager().hasUndo();$.replaceChild(p.buildDom(u?["span",!k&&x("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],k&&x("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],k&&x("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],g&&x("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],I&&x("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],x("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],x("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),$.firstChild)},x=function(k){return l.commands.canExecute(k,l)},T=function(k){var I=k.target.getAttribute("action");if(I=="more"||!u)return u=!u,S();I=="paste"?g.readText().then(function(O){l.execCommand(I,O)}):I&&((I=="cut"||I=="copy")&&(g?g.writeText(l.getCopyText()):document.execCommand("copy")),l.execCommand(I)),$.firstChild.style.display="none",u=!1,I!="openCommandPalette"&&l.focus()};$=p.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(k){r="menu",k.stopPropagation(),k.preventDefault(),l.textInput.focus()},ontouchend:function(k){k.stopPropagation(),k.preventDefault(),T(k)},onclick:T},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],l.container)}function A(){if(!l.getOption("enableMobileMenu")){$&&L();return}$||E();var g=l.selection.cursor,u=l.renderer.textToScreenCoordinates(g.row,g.column),S=l.renderer.textToScreenCoordinates(0,0).pageX,x=l.renderer.scrollLeft,T=l.container.getBoundingClientRect();$.style.top=u.pageY-T.top-3+"px",u.pageX-T.left<T.width-70?($.style.left="",$.style.right="10px"):($.style.right="",$.style.left=S+x-T.left+"px"),$.style.display="",$.firstChild.style.display="none",l.on("input",L)}function L(g){$&&($.style.display="none"),l.off("input",L)}function R(){o=null,clearTimeout(o);var g=l.selection.getRange(),u=g.contains(c.row,c.column);(g.isEmpty()||!u)&&(l.selection.moveToPosition(c),l.selection.selectWord()),r="wait",A()}function C(){o=null,clearTimeout(o),l.selection.moveToPosition(c);var g=w>=2?l.selection.getLineRange(c.row):l.session.getBracketRange(c);g&&!g.isEmpty()?l.selection.setRange(g):l.selection.selectWord(),r="wait"}d.addListener(a,"contextmenu",function(g){if(f){var u=l.textInput.getElement();u.focus()}},l),d.addListener(a,"touchstart",function(g){var u=g.touches;if(o||u.length>1){clearTimeout(o),o=null,t=-1,r="zoom";return}f=l.$mouseHandler.isMousePressed=!0;var S=l.renderer.layerConfig.lineHeight,x=l.renderer.layerConfig.lineHeight,T=g.timeStamp;e=T;var k=u[0],I=k.clientX,O=k.clientY;Math.abs(n-I)+Math.abs(i-O)>S&&(t=-1),n=g.clientX=I,i=g.clientY=O,y=v=0;var z=new m(g,l);if(c=z.getDocumentPosition(),T-t<500&&u.length==1&&!h)w++,g.preventDefault(),g.button=0,C();else{w=0;var N=l.selection.cursor,B=l.selection.isEmpty()?N:l.selection.anchor,W=l.renderer.$cursorLayer.getPixelPosition(N,!0),U=l.renderer.$cursorLayer.getPixelPosition(B,!0),G=l.renderer.scroller.getBoundingClientRect(),V=l.renderer.layerConfig.offset,X=l.renderer.scrollLeft,Q=function(se,ae){return se=se/x,ae=ae/S-.75,se*se+ae*ae};if(g.clientX<G.left){r="zoom";return}var q=Q(g.clientX-G.left-W.left+X,g.clientY-G.top-W.top+V),ie=Q(g.clientX-G.left-U.left+X,g.clientY-G.top-U.top+V);q<3.5&&ie<3.5&&(r=q>ie?"cursor":"anchor"),ie<3.5?r="anchor":q<3.5?r="cursor":r="scroll",o=setTimeout(R,450)}t=T},l),d.addListener(a,"touchend",function(g){f=l.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),r=="zoom"?(r="",h=0):o?(l.selection.moveToPosition(c),h=0,A()):r=="scroll"?(b(),L()):A(),clearTimeout(o),o=null},l),d.addListener(a,"touchmove",function(g){o&&(clearTimeout(o),o=null);var u=g.touches;if(!(u.length>1||r=="zoom")){var S=u[0],x=n-S.clientX,T=i-S.clientY;if(r=="wait")if(x*x+T*T>4)r="cursor";else return g.preventDefault();n=S.clientX,i=S.clientY,g.clientX=S.clientX,g.clientY=S.clientY;var k=g.timeStamp,I=k-e;if(e=k,r=="scroll"){var O=new m(g,l);O.speed=1,O.wheelX=x,O.wheelY=T,10*Math.abs(x)<Math.abs(T)&&(x=0),10*Math.abs(T)<Math.abs(x)&&(T=0),I!=0&&(y=x/I,v=T/I),l._emit("mousewheel",O),O.propagationStopped||(y=v=0)}else{var z=new m(g,l),N=z.getDocumentPosition();r=="cursor"?l.selection.moveCursorToPosition(N):r=="anchor"&&l.selection.setSelectionAnchor(N.row,N.column),l.renderer.scrollCursorIntoView(N),g.preventDefault()}}},l);function b(){h+=60,s=setInterval(function(){h--<=0&&(clearInterval(s),s=null),Math.abs(y)<.01&&(y=0),Math.abs(v)<.01&&(v=0),h<20&&(y=.9*y),h<20&&(v=.9*v);var g=l.session.getScrollTop();l.renderer.scrollBy(10*y,10*v),g==l.session.getScrollTop()&&(h=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(_,M,F){var m=_("../lib/event"),d=_("../lib/useragent"),p=_("./default_handlers").DefaultHandlers,a=_("./default_gutter_handler").GutterHandler,l=_("./mouse_event").MouseEvent,r=_("./dragdrop_handler").DragdropHandler,n=_("./touch_handler").addTouchListeners,i=_("../config"),t=(function(){function e(o){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var s=this;this.editor=o,new p(this),new a(this),new r(this);var h=function(y){var v=!document.hasFocus||!document.hasFocus()||!o.isFocused()&&document.activeElement==(o.textInput&&o.textInput.getElement());v&&window.focus(),o.focus(),setTimeout(function(){o.isFocused()||o.focus()})},c=o.renderer.getMouseEventTarget();m.addListener(c,"click",this.onMouseEvent.bind(this,"click"),o),m.addListener(c,"mousemove",this.onMouseMove.bind(this,"mousemove"),o),m.addMultiMouseDownListener([c,o.renderer.scrollBarV&&o.renderer.scrollBarV.inner,o.renderer.scrollBarH&&o.renderer.scrollBarH.inner,o.textInput&&o.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",o),m.addMouseWheelListener(o.container,this.onMouseWheel.bind(this,"mousewheel"),o),n(o.container,o);var w=o.renderer.$gutter;m.addListener(w,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),o),m.addListener(w,"click",this.onMouseEvent.bind(this,"gutterclick"),o),m.addListener(w,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),o),m.addListener(w,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),o),m.addListener(c,"mousedown",h,o),m.addListener(w,"mousedown",h,o),d.isIE&&o.renderer.scrollBarV&&(m.addListener(o.renderer.scrollBarV.element,"mousedown",h,o),m.addListener(o.renderer.scrollBarH.element,"mousedown",h,o)),o.on("mousemove",function(y){if(!(s.state||s.$dragDelay||!s.$dragEnabled)){var v=o.renderer.screenToTextCoordinates(y.x,y.y),f=o.session.selection.getRange(),$=o.renderer;!f.isEmpty()&&f.insideStart(v.row,v.column)?$.setCursorStyle("default"):$.setCursorStyle("")}},o)}return e.prototype.onMouseEvent=function(o,s){this.editor.session&&this.editor._emit(o,new l(s,this.editor))},e.prototype.onMouseMove=function(o,s){var h=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!h||!h.length||this.editor._emit(o,new l(s,this.editor))},e.prototype.onMouseWheel=function(o,s){var h=new l(s,this.editor);h.speed=this.$scrollSpeed*2,h.wheelX=s.wheelX,h.wheelY=s.wheelY,this.editor._emit(o,h)},e.prototype.setState=function(o){this.state=o},e.prototype.captureMouse=function(o,s){this.x=o.x,this.y=o.y,this.isMousePressed=!0;var h=this.editor,c=this.editor.renderer;c.$isMousePressed=!0;var w=this,y=!0,v=function(L){if(L){if(d.isWebKit&&!L.which&&w.releaseMouse)return w.releaseMouse();w.x=L.clientX,w.y=L.clientY,s&&s(L),w.mouseEvent=new l(L,w.editor),w.$mouseMoved=!0}},f=function(L){h.off("beforeEndOperation",A),y=!1,h.session&&$(),w[w.state+"End"]&&w[w.state+"End"](L),w.state="",w.isMousePressed=c.$isMousePressed=!1,c.$keepTextAreaAtCursor&&c.$moveTextAreaToCursor(),w.$onCaptureMouseMove=w.releaseMouse=null,L&&w.onMouseEvent("mouseup",L),h.endOperation()},$=function(){w[w.state]&&w[w.state](),w.$mouseMoved=!1},E=function(){y&&($(),m.nextFrame(E))};if(d.isOldIE&&o.domEvent.type=="dblclick")return setTimeout(function(){f(o)});var A=function(L){w.releaseMouse&&h.curOp.command.name&&h.curOp.selectionChanged&&(w[w.state+"End"]&&w[w.state+"End"](),w.state="",w.releaseMouse())};h.on("beforeEndOperation",A),h.startOperation({command:{name:"mouse"}}),w.$onCaptureMouseMove=v,w.releaseMouse=m.capture(this.editor.container,v,f),E()},e.prototype.cancelContextMenu=function(){var o=(function(s){s&&s.domEvent&&s.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",o),s&&s.domEvent&&m.stopEvent(s.domEvent))}).bind(this);setTimeout(o,10),this.editor.on("nativecontextmenu",o)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse(),this.$tooltip&&this.$tooltip.destroy()},e})();t.prototype.releaseMouse=null,i.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:d.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0}}),M.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(_,M,F){var m=_("../lib/dom"),d=(function(){function p(a){a.on("click",function(l){var r=l.getDocumentPosition(),n=a.session,i=n.getFoldAt(r.row,r.column,1);i&&(l.getAccelKey()?n.removeFold(i):n.expandFold(i),l.stop());var t=l.domEvent&&l.domEvent.target;t&&m.hasCssClass(t,"ace_inline_button")&&m.hasCssClass(t,"ace_toggle_wrap")&&(n.setOption("wrap",!n.getUseWrapMode()),a.renderer.scrollCursorIntoView())}),a.on("gutterclick",function(l){var r=a.renderer.$gutterLayer.getRegion(l);if(r=="foldWidgets"){var n=l.getDocumentPosition().row,i=a.session;i.foldWidgets&&i.foldWidgets[n]&&a.session.onFoldWidgetClick(n,l),a.isFocused()||a.focus(),l.stop()}}),a.on("gutterdblclick",function(l){var r=a.renderer.$gutterLayer.getRegion(l);if(r=="foldWidgets"){var n=l.getDocumentPosition().row,i=a.session,t=i.getParentFoldRangeData(n,!0),e=t.range||t.firstRange;if(e){n=e.start.row;var o=i.getFoldAt(n,i.getLine(n).length,1);o?i.removeFold(o):(i.addFold("...",e),a.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}l.stop()}})}return p})();M.FoldHandler=d}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(_,M,F){var m=_("../lib/keys"),d=_("../lib/event"),p=(function(){function a(l){this.$editor=l,this.$data={editor:l},this.$handlers=[],this.setDefaultHandler(l.commands)}return a.prototype.setDefaultHandler=function(l){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=l,this.addKeyboardHandler(l,0)},a.prototype.setKeyboardHandler=function(l){var r=this.$handlers;if(r[r.length-1]!=l){for(;r[r.length-1]&&r[r.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(r[r.length-1]);this.addKeyboardHandler(l,1)}},a.prototype.addKeyboardHandler=function(l,r){if(l){typeof l=="function"&&!l.handleKeyboard&&(l.handleKeyboard=l);var n=this.$handlers.indexOf(l);n!=-1&&this.$handlers.splice(n,1),r==null?this.$handlers.push(l):this.$handlers.splice(r,0,l),n==-1&&l.attach&&l.attach(this.$editor)}},a.prototype.removeKeyboardHandler=function(l){var r=this.$handlers.indexOf(l);return r==-1?!1:(this.$handlers.splice(r,1),l.detach&&l.detach(this.$editor),!0)},a.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},a.prototype.getStatusText=function(){var l=this.$data,r=l.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(r,l)||""}).filter(Boolean).join(" ")},a.prototype.$callKeyboardHandlers=function(l,r,n,i){for(var t,e=!1,o=this.$editor.commands,s=this.$handlers.length;s--&&(t=this.$handlers[s].handleKeyboard(this.$data,l,r,n,i),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=o.exec(t.command,this.$editor,t.args,i),e&&i&&l!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&d.stopEvent(i),e))););return!e&&l==-1&&(t={command:"insertstring"},e=o.exec("insertstring",this.$editor,r)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},a.prototype.onCommandKey=function(l,r,n){var i=m.keyCodeToString(n);return this.$callKeyboardHandlers(r,i,n,l)},a.prototype.onTextInput=function(l){return this.$callKeyboardHandlers(-1,l)},a})();M.KeyBinding=p}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(_,M,F){var m=0,d=0,p=!1,a=!1,l=!1,r=[[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]],n=[[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]],i=0,t=1,e=0,o=1,s=2,h=3,c=4,w=5,y=6,v=7,f=8,$=9,E=10,A=11,L=12,R=13,C=14,b=15,g=16,u=17,S=18,x=[S,S,S,S,S,S,S,S,S,y,w,y,f,w,S,S,S,S,S,S,S,S,S,S,S,S,S,S,w,w,w,y,f,c,c,A,A,A,c,c,c,c,c,E,$,E,$,$,s,s,s,s,s,s,s,s,s,s,$,c,c,c,c,c,c,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,c,c,c,c,c,c,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,c,c,c,c,S,S,S,S,S,S,w,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,S,$,c,A,A,A,A,c,c,c,c,e,c,c,S,c,c,A,A,s,s,c,e,c,c,c,s,e,c,c,c,c,c],T=[f,f,f,f,f,f,f,f,f,f,f,S,S,S,e,o,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,f,w,R,C,b,g,u,$,A,A,A,A,A,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,$,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,f];function k(N,B,W,U){var G=m?n:r,V=null,X=null,Q=null,q=0,ie=null,se=null,ae=-1,re=null,pe=null,Be=[];if(!U)for(re=0,U=[];re<W;re++)U[re]=z(N[re]);for(d=m,p=!1,a=!1,l=!1,pe=0;pe<W;pe++){if(V=q,Be[pe]=X=O(N,U,Be,pe),q=G[V][X],ie=q&240,q&=15,B[pe]=Q=G[q][5],ie>0)if(ie==16){for(re=ae;re<pe;re++)B[re]=1;ae=-1}else ae=-1;if(se=G[q][6],se)ae==-1&&(ae=pe);else if(ae>-1){for(re=ae;re<pe;re++)B[re]=Q;ae=-1}U[pe]==w&&(B[pe]=0),d|=Q}if(l){for(re=0;re<W;re++)if(U[re]==y){B[re]=m;for(var Me=re-1;Me>=0&&U[Me]==f;Me--)B[Me]=m}}}function I(N,B,W){if(!(d<N)){if(N==1&&m==t&&!a){W.reverse();return}for(var U=W.length,G=0,V,X,Q,q;G<U;){if(B[G]>=N){for(V=G+1;V<U&&B[V]>=N;)V++;for(X=G,Q=V-1;X<Q;X++,Q--)q=W[X],W[X]=W[Q],W[Q]=q;G=V}G++}}}function O(N,B,W,U){var G=B[U],V,X,Q,q;switch(G){case e:case o:p=!1;case c:case h:return G;case s:return p?h:s;case v:return p=!0,o;case f:return c;case $:return U<1||U+1>=B.length||(V=W[U-1])!=s&&V!=h||(X=B[U+1])!=s&&X!=h?c:(p&&(X=h),X==V?X:c);case E:return V=U>0?W[U-1]:w,V==s&&U+1<B.length&&B[U+1]==s?s:c;case A:if(U>0&&W[U-1]==s)return s;if(p)return c;for(q=U+1,Q=B.length;q<Q&&B[q]==A;)q++;return q<Q&&B[q]==s?s:c;case L:for(Q=B.length,q=U+1;q<Q&&B[q]==L;)q++;if(q<Q){var ie=N[U],se=ie>=1425&&ie<=2303||ie==64286;if(V=B[q],se&&(V==o||V==v))return o}return U<1||(V=B[U-1])==w?c:W[U-1];case w:return p=!1,a=!0,m;case y:return l=!0,c;case R:case C:case g:case u:case b:p=!1;case S:return c}}function z(N){var B=N.charCodeAt(0),W=B>>8;return W==0?B>191?e:x[B]:W==5?/[\u0591-\u05f4]/.test(N)?o:e:W==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(N)?L:/[\u0660-\u0669\u066b-\u066c]/.test(N)?h:B==1642?A:/[\u06f0-\u06f9]/.test(N)?s:v:W==32&&B<=8287?T[B&255]:W==254&&B>=65136?v:c}M.L=e,M.R=o,M.EN=s,M.ON_R=3,M.AN=4,M.R_H=5,M.B=6,M.RLE=7,M.DOT="·",M.doBidiReorder=function(N,B,W){if(N.length<2)return{};var U=N.split(""),G=new Array(U.length),V=new Array(U.length),X=[];m=W?t:i,k(U,X,U.length,B);for(var Q=0;Q<G.length;G[Q]=Q,Q++);I(2,X,G),I(1,X,G);for(var Q=0;Q<G.length-1;Q++)B[Q]===h?X[Q]=M.AN:X[Q]===o&&(B[Q]>v&&B[Q]<R||B[Q]===c||B[Q]===S)?X[Q]=M.ON_R:Q>0&&U[Q-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(U[Q])&&(X[Q-1]=X[Q]=M.R_H,Q++);U[U.length-1]===M.DOT&&(X[U.length-1]=M.B),U[0]==="‫"&&(X[0]=M.RLE);for(var Q=0;Q<G.length;Q++)V[Q]=X[G[Q]];return{logicalFromVisual:G,bidiLevels:V}},M.hasBidiCharacters=function(N,B){for(var W=!1,U=0;U<N.length;U++)B[U]=z(N.charAt(U)),!W&&(B[U]==o||B[U]==v||B[U]==h)&&(W=!0);return W},M.getVisualFromLogicalIdx=function(N,B){for(var W=0;W<B.logicalFromVisual.length;W++)if(B.logicalFromVisual[W]==N)return W;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(_,M,F){var m=_("./lib/bidiutil"),d=_("./lib/lang"),p=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,a=(function(){function l(r){this.session=r,this.bidiMap={},this.currentRow=null,this.bidiUtil=m,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=p.test(r.getValue())}return l.prototype.isBidiRow=function(r,n,i){return this.seenBidi?(r!==this.currentRow&&(this.currentRow=r,this.updateRowLine(n,i),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},l.prototype.onChange=function(r){this.seenBidi?this.currentRow=null:r.action=="insert"&&p.test(r.lines.join(`
173
+ `))&&(this.seenBidi=!0,this.currentRow=null)},l.prototype.getDocumentRow=function(){var r=0,n=this.session.$screenRowCache;if(n.length){var i=this.session.$getRowCacheIndex(n,this.currentRow);i>=0&&(r=this.session.$docRowCache[i])}return r},l.prototype.getSplitIndex=function(){var r=0,n=this.session.$screenRowCache;if(n.length)for(var i,t=this.session.$getRowCacheIndex(n,this.currentRow);this.currentRow-r>0&&(i=this.session.$getRowCacheIndex(n,this.currentRow-r-1),i===t);)t=i,r++;else r=this.currentRow;return r},l.prototype.updateRowLine=function(r,n){r===void 0&&(r=this.getDocumentRow());var i=r===this.session.getLength()-1,t=i?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(r),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[r];e&&(n===void 0&&(n=this.getSplitIndex()),n>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[m.L],this.line=n<e.length?this.line.substring(e[n-1],e[n]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[n]),n==e.length&&(this.line+=this.showInvisibles?t:m.DOT))}else this.line+=this.showInvisibles?t:m.DOT;var o=this.session,s=0,h;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(c,w){return c===" "||o.isFullWidth(c.charCodeAt(0))?(h=c===" "?o.getScreenTabSize(w+s):2,s+=h-1,d.stringRepeat(m.DOT,h)):c}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==m.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},l.prototype.updateBidiMap=function(){var r=[];m.hasBidiCharacters(this.line,r)||this.isRtlDir?this.bidiMap=m.doBidiReorder(this.line,r,this.isRtlDir):this.bidiMap={}},l.prototype.markAsDirty=function(){this.currentRow=null},l.prototype.updateCharacterWidths=function(r){if(this.characterWidth!==r.$characterSize.width){this.fontMetrics=r;var n=this.characterWidth=r.$characterSize.width,i=r.$measureCharWidth("ה");this.charWidths[m.L]=this.charWidths[m.EN]=this.charWidths[m.ON_R]=n,this.charWidths[m.R]=this.charWidths[m.AN]=i,this.charWidths[m.R_H]=i*.45,this.charWidths[m.B]=this.charWidths[m.RLE]=0,this.currentRow=null}},l.prototype.setShowInvisibles=function(r){this.showInvisibles=r,this.currentRow=null},l.prototype.setEolChar=function(r){this.EOL=r},l.prototype.setContentWidth=function(r){this.contentWidth=r},l.prototype.isRtlLine=function(r){return this.$isRtl?!0:r!=null?this.session.getLine(r).charAt(0)==this.RLE:this.isRtlDir},l.prototype.setRtlDirection=function(r,n){for(var i=r.getCursorPosition(),t=r.selection.getSelectionAnchor().row;t<=i.row;t++)!n&&r.session.getLine(t).charAt(0)===r.session.$bidiHandler.RLE?r.session.doc.removeInLine(t,0,1):n&&r.session.getLine(t).charAt(0)!==r.session.$bidiHandler.RLE&&r.session.doc.insert({column:0,row:t},r.session.$bidiHandler.RLE)},l.prototype.getPosLeft=function(r){r-=this.wrapIndent;var n=this.line.charAt(0)===this.RLE?1:0,i=r>n?this.session.getOverwrite()?r:r-1:n,t=m.getVisualFromLogicalIdx(i,this.bidiMap),e=this.bidiMap.bidiLevels,o=0;!this.session.getOverwrite()&&r<=n&&e[t]%2!==0&&t++;for(var s=0;s<t;s++)o+=this.charWidths[e[s]];return!this.session.getOverwrite()&&r>n&&e[t]%2===0&&(o+=this.charWidths[e[t]]),this.wrapIndent&&(o+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(o+=this.rtlLineOffset),o},l.prototype.getSelections=function(r,n){var i=this.bidiMap,t=i.bidiLevels,e,o=[],s=0,h=Math.min(r,n)-this.wrapIndent,c=Math.max(r,n)-this.wrapIndent,w=!1,y=!1,v=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var f,$=0;$<t.length;$++)f=i.logicalFromVisual[$],e=t[$],w=f>=h&&f<c,w&&!y?v=s:!w&&y&&o.push({left:v,width:s-v}),s+=this.charWidths[e],y=w;if(w&&$===t.length&&o.push({left:v,width:s-v}),this.isRtlDir)for(var E=0;E<o.length;E++)o[E].left+=this.rtlLineOffset;return o},l.prototype.offsetToCol=function(i){this.isRtlDir&&(i-=this.rtlLineOffset);var n=0,i=Math.max(i,0),t=0,e=0,o=this.bidiMap.bidiLevels,s=this.charWidths[o[e]];for(this.wrapIndent&&(i-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);i>t+s/2;){if(t+=s,e===o.length-1){s=0;break}s=this.charWidths[o[++e]]}return e>0&&o[e-1]%2!==0&&o[e]%2===0?(i<t&&e--,n=this.bidiMap.logicalFromVisual[e]):e>0&&o[e-1]%2===0&&o[e]%2!==0?n=1+(i>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===o.length-1&&s===0&&o[e-1]%2===0||!this.isRtlDir&&e===0&&o[e]%2!==0?n=1+this.bidiMap.logicalFromVisual[e]:(e>0&&o[e-1]%2!==0&&s!==0&&e--,n=this.bidiMap.logicalFromVisual[e]),n===0&&this.isRtlDir&&n++,n+this.wrapIndent},l})();M.BidiHandler=a}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(_,M,F){var m=_("./lib/oop"),d=_("./lib/lang"),p=_("./lib/event_emitter").EventEmitter,a=_("./range").Range,l=(function(){function r(n){this.session=n,this.doc=n.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var i=this;this.cursor.on("change",function(t){i.$cursorChanged=!0,i.$silent||i._emit("changeCursor"),!i.$isEmpty&&!i.$silent&&i._emit("changeSelection"),!i.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(i.$desiredColumn=null)}),this.anchor.on("change",function(){i.$anchorChanged=!0,!i.$isEmpty&&!i.$silent&&i._emit("changeSelection")})}return r.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},r.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},r.prototype.getCursor=function(){return this.lead.getPosition()},r.prototype.setAnchor=function(n,i){this.$isEmpty=!1,this.anchor.setPosition(n,i)},r.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},r.prototype.getSelectionLead=function(){return this.lead.getPosition()},r.prototype.isBackwards=function(){var n=this.anchor,i=this.lead;return n.row>i.row||n.row==i.row&&n.column>i.column},r.prototype.getRange=function(){var n=this.anchor,i=this.lead;return this.$isEmpty?a.fromPoints(i,i):this.isBackwards()?a.fromPoints(i,n):a.fromPoints(n,i)},r.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},r.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},r.prototype.setRange=function(n,i){var t=i?n.end:n.start,e=i?n.start:n.end;this.$setSelection(t.row,t.column,e.row,e.column)},r.prototype.$setSelection=function(n,i,t,e){if(!this.$silent){var o=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(n,i),this.cursor.setPosition(t,e),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||o!=this.$isEmpty||s)&&this._emit("changeSelection")}},r.prototype.$moveSelection=function(n){var i=this.lead;this.$isEmpty&&this.setSelectionAnchor(i.row,i.column),n.call(this)},r.prototype.selectTo=function(n,i){this.$moveSelection(function(){this.moveCursorTo(n,i)})},r.prototype.selectToPosition=function(n){this.$moveSelection(function(){this.moveCursorToPosition(n)})},r.prototype.moveTo=function(n,i){this.clearSelection(),this.moveCursorTo(n,i)},r.prototype.moveToPosition=function(n){this.clearSelection(),this.moveCursorToPosition(n)},r.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},r.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},r.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},r.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},r.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},r.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},r.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},r.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},r.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},r.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},r.prototype.getWordRange=function(n,i){if(typeof i>"u"){var t=n||this.lead;n=t.row,i=t.column}return this.session.getWordRange(n,i)},r.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},r.prototype.selectAWord=function(){var n=this.getCursor(),i=this.session.getAWordRange(n.row,n.column);this.setSelectionRange(i)},r.prototype.getLineRange=function(n,i){var t=typeof n=="number"?n:this.lead.row,e,o=this.session.getFoldLine(t);return o?(t=o.start.row,e=o.end.row):e=t,i===!0?new a(t,0,e,this.session.getLine(e).length):new a(t,0,e+1,0)},r.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},r.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},r.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},r.prototype.wouldMoveIntoSoftTab=function(n,i,t){var e=n.column,o=n.column+i;return t<0&&(e=n.column-i,o=n.column),this.session.isTabStop(n)&&this.doc.getLine(n.row).slice(e,o).split(" ").length-1==i},r.prototype.moveCursorLeft=function(){var n=this.lead.getPosition(),i;if(i=this.session.getFoldAt(n.row,n.column,-1))this.moveCursorTo(i.start.row,i.start.column);else if(n.column===0)n.row>0&&this.moveCursorTo(n.row-1,this.doc.getLine(n.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(n,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},r.prototype.moveCursorRight=function(){var n=this.lead.getPosition(),i;if(i=this.session.getFoldAt(n.row,n.column,1))this.moveCursorTo(i.end.row,i.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 t=this.session.getTabSize(),n=this.lead;this.wouldMoveIntoSoftTab(n,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},r.prototype.moveCursorLineStart=function(){var n=this.lead.row,i=this.lead.column,t=this.session.documentToScreenRow(n,i),e=this.session.screenToDocumentPosition(t,0),o=this.session.getDisplayLine(n,null,e.row,e.column),s=o.match(/^\s*/);s[0].length!=i&&!this.session.$useEmacsStyleLineStart&&(e.column+=s[0].length),this.moveCursorToPosition(e)},r.prototype.moveCursorLineEnd=function(){var n=this.lead,i=this.session.getDocumentLastRowColumnPosition(n.row,n.column);if(this.lead.column==i.column){var t=this.session.getLine(i.row);if(i.column==t.length){var e=t.search(/\s+$/);e>0&&(i.column=e)}}this.moveCursorTo(i.row,i.column)},r.prototype.moveCursorFileEnd=function(){var n=this.doc.getLength()-1,i=this.doc.getLine(n).length;this.moveCursorTo(n,i)},r.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},r.prototype.moveCursorLongWordRight=function(){var n=this.lead.row,i=this.lead.column,t=this.doc.getLine(n),e=t.substring(i);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var o=this.session.getFoldAt(n,i,1);if(o){this.moveCursorTo(o.end.row,o.end.column);return}if(this.session.nonTokenRe.exec(e)&&(i+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(i)),i>=t.length){this.moveCursorTo(n,t.length),this.moveCursorRight(),n<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(i+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(n,i)},r.prototype.moveCursorLongWordLeft=function(){var n=this.lead.row,i=this.lead.column,t;if(t=this.session.getFoldAt(n,i,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(n,i,-1);e==null&&(e=this.doc.getLine(n).substring(0,i));var o=d.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(o)&&(i-=this.session.nonTokenRe.lastIndex,o=o.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),i<=0){this.moveCursorTo(n,0),this.moveCursorLeft(),n>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(o)&&(i-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(n,i)},r.prototype.$shortWordEndIndex=function(n){var i=0,t,e=/\s/,o=this.session.tokenRe;if(o.lastIndex=0,this.session.tokenRe.exec(n))i=this.session.tokenRe.lastIndex;else{for(;(t=n[i])&&e.test(t);)i++;if(i<1){for(o.lastIndex=0;(t=n[i])&&!o.test(t);)if(o.lastIndex=0,i++,e.test(t))if(i>2){i--;break}else{for(;(t=n[i])&&e.test(t);)i++;if(i>2)break}}}return o.lastIndex=0,i},r.prototype.moveCursorShortWordRight=function(){var n=this.lead.row,i=this.lead.column,t=this.doc.getLine(n),e=t.substring(i),o=this.session.getFoldAt(n,i,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(i==t.length){var s=this.doc.getLength();do n++,e=this.doc.getLine(n);while(n<s&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),i=0}var h=this.$shortWordEndIndex(e);this.moveCursorTo(n,i+h)},r.prototype.moveCursorShortWordLeft=function(){var n=this.lead.row,i=this.lead.column,t;if(t=this.session.getFoldAt(n,i,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(n).substring(0,i);if(i===0){do n--,e=this.doc.getLine(n);while(n>0&&/^\s*$/.test(e));i=e.length,/\s+$/.test(e)||(e="")}var o=d.stringReverse(e),s=this.$shortWordEndIndex(o);return this.moveCursorTo(n,i-s)},r.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},r.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},r.prototype.moveCursorBy=function(n,i){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(i===0&&(n!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),n!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var o=this.session.lineWidgets[this.lead.row];n<0?n-=o.rowsAbove||0:n>0&&(n+=o.rowCount-(o.rowsAbove||0))}var s=this.session.screenToDocumentPosition(t.row+n,t.column,e);n!==0&&i===0&&s.row===this.lead.row&&(s.column,this.lead.column),this.moveCursorTo(s.row,s.column+i,i===0)},r.prototype.moveCursorToPosition=function(n){this.moveCursorTo(n.row,n.column)},r.prototype.moveCursorTo=function(n,i,t){var e=this.session.getFoldAt(n,i,1);e&&(n=e.start.row,i=e.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(n);/[\uDC00-\uDFFF]/.test(o.charAt(i))&&o.charAt(i-1)&&(this.lead.row==n&&this.lead.column==i+1?i=i-1:i=i+1),this.lead.setPosition(n,i),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},r.prototype.moveCursorToScreen=function(n,i,t){var e=this.session.screenToDocumentPosition(n,i);this.moveCursorTo(e.row,e.column,t)},r.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},r.prototype.fromOrientedRange=function(n){this.setSelectionRange(n,n.cursor==n.start),this.$desiredColumn=n.desiredColumn||this.$desiredColumn},r.prototype.toOrientedRange=function(n){var i=this.getRange();return n?(n.start.column=i.start.column,n.start.row=i.start.row,n.end.column=i.end.column,n.end.row=i.end.row):n=i,n.cursor=this.isBackwards()?n.start:n.end,n.desiredColumn=this.$desiredColumn,n},r.prototype.getRangeOfMovements=function(n){var i=this.getCursor();try{n(this);var t=this.getCursor();return a.fromPoints(i,t)}catch{return a.fromPoints(i,i)}finally{this.moveCursorToPosition(i)}},r.prototype.toJSON=function(){if(this.rangeCount)var n=this.ranges.map(function(i){var t=i.clone();return t.isBackwards=i.cursor==i.start,t});else{var n=this.getRange();n.isBackwards=this.isBackwards()}return n},r.prototype.fromJSON=function(n){if(n.start==null)if(this.rangeList&&n.length>1){this.toSingleRange(n[0]);for(var i=n.length;i--;){var t=a.fromPoints(n[i].start,n[i].end);n[i].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else n=n[0];this.rangeList&&this.toSingleRange(n),this.setSelectionRange(n,n.isBackwards)},r.prototype.isEqual=function(n){if((n.length||this.rangeCount)&&n.length!=this.rangeCount)return!1;if(!n.length||!this.ranges)return this.getRange().isEqual(n);for(var i=this.ranges.length;i--;)if(!this.ranges[i].isEqual(n[i]))return!1;return!0},r})();l.prototype.setSelectionAnchor=l.prototype.setAnchor,l.prototype.getSelectionAnchor=l.prototype.getAnchor,l.prototype.setSelectionRange=l.prototype.setRange,m.implement(l.prototype,p),M.Selection=l}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(_,M,F){var m=_("./lib/report_error").reportError,d=2e3,p=(function(){function a(l){this.splitRegex,this.states=l,this.regExps={},this.matchMappings={};for(var r in this.states){for(var n=this.states[r],i=[],t=0,e=this.matchMappings[r]={defaultToken:"text"},o="g",s=[],h=0;h<n.length;h++){var c=n[h];if(c.defaultToken&&(e.defaultToken=c.defaultToken),c.caseInsensitive&&o.indexOf("i")===-1&&(o+="i"),c.unicode&&o.indexOf("u")===-1&&(o+="u"),c.regex!=null){c.regex instanceof RegExp&&(c.regex=c.regex.toString().slice(1,-1));var w=c.regex,y=new RegExp("(?:("+w+")|(.))").exec("a").length-2;Array.isArray(c.token)?c.token.length==1||y==1?c.token=c.token[0]:y-1!=c.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:c,groupCount:y-1}),c.token=c.token[0]):(c.tokenArray=c.token,c.token=null,c.onMatch=this.$arrayTokens):typeof c.token=="function"&&!c.onMatch&&(y>1?c.onMatch=this.$applyToken:c.onMatch=c.token),y>1&&(/\\\d/.test(c.regex)?w=c.regex.replace(/\\([0-9]+)/g,function(v,f){return"\\"+(parseInt(f,10)+t+1)}):(y=1,w=this.removeCapturingGroups(c.regex)),!c.splitRegex&&typeof c.token!="string"&&s.push(c)),e[t]=h,t+=y,i.push(w),c.onMatch||(c.onMatch=null)}}i.length||(e[0]=0,i.push("$")),s.forEach(function(v){v.splitRegex=this.createSplitterRegexp(v.regex,o)},this),this.regExps[r]=new RegExp("("+i.join(")|(")+")|($)",o)}}return a.prototype.$setMaxTokenCount=function(l){d=l|0},a.prototype.$applyToken=function(l){var r=this.splitRegex.exec(l).slice(1),n=this.token.apply(this,r);if(typeof n=="string")return[{type:n,value:l}];for(var i=[],t=0,e=n.length;t<e;t++)r[t]&&(i[i.length]={type:n[t],value:r[t]});return i},a.prototype.$arrayTokens=function(l){if(!l)return[];var r=this.splitRegex.exec(l);if(!r)return"text";for(var n=[],i=this.tokenArray,t=0,e=i.length;t<e;t++)r[t+1]&&(n[n.length]={type:i[t],value:r[t+1]});return n},a.prototype.removeCapturingGroups=function(l){var r=l.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(n,i){return i?"(?:":n});return r},a.prototype.createSplitterRegexp=function(l,r){if(l.indexOf("(?=")!=-1){var n=0,i=!1,t={};l.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,o,s,h,c,w){return i?i=c!="]":c?i=!0:h?(n==t.stack&&(t.end=w+1,t.stack=-1),n--):s&&(n++,s.length!=1&&(t.stack=n,t.start=w)),e}),t.end!=null&&/^\)*$/.test(l.substr(t.end))&&(l=l.substring(0,t.start)+l.substr(t.end))}return l.charAt(0)!="^"&&(l="^"+l),l.charAt(l.length-1)!="$"&&(l+="$"),new RegExp(l,(r||"").replace("g",""))},a.prototype.getLineTokens=function(l,r){if(r&&typeof r!="string"){var n=r.slice(0);r=n[0],r==="#tmp"&&(n.shift(),r=n.shift())}else var n=[];var i=r||"start",t=this.states[i];t||(i="start",t=this.states[i]);var e=this.matchMappings[i],o=this.regExps[i];o.lastIndex=0;for(var s,h=[],c=0,w=0,y={type:null,value:""};s=o.exec(l);){var v=e.defaultToken,f=null,$=s[0],E=o.lastIndex;if(E-$.length>c){var A=l.substring(c,E-$.length);y.type==v?y.value+=A:(y.type&&h.push(y),y={type:v,value:A})}for(var L=0;L<s.length-2;L++)if(s[L+1]!==void 0){f=t[e[L]],f.onMatch?v=f.onMatch($,i,n,l):v=f.token,f.next&&(typeof f.next=="string"?i=f.next:i=f.next(i,n),t=this.states[i],t||(this.reportError("state doesn't exist",i),i="start",t=this.states[i]),e=this.matchMappings[i],c=E,o=this.regExps[i],o.lastIndex=E),f.consumeLineEnd&&(c=E);break}if($){if(typeof v=="string")(!f||f.merge!==!1)&&y.type===v?y.value+=$:(y.type&&h.push(y),y={type:v,value:$});else if(v){y.type&&h.push(y),y={type:null,value:""};for(var L=0;L<v.length;L++)h.push(v[L])}}if(c==l.length)break;if(c=E,w++>d){for(w>2*l.length&&this.reportError("infinite loop with in ace tokenizer",{startState:r,line:l});c<l.length;)y.type&&h.push(y),y={value:l.substring(c,c+=500),type:"overflow"};i="start",n=[];break}}return y.type&&h.push(y),n.length>1&&n[0]!==i&&n.unshift("#tmp",i),{tokens:h,state:n.length?n:i}},a})();p.prototype.reportError=m,M.Tokenizer=p}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(_,M,F){var m=_("../lib/deep_copy").deepCopy,d;d=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(l,r){if(!r){for(var n in l)this.$rules[n]=l[n];return}for(var n in l){for(var i=l[n],t=0;t<i.length;t++){var e=i[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(r)!==0&&(e.next=r+e.next),e.nextState&&e.nextState.indexOf(r)!==0&&(e.nextState=r+e.nextState))}this.$rules[r+n]=i}},this.getRules=function(){return this.$rules},this.embedRules=function(l,r,n,i,t){var e=typeof l=="function"?new l().getRules():l;if(i)for(var o=0;o<i.length;o++)i[o]=r+i[o];else{i=[];for(var s in e)i.push(r+s)}if(this.addRules(e,r),n)for(var h=Array.prototype[t?"push":"unshift"],o=0;o<i.length;o++)h.apply(this.$rules[i[o]],m(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(r)},this.getEmbeds=function(){return this.$embeds};var p=function(l,r){return(l!="start"||r.length)&&r.unshift(this.nextState,l),this.nextState},a=function(l,r){return r.shift(),r.shift()||"start"};this.normalizeRules=function(){var l=0,r=this.$rules;function n(i){var t=r[i];t.processed=!0;for(var e=0;e<t.length;e++){var o=t[e],s=null;Array.isArray(o)&&(s=o,o={}),!o.regex&&o.start&&(o.regex=o.start,o.next||(o.next=[]),o.next.push({defaultToken:o.token},{token:o.token+".end",regex:o.end||o.start,next:"pop"}),o.token=o.token+".start",o.push=!0);var h=o.next||o.push;if(h&&Array.isArray(h)){var c=o.stateName;c||(c=o.token,typeof c!="string"&&(c=c[0]||""),r[c]&&(c+=l++)),r[c]=h,o.next=c,n(c)}else h=="pop"&&(o.next=a);if(o.push&&(o.nextState=o.next||o.push,o.next=p,delete o.push),o.rules)for(var w in o.rules)r[w]?r[w].push&&r[w].push.apply(r[w],o.rules[w]):r[w]=o.rules[w];var y=typeof o=="string"?o:o.include;if(y&&(y==="$self"&&(y="start"),Array.isArray(y)?s=y.map(function(f){return r[f]}):s=r[y]),s){var v=[e,1].concat(s);o.noEscape&&(v=v.filter(function(f){return!f.next})),t.splice.apply(t,v),e--}o.keywordMap&&(o.token=this.createKeywordMapper(o.keywordMap,o.defaultToken||"text",o.caseInsensitive),delete o.defaultToken)}}Object.keys(r).forEach(n,this)},this.createKeywordMapper=function(l,r,n,i){var t=Object.create(null);return this.$keywordList=[],Object.keys(l).forEach(function(e){for(var o=l[e],s=o.split(i||"|"),h=s.length;h--;){var c=s[h];this.$keywordList.push(c),n&&(c=c.toLowerCase()),t[c]=e}},this),l=null,n?function(e){return t[e.toLowerCase()]||r}:function(e){return t[e]||r}},this.getKeywords=function(){return this.$keywords}}).call(d.prototype),M.TextHighlightRules=d}),ace.define("ace/mode/behaviour",["require","exports","module"],function(_,M,F){var m;m=function(){this.$behaviours={}},(function(){this.add=function(d,p,a){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[d]:this.$behaviours[d]={}}this.$behaviours[d][p]=a},this.addBehaviours=function(d){for(var p in d)for(var a in d[p])this.add(p,a,d[p][a])},this.remove=function(d){this.$behaviours&&this.$behaviours[d]&&delete this.$behaviours[d]},this.inherit=function(d,p){if(typeof d=="function")var a=new d().getBehaviours(p);else var a=d.getBehaviours(p);this.addBehaviours(a)},this.getBehaviours=function(d){if(d){for(var p={},a=0;a<d.length;a++)this.$behaviours[d[a]]&&(p[d[a]]=this.$behaviours[d[a]]);return p}else return this.$behaviours}}).call(m.prototype),M.Behaviour=m}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(_,M,F){var m=_("./range").Range,d=(function(){function p(a,l,r){this.$session=a,this.$row=l,this.$rowTokens=a.getTokens(l);var n=a.getTokenAt(l,r);this.$tokenIndex=n?n.index:-1}return p.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},p.prototype.stepForward=function(){this.$tokenIndex+=1;for(var a;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},p.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},p.prototype.getCurrentTokenRow=function(){return this.$row},p.prototype.getCurrentTokenColumn=function(){var a=this.$rowTokens,l=this.$tokenIndex,r=a[l].start;if(r!==void 0)return r;for(r=0;l>0;)l-=1,r+=a[l].value.length;return r},p.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},p.prototype.getCurrentTokenRange=function(){var a=this.$rowTokens[this.$tokenIndex],l=this.getCurrentTokenColumn();return new m(this.$row,l,this.$row,l+a.value.length)},p})();M.TokenIterator=d}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(_,M,F){var m=_("../../lib/oop"),d=_("../behaviour").Behaviour,p=_("../../token_iterator").TokenIterator,a=_("../../lib/lang"),l=["text","paren.rparen","rparen","paren","punctuation.operator"],r=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],n,i={},t={'"':'"',"'":"'"},e=function(h){var c=-1;if(h.multiSelect&&(c=h.selection.index,i.rangeCount!=h.multiSelect.rangeCount&&(i={rangeCount:h.multiSelect.rangeCount})),i[c])return n=i[c];n=i[c]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},o=function(h,c,w,y){var v=h.end.row-h.start.row;return{text:w+c+y,selection:[0,h.start.column+1,v,h.end.column+(v?0:1)]}},s;s=function(h){h=h||{},this.add("braces","insertion",function(c,w,y,v,f){var $=y.getCursorPosition(),E=v.doc.getLine($.row);if(f=="{"){e(y);var A=y.getSelectionRange(),L=v.doc.getTextRange(A),R=v.getTokenAt($.row,$.column);if(L!==""&&L!=="{"&&y.getWrapBehavioursEnabled())return o(A,L,"{","}");if(R&&/(?:string)\.quasi|\.xml/.test(R.type)){var C=[/tag\-(?:open|name)/,/attribute\-name/];return C.some(function(k){return k.test(R.type)})||/(string)\.quasi/.test(R.type)&&R.value[$.column-R.start-1]!=="$"?void 0:(s.recordAutoInsert(y,v,"}"),{text:"{}",selection:[1,1]})}else if(s.isSaneInsertion(y,v))return/[\]\}\)]/.test(E[$.column])||y.inMultiSelectMode||h.braces?(s.recordAutoInsert(y,v,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(y,v,"{"),{text:"{",selection:[1,1]})}else if(f=="}"){e(y);var b=E.substring($.column,$.column+1);if(b=="}"){var g=v.$findOpeningBracket("}",{column:$.column+1,row:$.row});if(g!==null&&s.isAutoInsertedClosing($,E,f))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(f==`
174
+ `||f==`\r
175
+ `){e(y);var u="";s.isMaybeInsertedClosing($,E)&&(u=a.stringRepeat("}",n.maybeInsertedBrackets),s.clearMaybeInsertedClosing());var b=E.substring($.column,$.column+1);if(b==="}"){var S=v.findMatchingBracket({row:$.row,column:$.column+1},"}");if(!S)return null;var x=this.$getIndent(v.getLine(S.row))}else if(u)var x=this.$getIndent(E);else{s.clearMaybeInsertedClosing();return}var T=x+v.getTabString();return{text:`
176
+ `+T+`
177
+ `+x+u,selection:[1,T.length,1,T.length]}}else s.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(c,w,y,v,f){var $=v.doc.getTextRange(f);if(!f.isMultiLine()&&$=="{"){e(y);var E=v.doc.getLine(f.start.row),A=E.substring(f.end.column,f.end.column+1);if(A=="}")return f.end.column++,f;n.maybeInsertedBrackets--}}),this.add("parens","insertion",function(c,w,y,v,f){if(f=="("){e(y);var $=y.getSelectionRange(),E=v.doc.getTextRange($);if(E!==""&&y.getWrapBehavioursEnabled())return o($,E,"(",")");if(s.isSaneInsertion(y,v))return s.recordAutoInsert(y,v,")"),{text:"()",selection:[1,1]}}else if(f==")"){e(y);var A=y.getCursorPosition(),L=v.doc.getLine(A.row),R=L.substring(A.column,A.column+1);if(R==")"){var C=v.$findOpeningBracket(")",{column:A.column+1,row:A.row});if(C!==null&&s.isAutoInsertedClosing(A,L,f))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(c,w,y,v,f){var $=v.doc.getTextRange(f);if(!f.isMultiLine()&&$=="("){e(y);var E=v.doc.getLine(f.start.row),A=E.substring(f.start.column+1,f.start.column+2);if(A==")")return f.end.column++,f}}),this.add("brackets","insertion",function(c,w,y,v,f){if(f=="["){e(y);var $=y.getSelectionRange(),E=v.doc.getTextRange($);if(E!==""&&y.getWrapBehavioursEnabled())return o($,E,"[","]");if(s.isSaneInsertion(y,v))return s.recordAutoInsert(y,v,"]"),{text:"[]",selection:[1,1]}}else if(f=="]"){e(y);var A=y.getCursorPosition(),L=v.doc.getLine(A.row),R=L.substring(A.column,A.column+1);if(R=="]"){var C=v.$findOpeningBracket("]",{column:A.column+1,row:A.row});if(C!==null&&s.isAutoInsertedClosing(A,L,f))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(c,w,y,v,f){var $=v.doc.getTextRange(f);if(!f.isMultiLine()&&$=="["){e(y);var E=v.doc.getLine(f.start.row),A=E.substring(f.start.column+1,f.start.column+2);if(A=="]")return f.end.column++,f}}),this.add("string_dquotes","insertion",function(c,w,y,v,f){var $=v.$mode.$quotes||t;if(f.length==1&&$[f]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(f)!=-1)return;e(y);var E=f,A=y.getSelectionRange(),L=v.doc.getTextRange(A);if(L!==""&&(L.length!=1||!$[L])&&y.getWrapBehavioursEnabled())return o(A,L,E,E);if(!L){var R=y.getCursorPosition(),C=v.doc.getLine(R.row),b=C.substring(R.column-1,R.column),g=C.substring(R.column,R.column+1),u=v.getTokenAt(R.row,R.column),S=v.getTokenAt(R.row,R.column+1);if(b=="\\"&&u&&/escape/.test(u.type))return null;var x=u&&/string|escape/.test(u.type),T=!S||/string|escape/.test(S.type),k;if(g==E)k=x!==T,k&&/string\.end/.test(S.type)&&(k=!1);else{if(x&&!T||x&&T)return null;var I=v.$mode.tokenRe;I.lastIndex=0;var O=I.test(b);I.lastIndex=0;var z=I.test(g),N=v.$mode.$pairQuotesAfter,B=N&&N[E]&&N[E].test(b);if(!B&&O||z||g&&!/[\s;,.})\]\\]/.test(g))return null;var W=C[R.column-2];if(b==E&&(W==E||I.test(W)))return null;k=!0}return{text:k?E+E:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(c,w,y,v,f){var $=v.$mode.$quotes||t,E=v.doc.getTextRange(f);if(!f.isMultiLine()&&$.hasOwnProperty(E)){e(y);var A=v.doc.getLine(f.start.row),L=A.substring(f.start.column+1,f.start.column+2);if(L==E)return f.end.column++,f}}),h.closeDocComment!==!1&&this.add("doc comment end","insertion",function(c,w,y,v,f){if(c==="doc-start"&&(f===`
178
+ `||f===`\r
179
+ `)&&y.selection.isEmpty()){var $=y.getCursorPosition();if($.column===0)return;for(var E=v.doc.getLine($.row),A=v.doc.getLine($.row+1),L=v.getTokens($.row),R=0,C=0;C<L.length;C++){R+=L[C].value.length;var b=L[C];if(R>=$.column){if(R===$.column){if(!/\.doc/.test(b.type))return;if(/\*\//.test(b.value)){var g=L[C+1];if(!g||!/\.doc/.test(g.type))return}}var u=$.column-(R-b.value.length),S=b.value.indexOf("*/"),x=b.value.indexOf("/**",S>-1?S+2:0);if(x!==-1&&u>x&&u<x+3||S!==-1&&x!==-1&&u>=S&&u<=x||!/\.doc/.test(b.type))return;break}}var T=this.$getIndent(E);if(/\s*\*/.test(A))return/^\s*\*/.test(E)?{text:f+T+"* ",selection:[1,2+T.length,1,2+T.length]}:{text:f+T+" * ",selection:[1,3+T.length,1,3+T.length]};if(/\/\*\*/.test(E.substring(0,$.column)))return{text:f+T+" * "+f+" "+T+"*/",selection:[1,4+T.length,1,4+T.length]}}})},s.isSaneInsertion=function(h,c){var w=h.getCursorPosition(),y=new p(c,w.row,w.column);if(!this.$matchTokenType(y.getCurrentToken()||"text",l)){if(/[)}\]]/.test(h.session.getLine(w.row)[w.column]))return!0;var v=new p(c,w.row,w.column+1);if(!this.$matchTokenType(v.getCurrentToken()||"text",l))return!1}return y.stepForward(),y.getCurrentTokenRow()!==w.row||this.$matchTokenType(y.getCurrentToken()||"text",r)},s.$matchTokenType=function(h,c){return c.indexOf(h.type||h)>-1},s.recordAutoInsert=function(h,c,w){var y=h.getCursorPosition(),v=c.doc.getLine(y.row);this.isAutoInsertedClosing(y,v,n.autoInsertedLineEnd[0])||(n.autoInsertedBrackets=0),n.autoInsertedRow=y.row,n.autoInsertedLineEnd=w+v.substr(y.column),n.autoInsertedBrackets++},s.recordMaybeInsert=function(h,c,w){var y=h.getCursorPosition(),v=c.doc.getLine(y.row);this.isMaybeInsertedClosing(y,v)||(n.maybeInsertedBrackets=0),n.maybeInsertedRow=y.row,n.maybeInsertedLineStart=v.substr(0,y.column)+w,n.maybeInsertedLineEnd=v.substr(y.column),n.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(h,c,w){return n.autoInsertedBrackets>0&&h.row===n.autoInsertedRow&&w===n.autoInsertedLineEnd[0]&&c.substr(h.column)===n.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(h,c){return n.maybeInsertedBrackets>0&&h.row===n.maybeInsertedRow&&c.substr(h.column)===n.maybeInsertedLineEnd&&c.substr(0,h.column)==n.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){n.autoInsertedLineEnd=n.autoInsertedLineEnd.substr(1),n.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){n&&(n.maybeInsertedBrackets=0,n.maybeInsertedRow=-1)},m.inherits(s,d),M.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(_,M,F){for(var m=[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],d=0,p=[],a=0;a<m.length;a+=2)p.push(d+=m[a]),m[a+1]&&p.push(45,d+=m[a+1]);M.wordChars=String.fromCharCode.apply(null,p)}),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(_,M,F){var m=_("../config"),d=_("../tokenizer").Tokenizer,p=_("./text_highlight_rules").TextHighlightRules,a=_("./behaviour/cstyle").CstyleBehaviour,l=_("../unicode"),r=_("../lib/lang"),n=_("../token_iterator").TokenIterator,i=_("../range").Range,t;t=function(){this.HighlightRules=p},(function(){this.$defaultBehaviour=new a,this.tokenRe=new RegExp("^["+l.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+l.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new d(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,o,s,h){var c=o.doc,w=!0,y=!0,v=1/0,f=o.getTabSize(),$=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var L=this.lineCommentStart.map(r.escapeRegExp).join("|"),E=this.lineCommentStart[0];else var L=r.escapeRegExp(this.lineCommentStart),E=this.lineCommentStart;L=new RegExp("^(\\s*)(?:"+L+") ?"),$=o.getUseSoftTabs();var b=function(z,N){var B=z.match(L);if(B){var W=B[1].length,U=B[0].length;!S(z,W,U)&&B[0][U-1]==" "&&U--,c.removeInLine(N,W,U)}},u=E+" ",C=function(z,N){(!w||/\S/.test(z))&&(S(z,v,v)?c.insertInLine({row:N,column:v},u):c.insertInLine({row:N,column:v},E))},g=function(z,N){return L.test(z)},S=function(z,N,B){for(var W=0;N--&&z.charAt(N)==" ";)W++;if(W%f!=0)return!1;for(var W=0;z.charAt(B++)==" ";)W++;return f>2?W%f!=f-1:W%f==0}}else{if(!this.blockComment)return!1;var E=this.blockComment.start,A=this.blockComment.end,L=new RegExp("^(\\s*)(?:"+r.escapeRegExp(E)+")"),R=new RegExp("(?:"+r.escapeRegExp(A)+")\\s*$"),C=function(k,I){g(k,I)||(!w||/\S/.test(k))&&(c.insertInLine({row:I,column:k.length},A),c.insertInLine({row:I,column:v},E))},b=function(k,I){var O;(O=k.match(R))&&c.removeInLine(I,k.length-O[0].length,k.length),(O=k.match(L))&&c.removeInLine(I,O[1].length,O[0].length)},g=function(k,I){if(L.test(k))return!0;for(var O=o.getTokens(I),z=0;z<O.length;z++)if(O[z].type==="comment")return!0}}function x(k){for(var I=s;I<=h;I++)k(c.getLine(I),I)}var T=1/0;x(function(k,I){var O=k.search(/\S/);O!==-1?(O<v&&(v=O),y&&!g(k,I)&&(y=!1)):T>k.length&&(T=k.length)}),v==1/0&&(v=T,w=!1,y=!1),$&&v%f!=0&&(v=Math.floor(v/f)*f),x(y?b:C)},this.toggleBlockComment=function(e,o,s,h){var c=this.blockComment;if(c){!c.start&&c[0]&&(c=c[0]);var w=new n(o,h.row,h.column),y=w.getCurrentToken();o.selection;var v=o.selection.toOrientedRange(),f,$;if(y&&/comment/.test(y.type)){for(var E,A;y&&/comment/.test(y.type);){var L=y.value.indexOf(c.start);if(L!=-1){var R=w.getCurrentTokenRow(),C=w.getCurrentTokenColumn()+L;E=new i(R,C,R,C+c.start.length);break}y=w.stepBackward()}for(var w=new n(o,h.row,h.column),y=w.getCurrentToken();y&&/comment/.test(y.type);){var L=y.value.indexOf(c.end);if(L!=-1){var R=w.getCurrentTokenRow(),C=w.getCurrentTokenColumn()+L;A=new i(R,C,R,C+c.end.length);break}y=w.stepForward()}A&&o.remove(A),E&&(o.remove(E),f=E.start.row,$=-c.start.length)}else $=c.start.length,f=s.start.row,o.insert(s.end,c.end),o.insert(s.start,c.start);v.start.row==f&&(v.start.column+=$),v.end.row==f&&(v.end.column+=$),o.selection.fromOrientedRange(v)}},this.getNextLineIndent=function(e,o,s){return this.$getIndent(o)},this.checkOutdent=function(e,o,s){return!1},this.autoOutdent=function(e,o,s){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var o in e)if(e[o]){var s=e[o],h=s.prototype.$id,c=m.$modes[h];c||(m.$modes[h]=c=new s),m.$modes[o]||(m.$modes[o]=c),this.$embeds.push(o),this.$modes[o]=c}for(var w=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],y=function(f){(function($){var E=w[f],A=$[E];$[w[f]]=function(){return this.$delegator(E,arguments,A)}})(v)},v=this,o=0;o<w.length;o++)y(o)},this.$delegator=function(e,o,s){var h=o[0]||"start";if(typeof h!="string"){if(Array.isArray(h[2])){var c=h[2][h[2].length-1],w=this.$modes[c];if(w)return w[e].apply(w,[h[1]].concat([].slice.call(o,1)))}h=h[0]||"start"}for(var y=0;y<this.$embeds.length;y++)if(this.$modes[this.$embeds[y]]){var v=h.split(this.$embeds[y]);if(!v[0]&&v[1]){o[0]=v[1];var w=this.$modes[this.$embeds[y]];return w[e].apply(w,o)}}var f=s.apply(this,o);return s?f:void 0},this.transformAction=function(e,o,s,h,c){if(this.$behaviour){var w=this.$behaviour.getBehaviours();for(var y in w)if(w[y][o]){var v=w[y][o].apply(this,arguments);if(v)return v}}},this.getKeywords=function(e){if(!this.completionKeywords){var o=this.$tokenizer.rules,s=[];for(var h in o)for(var c=o[h],w=0,y=c.length;w<y;w++)if(typeof c[w].token=="string")/keyword|support|storage/.test(c[w].token)&&s.push(c[w].regex);else if(typeof c[w].token=="object"){for(var v=0,f=c[w].token.length;v<f;v++)if(/keyword|support|storage/.test(c[w].token[v])){var h=c[w].regex.match(/\(.+?\)/g)[v];s.push(h.substr(1,h.length-2))}}this.completionKeywords=s}return e?s.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,o,s,h){var c=this.$keywordList||this.$createKeywordList();return c.map(function(w){return{name:w,value:w,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(t.prototype),M.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(_,M,F){var m=_("./lib/dom"),d=(function(){function p(a){this.session=a,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 p.prototype.getRowLength=function(a){var l;return this.lineWidgets?l=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0:l=0,!this.$useWrapMode||!this.$wrapData[a]?1+l:this.$wrapData[a].length+1+l},p.prototype.$getWidgetScreenLength=function(){var a=0;return this.lineWidgets.forEach(function(l){l&&l.rowCount&&!l.hidden&&(a+=l.rowCount)}),a},p.prototype.$onChangeEditor=function(a){this.attach(a.editor)},p.prototype.attach=function(a){a&&a.widgetManager&&a.widgetManager!=this&&a.widgetManager.detach(),this.editor!=a&&(this.detach(),this.editor=a,a&&(a.widgetManager=this,a.renderer.on("beforeRender",this.measureWidgets),a.renderer.on("afterRender",this.renderWidgets)))},p.prototype.detach=function(a){var l=this.editor;if(l){this.editor=null,l.widgetManager=null,l.renderer.off("beforeRender",this.measureWidgets),l.renderer.off("afterRender",this.renderWidgets);var r=this.session.lineWidgets;r&&r.forEach(function(n){n&&n.el&&n.el.parentNode&&(n._inDocument=!1,n.el.parentNode.removeChild(n.el))})}},p.prototype.updateOnFold=function(a,l){var r=l.lineWidgets;if(!(!r||!a.action)){for(var n=a.data,i=n.start.row,t=n.end.row,e=a.action=="add",o=i+1;o<t;o++)r[o]&&(r[o].hidden=e);r[t]&&(e?r[i]?r[t].hidden=e:r[i]=r[t]:(r[i]==r[t]&&(r[i]=void 0),r[t].hidden=e))}},p.prototype.updateOnChange=function(a){var l=this.session.lineWidgets;if(l){var r=a.start.row,n=a.end.row-r;if(n!==0)if(a.action=="remove"){var i=l.splice(r+1,n);!l[r]&&i[i.length-1]&&(l[r]=i.pop()),i.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(n);l[r]&&l[r].column!=null&&a.start.column>l[r].column&&r++,t.unshift(r,0),l.splice.apply(l,t),this.$updateRows()}}},p.prototype.$updateRows=function(){var a=this.session.lineWidgets;if(a){var l=!0;a.forEach(function(r,n){if(r)for(l=!1,r.row=n;r.$oldWidget;)r.$oldWidget.row=n,r=r.$oldWidget}),l&&(this.session.lineWidgets=null)}},p.prototype.$registerLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var l=this.session.lineWidgets[a.row];return l&&(a.$oldWidget=l,l.el&&l.el.parentNode&&(l.el.parentNode.removeChild(l.el),l._inDocument=!1)),this.session.lineWidgets[a.row]=a,a},p.prototype.addLineWidget=function(a){if(this.$registerLineWidget(a),a.session=this.session,!this.editor)return a;var l=this.editor.renderer;a.html&&!a.el&&(a.el=m.createElement("div"),a.el.innerHTML=a.html),a.text&&!a.el&&(a.el=m.createElement("div"),a.el.textContent=a.text),a.el&&(m.addCssClass(a.el,"ace_lineWidgetContainer"),a.className&&m.addCssClass(a.el,a.className),a.el.style.position="absolute",a.el.style.zIndex="5",l.container.appendChild(a.el),a._inDocument=!0,a.coverGutter||(a.el.style.zIndex="3"),a.pixelHeight==null&&(a.pixelHeight=a.el.offsetHeight)),a.rowCount==null&&(a.rowCount=a.pixelHeight/l.layerConfig.lineHeight);var r=this.session.getFoldAt(a.row,0);if(a.$fold=r,r){var n=this.session.lineWidgets;a.row==r.end.row&&!n[r.start.row]?n[r.start.row]=a:a.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,l),this.onWidgetChanged(a),a},p.prototype.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch{}if(this.session.lineWidgets){var l=this.session.lineWidgets[a.row];if(l==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;l;){if(l.$oldWidget==a){l.$oldWidget=a.$oldWidget;break}l=l.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},p.prototype.getWidgetsAtRow=function(a){for(var l=this.session.lineWidgets,r=l&&l[a],n=[];r;)n.push(r),r=r.$oldWidget;return n},p.prototype.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},p.prototype.measureWidgets=function(a,l){var r=this.session._changedWidgets,n=l.layerConfig;if(!(!r||!r.length)){for(var i=1/0,t=0;t<r.length;t++){var e=r[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,l.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/n.characterWidth));var o=e.h/n.lineHeight;e.coverLine&&(o-=this.session.getRowLineCount(e.row),o<0&&(o=0)),e.rowCount!=o&&(e.rowCount=o,e.row<i&&(i=e.row))}}i!=1/0&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},p.prototype.renderWidgets=function(a,l){var r=l.layerConfig,n=this.session.lineWidgets;if(n){for(var i=Math.min(this.firstRow,r.firstRow),t=Math.max(this.lastRow,r.lastRow,n.length);i>0&&!n[i];)i--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,l.$cursorLayer.config=r;for(var e=i;e<=t;e++){var o=n[e];if(!(!o||!o.el)){if(o.hidden){o.el.style.top=-100-(o.pixelHeight||0)+"px";continue}o._inDocument||(o._inDocument=!0,l.container.appendChild(o.el));var s=l.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;o.coverLine||(s+=r.lineHeight*this.session.getRowLineCount(o.row)),o.el.style.top=s-r.offset+"px";var h=o.coverGutter?0:l.gutterWidth;o.fixedWidth||(h-=l.scrollLeft),o.el.style.left=h+"px",o.fullWidth&&o.screenWidth&&(o.el.style.minWidth=r.width+2*r.padding+"px"),o.fixedWidth?o.el.style.right=l.scrollBar.getWidth()+"px":o.el.style.right=""}}}},p})();M.LineWidgets=d}),ace.define("ace/apply_delta",["require","exports","module"],function(_,M,F){M.applyDelta=function(m,d,p){var a=d.start.row,l=d.start.column,r=m[a]||"";switch(d.action){case"insert":var n=d.lines;if(n.length===1)m[a]=r.substring(0,l)+d.lines[0]+r.substring(l);else{var i=[a,1].concat(d.lines);m.splice.apply(m,i),m[a]=r.substring(0,l)+m[a],m[a+d.lines.length-1]+=r.substring(l)}break;case"remove":var t=d.end.column,e=d.end.row;a===e?m[a]=r.substring(0,l)+r.substring(t):m.splice(a,e-a+1,r.substring(0,l)+m[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(_,M,F){var m=_("./lib/oop"),d=_("./lib/event_emitter").EventEmitter,p=(function(){function r(n,i,t){this.$onChange=this.onChange.bind(this),this.attach(n),typeof i!="number"?this.setPosition(i.row,i.column):this.setPosition(i,t)}return r.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},r.prototype.getDocument=function(){return this.document},r.prototype.onChange=function(n){if(!(n.start.row==n.end.row&&n.start.row!=this.row)&&!(n.start.row>this.row)){var i=l(n,{row:this.row,column:this.column},this.$insertRight);this.setPosition(i.row,i.column,!0)}},r.prototype.setPosition=function(n,i,t){var e;if(t?e={row:n,column:i}:e=this.$clipPositionToDocument(n,i),!(this.row==e.row&&this.column==e.column)){var o={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:o,value:e})}},r.prototype.detach=function(){this.document.off("change",this.$onChange)},r.prototype.attach=function(n){this.document=n||this.document,this.document.on("change",this.$onChange)},r.prototype.$clipPositionToDocument=function(n,i){var t={};return n>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):n<0?(t.row=0,t.column=0):(t.row=n,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,i))),i<0&&(t.column=0),t},r})();p.prototype.$insertRight=!1,m.implement(p.prototype,d);function a(r,n,i){var t=i?r.column<=n.column:r.column<n.column;return r.row<n.row||r.row==n.row&&t}function l(r,n,i){var t=r.action=="insert",e=(t?1:-1)*(r.end.row-r.start.row),o=(t?1:-1)*(r.end.column-r.start.column),s=r.start,h=t?s:r.end;return a(n,s,i)?{row:n.row,column:n.column}:a(h,n,!i)?{row:n.row+e,column:n.column+(n.row==h.row?o:0)}:{row:s.row,column:s.column}}M.Anchor=p}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(_,M,F){var m=_("./lib/oop"),d=_("./apply_delta").applyDelta,p=_("./lib/event_emitter").EventEmitter,a=_("./range").Range,l=_("./anchor").Anchor,r=(function(){function n(i){this.$lines=[""],i.length===0?this.$lines=[""]:Array.isArray(i)?this.insertMergedLines({row:0,column:0},i):this.insert({row:0,column:0},i)}return n.prototype.setValue=function(i){var t=this.getLength()-1;this.remove(new a(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},i||"")},n.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},n.prototype.createAnchor=function(i,t){return new l(this,i,t)},n.prototype.$detectNewLine=function(i){var t=i.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
180
+ `,this._signal("changeNewLineMode")},n.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
181
+ `;case"unix":return`
182
+ `;default:return this.$autoNewLine||`
183
+ `}},n.prototype.setNewLineMode=function(i){this.$newLineMode!==i&&(this.$newLineMode=i,this._signal("changeNewLineMode"))},n.prototype.getNewLineMode=function(){return this.$newLineMode},n.prototype.isNewLine=function(i){return i==`\r
184
+ `||i=="\r"||i==`
185
+ `},n.prototype.getLine=function(i){return this.$lines[i]||""},n.prototype.getLines=function(i,t){return this.$lines.slice(i,t+1)},n.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},n.prototype.getLength=function(){return this.$lines.length},n.prototype.getTextRange=function(i){return this.getLinesForRange(i).join(this.getNewLineCharacter())},n.prototype.getLinesForRange=function(i){var t;if(i.start.row===i.end.row)t=[this.getLine(i.start.row).substring(i.start.column,i.end.column)];else{t=this.getLines(i.start.row,i.end.row),t[0]=(t[0]||"").substring(i.start.column);var e=t.length-1;i.end.row-i.start.row==e&&(t[e]=t[e].substring(0,i.end.column))}return t},n.prototype.insertLines=function(i,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(i,t)},n.prototype.removeLines=function(i,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(i,t)},n.prototype.insertNewLine=function(i){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(i,["",""])},n.prototype.insert=function(i,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(i,this.$split(t))},n.prototype.insertInLine=function(i,t){var e=this.clippedPos(i.row,i.column),o=this.pos(i.row,i.column+t.length);return this.applyDelta({start:e,end:o,action:"insert",lines:[t]},!0),this.clonePos(o)},n.prototype.clippedPos=function(i,t){var e=this.getLength();i===void 0?i=e:i<0?i=0:i>=e&&(i=e-1,t=void 0);var o=this.getLine(i);return t==null&&(t=o.length),t=Math.min(Math.max(t,0),o.length),{row:i,column:t}},n.prototype.clonePos=function(i){return{row:i.row,column:i.column}},n.prototype.pos=function(i,t){return{row:i,column:t}},n.prototype.$clipPosition=function(i){var t=this.getLength();return i.row>=t?(i.row=Math.max(0,t-1),i.column=this.getLine(t-1).length):(i.row=Math.max(0,i.row),i.column=Math.min(Math.max(i.column,0),this.getLine(i.row).length)),i},n.prototype.insertFullLines=function(i,t){i=Math.min(Math.max(i,0),this.getLength());var e=0;i<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),i--,e=this.$lines[i].length),this.insertMergedLines({row:i,column:e},t)},n.prototype.insertMergedLines=function(i,t){var e=this.clippedPos(i.row,i.column),o={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:o,action:"insert",lines:t}),this.clonePos(o)},n.prototype.remove=function(i){var t=this.clippedPos(i.start.row,i.start.column),e=this.clippedPos(i.end.row,i.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},n.prototype.removeInLine=function(i,t,e){var o=this.clippedPos(i,t),s=this.clippedPos(i,e);return this.applyDelta({start:o,end:s,action:"remove",lines:this.getLinesForRange({start:o,end:s})},!0),this.clonePos(o)},n.prototype.removeFullLines=function(i,t){i=Math.min(Math.max(0,i),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&i>0,o=t<this.getLength()-1,s=e?i-1:i,h=e?this.getLine(s).length:0,c=o?t+1:t,w=o?0:this.getLine(c).length,y=new a(s,h,c,w),v=this.$lines.slice(i,t+1);return this.applyDelta({start:y.start,end:y.end,action:"remove",lines:this.getLinesForRange(y)}),v},n.prototype.removeNewLine=function(i){i<this.getLength()-1&&i>=0&&this.applyDelta({start:this.pos(i,this.getLine(i).length),end:this.pos(i+1,0),action:"remove",lines:["",""]})},n.prototype.replace=function(i,t){if(i instanceof a||(i=a.fromPoints(i.start,i.end)),t.length===0&&i.isEmpty())return i.start;if(t==this.getTextRange(i))return i.end;this.remove(i);var e;return t?e=this.insert(i.start,t):e=i.start,e},n.prototype.applyDeltas=function(i){for(var t=0;t<i.length;t++)this.applyDelta(i[t])},n.prototype.revertDeltas=function(i){for(var t=i.length-1;t>=0;t--)this.revertDelta(i[t])},n.prototype.applyDelta=function(i,t){var e=i.action=="insert";(e?i.lines.length<=1&&!i.lines[0]:!a.comparePoints(i.start,i.end))||(e&&i.lines.length>2e4?this.$splitAndapplyLargeDelta(i,2e4):(d(this.$lines,i,t),this._signal("change",i)))},n.prototype.$safeApplyDelta=function(i){var t=this.$lines.length;(i.action=="remove"&&i.start.row<t&&i.end.row<t||i.action=="insert"&&i.start.row<=t)&&this.applyDelta(i)},n.prototype.$splitAndapplyLargeDelta=function(i,t){for(var e=i.lines,o=e.length-t+1,s=i.start.row,h=i.start.column,c=0,w=0;c<o;c=w){w+=t-1;var y=e.slice(c,w);y.push(""),this.applyDelta({start:this.pos(s+c,h),end:this.pos(s+w,h=0),action:i.action,lines:y},!0)}i.lines=e.slice(c),i.start.row=s+c,i.start.column=h,this.applyDelta(i,!0)},n.prototype.revertDelta=function(i){this.$safeApplyDelta({start:this.clonePos(i.start),end:this.clonePos(i.end),action:i.action=="insert"?"remove":"insert",lines:i.lines.slice()})},n.prototype.indexToPosition=function(i,t){for(var e=this.$lines||this.getAllLines(),o=this.getNewLineCharacter().length,s=t||0,h=e.length;s<h;s++)if(i-=e[s].length+o,i<0)return{row:s,column:i+e[s].length+o};return{row:h-1,column:i+e[h-1].length+o}},n.prototype.positionToIndex=function(i,t){for(var e=this.$lines||this.getAllLines(),o=this.getNewLineCharacter().length,s=0,h=Math.min(i.row,e.length),c=t||0;c<h;++c)s+=e[c].length+o;return s+i.column},n.prototype.$split=function(i){return i.split(/\r\n|\r|\n/)},n})();r.prototype.$autoNewLine="",r.prototype.$newLineMode="auto",m.implement(r.prototype,p),M.Document=r}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(_,M,F){var m=_("./lib/oop"),d=_("./lib/event_emitter").EventEmitter,p=(function(){function a(l,r){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=l;var n=this;this.$worker=function(){if(n.running){for(var i=new Date,t=n.currentLine,e=-1,o=n.doc,s=t;n.lines[t];)t++;var h=o.getLength(),c=0;for(n.running=!1;t<h;){n.$tokenizeRow(t),e=t;do t++;while(n.lines[t]);if(c++,c%5===0&&new Date-i>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,e==-1&&(e=t),s<=e&&n.fireUpdateEvent(s,e)}}}return a.prototype.setTokenizer=function(l){this.tokenizer=l,this.lines=[],this.states=[],this.start(0)},a.prototype.setDocument=function(l){this.doc=l,this.lines=[],this.states=[],this.stop()},a.prototype.fireUpdateEvent=function(l,r){var n={first:l,last:r};this._signal("update",{data:n})},a.prototype.start=function(l){this.currentLine=Math.min(l||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)},a.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},a.prototype.$updateOnChange=function(l){var r=l.start.row,n=l.end.row-r;if(n===0)this.lines[r]=null;else if(l.action=="remove")this.lines.splice(r,n+1,null),this.states.splice(r,n+1,null);else{var i=Array(n+1);i.unshift(r,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(r,this.currentLine,this.doc.getLength()),this.stop()},a.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},a.prototype.getTokens=function(l){return this.lines[l]||this.$tokenizeRow(l)},a.prototype.getState=function(l){return this.currentLine==l&&this.$tokenizeRow(l),this.states[l]||"start"},a.prototype.$tokenizeRow=function(l){var r=this.doc.getLine(l),n=this.states[l-1],i=this.tokenizer.getLineTokens(r,n,l);return this.states[l]+""!=i.state+""?(this.states[l]=i.state,this.lines[l+1]=null,this.currentLine>l+1&&(this.currentLine=l+1)):this.currentLine==l&&(this.currentLine=l+1),this.lines[l]=i.tokens},a.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},a})();m.implement(p.prototype,d),M.BackgroundTokenizer=p}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(_,M,F){var m=_("./lib/lang"),d=_("./range").Range,p=(function(){function a(l,r,n){n===void 0&&(n="text"),this.setRegexp(l),this.clazz=r,this.type=n,this.docLen=0}return a.prototype.setRegexp=function(l){this.regExp+""!=l+""&&(this.regExp=l,this.cache=[])},a.prototype.update=function(l,r,n,i){if(this.regExp){for(var t=i.firstRow,e=i.lastRow,o={},s=n.$editor&&n.$editor.$search,h=s&&s.$isMultilineSearch(n.$editor.getLastSearchOptions()),c=t;c<=e;c++){var w=this.cache[c];if(w==null||n.getValue().length!=this.docLen){if(h){w=[];var y=s.$multiLineForward(n,this.regExp,c,e);if(y){var v=y.endRow<=e?y.endRow-1:e;v>c&&(c=v),w.push(new d(y.startRow,y.startCol,y.endRow,y.endCol))}w.length>this.MAX_RANGES&&(w=w.slice(0,this.MAX_RANGES))}else w=m.getMatchOffsets(n.getLine(c),this.regExp),w.length>this.MAX_RANGES&&(w=w.slice(0,this.MAX_RANGES)),w=w.map(function(A){return new d(c,A.offset,c,A.offset+A.length)});this.cache[c]=w.length?w:""}if(w.length!==0)for(var f=w.length;f--;){var $=w[f].toScreenRange(n),E=$.toString();o[E]||(o[E]=!0,r.drawSingleLineMarker(l,$,this.clazz,i))}}this.docLen=n.getValue().length}},a})();p.prototype.MAX_RANGES=500,M.SearchHighlight=p}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(_,M,F){var m=(function(){function v(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return v.prototype.addSession=function(f){this.$session=f},v.prototype.add=function(f,$,E){if(!this.$fromUndo&&f!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),$===!1||!this.lastDeltas){this.lastDeltas=[];var A=this.$undoStack.length;A>this.$undoDepth-1&&this.$undoStack.splice(0,A-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),f.id=this.$rev=++this.$maxRev}(f.action=="remove"||f.action=="insert")&&(this.$lastDelta=f),this.lastDeltas.push(f)}},v.prototype.addSelection=function(f,$){this.selections.push({value:f,rev:$||this.$rev})},v.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},v.prototype.markIgnored=function(f,$){$==null&&($=this.$rev+1);for(var E=this.$undoStack,A=E.length;A--;){var L=E[A][0];if(L.id<=f)break;L.id<$&&(L.ignore=!0)}this.lastDeltas=null},v.prototype.getSelection=function(f,$){for(var E=this.selections,A=E.length;A--;){var L=E[A];if(L.rev<f)return $&&(L=E[A+1]),L}},v.prototype.getRevision=function(){return this.$rev},v.prototype.getDeltas=function(f,$){$==null&&($=this.$rev+1);for(var E=this.$undoStack,A=null,L=0,R=E.length;R--;){var C=E[R][0];if(C.id<$&&!A&&(A=R+1),C.id<=f){L=R+1;break}}return E.slice(L,A)},v.prototype.getChangedRanges=function(f,$){$==null&&($=this.$rev+1)},v.prototype.getChangedLines=function(f,$){$==null&&($=this.$rev+1)},v.prototype.undo=function(f,$){this.lastDeltas=null;var E=this.$undoStack;if(d(E,E.length)){f||(f=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var A=E.pop(),L=null;return A&&(L=f.undoChanges(A,$),this.$redoStack.push(A),this.$syncRev()),this.$fromUndo=!1,L}},v.prototype.redo=function(f,$){if(this.lastDeltas=null,f||(f=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var E=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);y(this.$redoStack,E),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(R){R[0].id=++this.$maxRev},this)}var A=this.$redoStack.pop(),L=null;return A&&(L=f.redoChanges(A,$),this.$undoStack.push(A),this.$syncRev()),this.$fromUndo=!1,L},v.prototype.$syncRev=function(){var f=this.$undoStack,$=f[f.length-1],E=$&&$[0].id||0;this.$redoStackBaseRev=E,this.$rev=E},v.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=[]},v.prototype.canUndo=function(){return this.$undoStack.length>0},v.prototype.canRedo=function(){return this.$redoStack.length>0},v.prototype.bookmark=function(f){f==null&&(f=this.$rev),this.mark=f},v.prototype.isAtBookmark=function(){return this.$rev===this.mark},v.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},v.prototype.fromJSON=function(f){this.reset(),this.$undoStack=f.$undoStack,this.$redoStack=f.$redoStack},v.prototype.$prettyPrint=function(f){return f?n(f):n(this.$undoStack)+`
186
+ ---
187
+ `+n(this.$redoStack)},v})();m.prototype.hasUndo=m.prototype.canUndo,m.prototype.hasRedo=m.prototype.canRedo,m.prototype.isClean=m.prototype.isAtBookmark,m.prototype.markClean=m.prototype.bookmark;function d(v,f){for(var $=f;$--;){var E=v[$];if(E&&!E[0].ignore){for(;$<f-1;){var A=e(v[$],v[$+1]);v[$]=A[0],v[$+1]=A[1],$++}return!0}}}var p=_("./range").Range,a=p.comparePoints;p.comparePoints;function l(v){return{row:v.row,column:v.column}}function r(v){return{start:l(v.start),end:l(v.end),action:v.action,lines:v.lines.slice()}}function n(v){if(v=v||this,Array.isArray(v))return v.map(n).join(`
188
+ `);var f="";return v.action?(f=v.action=="insert"?"+":"-",f+="["+v.lines+"]"):v.value&&(Array.isArray(v.value)?f=v.value.map(i).join(`
189
+ `):f=i(v.value)),v.start&&(f+=i(v)),(v.id||v.rev)&&(f+=" ("+(v.id||v.rev)+")"),f}function i(v){return v.start.row+":"+v.start.column+"=>"+v.end.row+":"+v.end.column}function t(v,f){var $=v.action=="insert",E=f.action=="insert";if($&&E)if(a(f.start,v.end)>=0)s(f,v,-1);else if(a(f.start,v.start)<=0)s(v,f,1);else return null;else if($&&!E)if(a(f.start,v.end)>=0)s(f,v,-1);else if(a(f.end,v.start)<=0)s(v,f,-1);else return null;else if(!$&&E)if(a(f.start,v.start)>=0)s(f,v,1);else if(a(f.start,v.start)<=0)s(v,f,1);else return null;else if(!$&&!E)if(a(f.start,v.start)>=0)s(f,v,1);else if(a(f.end,v.start)<=0)s(v,f,-1);else return null;return[f,v]}function e(v,f){for(var $=v.length;$--;)for(var E=0;E<f.length;E++)if(!t(v[$],f[E])){for(;$<v.length;){for(;E--;)t(f[E],v[$]);E=f.length,$++}return[v,f]}return v.selectionBefore=f.selectionBefore=v.selectionAfter=f.selectionAfter=null,[f,v]}function o(v,f){var $=v.action=="insert",E=f.action=="insert";if($&&E)a(v.start,f.start)<0?s(f,v,1):s(v,f,1);else if($&&!E)a(v.start,f.end)>=0?s(v,f,-1):(a(v.start,f.start)<=0||s(v,p.fromPoints(f.start,v.start),-1),s(f,v,1));else if(!$&&E)a(f.start,v.end)>=0?s(f,v,-1):(a(f.start,v.start)<=0||s(f,p.fromPoints(v.start,f.start),-1),s(v,f,1));else if(!$&&!E)if(a(f.start,v.end)>=0)s(f,v,-1);else if(a(f.end,v.start)<=0)s(v,f,-1);else{var A,L;return a(v.start,f.start)<0&&(A=v,v=c(v,f.start)),a(v.end,f.end)>0&&(L=c(v,f.end)),h(f.end,v.start,v.end,-1),L&&!A&&(v.lines=L.lines,v.start=L.start,v.end=L.end,L=v),[f,A,L].filter(Boolean)}return[f,v]}function s(v,f,$){h(v.start,f.start,f.end,$),h(v.end,f.start,f.end,$)}function h(v,f,$,E){v.row==(E==1?f:$).row&&(v.column+=E*($.column-f.column)),v.row+=E*($.row-f.row)}function c(v,f){var $=v.lines,E=v.end;v.end=l(f);var A=v.end.row-v.start.row,L=$.splice(A,$.length),R=A?f.column:f.column-v.start.column;$.push(L[0].substring(0,R)),L[0]=L[0].substr(R);var C={start:l(f),end:E,lines:L,action:v.action};return C}function w(v,f){f=r(f);for(var $=v.length;$--;){for(var E=v[$],A=0;A<E.length;A++){var L=E[A],R=o(L,f);f=R[0],R.length!=2&&(R[2]?(E.splice(A+1,1,R[1],R[2]),A++):R[1]||(E.splice(A,1),A--))}E.length||v.splice($,1)}return v}function y(v,f){for(var $=0;$<f.length;$++)for(var E=f[$],A=0;A<E.length;A++)w(v,E[A])}M.UndoManager=m}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(_,M,F){var m=_("../range").Range,d=(function(){function p(a,l){this.foldData=a,Array.isArray(l)?this.folds=l:l=this.folds=[l];var r=l[l.length-1];this.range=new m(l[0].start.row,l[0].start.column,r.end.row,r.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(n){n.setFoldLine(this)},this)}return p.prototype.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(l){l.start.row+=a,l.end.row+=a})},p.prototype.addFold=function(a){if(a.sameRow){if(a.start.row<this.startRow||a.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(l,r){return-l.range.compareEnd(r.start.row,r.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else if(a.end.row==this.start.row)this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");a.foldLine=this},p.prototype.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},p.prototype.walk=function(a,l,r){var n=0,i=this.folds,t,e,o,s=!0;l==null&&(l=this.end.row,r=this.end.column);for(var h=0;h<i.length;h++){if(t=i[h],e=t.range.compareStart(l,r),e==-1){a(null,l,r,n,s);return}if(o=a(null,t.start.row,t.start.column,n,s),o=!o&&a(t.placeholder,t.start.row,t.start.column,n),o||e===0)return;s=!t.sameRow,n=t.end.column}a(null,l,r,n,s)},p.prototype.getNextFoldTo=function(a,l){for(var r,n,i=0;i<this.folds.length;i++){if(r=this.folds[i],n=r.range.compareEnd(a,l),n==-1)return{fold:r,kind:"after"};if(n===0)return{fold:r,kind:"inside"}}return null},p.prototype.addRemoveChars=function(a,l,r){var n=this.getNextFoldTo(a,l),i,t;if(n){if(i=n.fold,n.kind=="inside"&&i.start.column!=l&&i.start.row!=a)window.console&&window.console.log(a,l,i);else if(i.start.row==a){t=this.folds;var e=t.indexOf(i);for(e===0&&(this.start.column+=r),e;e<t.length;e++){if(i=t[e],i.start.column+=r,!i.sameRow)return;i.end.column+=r}this.end.column+=r}}},p.prototype.split=function(a,l){var r=this.getNextFoldTo(a,l);if(!r||r.kind=="inside")return null;var n=r.fold,i=this.folds,t=this.foldData,e=i.indexOf(n),o=i[e-1];this.end.row=o.end.row,this.end.column=o.end.column,i=i.splice(e,i.length-e);var s=new p(t,i);return t.splice(t.indexOf(this)+1,0,s),s},p.prototype.merge=function(a){for(var l=a.folds,r=0;r<l.length;r++)this.addFold(l[r]);var n=this.foldData;n.splice(n.indexOf(a),1)},p.prototype.toString=function(){var a=[this.range.toString()+": ["];return this.folds.forEach(function(l){a.push(" "+l.toString())}),a.push("]"),a.join(`
190
+ `)},p.prototype.idxToPosition=function(a){for(var l=0,r=0;r<this.folds.length;r++){var n=this.folds[r];if(a-=n.start.column-l,a<0)return{row:n.start.row,column:n.start.column+a};if(a-=n.placeholder.length,a<0)return n.start;l=n.end.column}return{row:this.end.row,column:this.end.column+a}},p})();M.FoldLine=d}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(_,M,F){var m=_("./range").Range,d=m.comparePoints,p=(function(){function a(){this.ranges=[],this.$bias=1}return a.prototype.pointIndex=function(l,r,n){for(var i=this.ranges,t=n||0;t<i.length;t++){var e=i[t],o=d(l,e.end);if(!(o>0)){var s=d(l,e.start);return o===0?r&&s!==0?-t-2:t:s>0||s===0&&!r?t:-t-1}}return-t-1},a.prototype.add=function(l){var r=!l.isEmpty(),n=this.pointIndex(l.start,r);n<0&&(n=-n-1);var i=this.pointIndex(l.end,r,n);return i<0?i=-i-1:i++,this.ranges.splice(n,i-n,l)},a.prototype.addList=function(l){for(var r=[],n=l.length;n--;)r.push.apply(r,this.add(l[n]));return r},a.prototype.substractPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges.splice(r,1)},a.prototype.merge=function(){var l=[],r=this.ranges;r=r.sort(function(o,s){return d(o.start,s.start)});for(var n=r[0],i,t=1;t<r.length;t++){i=n,n=r[t];var e=d(i.end,n.start);e<0||e==0&&!i.isEmpty()&&!n.isEmpty()||(d(i.end,n.end)<0&&(i.end.row=n.end.row,i.end.column=n.end.column),r.splice(t,1),l.push(n),n=i,t--)}return this.ranges=r,l},a.prototype.contains=function(l,r){return this.pointIndex({row:l,column:r})>=0},a.prototype.containsPoint=function(l){return this.pointIndex(l)>=0},a.prototype.rangeAtPoint=function(l){var r=this.pointIndex(l);if(r>=0)return this.ranges[r]},a.prototype.clipRows=function(l,r){var n=this.ranges;if(n[0].start.row>r||n[n.length-1].start.row<l)return[];var i=this.pointIndex({row:l,column:0});i<0&&(i=-i-1);var t=this.pointIndex({row:r,column:0},i);t<0&&(t=-t-1);for(var e=[],o=i;o<t;o++)e.push(n[o]);return e},a.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},a.prototype.attach=function(l){this.session&&this.detach(),this.session=l,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},a.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},a.prototype.$onChange=function(l){for(var r=l.start,n=l.end,i=r.row,t=n.row,e=this.ranges,o=0,s=e.length;o<s;o++){var h=e[o];if(h.end.row>=i)break}if(l.action=="insert")for(var c=t-i,w=-r.column+n.column;o<s;o++){var h=e[o];if(h.start.row>i)break;if(h.start.row==i&&h.start.column>=r.column&&(h.start.column==r.column&&this.$bias<=0||(h.start.column+=w,h.start.row+=c)),h.end.row==i&&h.end.column>=r.column){if(h.end.column==r.column&&this.$bias<0)continue;h.end.column==r.column&&w>0&&o<s-1&&h.end.column>h.start.column&&h.end.column==e[o+1].start.column&&(h.end.column-=w),h.end.column+=w,h.end.row+=c}}else for(var c=i-t,w=r.column-n.column;o<s;o++){var h=e[o];if(h.start.row>t)break;h.end.row<t&&(i<h.end.row||i==h.end.row&&r.column<h.end.column)?(h.end.row=i,h.end.column=r.column):h.end.row==t?h.end.column<=n.column?(c||h.end.column>r.column)&&(h.end.column=r.column,h.end.row=r.row):(h.end.column+=w,h.end.row+=c):h.end.row>t&&(h.end.row+=c),h.start.row<t&&(i<h.start.row||i==h.start.row&&r.column<h.start.column)?(h.start.row=i,h.start.column=r.column):h.start.row==t?h.start.column<=n.column?(c||h.start.column>r.column)&&(h.start.column=r.column,h.start.row=r.row):(h.start.column+=w,h.start.row+=c):h.start.row>t&&(h.start.row+=c)}if(c!=0&&o<s)for(;o<s;o++){var h=e[o];h.start.row+=c,h.end.row+=c}},a})();p.prototype.comparePoints=d,M.RangeList=p}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(_,M,F){var m=this&&this.__extends||(function(){var i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(o[h]=s[h])},i(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");i(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}})(),d=_("../range_list").RangeList,p=(function(i){m(t,i);function t(e,o){var s=i.call(this)||this;return s.foldLine=null,s.placeholder=o,s.range=e,s.start=e.start,s.end=e.end,s.sameRow=e.start.row==e.end.row,s.subFolds=s.ranges=[],s}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(o){o.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),o=new t(e,this.placeholder);return this.subFolds.forEach(function(s){o.subFolds.push(s.clone())}),o.collapseChildren=this.collapseChildren,o},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){l(e,this.start);for(var w=e.start.row,y=e.start.column,o=0,s=-1;o<this.subFolds.length&&(s=this.subFolds[o].range.compare(w,y),s==1);o++);var h=this.subFolds[o],c=0;if(s==0){if(h.range.containsRange(e))return h.addSubFold(e);c=1}for(var w=e.range.end.row,y=e.range.end.column,v=o,s=-1;v<this.subFolds.length&&(s=this.subFolds[v].range.compare(w,y),s==1);v++);s==0&&v++;for(var f=this.subFolds.splice(o,v-o,e),$=s==0?f.length-1:f.length,E=c;E<$;E++)e.addSubFold(f[E]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return n(e,this.start)},t})(d);function a(i,t){i.row-=t.row,i.row==0&&(i.column-=t.column)}function l(i,t){a(i.start,t),a(i.end,t)}function r(i,t){i.row==0&&(i.column+=t.column),i.row+=t.row}function n(i,t){r(i.start,t),r(i.end,t)}M.Fold=p}),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(_,M,F){var m=_("../range").Range,d=_("./fold_line").FoldLine,p=_("./fold").Fold,a=_("../token_iterator").TokenIterator,l=_("../mouse/mouse_event").MouseEvent;function r(){this.getFoldAt=function(n,i,t){var e=this.getFoldLine(n);if(!e)return null;for(var o=e.folds,s=0;s<o.length;s++){var h=o[s].range;if(h.contains(n,i)){if(t==1&&h.isEnd(n,i)&&!h.isEmpty())continue;if(t==-1&&h.isStart(n,i)&&!h.isEmpty())continue;return o[s]}}},this.getFoldsInRange=function(n){var i=n.start,t=n.end,e=this.$foldData,o=[];i.column+=1,t.column-=1;for(var s=0;s<e.length;s++){var h=e[s].range.compareRange(n);if(h!=2){if(h==-2)break;for(var c=e[s].folds,w=0;w<c.length;w++){var y=c[w];if(h=y.range.compareRange(n),h==-2)break;if(h==2)continue;if(h==42)break;o.push(y)}}}return i.column-=1,t.column+=1,o},this.getFoldsInRangeList=function(n){if(Array.isArray(n)){var i=[];n.forEach(function(t){i=i.concat(this.getFoldsInRange(t))},this)}else var i=this.getFoldsInRange(n);return i},this.getAllFolds=function(){for(var n=[],i=this.$foldData,t=0;t<i.length;t++)for(var e=0;e<i[t].folds.length;e++)n.push(i[t].folds[e]);return n},this.getFoldStringAt=function(n,i,t,e){if(e=e||this.getFoldLine(n),!e)return null;for(var o={end:{column:0}},s,h,c=0;c<e.folds.length;c++){h=e.folds[c];var w=h.range.compareEnd(n,i);if(w==-1){s=this.getLine(h.start.row).substring(o.end.column,h.start.column);break}else if(w===0)return null;o=h}return s||(s=this.getLine(h.start.row).substring(o.end.column)),t==-1?s.substring(0,i-o.end.column):t==1?s.substring(i-o.end.column):s},this.getFoldLine=function(n,i){var t=this.$foldData,e=0;for(i&&(e=t.indexOf(i)),e==-1&&(e=0),e;e<t.length;e++){var o=t[e];if(o.start.row<=n&&o.end.row>=n)return o;if(o.end.row>n)return null}return null},this.getNextFoldLine=function(n,i){var t=this.$foldData,e=0;for(i&&(e=t.indexOf(i)),e==-1&&(e=0),e;e<t.length;e++){var o=t[e];if(o.end.row>=n)return o}return null},this.getFoldedRowCount=function(n,i){for(var t=this.$foldData,e=i-n+1,o=0;o<t.length;o++){var s=t[o],h=s.end.row,c=s.start.row;if(h>=i){c<i&&(c>=n?e-=i-c:e=0);break}else h>=n&&(c>=n?e-=h-c:e-=h-n+1)}return e},this.$addFoldLine=function(n){return this.$foldData.push(n),this.$foldData.sort(function(i,t){return i.start.row-t.start.row}),n},this.addFold=function(n,i){var t=this.$foldData,e=!1,o;n instanceof p?o=n:(o=new p(i,n),o.collapseChildren=i.collapseChildren),this.$clipRangeToDocument(o.range);var s=o.start.row,h=o.start.column,c=o.end.row,w=o.end.column,y=this.getFoldAt(s,h,1),v=this.getFoldAt(c,w,-1);if(y&&v==y)return y.addSubFold(o);y&&!y.range.isStart(s,h)&&this.removeFold(y),v&&!v.range.isEnd(c,w)&&this.removeFold(v);var f=this.getFoldsInRange(o.range);f.length>0&&(this.removeFolds(f),o.collapseChildren||f.forEach(function(L){o.addSubFold(L)}));for(var $=0;$<t.length;$++){var E=t[$];if(c==E.start.row){E.addFold(o),e=!0;break}else if(s==E.end.row){if(E.addFold(o),e=!0,!o.sameRow){var A=t[$+1];if(A&&A.start.row==c){E.merge(A);break}}break}else if(c<=E.start.row)break}return e||(E=this.$addFoldLine(new d(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(E.start.row,E.start.row):this.$updateRowLengthCache(E.start.row,E.start.row),this.$modified=!0,this._signal("changeFold",{data:o,action:"add"}),o},this.addFolds=function(n){n.forEach(function(i){this.addFold(i)},this)},this.removeFold=function(n){var i=n.foldLine,t=i.start.row,e=i.end.row,o=this.$foldData,s=i.folds;if(s.length==1)o.splice(o.indexOf(i),1);else if(i.range.isEnd(n.end.row,n.end.column))s.pop(),i.end.row=s[s.length-1].end.row,i.end.column=s[s.length-1].end.column;else if(i.range.isStart(n.start.row,n.start.column))s.shift(),i.start.row=s[0].start.row,i.start.column=s[0].start.column;else if(n.sameRow)s.splice(s.indexOf(n),1);else{var h=i.split(n.start.row,n.start.column);s=h.folds,s.shift(),h.start.row=s[0].start.row,h.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:n,action:"remove"})},this.removeFolds=function(n){for(var i=[],t=0;t<n.length;t++)i.push(n[t]);i.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(n){this.removeFold(n),n.subFolds.forEach(function(i){n.restoreRange(i),this.addFold(i)},this),n.collapseChildren>0&&this.foldAll(n.start.row+1,n.end.row,n.collapseChildren-1),n.subFolds=[]},this.expandFolds=function(n){n.forEach(function(i){this.expandFold(i)},this)},this.unfold=function(n,i){var t,e;if(n==null)t=new m(0,0,this.getLength(),0),i==null&&(i=!0);else if(typeof n=="number")t=new m(n,0,n,this.getLine(n).length);else if("row"in n)t=m.fromPoints(n,n);else{if(Array.isArray(n))return e=[],n.forEach(function(s){e=e.concat(this.unfold(s))},this),e;t=n}e=this.getFoldsInRangeList(t);for(var o=e;e.length==1&&m.comparePoints(e[0].start,t.start)<0&&m.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(i!=!1?this.removeFolds(e):this.expandFolds(e),o.length)return o},this.isRowFolded=function(n,i){return!!this.getFoldLine(n,i)},this.getRowFoldEnd=function(n,i){var t=this.getFoldLine(n,i);return t?t.end.row:n},this.getRowFoldStart=function(n,i){var t=this.getFoldLine(n,i);return t?t.start.row:n},this.getFoldDisplayLine=function(n,i,t,e,o){e==null&&(e=n.start.row),o==null&&(o=0),i==null&&(i=n.end.row),t==null&&(t=this.getLine(i).length);var s=this.doc,h="";return n.walk(function(c,w,y,v){if(!(w<e)){if(w==e){if(y<o)return;v=Math.max(o,v)}c!=null?h+=c:h+=s.getLine(w).substring(v,y)}},i,t),h},this.getDisplayLine=function(n,i,t,e){var o=this.getFoldLine(n);if(o)return this.getFoldDisplayLine(o,n,i,t,e);var s;return s=this.doc.getLine(n),s.substring(e||0,i||s.length)},this.$cloneFoldData=function(){var n=[];return n=this.$foldData.map(function(i){var t=i.folds.map(function(e){return e.clone()});return new d(n,t)}),n},this.toggleFold=function(n){var i=this.selection,t=i.getRange(),e,o;if(t.isEmpty()){var s=t.start;if(e=this.getFoldAt(s.row,s.column),e){this.expandFold(e);return}else if(n){var h=this.getFoldLine(s.row);h&&this.expandFolds(h.folds);return}else(o=this.findMatchingBracket(s))?t.comparePoint(o)==1?t.end=o:(t.start=o,t.start.column++,t.end.column--):(o=this.findMatchingBracket({row:s.row,column:s.column+1}))?(t.comparePoint(o)==1?t.end=o:t.start=o,t.start.column++):t=this.getCommentFoldRange(s.row,s.column)||t}else{var c=this.getFoldsInRange(t);if(n&&c.length){this.expandFolds(c);return}else c.length==1&&(e=c[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var w="...";if(!t.isMultiLine()){if(w=this.getTextRange(t),w.length<4)return;w=w.trim().substring(0,2)+".."}this.addFold(w,t)},this.getCommentFoldRange=function(n,i,t){var e=new a(this,n,i),o=e.getCurrentToken(),s=o&&o.type;if(o&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s=="comment"&&(s+="|doc-start|\\.doc");var h=new RegExp(s),c=new m;if(t!=1){do o=e.stepBackward();while(o&&h.test(o.type));o=e.stepForward()}c.start.row=e.getCurrentTokenRow(),c.start.column=e.getCurrentTokenColumn()+o.value.length,e=new a(this,n,i);var w=this.getState(e.$row);if(t!=-1){var y=-1;do if(o=e.stepForward(),y==-1){var v=this.getState(e.$row);w.toString()!==v.toString()&&(y=e.$row)}else if(e.$row>y)break;while(o&&h.test(o.type));o=e.stepBackward()}else o=e.getCurrentToken();return c.end.row=e.getCurrentTokenRow(),c.end.column=e.getCurrentTokenColumn(),c.start.row==c.end.row&&c.start.column>c.end.column?void 0:c}},this.foldAll=function(n,i,t,e){t==null&&(t=1e5);var o=this.foldWidgets;if(o){i=i||this.getLength(),n=n||0;for(var s=n;s<i;s++)if(o[s]==null&&(o[s]=this.getFoldWidget(s)),o[s]=="start"&&!(e&&!e(s))){var h=this.getFoldWidgetRange(s);h&&h.isMultiLine()&&h.end.row<=i&&h.start.row>=n&&(s=h.end.row,h.collapseChildren=t,this.addFold("...",h))}}},this.foldToLevel=function(n){for(this.foldAll();n-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var n=this;this.foldAll(null,null,null,function(i){for(var t=n.getTokens(i),e=0;e<t.length;e++){var o=t[e];if(!(o.type=="text"&&/^\s+$/.test(o.value)))return!!/comment/.test(o.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(n){if(!this.$foldStyles[n])throw new Error("invalid fold style: "+n+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=n){this.$foldStyle=n,n=="manual"&&this.unfold();var i=this.$foldMode;this.$setFolding(null),this.$setFolding(i)}},this.$setFolding=function(n){if(this.$foldMode!=n){if(this.$foldMode=n,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!n||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=n.getFoldWidget.bind(n,this,this.$foldStyle),this.getFoldWidgetRange=n.getFoldWidgetRange.bind(n,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(n,i){var t=this.foldWidgets;if(!t||i&&t[n])return{};for(var e=n-1,o;e>=0;){var s=t[e];if(s==null&&(s=t[e]=this.getFoldWidget(e)),s=="start"){var h=this.getFoldWidgetRange(e);if(o||(o=h),h&&h.end.row>=n)break}e--}return{range:e!==-1&&h,firstRange:o}},this.onFoldWidgetClick=function(n,i){i instanceof l&&(i=i.domEvent);var t={children:i.shiftKey,all:i.ctrlKey||i.metaKey,siblings:i.altKey},e=this.$toggleFoldWidget(n,t);if(!e){var o=i.target||i.srcElement;o&&/ace_fold-widget/.test(o.className)&&(o.className+=" ace_invalid")}},this.$toggleFoldWidget=function(n,i){if(this.getFoldWidget){var t=this.getFoldWidget(n),e=this.getLine(n),o=t==="end"?-1:1,s=this.getFoldAt(n,o===-1?0:e.length,o);if(s)return i.children||i.all?this.removeFold(s):this.expandFold(s),s;var h=this.getFoldWidgetRange(n,!0);if(h&&!h.isMultiLine()&&(s=this.getFoldAt(h.start.row,h.start.column,1),s&&h.isEqual(s.range)))return this.removeFold(s),s;if(i.siblings){var c=this.getParentFoldRangeData(n);if(c.range)var w=c.range.start.row+1,y=c.range.end.row;this.foldAll(w,y,i.all?1e4:0)}else i.children?(y=h?h.end.row:this.getLength(),this.foldAll(n+1,y,i.all?1e4:0)):h&&(i.all&&(h.collapseChildren=1e4),this.addFold("...",h));return h}},this.toggleFoldWidget=function(n){var i=this.selection.getCursor().row;i=this.getRowFoldStart(i);var t=this.$toggleFoldWidget(i,{});if(!t){var e=this.getParentFoldRangeData(i,!0);if(t=e.range||e.firstRange,t){i=t.start.row;var o=this.getFoldAt(i,this.getLine(i).length,1);o?this.removeFold(o):this.addFold("...",t)}}},this.updateFoldWidgets=function(n){var i=n.start.row,t=n.end.row-i;if(t===0)this.foldWidgets[i]=null;else if(n.action=="remove")this.foldWidgets.splice(i,t+1,null);else{var e=Array(t+1);e.unshift(i,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(n){var i=n.data;i.first!=i.last&&this.foldWidgets.length>i.first&&this.foldWidgets.splice(i.first,this.foldWidgets.length)}}M.Folding=r}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(_,M,F){var m=_("../token_iterator").TokenIterator,d=_("../range").Range;function p(){this.findMatchingBracket=function(a,l){if(a.column==0)return null;var r=l||this.getLine(a.row).charAt(a.column-1);if(r=="")return null;var n=r.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],a):this.$findOpeningBracket(n[2],a):null},this.getBracketRange=function(a){var l=this.getLine(a.row),r=!0,n,i=l.charAt(a.column-1),t=i&&i.match(/([\(\[\{])|([\)\]\}])/);if(t||(i=l.charAt(a.column),a={row:a.row,column:a.column+1},t=i&&i.match(/([\(\[\{])|([\)\]\}])/),r=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],a);if(!e)return null;n=d.fromPoints(a,e),r||(n.end.column++,n.start.column--),n.cursor=n.end}else{var e=this.$findOpeningBracket(t[2],a);if(!e)return null;n=d.fromPoints(e,a),r||(n.start.column++,n.end.column--),n.cursor=n.start}return n},this.getMatchingBracketRanges=function(a,l){var r=this.getLine(a.row),n=/([\(\[\{])|([\)\]\}])/,i=!l&&r.charAt(a.column-1),t=i&&i.match(n);if(t||(i=(l===void 0||l)&&r.charAt(a.column),a={row:a.row,column:a.column+1},t=i&&i.match(n)),!t)return null;var e=new d(a.row,a.column-1,a.row,a.column),o=t[1]?this.$findClosingBracket(t[1],a):this.$findOpeningBracket(t[2],a);if(!o)return[e];var s=new d(o.row,o.column,o.row,o.column+1);return[e,s]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(a,l,r){var n=this.$brackets[a],i=1,t=new m(this,l.row,l.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){r||(r=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var o=l.column-t.getCurrentTokenColumn()-2,s=e.value;;){for(;o>=0;){var h=s.charAt(o);if(h==n){if(i-=1,i==0)return{row:t.getCurrentTokenRow(),column:o+t.getCurrentTokenColumn()}}else h==a&&(i+=1);o-=1}do e=t.stepBackward();while(e&&!r.test(e.type));if(e==null)break;s=e.value,o=s.length-1}return null}},this.$findClosingBracket=function(a,l,r){var n=this.$brackets[a],i=1,t=new m(this,l.row,l.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){r||(r=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var o=l.column-t.getCurrentTokenColumn();;){for(var s=e.value,h=s.length;o<h;){var c=s.charAt(o);if(c==n){if(i-=1,i==0)return{row:t.getCurrentTokenRow(),column:o+t.getCurrentTokenColumn()}}else c==a&&(i+=1);o+=1}do e=t.stepForward();while(e&&!r.test(e.type));if(e==null)break;o=0}return null}},this.getMatchingTags=function(a){var l=new m(this,a.row,a.column),r=this.$findTagName(l);if(r){var n=l.stepBackward();return n.value==="<"?this.$findClosingTag(l,r):this.$findOpeningTag(l,r)}},this.$findTagName=function(a){var l=a.getCurrentToken(),r=!1,n=!1;if(l&&l.type.indexOf("tag-name")===-1)do n?l=a.stepBackward():l=a.stepForward(),l&&(l.value==="/>"?n=!0:l.type.indexOf("tag-name")!==-1&&(r=!0));while(l&&!r);return l},this.$findClosingTag=function(a,l){var r,n=l.value,i=l.value,t=0,e=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);l=a.stepForward();var o=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length),s=!1;do{if(r=l,r.type.indexOf("tag-close")!==-1&&!s){var h=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(l=a.stepForward(),l){if(l.value===">"&&!s){var h=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);s=!0}if(l.type.indexOf("tag-name")!==-1){if(n=l.value,i===n){if(r.value==="<")t++;else if(r.value==="</"&&(t--,t<0)){a.stepBackward();var c=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2);l=a.stepForward();var w=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length);if(l.type.indexOf("tag-close")===-1&&(l=a.stepForward()),l&&l.value===">")var y=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);else return}}}else if(i===n&&l.value==="/>"&&(t--,t<0))var c=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2),w=c,y=w,h=new d(o.end.row,o.end.column,o.end.row,o.end.column+1)}}while(l&&t>=0);if(e&&h&&c&&y&&o&&w)return{openTag:new d(e.start.row,e.start.column,h.end.row,h.end.column),closeTag:new d(c.start.row,c.start.column,y.end.row,y.end.column),openTagName:o,closeTagName:w}},this.$findOpeningTag=function(a,l){var r=a.getCurrentToken(),n=l.value,i=0,t=a.getCurrentTokenRow(),e=a.getCurrentTokenColumn(),o=e+2,s=new d(t,e,t,o);a.stepForward();var h=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+l.value.length);if(l.type.indexOf("tag-close")===-1&&(l=a.stepForward()),!(!l||l.value!==">")){var c=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);a.stepBackward(),a.stepBackward();do if(l=r,t=a.getCurrentTokenRow(),e=a.getCurrentTokenColumn(),o=e+l.value.length,r=a.stepBackward(),l){if(l.type.indexOf("tag-name")!==-1){if(n===l.value)if(r.value==="<"){if(i++,i>0){var w=new d(t,e,t,o),y=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);do l=a.stepForward();while(l&&l.value!==">");var v=new d(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else r.value==="</"&&i--}else if(l.value==="/>"){for(var f=0,$=r;$;){if($.type.indexOf("tag-name")!==-1&&$.value===n){i--;break}else if($.value==="<")break;$=a.stepBackward(),f++}for(var E=0;E<f;E++)a.stepForward()}}while(r&&i<=0);if(y&&v&&s&&c&&w&&h)return{openTag:new d(y.start.row,y.start.column,v.end.row,v.end.column),closeTag:new d(s.start.row,s.start.column,c.end.row,c.end.column),openTagName:w,closeTagName:h}}}}M.BracketMatch=p}),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(_,M,F){var m=_("./lib/oop"),d=_("./lib/lang"),p=_("./bidihandler").BidiHandler,a=_("./config"),l=_("./lib/event_emitter").EventEmitter,r=_("./selection").Selection,n=_("./mode/text").Mode,i=_("./range").Range,t=_("./line_widgets").LineWidgets,e=_("./document").Document,o=_("./background_tokenizer").BackgroundTokenizer,s=_("./search_highlight").SearchHighlight,h=_("./undomanager").UndoManager,c=(function(){function C(b,g){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"+ ++C.$uid,this.$foldData.toString=function(){return this.join(`
191
+ `)},this.$gutterCustomWidgets={},this.bgTokenizer=new o(new n().getTokenizer(),this);var u=this;this.bgTokenizer.on("update",function(S){u._signal("tokenizerUpdate",S)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof b!="object"||!b.getLine)&&(b=new e(b)),this.setDocument(b),this.selection=new r(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new p(this),a.resetOptions(this),this.setMode(g),a._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return C.prototype.$initOperationListeners=function(){var b=this;this.curOp=null,this.on("change",function(){b.curOp||(b.startOperation(),b.curOp.selectionBefore=b.$lastSel),b.curOp.docChanged=!0},!0),this.on("changeSelection",function(){b.curOp||(b.startOperation(),b.curOp.selectionBefore=b.$lastSel),b.curOp.selectionChanged=!0},!0),this.$operationResetTimer=d.delayedCall(this.endOperation.bind(this,!0))},C.prototype.startOperation=function(b){if(this.curOp){if(!b||this.curOp.command)return;this.prevOp=this.curOp}b||(b={}),this.$operationResetTimer.schedule(),this.curOp={command:b.command||{},args:b.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",b)},C.prototype.endOperation=function(b){if(this.curOp){if(b&&b.returnValue===!1){this.curOp=null,this._signal("endOperation",b);return}if(b==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var g=this.selection.toJSON();this.curOp.selectionAfter=g,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(g),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",b)}},C.prototype.setDocument=function(b){this.doc&&this.doc.off("change",this.$onChange),this.doc=b,b.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},C.prototype.getDocument=function(){return this.doc},Object.defineProperty(C.prototype,"widgetManager",{get:function(){var b=new t(this);return this.widgetManager=b,this.$editor&&b.attach(this.$editor),b},set:function(b){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:b})},enumerable:!1,configurable:!0}),C.prototype.$resetRowCache=function(b){if(!b){this.$docRowCache=[],this.$screenRowCache=[];return}var g=this.$docRowCache.length,u=this.$getRowCacheIndex(this.$docRowCache,b)+1;g>u&&(this.$docRowCache.splice(u,g),this.$screenRowCache.splice(u,g))},C.prototype.$getRowCacheIndex=function(b,g){for(var u=0,S=b.length-1;u<=S;){var x=u+S>>1,T=b[x];if(g>T)u=x+1;else if(g<T)S=x-1;else return x}return u-1},C.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},C.prototype.onChangeFold=function(b){var g=b.data;this.$resetRowCache(g.start.row)},C.prototype.onChange=function(b){this.$modified=!0,this.$bidiHandler.onChange(b),this.$resetRowCache(b.start.row);var g=this.$updateInternalDataOnChange(b);!this.$fromUndo&&this.$undoManager&&(g&&g.length&&(this.$undoManager.add({action:"removeFolds",folds:g},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(b,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(b),this._signal("change",b)},C.prototype.onSelectionChange=function(){this._signal("changeSelection")},C.prototype.setValue=function(b){this.doc.setValue(b),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},C.fromJSON=function(b){typeof b=="string"&&(b=JSON.parse(b));var g=new h;g.$undoStack=b.history.undo,g.$redoStack=b.history.redo,g.mark=b.history.mark,g.$rev=b.history.rev;var u=new C(b.value);return b.folds.forEach(function(S){u.addFold("...",i.fromPoints(S.start,S.end))}),u.setAnnotations(b.annotations),u.setBreakpoints(b.breakpoints),u.setMode(b.mode),u.setScrollLeft(b.scrollLeft),u.setScrollTop(b.scrollTop),u.setUndoManager(g),u.selection.fromJSON(b.selection),u},C.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(b){return b.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},C.prototype.toString=function(){return this.doc.getValue()},C.prototype.getSelection=function(){return this.selection},C.prototype.getState=function(b){return this.bgTokenizer.getState(b)},C.prototype.getTokens=function(b){return this.bgTokenizer.getTokens(b)},C.prototype.getTokenAt=function(b,g){var u=this.bgTokenizer.getTokens(b),S,x=0;if(g==null){var T=u.length-1;x=this.getLine(b).length}else for(var T=0;T<u.length&&(x+=u[T].value.length,!(x>=g));T++);return S=u[T],S?(S.index=T,S.start=x-S.value.length,S):null},C.prototype.setUndoManager=function(b){if(this.$undoManager=b,this.$informUndoManager&&this.$informUndoManager.cancel(),b){var g=this;b.addSession(this),this.$syncInformUndoManager=function(){g.$informUndoManager.cancel(),g.mergeUndoDeltas=!1},this.$informUndoManager=d.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},C.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},C.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},C.prototype.getTabString=function(){return this.getUseSoftTabs()?d.stringRepeat(" ",this.getTabSize()):" "},C.prototype.setUseSoftTabs=function(b){this.setOption("useSoftTabs",b)},C.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},C.prototype.setTabSize=function(b){this.setOption("tabSize",b)},C.prototype.getTabSize=function(){return this.$tabSize},C.prototype.isTabStop=function(b){return this.$useSoftTabs&&b.column%this.$tabSize===0},C.prototype.setNavigateWithinSoftTabs=function(b){this.setOption("navigateWithinSoftTabs",b)},C.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},C.prototype.setOverwrite=function(b){this.setOption("overwrite",b)},C.prototype.getOverwrite=function(){return this.$overwrite},C.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},C.prototype.addGutterDecoration=function(b,g){this.$decorations[b]||(this.$decorations[b]=""),this.$decorations[b]+=" "+g,this._signal("changeBreakpoint",{})},C.prototype.removeGutterCustomWidget=function(b){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(b)},C.prototype.addGutterCustomWidget=function(b,g){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(b,g)},C.prototype.removeGutterDecoration=function(b,g){this.$decorations[b]=(this.$decorations[b]||"").replace(" "+g,""),this._signal("changeBreakpoint",{})},C.prototype.getBreakpoints=function(){return this.$breakpoints},C.prototype.setBreakpoints=function(b){this.$breakpoints=[];for(var g=0;g<b.length;g++)this.$breakpoints[b[g]]="ace_breakpoint";this._signal("changeBreakpoint",{})},C.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},C.prototype.setBreakpoint=function(b,g){g===void 0&&(g="ace_breakpoint"),g?this.$breakpoints[b]=g:delete this.$breakpoints[b],this._signal("changeBreakpoint",{})},C.prototype.clearBreakpoint=function(b){delete this.$breakpoints[b],this._signal("changeBreakpoint",{})},C.prototype.addMarker=function(b,g,u,S){var x=this.$markerId++,T={range:b,type:u||"line",renderer:typeof u=="function"?u:null,clazz:g,inFront:!!S,id:x};return S?(this.$frontMarkers[x]=T,this._signal("changeFrontMarker")):(this.$backMarkers[x]=T,this._signal("changeBackMarker")),x},C.prototype.addDynamicMarker=function(b,g){if(b.update){var u=this.$markerId++;return b.id=u,b.inFront=!!g,g?(this.$frontMarkers[u]=b,this._signal("changeFrontMarker")):(this.$backMarkers[u]=b,this._signal("changeBackMarker")),b}},C.prototype.removeMarker=function(b){var g=this.$frontMarkers[b]||this.$backMarkers[b];if(g){var u=g.inFront?this.$frontMarkers:this.$backMarkers;delete u[b],this._signal(g.inFront?"changeFrontMarker":"changeBackMarker")}},C.prototype.getMarkers=function(b){return b?this.$frontMarkers:this.$backMarkers},C.prototype.highlight=function(b){if(!this.$searchHighlight){var g=new s(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(g)}this.$searchHighlight.setRegexp(b)},C.prototype.highlightLines=function(b,g,u,S){typeof g!="number"&&(u=g,g=b),u||(u="ace_step");var x=new i(b,0,g,1/0);return x.id=this.addMarker(x,u,"fullLine",S),x},C.prototype.setAnnotations=function(b){this.$annotations=b,this._signal("changeAnnotation",{})},C.prototype.getAnnotations=function(){return this.$annotations||[]},C.prototype.clearAnnotations=function(){this.setAnnotations([])},C.prototype.$detectNewLine=function(b){var g=b.match(/^.*?(\r?\n)/m);g?this.$autoNewLine=g[1]:this.$autoNewLine=`
192
+ `},C.prototype.getWordRange=function(b,g){var u=this.getLine(b),S=!1;if(g>0&&(S=!!u.charAt(g-1).match(this.tokenRe)),S||(S=!!u.charAt(g).match(this.tokenRe)),S)var x=this.tokenRe;else if(/^\s+$/.test(u.slice(g-1,g+1)))var x=/\s/;else var x=this.nonTokenRe;var T=g;if(T>0){do T--;while(T>=0&&u.charAt(T).match(x));T++}for(var k=g;k<u.length&&u.charAt(k).match(x);)k++;return new i(b,T,b,k)},C.prototype.getAWordRange=function(b,g){for(var u=this.getWordRange(b,g),S=this.getLine(u.end.row);S.charAt(u.end.column).match(/[ \t]/);)u.end.column+=1;return u},C.prototype.setNewLineMode=function(b){this.doc.setNewLineMode(b)},C.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},C.prototype.setUseWorker=function(b){this.setOption("useWorker",b)},C.prototype.getUseWorker=function(){return this.$useWorker},C.prototype.onReloadTokenizer=function(b){var g=b.data;this.bgTokenizer.start(g.first),this._signal("tokenizerUpdate",b)},C.prototype.setMode=function(b,g){if(b&&typeof b=="object"){if(b.getTokenizer)return this.$onChangeMode(b);var u=b,S=u.path}else S=b||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new n),this.$modes[S]&&!u){this.$onChangeMode(this.$modes[S]),g&&g();return}this.$modeId=S,a.loadModule(["mode",S],(function(x){if(!this.destroyed){if(this.$modeId!==S)return g&&g();this.$modes[S]&&!u?this.$onChangeMode(this.$modes[S]):x&&x.Mode&&(x=new x.Mode(u),u||(this.$modes[S]=x,x.$id=S),this.$onChangeMode(x)),g&&g()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},C.prototype.$onChangeMode=function(b,g){if(g||(this.$modeId=b.$id),this.$mode!==b){var u=this.$mode;this.$mode=b,this.$stopWorker(),this.$useWorker&&this.$startWorker();var S=b.getTokenizer();if(S.on!==void 0){var x=this.onReloadTokenizer.bind(this);S.on("update",x)}this.bgTokenizer.setTokenizer(S),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=b.tokenRe,this.nonTokenRe=b.nonTokenRe,g||(b.attachToSession&&b.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(b.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:u,mode:b}))}},C.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},C.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(b){a.warn("Could not load worker",b),this.$worker=null}},C.prototype.getMode=function(){return this.$mode},C.prototype.setScrollTop=function(b){this.$scrollTop===b||isNaN(b)||(this.$scrollTop=b,this._signal("changeScrollTop",b))},C.prototype.getScrollTop=function(){return this.$scrollTop},C.prototype.setScrollLeft=function(b){this.$scrollLeft===b||isNaN(b)||(this.$scrollLeft=b,this._signal("changeScrollLeft",b))},C.prototype.getScrollLeft=function(){return this.$scrollLeft},C.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},C.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var b=0;return this.lineWidgets.forEach(function(g){g&&g.screenWidth>b&&(b=g.screenWidth)}),this.lineWidgetWidth=b},C.prototype.$computeWidth=function(b){if(this.$modified||b){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var g=this.doc.getAllLines(),u=this.$rowLengthCache,S=0,x=0,T=this.$foldData[x],k=T?T.start.row:1/0,I=g.length,O=0;O<I;O++){if(O>k){if(O=T.end.row+1,O>=I)break;T=this.$foldData[x++],k=T?T.start.row:1/0}u[O]==null&&(u[O]=this.$getStringScreenWidth(g[O])[0]),u[O]>S&&(S=u[O])}this.screenWidth=S}},C.prototype.getLine=function(b){return this.doc.getLine(b)},C.prototype.getLines=function(b,g){return this.doc.getLines(b,g)},C.prototype.getLength=function(){return this.doc.getLength()},C.prototype.getTextRange=function(b){return this.doc.getTextRange(b||this.selection.getRange())},C.prototype.insert=function(b,g){return this.doc.insert(b,g)},C.prototype.remove=function(b){return this.doc.remove(b)},C.prototype.removeFullLines=function(b,g){return this.doc.removeFullLines(b,g)},C.prototype.undoChanges=function(b,g){if(b.length){this.$fromUndo=!0;for(var u=b.length-1;u!=-1;u--){var S=b[u];S.action=="insert"||S.action=="remove"?this.doc.revertDelta(S):S.folds&&this.addFolds(S.folds)}!g&&this.$undoSelect&&(b.selectionBefore?this.selection.fromJSON(b.selectionBefore):this.selection.setRange(this.$getUndoSelection(b,!0))),this.$fromUndo=!1}},C.prototype.redoChanges=function(b,g){if(b.length){this.$fromUndo=!0;for(var u=0;u<b.length;u++){var S=b[u];(S.action=="insert"||S.action=="remove")&&this.doc.$safeApplyDelta(S)}!g&&this.$undoSelect&&(b.selectionAfter?this.selection.fromJSON(b.selectionAfter):this.selection.setRange(this.$getUndoSelection(b,!1))),this.$fromUndo=!1}},C.prototype.setUndoSelect=function(b){this.$undoSelect=b},C.prototype.$getUndoSelection=function(b,g){function u(I){return g?I.action!=="insert":I.action==="insert"}for(var S,x,T=0;T<b.length;T++){var k=b[T];if(k.start){if(!S){u(k)?S=i.fromPoints(k.start,k.end):S=i.fromPoints(k.start,k.start);continue}u(k)?(x=k.start,S.compare(x.row,x.column)==-1&&S.setStart(x),x=k.end,S.compare(x.row,x.column)==1&&S.setEnd(x)):(x=k.start,S.compare(x.row,x.column)==-1&&(S=i.fromPoints(k.start,k.start)))}}return S},C.prototype.replace=function(b,g){return this.doc.replace(b,g)},C.prototype.moveText=function(b,g,u){var S=this.getTextRange(b),x=this.getFoldsInRange(b),T=i.fromPoints(g,g);if(!u){this.remove(b);var k=b.start.row-b.end.row,I=k?-b.end.column:b.start.column-b.end.column;I&&(T.start.row==b.end.row&&T.start.column>b.end.column&&(T.start.column+=I),T.end.row==b.end.row&&T.end.column>b.end.column&&(T.end.column+=I)),k&&T.start.row>=b.end.row&&(T.start.row+=k,T.end.row+=k)}if(T.end=this.insert(T.start,S),x.length){var O=b.start,z=T.start,k=z.row-O.row,I=z.column-O.column;this.addFolds(x.map(function(W){return W=W.clone(),W.start.row==O.row&&(W.start.column+=I),W.end.row==O.row&&(W.end.column+=I),W.start.row+=k,W.end.row+=k,W}))}return T},C.prototype.indentRows=function(b,g,u){u=u.replace(/\t/g,this.getTabString());for(var S=b;S<=g;S++)this.doc.insertInLine({row:S,column:0},u)},C.prototype.outdentRows=function(b){for(var g=b.collapseRows(),u=new i(0,0,0,0),S=this.getTabSize(),x=g.start.row;x<=g.end.row;++x){var T=this.getLine(x);u.start.row=x,u.end.row=x;for(var k=0;k<S&&T.charAt(k)==" ";++k);k<S&&T.charAt(k)==" "?(u.start.column=k,u.end.column=k+1):(u.start.column=0,u.end.column=k),this.remove(u)}},C.prototype.$moveLines=function(b,g,u){if(b=this.getRowFoldStart(b),g=this.getRowFoldEnd(g),u<0){var S=this.getRowFoldStart(b+u);if(S<0)return 0;var x=S-b}else if(u>0){var S=this.getRowFoldEnd(g+u);if(S>this.doc.getLength()-1)return 0;var x=S-g}else{b=this.$clipRowToDocument(b),g=this.$clipRowToDocument(g);var x=g-b+1}var T=new i(b,0,g,Number.MAX_VALUE),k=this.getFoldsInRange(T).map(function(O){return O=O.clone(),O.start.row+=x,O.end.row+=x,O}),I=u==0?this.doc.getLines(b,g):this.doc.removeFullLines(b,g);return this.doc.insertFullLines(b+x,I),k.length&&this.addFolds(k),x},C.prototype.moveLinesUp=function(b,g){return this.$moveLines(b,g,-1)},C.prototype.moveLinesDown=function(b,g){return this.$moveLines(b,g,1)},C.prototype.duplicateLines=function(b,g){return this.$moveLines(b,g,0)},C.prototype.$clipRowToDocument=function(b){return Math.max(0,Math.min(b,this.doc.getLength()-1))},C.prototype.$clipColumnToRow=function(b,g){return g<0?0:Math.min(this.doc.getLine(b).length,g)},C.prototype.$clipPositionToDocument=function(b,g){if(g=Math.max(0,g),b<0)b=0,g=0;else{var u=this.doc.getLength();b>=u?(b=u-1,g=this.doc.getLine(u-1).length):g=Math.min(this.doc.getLine(b).length,g)}return{row:b,column:g}},C.prototype.$clipRangeToDocument=function(b){b.start.row<0?(b.start.row=0,b.start.column=0):b.start.column=this.$clipColumnToRow(b.start.row,b.start.column);var g=this.doc.getLength()-1;return b.end.row>g?(b.end.row=g,b.end.column=this.doc.getLine(g).length):b.end.column=this.$clipColumnToRow(b.end.row,b.end.column),b},C.prototype.setUseWrapMode=function(b){if(b!=this.$useWrapMode){if(this.$useWrapMode=b,this.$modified=!0,this.$resetRowCache(0),b){var g=this.getLength();this.$wrapData=Array(g),this.$updateWrapData(0,g-1)}this._signal("changeWrapMode")}},C.prototype.getUseWrapMode=function(){return this.$useWrapMode},C.prototype.setWrapLimitRange=function(b,g){(this.$wrapLimitRange.min!==b||this.$wrapLimitRange.max!==g)&&(this.$wrapLimitRange={min:b,max:g},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},C.prototype.adjustWrapLimit=function(b,g){var u=this.$wrapLimitRange;u.max<0&&(u={min:g,max:g});var S=this.$constrainWrapLimit(b,u.min,u.max);return S!=this.$wrapLimit&&S>1?(this.$wrapLimit=S,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},C.prototype.$constrainWrapLimit=function(b,g,u){return g&&(b=Math.max(g,b)),u&&(b=Math.min(u,b)),b},C.prototype.getWrapLimit=function(){return this.$wrapLimit},C.prototype.setWrapLimit=function(b){this.setWrapLimitRange(b,b)},C.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},C.prototype.$updateInternalDataOnChange=function(b){var g=this.$useWrapMode,u=b.action,S=b.start,x=b.end,T=S.row,k=x.row,I=k-T,O=null;if(this.$updating=!0,I!=0)if(u==="remove"){this[g?"$wrapData":"$rowLengthCache"].splice(T,I);var z=this.$foldData;O=this.getFoldsInRange(b),this.removeFolds(O);var N=this.getFoldLine(x.row),B=0;if(N){N.addRemoveChars(x.row,x.column,S.column-x.column),N.shiftRow(-I);var W=this.getFoldLine(T);W&&W!==N&&(W.merge(N),N=W),B=z.indexOf(N)+1}for(B;B<z.length;B++){var N=z[B];N.start.row>=x.row&&N.shiftRow(-I)}k=T}else{var U=Array(I);U.unshift(T,0);var G=g?this.$wrapData:this.$rowLengthCache;G.splice.apply(G,U);var z=this.$foldData,N=this.getFoldLine(T),B=0;if(N){var V=N.range.compareInside(S.row,S.column);V==0?(N=N.split(S.row,S.column),N&&(N.shiftRow(I),N.addRemoveChars(k,0,x.column-S.column))):V==-1&&(N.addRemoveChars(T,0,x.column-S.column),N.shiftRow(I)),B=z.indexOf(N)+1}for(B;B<z.length;B++){var N=z[B];N.start.row>=T&&N.shiftRow(I)}}else{I=Math.abs(b.start.column-b.end.column),u==="remove"&&(O=this.getFoldsInRange(b),this.removeFolds(O),I=-I);var N=this.getFoldLine(T);N&&N.addRemoveChars(T,S.column,I)}return g&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,g?this.$updateWrapData(T,k):this.$updateRowLengthCache(T,k),O},C.prototype.$updateRowLengthCache=function(b,g){this.$rowLengthCache[b]=null,this.$rowLengthCache[g]=null},C.prototype.$updateWrapData=function(b,g){var u=this.doc.getAllLines(),S=this.getTabSize(),x=this.$wrapData,T=this.$wrapLimit,k,I,O=b;for(g=Math.min(g,u.length-1);O<=g;)I=this.getFoldLine(O,I),I?(k=[],I.walk((function(z,N,B,W){var U;if(z!=null){U=this.$getDisplayTokens(z,k.length),U[0]=v;for(var G=1;G<U.length;G++)U[G]=f}else U=this.$getDisplayTokens(u[N].substring(W,B),k.length);k=k.concat(U)}).bind(this),I.end.row,u[I.end.row].length+1),x[I.start.row]=this.$computeWrapSplits(k,T,S),O=I.end.row+1):(k=this.$getDisplayTokens(u[O]),x[O]=this.$computeWrapSplits(k,T,S),O++)},C.prototype.$computeWrapSplits=function(b,g,u){if(b.length==0)return[];var S=[],x=b.length,T=0,k=0,I=this.$wrapAsCode,O=this.$indentedSoftWrap,z=g<=Math.max(2*u,8)||O===!1?0:Math.floor(g/2);function N(){var V=0;if(z===0)return V;if(O)for(var X=0;X<b.length;X++){var Q=b[X];if(Q==E)V+=1;else if(Q==A)V+=u;else{if(Q==L)continue;break}}return I&&O!==!1&&(V+=u),Math.min(V,z)}function B(V){for(var X=V-T,Q=T;Q<V;Q++){var q=b[Q];(q===12||q===2)&&(X-=1)}S.length||(W=N(),S.indent=W),k+=X,S.push(k),T=V}for(var W=0;x-T>g-W;){var U=T+g-W;if(b[U-1]>=E&&b[U]>=E){B(U);continue}if(b[U]==v||b[U]==f){for(U;U!=T-1&&b[U]!=v;U--);if(U>T){B(U);continue}for(U=T+g,U;U<b.length&&b[U]==f;U++);if(U==b.length)break;B(U);continue}for(var G=Math.max(U-(g-(g>>2)),T-1);U>G&&b[U]<v;)U--;if(I){for(;U>G&&b[U]<v;)U--;for(;U>G&&b[U]==$;)U--}else for(;U>G&&b[U]<E;)U--;if(U>G){B(++U);continue}U=T+g,b[U]==y&&U--,B(U-W)}return S},C.prototype.$getDisplayTokens=function(b,g){var u=[],S;g=g||0;for(var x=0;x<b.length;x++){var T=b.charCodeAt(x);if(T==9){S=this.getScreenTabSize(u.length+g),u.push(A);for(var k=1;k<S;k++)u.push(L)}else T==32?u.push(E):T>39&&T<48||T>57&&T<64?u.push($):T>=4352&&R(T)?u.push(w,y):u.push(w)}return u},C.prototype.$getStringScreenWidth=function(b,g,u){if(g==0)return[0,0];g==null&&(g=1/0),u=u||0;var S,x;for(x=0;x<b.length&&(S=b.charCodeAt(x),S==9?u+=this.getScreenTabSize(u):S>=4352&&R(S)?u+=2:u+=1,!(u>g));x++);return[u,x]},C.prototype.getRowLength=function(b){var g=1;return this.lineWidgets&&(g+=this.lineWidgets[b]&&this.lineWidgets[b].rowCount||0),!this.$useWrapMode||!this.$wrapData[b]?g:this.$wrapData[b].length+g},C.prototype.getRowLineCount=function(b){return!this.$useWrapMode||!this.$wrapData[b]?1:this.$wrapData[b].length+1},C.prototype.getRowWrapIndent=function(b){if(this.$useWrapMode){var g=this.screenToDocumentPosition(b,Number.MAX_VALUE),u=this.$wrapData[g.row];return u.length&&u[0]<g.column?u.indent:0}else return 0},C.prototype.getScreenLastRowColumn=function(b){var g=this.screenToDocumentPosition(b,Number.MAX_VALUE);return this.documentToScreenColumn(g.row,g.column)},C.prototype.getDocumentLastRowColumn=function(b,g){var u=this.documentToScreenRow(b,g);return this.getScreenLastRowColumn(u)},C.prototype.getDocumentLastRowColumnPosition=function(b,g){var u=this.documentToScreenRow(b,g);return this.screenToDocumentPosition(u,Number.MAX_VALUE/10)},C.prototype.getRowSplitData=function(b){if(this.$useWrapMode)return this.$wrapData[b]},C.prototype.getScreenTabSize=function(b){return this.$tabSize-(b%this.$tabSize|0)},C.prototype.screenToDocumentRow=function(b,g){return this.screenToDocumentPosition(b,g).row},C.prototype.screenToDocumentColumn=function(b,g){return this.screenToDocumentPosition(b,g).column},C.prototype.screenToDocumentPosition=function(b,g,u){if(b<0)return{row:0,column:0};var S,x=0,T=0,k,I=0,O=0,z=this.$screenRowCache,N=this.$getRowCacheIndex(z,b),B=z.length;if(B&&N>=0)var I=z[N],x=this.$docRowCache[N],W=b>z[B-1];else var W=!B;for(var U=this.getLength()-1,G=this.getNextFoldLine(x),V=G?G.start.row:1/0;I<=b&&(O=this.getRowLength(x),!(I+O>b||x>=U));)I+=O,x++,x>V&&(x=G.end.row+1,G=this.getNextFoldLine(x,G),V=G?G.start.row:1/0),W&&(this.$docRowCache.push(x),this.$screenRowCache.push(I));if(G&&G.start.row<=x)S=this.getFoldDisplayLine(G),x=G.start.row;else{if(I+O<=b||x>U)return{row:U,column:this.getLine(U).length};S=this.getLine(x),G=null}var X=0,Q=Math.floor(b-I);if(this.$useWrapMode){var q=this.$wrapData[x];q&&(k=q[Q],Q>0&&q.length&&(X=q.indent,T=q[Q-1]||q[q.length-1],S=S.substring(T)))}return u!==void 0&&this.$bidiHandler.isBidiRow(I+Q,x,Q)&&(g=this.$bidiHandler.offsetToCol(u)),T+=this.$getStringScreenWidth(S,g-X)[1],this.$useWrapMode&&T>=k&&(T=k-1),G?G.idxToPosition(T):{row:x,column:T}},C.prototype.documentToScreenPosition=function(b,g){if(typeof g>"u")var u=this.$clipPositionToDocument(b.row,b.column);else u=this.$clipPositionToDocument(b,g);b=u.row,g=u.column;var S=0,x=null,T=null;T=this.getFoldAt(b,g,1),T&&(b=T.start.row,g=T.start.column);var k,I=0,O=this.$docRowCache,z=this.$getRowCacheIndex(O,b),N=O.length;if(N&&z>=0)var I=O[z],S=this.$screenRowCache[z],B=b>O[N-1];else var B=!N;for(var W=this.getNextFoldLine(I),U=W?W.start.row:1/0;I<b;){if(I>=U){if(k=W.end.row+1,k>b)break;W=this.getNextFoldLine(k,W),U=W?W.start.row:1/0}else k=I+1;S+=this.getRowLength(I),I=k,B&&(this.$docRowCache.push(I),this.$screenRowCache.push(S))}var G="";W&&I>=U?(G=this.getFoldDisplayLine(W,b,g),x=W.start.row):(G=this.getLine(b).substring(0,g),x=b);var V=0;if(this.$useWrapMode){var X=this.$wrapData[x];if(X){for(var Q=0;G.length>=X[Q];)S++,Q++;G=G.substring(X[Q-1]||0,G.length),V=Q>0?X.indent:0}}return this.lineWidgets&&this.lineWidgets[I]&&this.lineWidgets[I].rowsAbove&&(S+=this.lineWidgets[I].rowsAbove),{row:S,column:V+this.$getStringScreenWidth(G)[0]}},C.prototype.documentToScreenColumn=function(b,g){return this.documentToScreenPosition(b,g).column},C.prototype.documentToScreenRow=function(b,g){return this.documentToScreenPosition(b,g).row},C.prototype.getScreenLength=function(){var b=0,g=null;if(this.$useWrapMode)for(var x=this.$wrapData.length,T=0,S=0,g=this.$foldData[S++],k=g?g.start.row:1/0;T<x;){var I=this.$wrapData[T];b+=I?I.length+1:1,T++,T>k&&(T=g.end.row+1,g=this.$foldData[S++],k=g?g.start.row:1/0)}else{b=this.getLength();for(var u=this.$foldData,S=0;S<u.length;S++)g=u[S],b-=g.end.row-g.start.row}return this.lineWidgets&&(b+=this.$getWidgetScreenLength()),b},C.prototype.$setFontMetrics=function(b){this.$enableVarChar&&(this.$getStringScreenWidth=function(g,u,S){if(u===0)return[0,0];u||(u=1/0),S=S||0;var x,T;for(T=0;T<g.length&&(x=g.charAt(T),x===" "?S+=this.getScreenTabSize(S):S+=b.getCharacterWidth(x),!(S>u));T++);return[S,T]})},C.prototype.getPrecedingCharacter=function(){var b=this.selection.getCursor();if(b.column===0)return b.row===0?"":this.doc.getNewLineCharacter();var g=this.getLine(b.row);return g[b.column-1]},C.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},C})();c.$uid=0,c.prototype.$modes=a.$modes,c.prototype.getValue=c.prototype.toString,c.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},c.prototype.$overwrite=!1,c.prototype.$mode=null,c.prototype.$modeId=null,c.prototype.$scrollTop=0,c.prototype.$scrollLeft=0,c.prototype.$wrapLimit=80,c.prototype.$useWrapMode=!1,c.prototype.$wrapLimitRange={min:null,max:null},c.prototype.lineWidgets=null,c.prototype.isFullWidth=R,m.implement(c.prototype,l);var w=1,y=2,v=3,f=4,$=9,E=10,A=11,L=12;function R(C){return C<4352?!1:C>=4352&&C<=4447||C>=4515&&C<=4519||C>=4602&&C<=4607||C>=9001&&C<=9002||C>=11904&&C<=11929||C>=11931&&C<=12019||C>=12032&&C<=12245||C>=12272&&C<=12283||C>=12288&&C<=12350||C>=12353&&C<=12438||C>=12441&&C<=12543||C>=12549&&C<=12589||C>=12593&&C<=12686||C>=12688&&C<=12730||C>=12736&&C<=12771||C>=12784&&C<=12830||C>=12832&&C<=12871||C>=12880&&C<=13054||C>=13056&&C<=19903||C>=19968&&C<=42124||C>=42128&&C<=42182||C>=43360&&C<=43388||C>=44032&&C<=55203||C>=55216&&C<=55238||C>=55243&&C<=55291||C>=63744&&C<=64255||C>=65040&&C<=65049||C>=65072&&C<=65106||C>=65108&&C<=65126||C>=65128&&C<=65131||C>=65281&&C<=65376||C>=65504&&C<=65510}_("./edit_session/folding").Folding.call(c.prototype),_("./edit_session/bracket_match").BracketMatch.call(c.prototype),a.defineOptions(c.prototype,"session",{wrap:{set:function(C){if(!C||C=="off"?C=!1:C=="free"?C=!0:C=="printMargin"?C=-1:typeof C=="string"&&(C=parseInt(C,10)||!1),this.$wrap!=C)if(this.$wrap=C,!C)this.setUseWrapMode(!1);else{var b=typeof C=="number"?C:null;this.setWrapLimitRange(b,b),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(C){C=C=="auto"?this.$mode.type!="text":C!="text",C!=this.$wrapAsCode&&(this.$wrapAsCode=C,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(C){this.$useWorker=C,this.$stopWorker(),C&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(C){C=parseInt(C),C>0&&this.$tabSize!==C&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=C,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(C){this.setFoldStyle(C)},handlesSet:!0},overwrite:{set:function(C){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(C){this.doc.setNewLineMode(C)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(C){this.setMode(C)},get:function(){return this.$modeId},handlesSet:!0}}),M.EditSession=c}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(_,M,F){var m=_("./lib/lang"),d=_("./lib/oop"),p=_("./range").Range,a=(function(){function i(){this.$options={}}return i.prototype.set=function(t){return d.mixin(this.$options,t),this},i.prototype.getOptions=function(){return m.copyObject(this.$options)},i.prototype.setOptions=function(t){this.$options=t},i.prototype.find=function(t){var e=this.$options,o=this.$matchIterator(t,e);if(!o)return!1;var s=null;return o.forEach(function(h,c,w,y){return s=new p(h,c,w,y),c==y&&e.start&&e.start.start&&e.skipCurrent!=!1&&s.isEqual(e.start)?(s=null,!1):!0}),s},i.prototype.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var o=e.range,s=o?t.getLines(o.start.row,o.end.row):t.doc.getAllLines(),h=[],c=e.re;if(e.$isMultiLine){var w=c.length,y=s.length-w,v;e:for(var f=c.offset||0;f<=y;f++){for(var $=0;$<w;$++)if(s[f+$].search(c[$])==-1)continue e;var E=s[f],A=s[f+w-1],L=E.length-E.match(c[0])[0].length,R=A.match(c[w-1])[0].length;v&&v.end.row===f&&v.end.column>L||(h.push(v=new p(f,L,f+w-1,R)),w>2&&(f=f+w-2))}}else for(var C,b=0;b<s.length;b++)if(this.$isMultilineSearch(e)){var g=s.length-1;if(C=this.$multiLineForward(t,c,b,g),C){var u=C.endRow<=g?C.endRow-1:g;u>b&&(b=u),h.push(new p(C.startRow,C.startCol,C.endRow,C.endCol))}}else{C=m.getMatchOffsets(s[b],c);for(var $=0;$<C.length;$++){var S=C[$];h.push(new p(b,S.offset,b,S.offset+S.length))}}if(o){for(var x=o.start.column,T=o.end.column,b=0,$=h.length-1;b<$&&h[b].start.column<x&&h[b].start.row==0;)b++;for(var k=o.end.row-o.start.row;b<$&&h[$].end.column>T&&h[$].end.row==k;)$--;for(h=h.slice(b,$+1),b=0,$=h.length;b<$;b++)h[b].start.row+=o.start.row,h[b].end.row+=o.start.row}return h},i.prototype.parseReplaceString=function(t){for(var e={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},o="",s=0,h=t.length;s<h;s++){var c=t.charCodeAt(s);if(c===e.Backslash){if(s++,s>=h){o+="\\";break}var w=t.charCodeAt(s);switch(w){case e.Backslash:o+="\\";break;case e.n:o+=`
193
+ `;break;case e.t:o+=" ";break}continue}if(c===e.DollarSign){if(s++,s>=h){o+="$";break}var y=t.charCodeAt(s);if(y===e.DollarSign){o+="$$";continue}if(y===e.Digit0||y===e.Ampersand){o+="$&";continue}if(e.Digit1<=y&&y<=e.Digit9){o+="$"+t[s];continue}}o+=t[s]}return o||t},i.prototype.replace=function(t,e){var o=this.$options,s=this.$assembleRegExp(o);if(o.$isMultiLine)return e;if(s){var h=this.$isMultilineSearch(o);h&&(t=t.replace(/\r\n|\r|\n/g,`
194
+ `));var c=s.exec(t);if(!c||!h&&c[0].length!=t.length)return null;if(e=o.regExp?this.parseReplaceString(e):e.replace(/\$/g,"$$$$"),e=t.replace(s,e),o.preserveCase){e=e.split("");for(var w=Math.min(t.length,t.length);w--;){var y=t[w];y&&y.toLowerCase()!=y?e[w]=e[w].toUpperCase():e[w]=e[w].toLowerCase()}e=e.join("")}return e}},i.prototype.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var o=t.needle;if(!t.needle)return t.re=!1;t.regExp||(o=m.escapeRegExp(o));var s=t.caseSensitive?"gm":"gmi";try{new RegExp(o,"u"),t.$supportsUnicodeFlag=!0,s+="u"}catch{t.$supportsUnicodeFlag=!1}if(t.wholeWord&&(o=l(o,t)),t.$isMultiLine=!e&&/[\n\r]/.test(o),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(o,s);try{var h=new RegExp(o,s)}catch{h=!1}return t.re=h},i.prototype.$assembleMultilineRegExp=function(t,e){for(var o=t.replace(/\r\n|\r|\n/g,`$
195
+ ^`).split(`
196
+ `),s=[],h=0;h<o.length;h++)try{s.push(new RegExp(o[h],e))}catch{return!1}return s},i.prototype.$isMultilineSearch=function(t){return t.re&&/\\r\\n|\\r|\\n/.test(t.re.source)&&t.regExp&&!t.$isMultiLine},i.prototype.$multiLineForward=function(t,e,o,s){for(var h,c=n(t,o),w=o;w<=s;){for(var y=0;y<c&&!(w>s);y++){var v=t.getLine(w++);h=h==null?v:h+`
197
+ `+v}var f=e.exec(h);if(e.lastIndex=0,f){var $=h.slice(0,f.index).split(`
198
+ `),E=f[0].split(`
199
+ `),A=o+$.length-1,L=$[$.length-1].length,R=A+E.length-1,C=E.length==1?L+E[0].length:E[E.length-1].length;return{startRow:A,startCol:L,endRow:R,endCol:C}}}return null},i.prototype.$multiLineBackward=function(t,e,o,s,h){for(var c,w=n(t,s),y=t.getLine(s).length-o,v=s;v>=h;){for(var f=0;f<w&&v>=h;f++){var $=t.getLine(v--);c=c==null?$:$+`
200
+ `+c}var E=r(c,e,y);if(E){var A=c.slice(0,E.index).split(`
201
+ `),L=E[0].split(`
202
+ `),R=v+A.length,C=A[A.length-1].length,b=R+L.length-1,g=L.length==1?C+L[0].length:L[L.length-1].length;return{startRow:R,startCol:C,endRow:b,endCol:g}}}return null},i.prototype.$matchIterator=function(t,e){var o=this.$assembleRegExp(e);if(!o)return!1;var s=this.$isMultilineSearch(e),h=this.$multiLineForward,c=this.$multiLineBackward,w=e.backwards==!0,y=e.skipCurrent!=!1,v=o.unicode,f=e.range,$=e.start;$||($=f?f[w?"end":"start"]:t.selection.getRange()),$.start&&($=$[y!=w?"end":"start"]);var E=f?f.start.row:0,A=f?f.end.row:t.getLength()-1;if(w)var L=function(b){var g=$.row;if(!C(g,$.column,b)){for(g--;g>=E;g--)if(C(g,Number.MAX_VALUE,b))return;if(e.wrap!=!1){for(g=A,E=$.row;g>=E;g--)if(C(g,Number.MAX_VALUE,b))return}}};else var L=function(g){var u=$.row;if(!C(u,$.column,g)){for(u=u+1;u<=A;u++)if(C(u,0,g))return;if(e.wrap!=!1){for(u=E,A=$.row;u<=A;u++)if(C(u,0,g))return}}};if(e.$isMultiLine)var R=o.length,C=function(b,g,u){var S=w?b-R+1:b;if(!(S<0||S+R>t.getLength())){var x=t.getLine(S),T=x.search(o[0]);if(!(!w&&T<g||T===-1)){for(var k=1;k<R;k++)if(x=t.getLine(S+k),x.search(o[k])==-1)return;var I=x.match(o[R-1])[0].length;if(!(w&&I>g)&&u(S,T,S+R-1,I))return!0}}};else if(w)var C=function(g,u,S){if(s){var x=c(t,o,u,g,E);if(!x)return!1;if(S(x.startRow,x.startCol,x.endRow,x.endCol))return!0}else{var T=t.getLine(g),k=[],I,O=0;for(o.lastIndex=0;I=o.exec(T);){var z=I[0].length;if(O=I.index,!z){if(O>=T.length)break;o.lastIndex=O+=m.skipEmptyMatch(T,O,v)}if(I.index+z>u)break;k.push(I.index,z)}for(var N=k.length-1;N>=0;N-=2){var B=k[N-1],z=k[N];if(S(g,B,g,B+z))return!0}}};else var C=function(g,u,S){if(o.lastIndex=u,s){var x=h(t,o,g,A);if(x){var T=x.endRow<=A?x.endRow-1:A;T>g&&(g=T)}if(!x)return!1;if(S(x.startRow,x.startCol,x.endRow,x.endCol))return!0}else for(var k=t.getLine(g),I,O;O=o.exec(k);){var z=O[0].length;if(I=O.index,S(g,I,g,I+z))return!0;if(!z&&(o.lastIndex=I+=m.skipEmptyMatch(k,I,v),I>=k.length))return!1}};return{forEach:L}},i})();function l(i,t){var e=m.supportsLookbehind();function o(w,y){y===void 0&&(y=!0);var v=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return v.test(w)||t.regExp?e&&t.$supportsUnicodeFlag?y?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var s=Array.from(i),h=s[0],c=s[s.length-1];return o(h)+i+o(c,!1)}function r(i,t,e){for(var o=null,s=0;s<=i.length;){t.lastIndex=s;var h=t.exec(i);if(!h)break;var c=h.index+h[0].length;if(c>i.length-e)break;(!o||c>o.index+o[0].length)&&(o=h),s=h.index+1}return o}function n(i,t){var e=5e3,o={row:t,column:0},s=i.doc.positionToIndex(o),h=s+e,c=i.doc.indexToPosition(h),w=c.row;return w+1}M.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(_,M,F){var m=this&&this.__extends||(function(){var i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(o[h]=s[h])},i(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");i(t,e);function o(){this.constructor=t}t.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}})(),d=_("../lib/keys"),p=_("../lib/useragent"),a=d.KEY_MODS,l=(function(){function i(t,e){this.$init(t,e,!1)}return i.prototype.$init=function(t,e,o){this.platform=e||(p.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=o},i.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},i.prototype.removeCommand=function(t,e){var o=t&&(typeof t=="string"?t:t.name);t=this.commands[o],e||delete this.commands[o];var s=this.commandKeyBinding;for(var h in s){var c=s[h];if(c==t)delete s[h];else if(Array.isArray(c)){var w=c.indexOf(t);w!=-1&&(c.splice(w,1),c.length==1&&(s[h]=c[0]))}}},i.prototype.bindKey=function(t,e,o){if(typeof t=="object"&&t&&(o==null&&(o=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(s){var h="";if(s.indexOf(" ")!=-1){var c=s.split(/\s+/);s=c.pop(),c.forEach(function(v){var f=this.parseKeys(v),$=a[f.hashId]+f.key;h+=(h?" ":"")+$,this._addCommandToBinding(h,"chainKeys")},this),h+=" "}var w=this.parseKeys(s),y=a[w.hashId]+w.key;this._addCommandToBinding(h+y,e,o)},this)}},i.prototype._addCommandToBinding=function(t,e,o){var s=this.commandKeyBinding,h;if(!e)delete s[t];else if(!s[t]||this.$singleCommand)s[t]=e;else{Array.isArray(s[t])?(h=s[t].indexOf(e))!=-1&&s[t].splice(h,1):s[t]=[s[t]],typeof o!="number"&&(o=r(e));var c=s[t];for(h=0;h<c.length;h++){var w=c[h],y=r(w);if(y>o)break}c.splice(h,0,e)}},i.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var o=t[e];if(o){if(typeof o=="string")return this.bindKey(o,e);typeof o=="function"&&(o={exec:o}),typeof o=="object"&&(o.name||(o.name=e),this.addCommand(o))}},this)},i.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},i.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},i.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},i.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(y){return y}),o=e.pop(),s=d[o];if(d.FUNCTION_KEYS[s])o=d.FUNCTION_KEYS[s].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:o.toUpperCase(),hashId:-1}}else return{key:o,hashId:-1};for(var h=0,c=e.length;c--;){var w=d.KEY_MODS[e[c]];if(w==null)return typeof console<"u"&&console.error("invalid modifier "+e[c]+" in "+t),!1;h|=w}return{key:o,hashId:h}},i.prototype.findKeyCommand=function(t,e){var o=a[t]+e;return this.commandKeyBinding[o]},i.prototype.handleKeyboard=function(t,e,o,s){if(!(s<0)){var h=a[e]+o,c=this.commandKeyBinding[h];return t.$keyChain&&(t.$keyChain+=" "+h,c=this.commandKeyBinding[t.$keyChain]||c),c&&(c=="chainKeys"||c[c.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||h,{command:"null"}):(t.$keyChain&&((!e||e==4)&&o.length==1?t.$keyChain=t.$keyChain.slice(0,-h.length-1):(e==-1||s>0)&&(t.$keyChain="")),{command:c})}},i.prototype.getStatusText=function(t,e){return e.$keyChain||""},i})();function r(i){return typeof i=="object"&&i.bindKey&&i.bindKey.position||(i.isDefault?-100:0)}var n=(function(i){m(t,i);function t(e,o){var s=i.call(this,e,o)||this;return s.$singleCommand=!0,s}return t})(l);n.call=function(i,t,e){l.prototype.$init.call(i,t,e,!0)},l.call=function(i,t,e){l.prototype.$init.call(i,t,e,!1)},M.HashHandler=n,M.MultiHashHandler=l}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(_,M,F){var m=this&&this.__extends||(function(){var r=function(n,i){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])},r(n,i)};return function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");r(n,i);function t(){this.constructor=n}n.prototype=i===null?Object.create(i):(t.prototype=i.prototype,new t)}})(),d=_("../lib/oop"),p=_("../keyboard/hash_handler").MultiHashHandler,a=_("../lib/event_emitter").EventEmitter,l=(function(r){m(n,r);function n(i,t){var e=r.call(this,t,i)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(o){return o.args?o.command.exec(o.editor,o.args,o.event,!1):o.command.exec(o.editor,{},o.event,!0)}),e}return n.prototype.exec=function(i,t,e){if(Array.isArray(i)){for(var o=i.length;o--;)if(this.exec(i[o],t,e))return!0;return!1}typeof i=="string"&&(i=this.commands[i]);var s={editor:t,command:i,args:e};return this.canExecute(i,t)?(s.returnValue=this._emit("exec",s),this._signal("afterExec",s),s.returnValue!==!1):(this._signal("commandUnavailable",s),!1)},n.prototype.canExecute=function(i,t){return typeof i=="string"&&(i=this.commands[i]),!(!i||t&&t.$readOnly&&!i.readOnly||this.$checkCommandState!=!1&&i.isAvailable&&!i.isAvailable(t))},n.prototype.toggleRecording=function(i){if(!this.$inReplay)return i&&i._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(t){this.macro.push([t.command,t.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},n.prototype.replay=function(i){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(i);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,i):this.exec(t[0],i,t[1])},this)}finally{this.$inReplay=!1}}},n.prototype.trimMacro=function(i){return i.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},n})(p);d.implement(l.prototype,a),M.CommandManager=l}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(_,M,F){var m=_("../lib/lang"),d=_("../config"),p=_("../range").Range;function a(r,n){return{win:r,mac:n}}M.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:a("Ctrl-,","Command-,"),exec:function(r){d.loadModule("ace/ext/settings_menu",function(n){n.init(r),r.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:a("Alt-E","F4"),exec:function(r){d.loadModule("ace/ext/error_marker",function(n){n.showErrorMarker(r,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(r){d.loadModule("ace/ext/error_marker",function(n){n.showErrorMarker(r,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(r){r.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(r){r.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(r,n){typeof n=="number"&&!isNaN(n)&&r.gotoLine(n),r.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(r){r.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:a("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(r){r.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:a("F2","F2"),exec:function(r){r.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:a("Alt-F2","Alt-F2"),exec:function(r){r.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("Alt-0","Command-Option-0"),exec:function(r){r.session.foldAll(),r.session.unfold(r.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(r){r.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(r){r.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("Ctrl-Shift-K","Command-Shift-G"),exec:function(r){r.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:a("Alt-K","Ctrl-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(r){d.loadModule("ace/ext/searchbox",function(n){n.Search(r)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(r){r.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(r){r.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:a("Ctrl-Home","Command-Home|Command-Up"),exec:function(r){r.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:a("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(r){r.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:a("Up","Up|Ctrl-P"),exec:function(r,n){r.navigateUp(n.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:a("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(r){r.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:a("Ctrl-End","Command-End|Command-Down"),exec:function(r){r.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:a("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(r){r.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:a("Down","Down|Ctrl-N"),exec:function(r,n){r.navigateDown(n.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(r){r.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:a("Ctrl-Left","Option-Left"),exec:function(r){r.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:a("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:a("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(r){r.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:a("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(r){r.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:a("Left","Left|Ctrl-B"),exec:function(r,n){r.navigateLeft(n.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(r){r.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:a("Ctrl-Right","Option-Right"),exec:function(r){r.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:a("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:a("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(r){r.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:a("Shift-Right","Shift-Right"),exec:function(r){r.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(r,n){r.navigateRight(n.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(r){r.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:a(null,"Option-PageDown"),exec:function(r){r.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("PageDown","PageDown|Ctrl-V"),exec:function(r){r.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(r){r.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:a(null,"Option-PageUp"),exec:function(r){r.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(r){r.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:a("Ctrl-Up",null),exec:function(r){r.renderer.scrollBy(0,-2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("Ctrl-Down",null),exec:function(r){r.renderer.scrollBy(0,2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:a("Ctrl-Alt-E","Command-Option-E"),exec:function(r){r.commands.toggleRecording(r)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(r){r.commands.replay(r)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(r){r.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(r){r.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:a("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(r){r.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:a(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(r){},readOnly:!0},{name:"cut",description:"Cut",exec:function(r){var n=r.$copyWithEmptySelection&&r.selection.isEmpty(),i=n?r.selection.getLineRange():r.selection.getRange();r._emit("cut",i),i.isEmpty()||r.session.remove(i),r.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(r,n){r.$handlePaste(n)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(r){r.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(r){r.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(r){r.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(r){r.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(r){r.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(r){r.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(r){r.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(r){d.loadModule("ace/ext/searchbox",function(n){n.Search(r,!0)})}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(r){r.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(r){r.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(r){r.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(r){r.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(r){r.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(r){r.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(r){r.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(r){r.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:a("Shift-Delete",null),exec:function(r){if(r.selection.isEmpty())r.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(r){r.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(r){r.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(r){var n=r.selection.getRange();n.start.column=0,r.session.remove(n)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(r){var n=r.selection.getRange();n.end.column=Number.MAX_VALUE,r.session.remove(n)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(r){r.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(r){r.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(r){r.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(r){r.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(r){r.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(r){r.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(r,n){r.insert(n)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(r,n){r.insert(m.stringRepeat(n.text||"",n.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(r){r.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(r){r.transposeLetters()},multiSelectAction:function(r){r.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(r){r.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(r){r.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(r){r.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(r){var n=r.selection.getRange();n.start.column=n.end.column=0,n.end.row++,r.selection.setRange(n,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:a("Ctrl+F3","F3"),exec:function(r){r.openLink()}},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(r){for(var n=r.selection.isBackwards(),i=n?r.selection.getSelectionLead():r.selection.getSelectionAnchor(),t=n?r.selection.getSelectionAnchor():r.selection.getSelectionLead(),e=r.session.doc.getLine(i.row).length,o=r.session.doc.getTextRange(r.selection.getRange()),s=o.replace(/\n\s*/," ").length,h=r.session.doc.getLine(i.row),c=i.row+1;c<=t.row+1;c++){var w=m.stringTrimLeft(m.stringTrimRight(r.session.doc.getLine(c)));w.length!==0&&(w=" "+w),h+=w}t.row+1<r.session.doc.getLength()-1&&(h+=r.session.doc.getNewLineCharacter()),r.clearSelection(),r.session.doc.replace(new p(i.row,0,t.row+2,0),h),s>0?(r.selection.moveCursorTo(i.row,i.column),r.selection.selectTo(i.row,i.column+s)):(e=r.session.doc.getLine(i.row).length>e?e+1:e,r.selection.moveCursorTo(i.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(r){var n=r.session.doc.getLength()-1,i=r.session.doc.getLine(n).length,t=r.selection.rangeList.ranges,e=[];t.length<1&&(t=[r.selection.getRange()]);for(var o=0;o<t.length;o++)o==t.length-1&&(t[o].end.row===n&&t[o].end.column===i||e.push(new p(t[o].end.row,t[o].end.column,n,i))),o===0?t[o].start.row===0&&t[o].start.column===0||e.push(new p(0,0,t[o].start.row,t[o].start.column)):e.push(new p(t[o-1].end.row,t[o-1].end.column,t[o].start.row,t[o].start.column));r.exitMultiSelectMode(),r.clearSelection();for(var o=0;o<e.length;o++)r.selection.addRange(e[o],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(r){r.selection.clearSelection(),r.navigateLineEnd(),r.insert(`
203
+ `)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(r){r.selection.clearSelection();var n=r.getCursorPosition();r.selection.moveTo(n.row-1,Number.MAX_VALUE),r.insert(`
204
+ `),n.row===0&&r.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(r){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),r.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:a("F1","F1"),exec:function(r){r.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:a(null,null),exec:function(r){r.prompt({$type:"modes"})},readOnly:!0}];for(var l=1;l<9;l++)M.commands.push({name:"foldToLevel"+l,description:"Fold To Level "+l,level:l,exec:function(r){r.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys"],function(_,M,F){var m=_("../lib/keys"),d=(function(){function a(l){this.editor=l,this.gutterLayer=l.renderer.$gutterLayer,this.element=l.renderer.$gutter,this.lines=l.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=this.editor.$mouseHandler.$tooltip}return a.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))},a.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))},a.prototype.$onGutterKeyDown=function(l){if(this.annotationTooltip.isOpen){l.preventDefault(),l.keyCode===m.escape&&this.annotationTooltip.hide();return}if(l.target===this.element){if(l.keyCode!=m.enter)return;l.preventDefault();var r=this.editor.getCursorPosition().row;this.editor.isRowVisible(r)||this.editor.scrollToLine(r,!0,!0),setTimeout((function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),i=this.$findNearestFoldLaneWidget(n),t=this.$findNearestAnnotation(n);if(!(i===null&&t===null)){var e=this.$findClosestNumber(i,t,n);if(e===i)if(this.activeLane="fold",this.activeRowIndex=i,this.$isCustomWidgetVisible(i)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=t,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(l),setTimeout((function(){this.editor._signal("gutterkeydown",new p(l,this))}).bind(this),10)},a.prototype.$handleGutterKeyboardInteraction=function(l){if(l.keyCode===m.tab){l.preventDefault();return}if(l.keyCode===m.escape){l.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(l.keyCode===m.up){switch(l.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(l.keyCode===m.down){switch(l.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(l.keyCode===m.left){l.preventDefault(),this.$switchLane("annotation");return}if(l.keyCode===m.right){l.preventDefault(),this.$switchLane("fold");return}if(l.keyCode===m.enter||l.keyCode===m.space){switch(l.preventDefault(),this.activeLane){case"fold":var r=this.$rowIndexToRow(this.activeRowIndex),n=this.editor.session.$gutterCustomWidgets[r];if(n)n.callbacks&&n.callbacks.onClick&&n.callbacks.onClick(l,r);else if(this.gutterLayer.session.foldWidgets[r]==="start"){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),l),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==r&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(r),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex)),this.annotationTooltip.$fromKeyboard=!0;break}return}},a.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()},a.prototype.$isFoldWidgetVisible=function(l){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(l)),n=this.$getFoldWidget(l).style.display!=="none";return r&&n},a.prototype.$isCustomWidgetVisible=function(l){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(l)),n=!!this.$getCustomWidget(l);return r&&n},a.prototype.$isAnnotationVisible=function(l){var r=this.editor.isRowFullyVisible(this.$rowIndexToRow(l)),n=this.$getAnnotation(l).style.display!=="none";return r&&n},a.prototype.$getFoldWidget=function(l){var r=this.lines.get(l),n=r.element;return n.childNodes[1]},a.prototype.$getCustomWidget=function(l){var r=this.lines.get(l),n=r.element;return n.childNodes[3]},a.prototype.$getAnnotation=function(l){var r=this.lines.get(l),n=r.element;return n.childNodes[2]},a.prototype.$findNearestFoldLaneWidget=function(l){if(this.$isCustomWidgetVisible(l)||this.$isFoldWidgetVisible(l))return l;for(var r=0;l-r>0||l+r<this.lines.getLength()-1;){if(r++,l-r>=0&&this.$isCustomWidgetVisible(l-r))return l-r;if(l+r<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(l+r))return l+r;if(l-r>=0&&this.$isFoldWidgetVisible(l-r))return l-r;if(l+r<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(l+r))return l+r}return null},a.prototype.$findNearestAnnotation=function(l){if(this.$isAnnotationVisible(l))return l;for(var r=0;l-r>0||l+r<this.lines.getLength()-1;){if(r++,l-r>=0&&this.$isAnnotationVisible(l-r))return l-r;if(l+r<=this.lines.getLength()-1&&this.$isAnnotationVisible(l+r))return l+r}return null},a.prototype.$focusFoldWidget=function(l){if(l!=null){var r=this.$getFoldWidget(l);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},a.prototype.$focusCustomWidget=function(l){if(l!=null){var r=this.$getCustomWidget(l);r&&(r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus())}},a.prototype.$focusAnnotation=function(l){if(l!=null){var r=this.$getAnnotation(l);r.classList.add(this.editor.renderer.keyboardFocusClassName),r.focus()}},a.prototype.$blurFoldWidget=function(l){var r=this.$getFoldWidget(l);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},a.prototype.$blurCustomWidget=function(l){var r=this.$getCustomWidget(l);r&&(r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur())},a.prototype.$blurAnnotation=function(l){var r=this.$getAnnotation(l);r.classList.remove(this.editor.renderer.keyboardFocusClassName),r.blur()},a.prototype.$moveFoldWidgetUp=function(){for(var l=this.activeRowIndex;l>0;)if(l--,this.$isFoldWidgetVisible(l)||this.$isCustomWidgetVisible(l)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=l,this.$isFoldWidgetVisible(l)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},a.prototype.$moveFoldWidgetDown=function(){for(var l=this.activeRowIndex;l<this.lines.getLength()-1;)if(l++,this.$isFoldWidgetVisible(l)||this.$isCustomWidgetVisible(l)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=l,this.$isFoldWidgetVisible(l)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},a.prototype.$moveAnnotationUp=function(){for(var l=this.activeRowIndex;l>0;)if(l--,this.$isAnnotationVisible(l)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=l,this.$focusAnnotation(this.activeRowIndex);return}},a.prototype.$moveAnnotationDown=function(){for(var l=this.activeRowIndex;l<this.lines.getLength()-1;)if(l++,this.$isAnnotationVisible(l)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=l,this.$focusAnnotation(this.activeRowIndex);return}},a.prototype.$findClosestNumber=function(l,r,n){return l===null?r:r===null||Math.abs(n-l)<=Math.abs(n-r)?l:r},a.prototype.$switchLane=function(l){switch(l){case"annotation":if(this.activeLane==="annotation")break;var r=this.$findNearestAnnotation(this.activeRowIndex);if(r==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=r,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}},a.prototype.$rowIndexToRow=function(l){var r=this.lines.get(l);return r?r.row:null},a.prototype.$rowToRowIndex=function(l){for(var r=0;r<this.lines.getLength();r++){var n=this.lines.get(r);if(n.row==l)return r}return null},a})();M.GutterKeyboardHandler=d;var p=(function(){function a(l,r){this.gutterKeyboardHandler=r,this.domEvent=l}return a.prototype.getKey=function(){return m.keyCodeToString(this.domEvent.keyCode)},a.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},a.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},a.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},a})();M.GutterKeyboardEvent=p}),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(_,M,F){var m=this&&this.__values||function(g){var u=typeof Symbol=="function"&&Symbol.iterator,S=u&&g[u],x=0;if(S)return S.call(g);if(g&&typeof g.length=="number")return{next:function(){return g&&x>=g.length&&(g=void 0),{value:g&&g[x++],done:!g}}};throw new TypeError(u?"Object is not iterable.":"Symbol.iterator is not defined.")},d=_("./lib/oop"),p=_("./lib/dom"),a=_("./lib/lang"),l=_("./lib/useragent"),r=_("./keyboard/textinput").TextInput,n=_("./mouse/mouse_handler").MouseHandler,i=_("./mouse/fold_handler").FoldHandler,t=_("./keyboard/keybinding").KeyBinding,e=_("./edit_session").EditSession,o=_("./search").Search,s=_("./range").Range,h=_("./lib/event_emitter").EventEmitter,c=_("./commands/command_manager").CommandManager,w=_("./commands/default_commands").commands,y=_("./config"),v=_("./token_iterator").TokenIterator,f=_("./keyboard/gutter_handler").GutterKeyboardHandler,$=_("./config").nls,E=_("./clipboard"),A=_("./lib/keys"),L=_("./lib/event"),R=_("./tooltip").HoverTooltip,C=(function(){function g(u,S,x){this.id="editor"+ ++g.$uid,this.session,this.$toDestroy=[];var T=u.getContainerElement();this.container=T,this.renderer=u,this.commands=new c(l.isMac?"mac":"win",w),typeof document=="object"&&(this.textInput=new r(u.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new n(this),new i(this)),this.keyBinding=new t(this),this.$search=new o().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=a.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(k,I){I._$emitInputEvent.schedule(31)}),this.setSession(S||x&&x.session||new e("")),y.resetOptions(this),x&&this.setOptions(x),y._signal("editor",this)}return g.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},g.prototype.startOperation=function(u){this.session.startOperation(u)},g.prototype.endOperation=function(u){this.session.endOperation(u)},g.prototype.onStartOperation=function(u){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,u||(this.previousCommand=null)},g.prototype.onEndOperation=function(u){if(this.curOp&&this.session){if(u&&u.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var S=this.curOp.command,x=S&&S.scrollIntoView;if(x){switch(x){case"center-animate":x="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var T=this.selection.getRange(),k=this.renderer.layerConfig;(T.start.row>=k.lastRow||T.end.row<=k.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}x=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},g.prototype.$historyTracker=function(u){if(this.$mergeUndoDeltas){var S=this.prevOp,x=this.$mergeableCommands,T=S.command&&u.command.name==S.command.name;if(u.command.name=="insertstring"){var k=u.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),T=T&&this.mergeNextCommand&&(!/\s/.test(k)||/\s/.test(S.args)),this.mergeNextCommand=!0}else T=T&&x.indexOf(u.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(T=!1),T?this.session.mergeUndoDeltas=!0:x.indexOf(u.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},g.prototype.setKeyboardHandler=function(u,S){if(u&&typeof u=="string"&&u!="ace"){this.$keybindingId=u;var x=this;y.loadModule(["keybinding",u],function(T){x.$keybindingId==u&&x.keyBinding.setKeyboardHandler(T&&T.handler),S&&S()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(u),S&&S()},g.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},g.prototype.setSession=function(u){if(this.session!=u){this.curOp&&this.endOperation(),this.curOp={};var S=this.session;if(S){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 x=this.session.getSelection();x.off("changeCursor",this.$onCursorChange),x.off("changeSelection",this.$onSelectionChange)}this.session=u,u?(this.$onDocumentChange=this.onDocumentChange.bind(this),u.on("change",this.$onDocumentChange),this.renderer.setSession(u),this.$onChangeMode=this.onChangeMode.bind(this),u.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),u.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),u.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),u.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),u.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),u.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=u.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(u)),this._signal("changeSession",{session:u,oldSession:S}),this.curOp=null,S&&S._signal("changeEditor",{oldEditor:this}),S&&(S.$editor=null),u&&u._signal("changeEditor",{editor:this}),u&&(u.$editor=this),u&&!u.destroyed&&u.bgTokenizer.scheduleStart()}},g.prototype.getSession=function(){return this.session},g.prototype.setValue=function(u,S){return this.session.doc.setValue(u),S?S==1?this.navigateFileEnd():S==-1&&this.navigateFileStart():this.selectAll(),u},g.prototype.getValue=function(){return this.session.getValue()},g.prototype.getSelection=function(){return this.selection},g.prototype.resize=function(u){this.renderer.onResize(u)},g.prototype.setTheme=function(u,S){this.renderer.setTheme(u,S)},g.prototype.getTheme=function(){return this.renderer.getTheme()},g.prototype.setStyle=function(u,S){this.renderer.setStyle(u,S)},g.prototype.unsetStyle=function(u){this.renderer.unsetStyle(u)},g.prototype.getFontSize=function(){return this.getOption("fontSize")||p.computedStyle(this.container).fontSize},g.prototype.setFontSize=function(u){this.setOption("fontSize",u)},g.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var u=this;this.$highlightPending=!0,setTimeout(function(){u.$highlightPending=!1;var S=u.session;if(!(!S||S.destroyed)){S.$bracketHighlight&&(S.$bracketHighlight.markerIds.forEach(function(W){S.removeMarker(W)}),S.$bracketHighlight=null);var x=u.getCursorPosition(),T=u.getKeyboardHandler(),k=T&&T.$getDirectionForHighlight&&T.$getDirectionForHighlight(u),I=S.getMatchingBracketRanges(x,k);if(!I){var O=new v(S,x.row,x.column),z=O.getCurrentToken();if(z&&/\b(?:tag-open|tag-name)/.test(z.type)){var N=S.getMatchingTags(x);N&&(I=[N.openTagName.isEmpty()?N.openTag:N.openTagName,N.closeTagName.isEmpty()?N.closeTag:N.closeTagName])}}if(!I&&S.$mode.getMatching&&(I=S.$mode.getMatching(u.session)),!I){u.getHighlightIndentGuides()&&u.renderer.$textLayer.$highlightIndentGuide();return}var B="ace_bracket";Array.isArray(I)?I.length==1&&(B="ace_error_bracket"):I=[I],I.length==2&&(s.comparePoints(I[0].end,I[1].start)==0?I=[s.fromPoints(I[0].start,I[1].end)]:s.comparePoints(I[0].start,I[1].end)==0&&(I=[s.fromPoints(I[1].start,I[0].end)])),S.$bracketHighlight={ranges:I,markerIds:I.map(function(W){return S.addMarker(W,B,"text")})},u.getHighlightIndentGuides()&&u.renderer.$textLayer.$highlightIndentGuide()}},50)}},g.prototype.focus=function(){this.textInput.focus()},g.prototype.isFocused=function(){return this.textInput.isFocused()},g.prototype.blur=function(){this.textInput.blur()},g.prototype.onFocus=function(u){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",u))},g.prototype.onBlur=function(u){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",u))},g.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},g.prototype.onDocumentChange=function(u){var S=this.session.$useWrapMode,x=u.start.row==u.end.row?u.end.row:1/0;this.renderer.updateLines(u.start.row,x,S),this._signal("change",u),this.$cursorChange()},g.prototype.onTokenizerUpdate=function(u){var S=u.data;this.renderer.updateLines(S.first,S.last)},g.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},g.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},g.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},g.prototype.$updateHighlightActiveLine=function(){var u=this.getSession(),S;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(S=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(S=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(S=!1)),u.$highlightLineMarker&&!S)u.removeMarker(u.$highlightLineMarker.id),u.$highlightLineMarker=null;else if(!u.$highlightLineMarker&&S){var x=new s(S.row,S.column,S.row,1/0);x.id=u.addMarker(x,"ace_active-line","screenLine"),u.$highlightLineMarker=x}else S&&(u.$highlightLineMarker.start.row=S.row,u.$highlightLineMarker.end.row=S.row,u.$highlightLineMarker.start.column=S.column,u._signal("changeBackMarker"))},g.prototype.onSelectionChange=function(u){var S=this.session;if(S.$selectionMarker&&S.removeMarker(S.$selectionMarker),S.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var x=this.selection.getRange(),T=this.getSelectionStyle();S.$selectionMarker=S.addMarker(x,"ace_selection",T)}var k=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(k),this._signal("changeSelection")},g.prototype.$getSelectionHighLightRegexp=function(){var u=this.session,S=this.getSelectionRange();if(!(S.isEmpty()||S.isMultiLine())){var x=S.start.column,T=S.end.column,k=u.getLine(S.start.row),I=k.substring(x,T);if(!(I.length>5e3||!/[\w\d]/.test(I))){var O=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:I}),z=k.substring(x-1,T+1);if(O.test(z))return O}}},g.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},g.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},g.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},g.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},g.prototype.onChangeMode=function(u){this.renderer.updateText(),this._emit("changeMode",u)},g.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},g.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},g.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},g.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},g.prototype.getCopyText=function(){var u=this.getSelectedText(),S=this.session.doc.getNewLineCharacter(),x=!1;if(!u&&this.$copyWithEmptySelection){x=!0;for(var T=this.selection.getAllRanges(),k=0;k<T.length;k++){var I=T[k];k&&T[k-1].start.row==I.start.row||(u+=this.session.getLine(I.start.row)+S)}}var O={text:u};return this._signal("copy",O),E.lineMode=x?O.text:!1,O.text},g.prototype.onCopy=function(){this.commands.exec("copy",this)},g.prototype.onCut=function(){this.commands.exec("cut",this)},g.prototype.onPaste=function(u,S){var x={text:u,event:S};this.commands.exec("paste",this,x)},g.prototype.$handlePaste=function(u){typeof u=="string"&&(u={text:u}),this._signal("paste",u);var S=u.text,x=S===E.lineMode,T=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)x?T.insert({row:this.selection.lead.row,column:0},S):this.insert(S);else if(x)this.selection.rangeList.ranges.forEach(function(B){T.insert({row:B.start.row,column:0},S)});else{var k=S.split(/\r\n|\r|\n/),I=this.selection.rangeList.ranges,O=k.length==2&&(!k[0]||!k[1]);if(k.length!=I.length||O)return this.commands.exec("insertstring",this,S);for(var z=I.length;z--;){var N=I[z];N.isEmpty()||T.remove(N),T.insert(N.start,k[z])}}},g.prototype.execCommand=function(u,S){return this.commands.exec(u,this,S)},g.prototype.insert=function(u,S){var x=this.session,T=x.getMode(),k=this.getCursorPosition();if(this.getBehavioursEnabled()&&!S){var I=T.transformAction(x.getState(k.row),"insertion",this,x,u);I&&(u!==I.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),u=I.text)}if(u==" "&&(u=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&u.indexOf(`
205
+ `)==-1){var O=s.fromPoints(k,k);O.end.column+=u.length,this.session.remove(O)}}else{var O=this.getSelectionRange();k=this.session.remove(O),this.clearSelection()}if(u==`
206
+ `||u==`\r
207
+ `){var W=x.getLine(k.row);if(k.column>W.search(/\S|$/)){var z=W.substr(k.column).search(/\S|$/);x.doc.removeInLine(k.row,k.column,k.column+z)}}this.clearSelection();var N=k.column,B=x.getState(k.row),W=x.getLine(k.row),U=T.checkOutdent(B,W,u);if(x.insert(k,u),I&&I.selection&&(I.selection.length==2?this.selection.setSelectionRange(new s(k.row,N+I.selection[0],k.row,N+I.selection[1])):this.selection.setSelectionRange(new s(k.row+I.selection[0],I.selection[1],k.row+I.selection[2],I.selection[3]))),this.$enableAutoIndent){if(x.getDocument().isNewLine(u)){var G=T.getNextLineIndent(B,W.slice(0,k.column),x.getTabString());x.insert({row:k.row+1,column:0},G)}U&&T.autoOutdent(B,x,k.row)}},g.prototype.autoIndent=function(){for(var u=this.session,S=u.getMode(),x=this.selection.isEmpty()?[new s(0,0,u.doc.getLength()-1,0)]:this.selection.getAllRanges(),T="",k="",I="",O=u.getTabString(),z=0;z<x.length;z++)for(var N=x[z].start.row,B=x[z].end.row,W=N;W<=B;W++){W>0&&(T=u.getState(W-1),k=u.getLine(W-1),I=S.getNextLineIndent(T,k,O));var U=u.getLine(W),G=S.$getIndent(U);if(I!==G){if(G.length>0){var V=new s(W,0,W,G.length);u.remove(V)}I.length>0&&u.insert({row:W,column:0},I)}S.autoOutdent(T,u,W)}},g.prototype.onTextInput=function(u,S){if(!S)return this.keyBinding.onTextInput(u);this.startOperation({command:{name:"insertstring"}});var x=this.applyComposition.bind(this,u,S);this.selection.rangeCount?this.forEachSelection(x):x(),this.endOperation()},g.prototype.applyComposition=function(u,S){if(S.extendLeft||S.extendRight){var x=this.selection.getRange();x.start.column-=S.extendLeft,x.end.column+=S.extendRight,x.start.column<0&&(x.start.row--,x.start.column+=this.session.getLine(x.start.row).length+1),this.selection.setRange(x),!u&&!x.isEmpty()&&this.remove()}if((u||!this.selection.isEmpty())&&this.insert(u,!0),S.restoreStart||S.restoreEnd){var x=this.selection.getRange();x.start.column-=S.restoreStart,x.end.column-=S.restoreEnd,this.selection.setRange(x)}},g.prototype.onCommandKey=function(u,S,x){return this.keyBinding.onCommandKey(u,S,x)},g.prototype.setOverwrite=function(u){this.session.setOverwrite(u)},g.prototype.getOverwrite=function(){return this.session.getOverwrite()},g.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},g.prototype.setScrollSpeed=function(u){this.setOption("scrollSpeed",u)},g.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},g.prototype.setDragDelay=function(u){this.setOption("dragDelay",u)},g.prototype.getDragDelay=function(){return this.getOption("dragDelay")},g.prototype.setSelectionStyle=function(u){this.setOption("selectionStyle",u)},g.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},g.prototype.setHighlightActiveLine=function(u){this.setOption("highlightActiveLine",u)},g.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},g.prototype.setHighlightGutterLine=function(u){this.setOption("highlightGutterLine",u)},g.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},g.prototype.setHighlightSelectedWord=function(u){this.setOption("highlightSelectedWord",u)},g.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},g.prototype.setAnimatedScroll=function(u){this.renderer.setAnimatedScroll(u)},g.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},g.prototype.setShowInvisibles=function(u){this.renderer.setShowInvisibles(u)},g.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},g.prototype.setDisplayIndentGuides=function(u){this.renderer.setDisplayIndentGuides(u)},g.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},g.prototype.setHighlightIndentGuides=function(u){this.renderer.setHighlightIndentGuides(u)},g.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},g.prototype.setShowPrintMargin=function(u){this.renderer.setShowPrintMargin(u)},g.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},g.prototype.setPrintMarginColumn=function(u){this.renderer.setPrintMarginColumn(u)},g.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},g.prototype.setReadOnly=function(u){this.setOption("readOnly",u)},g.prototype.getReadOnly=function(){return this.getOption("readOnly")},g.prototype.setBehavioursEnabled=function(u){this.setOption("behavioursEnabled",u)},g.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},g.prototype.setWrapBehavioursEnabled=function(u){this.setOption("wrapBehavioursEnabled",u)},g.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},g.prototype.setShowFoldWidgets=function(u){this.setOption("showFoldWidgets",u)},g.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},g.prototype.setFadeFoldWidgets=function(u){this.setOption("fadeFoldWidgets",u)},g.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},g.prototype.remove=function(u){this.selection.isEmpty()&&(u=="left"?this.selection.selectLeft():this.selection.selectRight());var S=this.getSelectionRange();if(this.getBehavioursEnabled()){var x=this.session,T=x.getState(S.start.row),k=x.getMode().transformAction(T,"deletion",this,x,S);if(S.end.column===0){var I=x.getTextRange(S);if(I[I.length-1]==`
208
+ `){var O=x.getLine(S.end.row);/^\s+$/.test(O)&&(S.end.column=O.length)}}k&&(S=k)}this.session.remove(S),this.clearSelection()},g.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},g.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},g.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},g.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var u=this.getSelectionRange();u.start.column==u.end.column&&u.start.row==u.end.row&&(u.end.column=0,u.end.row++),this.session.remove(u),this.clearSelection()},g.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var u=this.getCursorPosition();this.insert(`
209
+ `),this.moveCursorToPosition(u)},g.prototype.setGhostText=function(u,S){this.renderer.setGhostText(u,S)},g.prototype.removeGhostText=function(){this.renderer.removeGhostText()},g.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var u=this.getCursorPosition(),S=u.column;if(S!==0){var x=this.session.getLine(u.row),T,k;S<x.length?(T=x.charAt(S)+x.charAt(S-1),k=new s(u.row,S-1,u.row,S+1)):(T=x.charAt(S-1)+x.charAt(S-2),k=new s(u.row,S-2,u.row,S)),this.session.replace(k,T),this.session.selection.moveToPosition(k.end)}}},g.prototype.toLowerCase=function(){var u=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var S=this.getSelectionRange(),x=this.session.getTextRange(S);this.session.replace(S,x.toLowerCase()),this.selection.setSelectionRange(u)},g.prototype.toUpperCase=function(){var u=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var S=this.getSelectionRange(),x=this.session.getTextRange(S);this.session.replace(S,x.toUpperCase()),this.selection.setSelectionRange(u)},g.prototype.indent=function(){var u=this.session,S=this.getSelectionRange();if(S.start.row<S.end.row){var x=this.$getSelectedRows();u.indentRows(x.first,x.last," ");return}else if(S.start.column<S.end.column){var T=u.getTextRange(S);if(!/^\s+$/.test(T)){var x=this.$getSelectedRows();u.indentRows(x.first,x.last," ");return}}var k=u.getLine(S.start.row),I=S.start,O=u.getTabSize(),z=u.documentToScreenColumn(I.row,I.column);if(this.session.getUseSoftTabs())var N=O-z%O,B=a.stringRepeat(" ",N);else{for(var N=z%O;k[S.start.column-1]==" "&&N;)S.start.column--,N--;this.selection.setSelectionRange(S),B=" "}return this.insert(B)},g.prototype.blockIndent=function(){var u=this.$getSelectedRows();this.session.indentRows(u.first,u.last," ")},g.prototype.blockOutdent=function(){var u=this.session.getSelection();this.session.outdentRows(u.getRange())},g.prototype.sortLines=function(){for(var u=this.$getSelectedRows(),S=this.session,x=[],T=u.first;T<=u.last;T++)x.push(S.getLine(T));x.sort(function(O,z){return O.toLowerCase()<z.toLowerCase()?-1:O.toLowerCase()>z.toLowerCase()?1:0});for(var k=new s(0,0,0,0),T=u.first;T<=u.last;T++){var I=S.getLine(T);k.start.row=T,k.end.row=T,k.end.column=I.length,S.replace(k,x[T-u.first])}},g.prototype.toggleCommentLines=function(){var u=this.session.getState(this.getCursorPosition().row),S=this.$getSelectedRows();this.session.getMode().toggleCommentLines(u,this.session,S.first,S.last)},g.prototype.toggleBlockComment=function(){var u=this.getCursorPosition(),S=this.session.getState(u.row),x=this.getSelectionRange();this.session.getMode().toggleBlockComment(S,this.session,x,u)},g.prototype.getNumberAt=function(u,S){var x=/[\-]?[0-9]+(?:\.[0-9]+)?/g;x.lastIndex=0;for(var T=this.session.getLine(u);x.lastIndex<S;){var k=x.exec(T);if(k.index<=S&&k.index+k[0].length>=S){var I={value:k[0],start:k.index,end:k.index+k[0].length};return I}}return null},g.prototype.modifyNumber=function(u){var S=this.selection.getCursor().row,x=this.selection.getCursor().column,T=new s(S,x-1,S,x),k=this.session.getTextRange(T);if(!isNaN(parseFloat(k))&&isFinite(k)){var I=this.getNumberAt(S,x);if(I){var O=I.value.indexOf(".")>=0?I.start+I.value.indexOf(".")+1:I.end,z=I.start+I.value.length-O,N=parseFloat(I.value);N*=Math.pow(10,z),O!==I.end&&x<O?u*=Math.pow(10,I.end-x-1):u*=Math.pow(10,I.end-x),N+=u,N/=Math.pow(10,z);var B=N.toFixed(z),W=new s(S,I.start,S,I.end);this.session.replace(W,B),this.moveCursorTo(S,Math.max(I.start+1,x+B.length-I.value.length))}}else this.toggleWord()},g.prototype.toggleWord=function(){var u=this.selection.getCursor().row,S=this.selection.getCursor().column;this.selection.selectWord();var x=this.getSelectedText(),T=this.selection.getWordRange().start.column,k=x.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),I=S-T-1;I<0&&(I=0);var O=0,z=0,N=this;x.match(/[A-Za-z0-9_]+/)&&k.forEach(function(ie,se){z=O+ie.length,I>=O&&I<=z&&(x=ie,N.selection.clearSelection(),N.moveCursorTo(u,O+T),N.selection.selectTo(u,z+T)),O=z});for(var B=this.$toggleWordPairs,W,U=0;U<B.length;U++)for(var G=B[U],V=0;V<=1;V++){var X=+!V,Q=x.match(new RegExp("^\\s?_?("+a.escapeRegExp(G[V])+")\\s?$","i"));if(Q){var q=x.match(new RegExp("([_]|^|\\s)("+a.escapeRegExp(Q[1])+")($|\\s)","g"));q&&(W=x.replace(new RegExp(a.escapeRegExp(G[V]),"i"),function(ie){var se=G[X];return ie.toUpperCase()==ie?se=se.toUpperCase():ie.charAt(0).toUpperCase()==ie.charAt(0)&&(se=se.substr(0,0)+G[X].charAt(0).toUpperCase()+se.substr(1)),se}),this.insert(W),W="")}}},g.prototype.findLinkAt=function(u,S){var x,T,k=this.session.getLine(u),I=k.split(/((?:https?|ftp):\/\/[\S]+)/),O=S;O<0&&(O=0);var z=0,N=0,B;try{for(var W=m(I),U=W.next();!U.done;U=W.next()){var G=U.value;if(N=z+G.length,O>=z&&O<=N&&G.match(/((?:https?|ftp):\/\/[\S]+)/)){B=G.replace(/[\s:.,'";}\]]+$/,"");break}z=N}}catch(V){x={error:V}}finally{try{U&&!U.done&&(T=W.return)&&T.call(W)}finally{if(x)throw x.error}}return B},g.prototype.openLink=function(){var u=this.selection.getCursor(),S=this.findLinkAt(u.row,u.column);return S&&window.open(S,"_blank"),S!=null},g.prototype.removeLines=function(){var u=this.$getSelectedRows();this.session.removeFullLines(u.first,u.last),this.clearSelection()},g.prototype.duplicateSelection=function(){var u=this.selection,S=this.session,x=u.getRange(),T=u.isBackwards();if(x.isEmpty()){var k=x.start.row;S.duplicateLines(k,k)}else{var I=T?x.start:x.end,O=S.insert(I,S.getTextRange(x));x.start=I,x.end=O,u.setSelectionRange(x,T)}},g.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},g.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},g.prototype.moveText=function(u,S,x){return this.session.moveText(u,S,x)},g.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},g.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},g.prototype.$moveLines=function(u,S){var x,T,k=this.selection;if(!k.inMultiSelectMode||this.inVirtualSelectionMode){var I=k.toOrientedRange();x=this.$getSelectedRows(I),T=this.session.$moveLines(x.first,x.last,S?0:u),S&&u==-1&&(T=0),I.moveBy(T,0),k.fromOrientedRange(I)}else{var O=k.rangeList.ranges;k.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var z=0,N=0,B=O.length,W=0;W<B;W++){var U=W;O[W].moveBy(z,0),x=this.$getSelectedRows(O[W]);for(var G=x.first,V=x.last;++W<B;){N&&O[W].moveBy(N,0);var X=this.$getSelectedRows(O[W]);if(S&&X.first!=V)break;if(!S&&X.first>V+1)break;V=X.last}for(W--,z=this.session.$moveLines(G,V,S?0:u),S&&u==-1&&(U=W+1);U<=W;)O[U].moveBy(z,0),U++;S||(z=0),N+=z}k.fromOrientedRange(k.ranges[0]),k.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},g.prototype.$getSelectedRows=function(u){return u=(u||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(u.start.row),last:this.session.getRowFoldEnd(u.end.row)}},g.prototype.onCompositionStart=function(u){this.renderer.showComposition(u)},g.prototype.onCompositionUpdate=function(u){this.renderer.setCompositionText(u)},g.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},g.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},g.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},g.prototype.isRowVisible=function(u){return u>=this.getFirstVisibleRow()&&u<=this.getLastVisibleRow()},g.prototype.isRowFullyVisible=function(u){return u>=this.renderer.getFirstFullyVisibleRow()&&u<=this.renderer.getLastFullyVisibleRow()},g.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},g.prototype.$moveByPage=function(u,S){var x=this.renderer,T=this.renderer.layerConfig,k=u*Math.floor(T.height/T.lineHeight);S===!0?this.selection.$moveSelection(function(){this.moveCursorBy(k,0)}):S===!1&&(this.selection.moveCursorBy(k,0),this.selection.clearSelection());var I=x.scrollTop;x.scrollBy(0,k*T.lineHeight),S!=null&&x.scrollCursorIntoView(null,.5),x.animateScrolling(I)},g.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},g.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},g.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},g.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},g.prototype.scrollPageDown=function(){this.$moveByPage(1)},g.prototype.scrollPageUp=function(){this.$moveByPage(-1)},g.prototype.scrollToRow=function(u){this.renderer.scrollToRow(u)},g.prototype.scrollToLine=function(u,S,x,T){this.renderer.scrollToLine(u,S,x,T)},g.prototype.centerSelection=function(){var u=this.getSelectionRange(),S={row:Math.floor(u.start.row+(u.end.row-u.start.row)/2),column:Math.floor(u.start.column+(u.end.column-u.start.column)/2)};this.renderer.alignCursor(S,.5)},g.prototype.getCursorPosition=function(){return this.selection.getCursor()},g.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},g.prototype.getSelectionRange=function(){return this.selection.getRange()},g.prototype.selectAll=function(){this.selection.selectAll()},g.prototype.clearSelection=function(){this.selection.clearSelection()},g.prototype.moveCursorTo=function(u,S){this.selection.moveCursorTo(u,S)},g.prototype.moveCursorToPosition=function(u){this.selection.moveCursorToPosition(u)},g.prototype.jumpToMatching=function(u,S){var x=this.getCursorPosition(),T=new v(this.session,x.row,x.column),k=T.getCurrentToken(),I=0;k&&k.type.indexOf("tag-name")!==-1&&(k=T.stepBackward());var O=k||T.stepForward();if(O){var z,N=!1,B={},W=x.column-O.start,U,G={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(O.value.match(/[{}()\[\]]/g)){for(;W<O.value.length&&!N;W++)if(G[O.value[W]])switch(U=G[O.value[W]]+"."+O.type.replace("rparen","lparen"),isNaN(B[U])&&(B[U]=0),O.value[W]){case"(":case"[":case"{":B[U]++;break;case")":case"]":case"}":B[U]--,B[U]===-1&&(z="bracket",N=!0);break}}else O.type.indexOf("tag-name")!==-1&&(isNaN(B[O.value])&&(B[O.value]=0),k.value==="<"&&I>1?B[O.value]++:k.value==="</"&&B[O.value]--,B[O.value]===-1&&(z="tag",N=!0));N||(k=O,I++,O=T.stepForward(),W=0)}while(O&&!N);if(z){var V,X;if(z==="bracket")V=this.session.getBracketRange(x),V||(V=new s(T.getCurrentTokenRow(),T.getCurrentTokenColumn()+W-1,T.getCurrentTokenRow(),T.getCurrentTokenColumn()+W-1),X=V.start,(S||X.row===x.row&&Math.abs(X.column-x.column)<2)&&(V=this.session.getBracketRange(X)));else if(z==="tag"){if(!O||O.type.indexOf("tag-name")===-1)return;if(V=new s(T.getCurrentTokenRow(),T.getCurrentTokenColumn()-2,T.getCurrentTokenRow(),T.getCurrentTokenColumn()-2),V.compare(x.row,x.column)===0){var Q=this.session.getMatchingTags(x);Q&&(Q.openTag.contains(x.row,x.column)?(V=Q.closeTag,X=V.start):(V=Q.openTag,Q.closeTag.start.row===x.row&&Q.closeTag.start.column===x.column?X=V.end:X=V.start))}X=X||V.start}X=V&&V.cursor||X,X&&(u?V&&S?this.selection.setRange(V):V&&V.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(X.row,X.column):this.selection.moveTo(X.row,X.column))}}},g.prototype.gotoLine=function(u,S,x){this.selection.clearSelection(),this.session.unfold({row:u-1,column:S||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(u-1,S||0),this.isRowFullyVisible(u-1)||this.scrollToLine(u-1,!0,x)},g.prototype.navigateTo=function(u,S){this.selection.moveTo(u,S)},g.prototype.navigateUp=function(u){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(-u||-1,0)},g.prototype.navigateDown=function(u){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(u||1,0)},g.prototype.navigateLeft=function(u){if(this.selection.isEmpty())for(u=u||1;u--;)this.selection.moveCursorLeft();else{var S=this.getSelectionRange().start;this.moveCursorToPosition(S)}this.clearSelection()},g.prototype.navigateRight=function(u){if(this.selection.isEmpty())for(u=u||1;u--;)this.selection.moveCursorRight();else{var S=this.getSelectionRange().end;this.moveCursorToPosition(S)}this.clearSelection()},g.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},g.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},g.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},g.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},g.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},g.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},g.prototype.replace=function(u,S){S&&this.$search.set(S);var x=this.$search.find(this.session),T=0;return x&&(this.$tryReplace(x,u)&&(T=1),this.selection.setSelectionRange(x),this.renderer.scrollSelectionIntoView(x.start,x.end)),T},g.prototype.replaceAll=function(u,S){S&&this.$search.set(S);var x=this.$search.findAll(this.session),T=0;if(!x.length)return T;var k=this.getSelectionRange();this.selection.moveTo(0,0);for(var I=x.length-1;I>=0;--I)this.$tryReplace(x[I],u)&&T++;return this.selection.setSelectionRange(k),T},g.prototype.$tryReplace=function(u,S){var x=this.session.getTextRange(u);return S=this.$search.replace(x,S),S!==null?(u.end=this.session.replace(u,S),u):null},g.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},g.prototype.find=function(u,S,x){S||(S={}),typeof u=="string"||u instanceof RegExp?S.needle=u:typeof u=="object"&&d.mixin(S,u);var T=this.selection.getRange();S.needle==null&&(u=this.session.getTextRange(T)||this.$search.$options.needle,u||(T=this.session.getWordRange(T.start.row,T.start.column),u=this.session.getTextRange(T)),this.$search.set({needle:u})),this.$search.set(S),S.start||this.$search.set({start:T});var k=this.$search.find(this.session);if(S.preventScroll)return k;if(k)return this.revealRange(k,x),k;S.backwards?T.start=T.end:T.end=T.start,this.selection.setRange(T)},g.prototype.findNext=function(u,S){this.find({skipCurrent:!0,backwards:!1},u,S)},g.prototype.findPrevious=function(u,S){this.find(u,{skipCurrent:!0,backwards:!0},S)},g.prototype.revealRange=function(u,S){this.session.unfold(u),this.selection.setSelectionRange(u);var x=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(u.start,u.end,.5),S!==!1&&this.renderer.animateScrolling(x)},g.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},g.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},g.prototype.destroy=function(){this.destroyed=!0,this.$toDestroy&&(this.$toDestroy.forEach(function(u){u.destroy()}),this.$toDestroy=[]),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},g.prototype.setAutoScrollEditorIntoView=function(u){if(u){var S,x=this,T=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var k=this.$scrollAnchor;k.style.cssText="position:absolute",this.container.insertBefore(k,this.container.firstChild);var I=this.on("changeSelection",function(){T=!0}),O=this.renderer.on("beforeRender",function(){T&&(S=x.renderer.container.getBoundingClientRect())}),z=this.renderer.on("afterRender",function(){if(T&&S&&(x.isFocused()||x.searchBox&&x.searchBox.isFocused())){var N=x.renderer,B=N.$cursorLayer.$pixelPos,W=N.layerConfig,U=B.top-W.offset;B.top>=0&&U+S.top<0?T=!0:B.top<W.height&&B.top+S.top+W.lineHeight>window.innerHeight?T=!1:T=null,T!=null&&(k.style.top=U+"px",k.style.left=B.left+"px",k.style.height=W.lineHeight+"px",k.scrollIntoView(T)),T=S=null}});this.setAutoScrollEditorIntoView=function(N){N||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",I),this.renderer.off("afterRender",z),this.renderer.off("beforeRender",O))}}},g.prototype.$resetCursorStyle=function(){var u=this.$cursorStyle||"ace",S=this.renderer.$cursorLayer;S&&(S.setSmoothBlinking(/smooth/.test(u)),S.isBlinking=!this.$readOnly&&u!="wide",p.setCssClass(S.element,"ace_slim-cursors",/slim/.test(u)))},g.prototype.prompt=function(u,S,x){var T=this;y.loadModule("ace/ext/prompt",function(k){k.prompt(T,u,S,x)})},Object.defineProperty(g.prototype,"hoverTooltip",{get:function(){return this.$hoverTooltip||(this.$hoverTooltip=new R(this.container))},set:function(u){this.$hoverTooltip&&this.$hoverTooltip.destroy(),this.$hoverTooltip=u},enumerable:!1,configurable:!0}),g})();C.$uid=0,C.prototype.curOp=null,C.prototype.prevOp={},C.prototype.$mergeableCommands=["backspace","del","insertstring"],C.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"],["&&","||"],["==","!="]],d.implement(C.prototype,h),y.defineOptions(C.prototype,"editor",{selectionStyle:{set:function(g){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:g})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(g){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(g){var u=this;if(this.textInput.setReadOnly(g),!this.destroyed){this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(x){var T=!1;if(x&&x.type=="keydown"){if(x&&x.key&&!x.ctrlKey&&!x.metaKey&&(x.key==" "&&x.preventDefault(),T=x.key.length==1),!T)return}else x&&x.type!=="exec"&&(T=!0);if(T){var k=p.createElement("div");k.textContent=$("editor.tooltip.disable-editing","Editing is disabled"),u.hoverTooltip.isOpen||u.hoverTooltip.showForRange(u,u.getSelectionRange(),k)}else u.hoverTooltip&&u.hoverTooltip.isOpen&&u.hoverTooltip.hide()});var S=this.textInput.getElement();g?(L.addListener(S,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(L.removeListener(S,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback))}},initialValue:!1},copyWithEmptySelection:{set:function(g){this.textInput.setCopyWithEmptySelection(g)},initialValue:!1},cursorStyle:{set:function(g){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(g){this.setAutoScrollEditorIntoView(g)}},keyboardHandler:{set:function(g){this.setKeyboardHandler(g)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(g){this.session.setValue(g)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(g){this.setSession(g)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(g){this.renderer.$gutterLayer.setShowLineNumbers(g),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),g&&this.$relativeLineNumbers?b.attach(this):b.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(g){this.$showLineNumbers&&g?b.attach(this):b.detach(this)}},placeholder:{set:function(g){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var u=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(u&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),p.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!u&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),p.addCssClass(this.container,"ace_hasPlaceholder");var S=p.createElement("div");S.className="ace_placeholder",S.textContent=this.$placeholder||"",this.renderer.placeholderNode=S,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!u&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(g){var u={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(T){T.blur(),T.renderer.scroller.focus()},readOnly:!0},S=function(T){if(T.target==this.renderer.scroller&&T.keyCode===A.enter){T.preventDefault();var k=this.getCursorPosition().row;this.isRowVisible(k)||this.scrollToLine(k,!0,!0),this.focus()}},x;g?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(l.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",$("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",$("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",S.bind(this)),this.commands.addCommand(u),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",$("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",$("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),x||(x=new f(this)),x.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",S.bind(this)),this.commands.removeCommand(u),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),x&&x.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(g){this.$textInputAriaLabel=g},initialValue:""},enableMobileMenu:{set:function(g){this.$enableMobileMenu=g},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 b={getText:function(g,u){return(Math.abs(g.selection.lead.row-u)||u+1+(u<9?"·":""))+""},getWidth:function(g,u,S){return Math.max(u.toString().length,(S.lastRow+1).toString().length,2)*S.characterWidth},update:function(g,u){u.renderer.$loop.schedule(u.renderer.CHANGE_GUTTER)},attach:function(g){g.renderer.$gutterLayer.$renderer=this,g.on("changeSelection",this.update),this.update(null,g)},detach:function(g){g.renderer.$gutterLayer.$renderer==this&&(g.renderer.$gutterLayer.$renderer=null),g.off("changeSelection",this.update),this.update(null,g)}};M.Editor=C}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(_,M,F){var m=_("../lib/dom"),d=(function(){function p(a,l){this.element=a,this.canvasHeight=l||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return p.prototype.moveContainer=function(a){m.translate(this.element,0,-(a.firstRowScreen*a.lineHeight%this.canvasHeight)-a.offset*this.$offsetCoefficient)},p.prototype.pageChanged=function(a,l){return Math.floor(a.firstRowScreen*a.lineHeight/this.canvasHeight)!==Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)},p.prototype.computeLineTop=function(a,l,r){var n=l.firstRowScreen*l.lineHeight,i=Math.floor(n/this.canvasHeight),t=r.documentToScreenRow(a,0)*l.lineHeight;return t-i*this.canvasHeight},p.prototype.computeLineHeight=function(a,l,r){return l.lineHeight*r.getRowLineCount(a)},p.prototype.getLength=function(){return this.cells.length},p.prototype.get=function(a){return this.cells[a]},p.prototype.shift=function(){this.$cacheCell(this.cells.shift())},p.prototype.pop=function(){this.$cacheCell(this.cells.pop())},p.prototype.push=function(a){if(Array.isArray(a)){this.cells.push.apply(this.cells,a);for(var l=m.createFragment(this.element),r=0;r<a.length;r++)l.appendChild(a[r].element);this.element.appendChild(l)}else this.cells.push(a),this.element.appendChild(a.element)},p.prototype.unshift=function(a){if(Array.isArray(a)){this.cells.unshift.apply(this.cells,a);for(var l=m.createFragment(this.element),r=0;r<a.length;r++)l.appendChild(a[r].element);this.element.firstChild?this.element.insertBefore(l,this.element.firstChild):this.element.appendChild(l)}else this.cells.unshift(a),this.element.insertAdjacentElement("afterbegin",a.element)},p.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},p.prototype.$cacheCell=function(a){a&&(a.element.remove(),this.cellCache.push(a))},p.prototype.createCell=function(a,l,r,n){var i=this.cellCache.pop();if(!i){var t=m.createElement("div");n&&n(t),this.element.appendChild(t),i={element:t,text:"",row:a}}return i.row=a,i},p})();M.Lines=d}),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(_,M,F){var m=_("../lib/dom"),d=_("../lib/oop"),p=_("../lib/lang"),a=_("../lib/event_emitter").EventEmitter,l=_("./lines").Lines,r=_("../config").nls,n=(function(){function t(e){this.$showCursorMarker=null,this.element=m.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 l(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,o){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,o)},t.prototype.removeGutterDecoration=function(e,o){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,o)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var o=0;o<e.length;o++){var s=e[o],h=s.row,c=this.$annotations[h];c||(c=this.$annotations[h]={text:[],type:[],displayText:[]});var w=s.text,y=s.text,v=s.type;w=w?p.escapeHTML(w):s.html||"",y=y||s.html||"",c.text.indexOf(w)===-1&&(c.text.push(w),c.type.push(v),c.displayText.push(y));var f=s.className;f?c.className=f:v==="error"?c.className=" ace_error":v==="security"&&!/\bace_error\b/.test(c.className)?c.className=" ace_security":v==="warning"&&!/\bace_(error|security)\b/.test(c.className)?c.className=" ace_warning":v==="info"&&!c.className?c.className=" ace_info":v==="hint"&&!c.className&&(c.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var o=e.start.row,s=e.end.row-o;if(s!==0)if(e.action=="remove")this.$annotations.splice(o,s+1,null);else{var h=new Array(s+1);h.unshift(o,1),this.$annotations.splice.apply(this.$annotations,h)}}},t.prototype.update=function(e){this.config=e;var o=this.session,s=e.firstRow,h=Math.min(e.lastRow+e.gutterOffset,o.getLength()-1);this.oldLastRow=h,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var c=o.getNextFoldLine(s),w=c?c.start.row:1/0,y=null,v=-1,f=s;;){if(f>w&&(f=c.end.row+1,c=o.getNextFoldLine(f,c),w=c?c.start.row:1/0),f>h){for(;this.$lines.getLength()>v+1;)this.$lines.pop();break}y=this.$lines.get(++v),y?y.row=f:(y=this.$lines.createCell(f,e,this.session,i),this.$lines.push(y)),this.$renderCell(y,e,c,f),f++}this._signal("afterRender"),this.$updateGutterWidth(e),this.$showCursorMarker&&this.$highlightGutterLine&&this.$updateCursorMarker()},t.prototype.$updateGutterWidth=function(e){var o=this.session,s=o.gutterRenderer||this.$renderer,h=o.$firstLineNumber,c=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||o.$useWrapMode)&&(c=o.getLength()+h-1);var w=s?s.getWidth(o,c,e):c.toString().length*e.characterWidth,y=this.$padding||this.$computePadding();w+=y.left+y.right,w!==this.gutterWidth&&!isNaN(w)&&(this.gutterWidth=w,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",w))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.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 o=this.$lines.cells;this.$cursorCell=null;for(var s=0;s<o.length;s++){var h=o[s];if(h.row>=this.$cursorRow){if(h.row>this.$cursorRow){var c=this.session.getFoldLine(this.$cursorRow);if(s>0&&c&&c.start.row==o[s-1].row)h=o[s-1];else break}h.element.className="ace_gutter-active-line "+h.element.className,this.$cursorCell=h;break}}}}},t.prototype.$updateCursorMarker=function(){if(this.session){var e=this.session;this.$highlightElement||(this.$highlightElement=m.createElement("div"),this.$highlightElement.className="ace_gutter-cursor",this.$highlightElement.style.pointerEvents="none",this.element.appendChild(this.$highlightElement));var o=e.selection.cursor,s=this.config,h=this.$lines,c=s.firstRowScreen*s.lineHeight,w=Math.floor(c/h.canvasHeight),y=e.documentToScreenRow(o)*s.lineHeight,v=y-w*h.canvasHeight;m.setStyle(this.$highlightElement.style,"height",s.lineHeight+"px"),m.setStyle(this.$highlightElement.style,"top",v+"px")}},t.prototype.scrollLines=function(e){var o=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(o,e))return this.update(e);this.$lines.moveContainer(e);var s=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),h=this.oldLastRow;if(this.oldLastRow=s,!o||h<e.firstRow)return this.update(e);if(s<o.firstRow)return this.update(e);if(o.firstRow<e.firstRow)for(var c=this.session.getFoldedRowCount(o.firstRow,e.firstRow-1);c>0;c--)this.$lines.shift();if(h>s)for(var c=this.session.getFoldedRowCount(s+1,h);c>0;c--)this.$lines.pop();e.firstRow<o.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,o.firstRow-1)),s>h&&this.$lines.push(this.$renderLines(e,h+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,o,s){for(var h=[],c=o,w=this.session.getNextFoldLine(c),y=w?w.start.row:1/0;c>y&&(c=w.end.row+1,w=this.session.getNextFoldLine(c,w),y=w?w.start.row:1/0),!(c>s);){var v=this.$lines.createCell(c,e,this.session,i);this.$renderCell(v,e,w,c),h.push(v),c++}return h},t.prototype.$renderCell=function(e,o,s,h){var c=e.element,w=this.session,y=c.childNodes[0],v=c.childNodes[1],f=c.childNodes[2],$=c.childNodes[3],E=f.firstChild,A=w.$firstLineNumber,L=w.$breakpoints,R=w.$decorations,C=w.gutterRenderer||this.$renderer,b=this.$showFoldWidgets&&w.foldWidgets,g=s?s.start.row:Number.MAX_VALUE,u=o.lineHeight+"px",S=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",x=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=(C?C.getText(w,h):h+A).toString();if(this.$highlightGutterLine&&(h==this.$cursorRow||s&&h<this.$cursorRow&&h>=g&&this.$cursorRow<=s.end.row)&&(S+="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)),L[h]&&(S+=L[h]),R[h]&&(S+=R[h]),this.$annotations[h]&&h!==g&&(S+=this.$annotations[h].className),b){var k=b[h];k==null&&(k=b[h]=w.getFoldWidget(h))}if(k){var I="ace_fold-widget ace_"+k,O=k=="start"&&h==g&&h<s.end.row;if(O){I+=" ace_closed";for(var z="",N=!1,B=h+1;B<=s.end.row;B++)if(this.$annotations[B]){if(this.$annotations[B].className===" ace_error"){N=!0,z=" ace_error_fold";break}this.$annotations[B].className===" ace_security"?(N=!0,z=" ace_security_fold"):this.$annotations[B].className===" ace_warning"&&z!==" ace_security_fold"&&(N=!0,z=" ace_warning_fold")}S+=z}else I+=" ace_open";v.className!=I&&(v.className=I),m.setStyle(v.style,"height",u),m.setStyle(v.style,"display","inline-block"),v.setAttribute("role","button"),v.setAttribute("tabindex","-1");var W=w.getFoldWidgetRange(h);W?v.setAttribute("aria-label",r("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[W.start.row+1,W.end.row+1])):s?v.setAttribute("aria-label",r("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[s.start.row+1,s.end.row+1])):v.setAttribute("aria-label",r("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[h+1])),O?(v.setAttribute("aria-expanded","false"),v.setAttribute("title",r("gutter.code-folding.closed.title","Unfold code"))):(v.setAttribute("aria-expanded","true"),v.setAttribute("title",r("gutter.code-folding.open.title","Fold code")))}else v&&(m.setStyle(v.style,"display","none"),v.setAttribute("tabindex","0"),v.removeAttribute("role"),v.removeAttribute("aria-label"));var U=this.session.$gutterCustomWidgets[h];if(U?this.$addCustomWidget(h,U,e):$&&this.$removeCustomWidget(h,e),N&&this.$showFoldedAnnotations){f.className="ace_gutter_annotation",E.className=x,E.className+=z,m.setStyle(E.style,"height",u),m.setStyle(f.style,"display","block"),m.setStyle(f.style,"height",u);var G;switch(z){case" ace_error_fold":G=r("gutter.annotation.aria-label.error","Error, read annotations row $0",[T]);break;case" ace_security_fold":G=r("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[T]);break;case" ace_warning_fold":G=r("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[T]);break}f.setAttribute("aria-label",G),f.setAttribute("tabindex","-1"),f.setAttribute("role","button")}else if(this.$annotations[h]){f.className="ace_gutter_annotation",E.className=x,this.$useSvgGutterIcons?E.className+=this.$annotations[h].className:c.classList.add(this.$annotations[h].className.replace(" ","")),m.setStyle(E.style,"height",u),m.setStyle(f.style,"display","block"),m.setStyle(f.style,"height",u);var G;switch(this.$annotations[h].className){case" ace_error":G=r("gutter.annotation.aria-label.error","Error, read annotations row $0",[T]);break;case" ace_security":G=r("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[T]);break;case" ace_warning":G=r("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[T]);break;case" ace_info":G=r("gutter.annotation.aria-label.info","Info, read annotations row $0",[T]);break;case" ace_hint":G=r("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[T]);break}f.setAttribute("aria-label",G),f.setAttribute("tabindex","-1"),f.setAttribute("role","button")}else m.setStyle(f.style,"display","none"),f.removeAttribute("aria-label"),f.removeAttribute("role"),f.setAttribute("tabindex","0");return T!==y.data&&(y.data=T),c.className!=S&&(c.className=S),m.setStyle(e.element.style,"height",this.$lines.computeLineHeight(h,o,w)+"px"),m.setStyle(e.element.style,"top",this.$lines.computeLineTop(h,o,w)+"px"),e.text=T,f.style.display==="none"&&v.style.display==="none"&&!U?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e,!e&&this.$highlightElement&&(this.$highlightElement.remove(),this.$highlightElement=null)},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?m.addCssClass(this.element,"ace_folding-enabled"):m.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$hideFoldWidget=function(e,o){var s=o||this.$getGutterCell(e);if(s&&s.element){var h=s.element.childNodes[1];h&&m.setStyle(h.style,"display","none")}},t.prototype.$showFoldWidget=function(e,o){var s=o||this.$getGutterCell(e);if(s&&s.element){var h=s.element.childNodes[1];h&&this.session.foldWidgets&&this.session.foldWidgets[s.row]&&m.setStyle(h.style,"display","inline-block")}},t.prototype.$getGutterCell=function(e){var o=this.$lines.cells,s=0,h=o.length-1;if(!(e<o[0].row||e>o[h].row)){for(;s<=h;){var c=Math.floor((s+h)/2),w=o[c];if(w.row>e)h=c-1;else if(w.row<e)s=c+1;else return w}return w}},t.prototype.$addCustomWidget=function(e,o,s){var h=o.className,c=o.label,w=o.title,y=o.callbacks;this.session.$gutterCustomWidgets[e]={className:h,label:c,title:w,callbacks:y},this.$hideFoldWidget(e,s);var v=s||this.$getGutterCell(e);if(v&&v.element){var f=v.element.querySelector(".ace_custom-widget");f&&f.remove(),f=m.createElement("span"),f.className="ace_custom-widget ".concat(h),f.setAttribute("tabindex","-1"),f.setAttribute("role","button"),f.setAttribute("aria-label",c),f.setAttribute("title",w),m.setStyle(f.style,"display","inline-block"),m.setStyle(f.style,"height","inherit"),y&&y.onClick&&f.addEventListener("click",function($){y.onClick($,e),$.stopPropagation()}),v.element.appendChild(f)}},t.prototype.$removeCustomWidget=function(e,o){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,o);var s=o||this.$getGutterCell(e);if(s&&s.element){var h=s.element.querySelector(".ace_custom-widget");h&&s.element.removeChild(h)}},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=m.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},t.prototype.getRegion=function(e){var o=this.$padding||this.$computePadding(),s=this.element.getBoundingClientRect();if(e.x<o.left+s.left)return"markers";if(this.$showFoldWidgets&&e.x>s.right-o.right)return"foldWidgets"},t})();n.prototype.$fixedWidth=!1,n.prototype.$highlightGutterLine=!0,n.prototype.$renderer=void 0,n.prototype.$showLineNumbers=!0,n.prototype.$showFoldWidgets=!0,d.implement(n.prototype,a);function i(t){var e=document.createTextNode("");t.appendChild(e);var o=m.createElement("span");t.appendChild(o);var s=m.createElement("span");t.appendChild(s);var h=m.createElement("span");return s.appendChild(h),t}M.Gutter=n}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(_,M,F){var m=_("../range").Range,d=_("../lib/dom"),p=(function(){function l(r){this.element=d.createElement("div"),this.element.className="ace_layer ace_marker-layer",r.appendChild(this.element)}return l.prototype.setPadding=function(r){this.$padding=r},l.prototype.setSession=function(r){this.session=r},l.prototype.setMarkers=function(r){this.markers=r},l.prototype.elt=function(r,n){var i=this.i!=-1&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=n,i.className=r},l.prototype.update=function(r){if(r){this.config=r,this.i=0;var n;for(var i in this.markers){var t=this.markers[i];if(!t.range){t.update(n,this,this.session,r);continue}var e=t.range.clipRows(r.firstRow,r.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var o=this.$getTop(e.start.row,r),s=this.$padding+e.start.column*r.characterWidth;t.renderer(n,e,s,o,r)}else t.type=="fullLine"?this.drawFullLineMarker(n,e,t.clazz,r):t.type=="screenLine"?this.drawScreenLineMarker(n,e,t.clazz,r):e.isMultiLine()?t.type=="text"?this.drawTextMarker(n,e,t.clazz,r):this.drawMultiLineMarker(n,e,t.clazz,r):this.drawSingleLineMarker(n,e,t.clazz+" ace_start ace_br15",r)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},l.prototype.$getTop=function(r,n){return(r-n.firstRowScreen)*n.lineHeight},l.prototype.drawTextMarker=function(r,n,i,t,e){for(var o=this.session,s=n.start.row,h=n.end.row,c=s,w=0,y=0,v=o.getScreenLastRowColumn(c),f=new m(c,n.start.column,c,y);c<=h;c++)f.start.row=f.end.row=c,f.start.column=c==s?n.start.column:o.getRowWrapIndent(c),f.end.column=v,w=y,y=v,v=c+1<h?o.getScreenLastRowColumn(c+1):c==h?0:n.end.column,this.drawSingleLineMarker(r,f,i+(c==s?" ace_start":"")+" ace_br"+a(c==s||c==s+1&&n.start.column,w<y,y>v,c==h),t,c==h?0:1,e)},l.prototype.drawMultiLineMarker=function(r,n,i,t,e){var o=this.$padding,s=t.lineHeight,h=this.$getTop(n.start.row,t),c=o+n.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(n.start.row)){var w=n.clone();w.end.row=w.start.row,w.end.column=this.session.getLine(w.start.row).length,this.drawBidiSingleLineMarker(r,w,i+" ace_br1 ace_start",t,null,e)}else this.elt(i+" ace_br1 ace_start","height:"+s+"px;right:"+o+"px;top:"+h+"px;left:"+c+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(n.end.row)){var w=n.clone();w.start.row=w.end.row,w.start.column=0,this.drawBidiSingleLineMarker(r,w,i+" ace_br12",t,null,e)}else{h=this.$getTop(n.end.row,t);var y=n.end.column*t.characterWidth;this.elt(i+" ace_br12","height:"+s+"px;width:"+y+"px;top:"+h+"px;left:"+o+"px;"+(e||""))}if(s=(n.end.row-n.start.row-1)*t.lineHeight,!(s<=0)){h=this.$getTop(n.start.row+1,t);var v=(n.start.column?1:0)|(n.end.column?0:8);this.elt(i+(v?" ace_br"+v:""),"height:"+s+"px;right:"+o+"px;top:"+h+"px;left:"+o+"px;"+(e||""))}},l.prototype.drawSingleLineMarker=function(r,n,i,t,e,o){if(this.session.$bidiHandler.isBidiRow(n.start.row))return this.drawBidiSingleLineMarker(r,n,i,t,e,o);var s=t.lineHeight,h=(n.end.column+(e||0)-n.start.column)*t.characterWidth,c=this.$getTop(n.start.row,t),w=this.$padding+n.start.column*t.characterWidth;this.elt(i,"height:"+s+"px;width:"+h+"px;top:"+c+"px;left:"+w+"px;"+(o||""))},l.prototype.drawBidiSingleLineMarker=function(r,n,i,t,e,o){var s=t.lineHeight,h=this.$getTop(n.start.row,t),c=this.$padding,w=this.session.$bidiHandler.getSelections(n.start.column,n.end.column);w.forEach(function(y){this.elt(i,"height:"+s+"px;width:"+(y.width+(e||0))+"px;top:"+h+"px;left:"+(c+y.left)+"px;"+(o||""))},this)},l.prototype.drawFullLineMarker=function(r,n,i,t,e){var o=this.$getTop(n.start.row,t),s=t.lineHeight;n.start.row!=n.end.row&&(s+=this.$getTop(n.end.row,t)-o),this.elt(i,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(e||""))},l.prototype.drawScreenLineMarker=function(r,n,i,t,e){var o=this.$getTop(n.start.row,t),s=t.lineHeight;this.elt(i,"height:"+s+"px;top:"+o+"px;left:0;right:0;"+(e||""))},l})();p.prototype.$padding=0;function a(l,r,n,i){return(l?1:0)|(r?2:0)|(n?4:0)|(i?8:0)}M.Marker=p}),ace.define("ace/layer/text_util",["require","exports","module"],function(_,M,F){var m=new Set(["text","rparen","lparen"]);M.isTextToken=function(d){return m.has(d)}}),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(_,M,F){var m=_("../lib/oop"),d=_("../lib/dom"),p=_("../lib/lang"),a=_("./lines").Lines,l=_("../lib/event_emitter").EventEmitter,r=_("../config").nls,n=_("./text_util").isTextToken,i=(function(){function t(e){this.dom=d,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 a(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,o=e.getNewLineCharacter()==`
210
+ `&&e.getNewLineMode()!="windows",s=o?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=s)return this.EOL_CHAR=s,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",(function(o){this._signal("changeCharacterSize",o)}).bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.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)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var o=this.$tabStrings=[0],s=1;s<e+1;s++)if(this.showTabs){var h=this.dom.createElement("span");h.className="ace_invisible ace_invisible_tab",h.textContent=p.stringRepeat(this.TAB_CHAR,s),o.push(h)}else o.push(this.dom.createTextNode(p.stringRepeat(" ",s),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var c="ace_indent-guide",w=this.showSpaces?" ace_invisible ace_invisible_space":"",y=this.showSpaces?p.stringRepeat(this.SPACE_CHAR,this.tabSize):p.stringRepeat(" ",this.tabSize),v=this.showTabs?" ace_invisible ace_invisible_tab":"",f=this.showTabs?p.stringRepeat(this.TAB_CHAR,this.tabSize):y,h=this.dom.createElement("span");h.className=c+w,h.textContent=y,this.$tabStrings[" "]=h;var h=this.dom.createElement("span");h.className=c+v,h.textContent=f,this.$tabStrings[" "]=h}},t.prototype.updateLines=function(e,o,s){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var h=Math.max(o,e.firstRow),c=Math.min(s,e.lastRow),w=this.element.childNodes,y=0,f=e.firstRow;f<h;f++){var $=this.session.getFoldLine(f);if($)if($.containsRow(h)){h=$.start.row;break}else f=$.end.row;y++}for(var v=!1,f=h,$=this.session.getNextFoldLine(f),E=$?$.start.row:1/0;f>E&&(f=$.end.row+1,$=this.session.getNextFoldLine(f,$),E=$?$.start.row:1/0),!(f>c);){var A=w[y++];if(A){this.dom.removeChildren(A),this.$renderLine(A,f,f==E?$:!1),v&&(A.style.top=this.$lines.computeLineTop(f,e,this.session)+"px");var L=e.lineHeight*this.session.getRowLength(f)+"px";A.style.height!=L&&(v=!0,A.style.height=L)}f++}if(v)for(;y<this.$lines.cells.length;){var R=this.$lines.cells[y++];R.element.style.top=this.$lines.computeLineTop(R.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var o=this.config;if(this.config=e,this.$lines.pageChanged(o,e))return this.update(e);this.$lines.moveContainer(e);var s=e.lastRow,h=o?o.lastRow:-1;if(!o||h<e.firstRow)return this.update(e);if(s<o.firstRow)return this.update(e);if(!o||o.lastRow<e.firstRow)return this.update(e);if(e.lastRow<o.firstRow)return this.update(e);if(o.firstRow<e.firstRow)for(var c=this.session.getFoldedRowCount(o.firstRow,e.firstRow-1);c>0;c--)this.$lines.shift();if(o.lastRow>e.lastRow)for(var c=this.session.getFoldedRowCount(e.lastRow+1,o.lastRow);c>0;c--)this.$lines.pop();e.firstRow<o.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,o.firstRow-1)),e.lastRow>o.lastRow&&this.$lines.push(this.$renderLinesFragment(e,o.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,o,s){for(var h=[],c=o,w=this.session.getNextFoldLine(c),y=w?w.start.row:1/0;c>y&&(c=w.end.row+1,w=this.session.getNextFoldLine(c,w),y=w?w.start.row:1/0),!(c>s);){var v=this.$lines.createCell(c,e,this.session),f=v.element;this.dom.removeChildren(f),d.setStyle(f.style,"height",this.$lines.computeLineHeight(c,e,this.session)+"px"),d.setStyle(f.style,"top",this.$lines.computeLineTop(c,e,this.session)+"px"),this.$renderLine(f,c,c==y?w:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",h.push(v),c++}return h},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var o=e.firstRow,s=e.lastRow,h=this.$lines;h.getLength();)h.pop();h.push(this.$renderLinesFragment(e,o,s))},t.prototype.$renderToken=function(e,o,s,h){for(var c=this,w=/(\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,y=this.dom.createFragment(this.element),v,f=0;v=w.exec(h);){var $=v[1],E=v[2],A=v[3],L=v[4],R=v[5];if(!(!c.showSpaces&&E)){var C=f!=v.index?h.slice(f,v.index):"";if(f=v.index+v[0].length,C&&y.appendChild(this.dom.createTextNode(C,this.element)),$){var b=c.session.getScreenTabSize(o+v.index),g=c.$tabStrings[b].cloneNode(!0);g.charCount=1,y.appendChild(g),o+=b-1}else if(E)if(c.showSpaces){var u=this.dom.createElement("span");u.className="ace_invisible ace_invisible_space",u.textContent=p.stringRepeat(c.SPACE_CHAR,E.length),y.appendChild(u)}else y.appendChild(this.dom.createTextNode(E,this.element));else if(A){var u=this.dom.createElement("span");u.className="ace_invisible ace_invisible_space ace_invalid",u.textContent=p.stringRepeat(c.SPACE_CHAR,A.length),y.appendChild(u)}else if(L){o+=1;var u=this.dom.createElement("span");u.style.width=c.config.characterWidth*2+"px",u.className=c.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",u.textContent=c.showSpaces?c.SPACE_CHAR:L,y.appendChild(u)}else if(R){o+=1;var u=this.dom.createElement("span");u.style.width=c.config.characterWidth*2+"px",u.className="ace_cjk",u.textContent=R,y.appendChild(u)}}}if(y.appendChild(this.dom.createTextNode(f?h.slice(f):h,this.element)),n(s.type))e.appendChild(y);else{var S="ace_"+s.type.replace(/\./g," ace_"),u=this.dom.createElement("span");s.type=="fold"&&(u.style.width=s.value.length*this.config.characterWidth+"px",u.setAttribute("title",r("inline-fold.closed.title","Unfold code"))),u.className=S,u.appendChild(y),e.appendChild(u)}return o+h.length},t.prototype.renderIndentGuide=function(e,o,s){var h=o.search(this.$indentGuideRe);if(h<=0||h>=s)return o;if(o[0]==" "){h-=h%this.tabSize;for(var c=h/this.tabSize,w=0;w<c;w++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),o.substr(h)}else if(o[0]==" "){for(var w=0;w<h;w++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),o.substr(h)}return this.$highlightIndentGuide(),o},t.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 o=this.session.selection.getCursor(),s=/^\s*/.exec(this.session.doc.getLine(o.row))[0].length,h=Math.floor(s/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:h,start:o.row};var c=this.session.$bracketHighlight;if(c){for(var w=this.session.$bracketHighlight.ranges,y=0;y<w.length;y++)if(o.row!==w[y].start.row){this.$highlightIndentGuideMarker.end=w[y].start.row+1,o.row>w[y].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[o.row]!==""&&o.column===e[o.row].length){this.$highlightIndentGuideMarker.dir=1;for(var y=o.row+1;y<e.length;y++){var v=e[y],f=/^\s*/.exec(v)[0].length;if(v!==""&&(this.$highlightIndentGuideMarker.end=y,f<=s))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),o=0;o<e.length;o++)e[o].classList.remove("ace_indent-guide-active")},t.prototype.$setIndentGuideActive=function(e,o){var s=this.session.doc.getLine(e.row);if(s!==""){var h=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(e.element.childNodes.length>0)h=e.element.childNodes[0];else return;var c=h.childNodes;if(c){var w=c[o-1];w&&w.classList&&w.classList.contains("ace_indent-guide")&&w.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var o=this.$highlightIndentGuideMarker.indentLevel;if(o!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var s=0;s<e.length;s++){var h=e[s];if(this.$highlightIndentGuideMarker.end&&h.row>=this.$highlightIndentGuideMarker.start+1){if(h.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(h,o)}}else for(var s=e.length-1;s>=0;s--){var h=e[s];if(this.$highlightIndentGuideMarker.end&&h.row<this.$highlightIndentGuideMarker.start){if(h.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(h,o)}}}},t.prototype.$createLineElement=function(e){var o=this.dom.createElement("div");return o.className="ace_line",o.style.height=this.config.lineHeight+"px",o},t.prototype.$renderWrappedLine=function(e,o,s){var h=0,c=0,w=s[0],y=0,v=this.$createLineElement();e.appendChild(v);for(var f=0;f<o.length;f++){var $=o[f],E=$.value;if(f==0&&this.displayIndentGuides){if(h=E.length,E=this.renderIndentGuide(v,E,w),!E)continue;h-=E.length}if(h+E.length<w)y=this.$renderToken(v,y,$,E),h+=E.length;else{for(;h+E.length>=w;){y=this.$renderToken(v,y,$,E.substring(0,w-h)),E=E.substring(w-h),h=w,v=this.$createLineElement(),e.appendChild(v);var A=this.dom.createTextNode(p.stringRepeat(" ",s.indent),this.element);A.charCount=0,v.appendChild(A),c++,y=0,w=s[c]||Number.MAX_VALUE}E.length!=0&&(h+=E.length,y=this.$renderToken(v,y,$,E))}}s[s.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(v,y,null,"",!0)},t.prototype.$renderSimpleLine=function(e,o){for(var s=0,h=0;h<o.length;h++){var c=o[h],w=c.value;if(!(h==0&&this.displayIndentGuides&&(w=this.renderIndentGuide(e,w),!w))){if(s+w.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,s,c,w);s=this.$renderToken(e,s,c,w)}}},t.prototype.$renderOverflowMessage=function(e,o,s,h,c){s&&this.$renderToken(e,o,s,h.slice(0,this.MAX_LINE_LENGTH-o));var w=this.dom.createElement("span");w.className="ace_inline_button ace_keyword ace_toggle_wrap",w.textContent=c?"<hide>":"<click to see more...>",e.appendChild(w)},t.prototype.$renderLine=function(e,o,s){if(!s&&s!=!1&&(s=this.session.getFoldLine(o)),s)var h=this.$getFoldLineTokens(o,s);else var h=this.session.getTokens(o);var c=e;if(h.length){var w=this.session.getRowSplitData(o);if(w&&w.length){this.$renderWrappedLine(e,h,w);var c=e.lastChild}else{var c=e;this.$useLineGroups()&&(c=this.$createLineElement(),e.appendChild(c)),this.$renderSimpleLine(c,h)}}else this.$useLineGroups()&&(c=this.$createLineElement(),e.appendChild(c));if(this.showEOL&&c){s&&(o=s.end.row);var y=this.dom.createElement("span");y.className="ace_invisible ace_invisible_eol",y.textContent=o==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,c.appendChild(y)}},t.prototype.$getFoldLineTokens=function(e,o){var s=this.session,h=[];function c(y,v,f){for(var $=0,E=0;E+y[$].value.length<v;)if(E+=y[$].value.length,$++,$==y.length)return;if(E!=v){var A=y[$].value.substring(v-E);A.length>f-v&&(A=A.substring(0,f-v)),h.push({type:y[$].type,value:A}),E=v+A.length,$+=1}for(;E<f&&$<y.length;){var A=y[$].value;A.length+E>f?h.push({type:y[$].type,value:A.substring(0,f-E)}):h.push(y[$]),E+=A.length,$+=1}}var w=s.getTokens(e);return o.walk(function(y,v,f,$,E){y!=null?h.push({type:"fold",value:y}):(E&&(w=s.getTokens(v)),w.length&&c(w,$,f))},o.end.row,this.session.getLine(o.end.row).length),h},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t})();i.prototype.EOF_CHAR="¶",i.prototype.EOL_CHAR_LF="¬",i.prototype.EOL_CHAR_CRLF="¤",i.prototype.EOL_CHAR=i.prototype.EOL_CHAR_LF,i.prototype.TAB_CHAR="—",i.prototype.SPACE_CHAR="·",i.prototype.$padding=0,i.prototype.MAX_LINE_LENGTH=1e4,i.prototype.showInvisibles=!1,i.prototype.showSpaces=!1,i.prototype.showTabs=!1,i.prototype.showEOL=!1,i.prototype.displayIndentGuides=!0,i.prototype.$highlightIndentGuides=!0,i.prototype.$tabStrings=[],i.prototype.destroy={},i.prototype.onChangeTabSize=i.prototype.$computeTabString,m.implement(i.prototype,l),M.Text=i}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(_,M,F){var m=_("../lib/dom"),d=(function(){function p(a){this.element=m.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),m.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return p.prototype.$updateOpacity=function(a){for(var l=this.cursors,r=l.length;r--;)m.setStyle(l[r].style,"opacity",a?"":"0")},p.prototype.$startCssAnimation=function(){for(var a=this.cursors,l=a.length;l--;)a[l].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&m.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},p.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,m.removeCssClass(this.element,"ace_animate-blinking")},p.prototype.setPadding=function(a){this.$padding=a},p.prototype.setSession=function(a){this.session=a},p.prototype.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},p.prototype.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},p.prototype.setSmoothBlinking=function(a){a!=this.smoothBlinking&&(this.smoothBlinking=a,m.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.restartTimer())},p.prototype.addCursor=function(){var a=m.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},p.prototype.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},p.prototype.hideCursor=function(){this.isVisible=!1,m.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},p.prototype.showCursor=function(){this.isVisible=!0,m.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},p.prototype.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,m.removeCssClass(this.element,"ace_smooth-blinking")),a(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&m.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),m.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var l=(function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){a(!0),l()},this.blinkInterval),l()}},p.prototype.getPixelPosition=function(a,l){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(a),n=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,a.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),i=(r.row-(l?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:n,top:i}},p.prototype.isCursorInView=function(a,l){return a.top>=0&&a.top<l.maxHeight},p.prototype.update=function(a){this.config=a;var l=this.session.$selectionMarkers,r=0,n=0;(l===void 0||l.length===0)&&(l=[{cursor:null}]);for(var r=0,i=l.length;r<i;r++){var t=this.getPixelPosition(l[r].cursor,!0);if(!((t.top>a.height+a.offset||t.top<0)&&r>1)){var e=this.cursors[n++]||this.addCursor(),o=e.style;this.drawCursor?this.drawCursor(e,t,a,l[r],this.session):this.isCursorInView(t,a)?(m.setStyle(o,"display","block"),m.translate(e,t.left,t.top),m.setStyle(o,"width",Math.round(a.characterWidth)+"px"),m.setStyle(o,"height",a.lineHeight+"px")):m.setStyle(o,"display","none")}}for(;this.cursors.length>n;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=t,this.restartTimer()},p.prototype.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?m.addCssClass(this.element,"ace_overwrite-cursors"):m.removeCssClass(this.element,"ace_overwrite-cursors"))},p.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},p})();d.prototype.$padding=0,d.prototype.drawCursor=null,M.Cursor=d}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(_,M,F){var m=this&&this.__extends||(function(){var e=function(o,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,c){h.__proto__=c}||function(h,c){for(var w in c)Object.prototype.hasOwnProperty.call(c,w)&&(h[w]=c[w])},e(o,s)};return function(o,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(o,s);function h(){this.constructor=o}o.prototype=s===null?Object.create(s):(h.prototype=s.prototype,new h)}})(),d=_("./lib/oop"),p=_("./lib/dom"),a=_("./lib/event"),l=_("./lib/event_emitter").EventEmitter,r=32768,n=(function(){function e(o,s){this.element=p.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.inner=p.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),o.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addListener(this.element,"scroll",this.onScroll.bind(this)),a.addListener(this.element,"mousedown",a.preventDefault)}return e.prototype.setVisible=function(o){this.element.style.display=o?"":"none",this.isVisible=o,this.coeff=1},e})();d.implement(n.prototype,l);var i=(function(e){m(o,e);function o(s,h){var c=e.call(this,s,"-v")||this;return c.scrollTop=0,c.scrollHeight=0,h.$scrollbarWidth=c.width=p.scrollbarWidth(s.ownerDocument),c.inner.style.width=c.element.style.width=(c.width||15)+5+"px",c.$minWidth=0,c}return o.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var s=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-s)/(this.coeff-s)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},o.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},o.prototype.setHeight=function(s){this.element.style.height=s+"px"},o.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>r?(this.coeff=r/s,s=r):this.coeff!=1&&(this.coeff=1),this.inner.style.height=s+"px"},o.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},o})(n);i.prototype.setInnerHeight=i.prototype.setScrollHeight;var t=(function(e){m(o,e);function o(s,h){var c=e.call(this,s,"-h")||this;return c.scrollLeft=0,c.height=h.$scrollbarWidth,c.inner.style.height=c.element.style.height=(c.height||15)+5+"px",c}return o.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},o.prototype.getHeight=function(){return this.isVisible?this.height:0},o.prototype.setWidth=function(s){this.element.style.width=s+"px"},o.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},o.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},o})(n);M.ScrollBar=i,M.ScrollBarV=i,M.ScrollBarH=t,M.VScrollBar=i,M.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(_,M,F){var m=this&&this.__extends||(function(){var t=function(e,o){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,h){s.__proto__=h}||function(s,h){for(var c in h)Object.prototype.hasOwnProperty.call(h,c)&&(s[c]=h[c])},t(e,o)};return function(e,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");t(e,o);function s(){this.constructor=e}e.prototype=o===null?Object.create(o):(s.prototype=o.prototype,new s)}})(),d=_("./lib/oop"),p=_("./lib/dom"),a=_("./lib/event"),l=_("./lib/event_emitter").EventEmitter;p.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 r=(function(){function t(e,o){this.element=p.createElement("div"),this.element.className="ace_sb"+o,this.inner=p.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,a.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t})();d.implement(r.prototype,l);var n=(function(t){m(e,t);function e(o,s){var h=t.call(this,o,"-v")||this;return h.scrollTop=0,h.scrollHeight=0,h.parent=o,h.width=h.VScrollWidth,h.renderer=s,h.inner.style.width=h.element.style.width=(h.width||15)+"px",h.$minWidth=0,h}return e.prototype.onMouseDown=function(o,s){if(o==="mousedown"&&!(a.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var h=this,c=s.clientY,w=function(L){c=L.clientY},y=function(){clearInterval(E)},v=s.clientY,f=this.thumbTop,$=function(){if(c!==void 0){var L=h.scrollTopFromThumbTop(f+c-v);L!==h.scrollTop&&h._emit("scroll",{data:L})}};a.capture(this.inner,w,y);var E=setInterval($,20);return a.preventDefault(s)}var A=s.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(A)}),a.preventDefault(s)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(o){var s=o*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return s=s>>0,s<0?s=0:s>this.pageHeight-this.viewHeight&&(s=this.pageHeight-this.viewHeight),s},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(o){this.height=Math.max(0,o),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(o,s){this.pageHeight===o&&!s||(this.pageHeight=o,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})))},e.prototype.setScrollTop=function(o){this.scrollTop=o,o<0&&(o=0),this.thumbTop=o*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e})(r);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var i=(function(t){m(e,t);function e(o,s){var h=t.call(this,o,"-h")||this;return h.scrollLeft=0,h.scrollWidth=0,h.height=h.HScrollHeight,h.inner.style.height=h.element.style.height=(h.height||12)+"px",h.renderer=s,h}return e.prototype.onMouseDown=function(o,s){if(o==="mousedown"&&!(a.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var h=this,c=s.clientX,w=function(L){c=L.clientX},y=function(){clearInterval(E)},v=s.clientX,f=this.thumbLeft,$=function(){if(c!==void 0){var L=h.scrollLeftFromThumbLeft(f+c-v);L!==h.scrollLeft&&h._emit("scroll",{data:L})}};a.capture(this.inner,w,y);var E=setInterval($,20);return a.preventDefault(s)}var A=s.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(A)}),a.preventDefault(s)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(o){var s=o*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return s=s>>0,s<0?s=0:s>this.pageWidth-this.viewWidth&&(s=this.pageWidth-this.viewWidth),s},e.prototype.setWidth=function(o){this.width=Math.max(0,o),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(o,s){this.pageWidth===o&&!s||(this.pageWidth=o,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})))},e.prototype.setScrollLeft=function(o){this.scrollLeft=o,o<0&&(o=0),this.thumbLeft=o*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e})(r);i.prototype.setInnerWidth=i.prototype.setScrollWidth,M.ScrollBar=n,M.ScrollBarV=n,M.ScrollBarH=i,M.VScrollBar=n,M.HScrollBar=i}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(_,M,F){var m=_("./lib/event"),d=(function(){function p(a,l){this.onRender=a,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=l||window;var r=this;this._flush=function(n){r.pending=!1;var i=r.changes;if(i&&(m.blockIdle(100),r.changes=0,r.onRender(i)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return p.prototype.schedule=function(a){this.changes=this.changes|a,this.changes&&!this.pending&&(m.nextFrame(this._flush),this.pending=!0)},p.prototype.clear=function(a){var l=this.changes;return this.changes=0,l},p})();M.RenderLoop=d}),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(_,M,F){var m=_("../lib/oop"),d=_("../lib/dom"),p=_("../lib/lang"),a=_("../lib/event"),l=_("../lib/useragent"),r=_("../lib/event_emitter").EventEmitter,n=512,i=typeof ResizeObserver=="function",t=200,e=(function(){function o(s){this.el=d.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=d.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=d.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=p.stringRepeat("X",n),this.$characterSize={width:0,height:0},i?this.$addObserver():this.checkForSizeChanges()}return o.prototype.$setMeasureNodeStyles=function(s,h){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",l.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=h?"hidden":"visible"},o.prototype.checkForSizeChanges=function(s){if(s===void 0&&(s=this.$measureSizes()),s&&(this.$characterSize.width!==s.width||this.$characterSize.height!==s.height)){this.$measureNode.style.fontWeight="bold";var h=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=s,this.charSizes=Object.create(null),this.allowBoldFonts=h&&h.width===s.width&&h.height===s.height,this._emit("changeCharacterSize",{data:s})}},o.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(h){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},o.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=a.onIdle(function h(){s.checkForSizeChanges(),a.onIdle(h,500)},500)},o.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},o.prototype.$measureSizes=function(s){var h={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/n};return h.width===0||h.height===0?null:h},o.prototype.$measureCharWidth=function(s){this.$main.textContent=p.stringRepeat(s,n);var h=this.$main.getBoundingClientRect();return h.width/n},o.prototype.getCharacterWidth=function(s){var h=this.charSizes[s];return h===void 0&&(h=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),h},o.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},o.prototype.$getZoom=function(s){return!s||!s.parentElement?1:(Number(window.getComputedStyle(s).zoom)||1)*this.$getZoom(s.parentElement)},o.prototype.$initTransformMeasureNodes=function(){var s=function(h,c){return["div",{style:"position: absolute;top:"+h+"px;left:"+c+"px;"}]};this.els=d.buildDom([s(0,0),s(t,0),s(0,t),s(t,t)],this.el)},o.prototype.transformCoordinates=function(s,h){if(s){var c=this.$getZoom(this.el);s=f(1/c,s)}function w(I,O,z){var N=I[1]*O[0]-I[0]*O[1];return[(-O[1]*z[0]+O[0]*z[1])/N,(+I[1]*z[0]-I[0]*z[1])/N]}function y(I,O){return[I[0]-O[0],I[1]-O[1]]}function v(I,O){return[I[0]+O[0],I[1]+O[1]]}function f(I,O){return[I*O[0],I*O[1]]}this.els||this.$initTransformMeasureNodes();function $(I){var O=I.getBoundingClientRect();return[O.left,O.top]}var E=$(this.els[0]),A=$(this.els[1]),L=$(this.els[2]),R=$(this.els[3]),C=w(y(R,A),y(R,L),y(v(A,L),v(R,E))),b=f(1+C[0],y(A,E)),g=f(1+C[1],y(L,E));if(h){var u=h,S=C[0]*u[0]/t+C[1]*u[1]/t+1,x=v(f(u[0],b),f(u[1],g));return v(f(1/S/t,x),E)}var T=y(s,E),k=w(y(b,f(C[0],T)),y(g,f(C[1],T)),T);return f(t,k)},o})();e.prototype.$characterSize={width:0,height:0},m.implement(e.prototype,r),M.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(_,M,F){F.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(_,M,F){var m=_("../lib/dom"),d=_("../lib/oop"),p=_("../lib/event_emitter").EventEmitter,a=(function(){function l(r,n){this.renderer=n,this.pixelRatio=1,this.maxHeight=n.layerConfig.maxHeight,this.lineHeight=n.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(r)}return l.prototype.$createCanvas=function(){this.canvas=m.createElement("canvas"),this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7",this.canvas.style.position="absolute"},l.prototype.setScrollBarV=function(r){this.$createCanvas(),this.scrollbarV=r,r.element.appendChild(this.canvas),this.setDimensions()},l.prototype.$updateDecorators=function(r){if(typeof this.canvas.getContext!="function")return;var n=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(r);var i=this.canvas.getContext("2d");function t(b,g){return b.priority<g.priority?-1:b.priority>g.priority?1:0}var e=this.renderer.session.$annotations;if(i.clearRect(0,0,this.canvas.width,this.canvas.height),e){var o={info:1,warning:2,error:3};e.forEach(function(b){b.priority=o[b.type]||null}),e=e.sort(t);for(var s=0;s<e.length;s++){var h=e[s].row,c=this.getVerticalOffsetForRow(h),w=c+this.lineHeight,y=Math.round(this.heightRatio*c),v=Math.round(this.heightRatio*w),f=Math.round((y+v)/2),$=v-f;$<this.halfMinDecorationHeight&&($=this.halfMinDecorationHeight),f-$<0&&(f=$),f+$>this.canvasHeight&&(f=this.canvasHeight-$);var E=f-$,A=f+$,L=A-E;i.fillStyle=n[e[s].type]||null,i.fillRect(0,E,Math.round(this.oneZoneWidth-1),L)}}var R=this.renderer.session.selection.getCursor();if(R){var C=Math.round(this.getVerticalOffsetForRow(R.row)*this.heightRatio);i.fillStyle="rgba(0, 0, 0, 0.5)",i.fillRect(0,C,this.canvasWidth,2)}},l.prototype.getVerticalOffsetForRow=function(r){r=r|0;var n=this.renderer.session.documentToScreenRow(r,0)*this.lineHeight;return n},l.prototype.setDimensions=function(r){r=r||this.renderer.layerConfig,this.maxHeight=r.maxHeight,this.lineHeight=r.lineHeight,this.canvasHeight=r.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},l.prototype.setZoneWidth=function(){this.oneZoneWidth=this.canvasWidth},l.prototype.destroy=function(){this.canvas.parentNode.removeChild(this.canvas)},l})();d.implement(a.prototype,p),M.Decorator=a}),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(_,M,F){var m=_("./lib/oop"),d=_("./lib/dom"),p=_("./lib/lang"),a=_("./config"),l=_("./layer/gutter").Gutter,r=_("./layer/marker").Marker,n=_("./layer/text").Text,i=_("./layer/cursor").Cursor,t=_("./scrollbar").HScrollBar,e=_("./scrollbar").VScrollBar,o=_("./scrollbar_custom").HScrollBar,s=_("./scrollbar_custom").VScrollBar,h=_("./renderloop").RenderLoop,c=_("./layer/font_metrics").FontMetrics,w=_("./lib/event_emitter").EventEmitter,y=_("./css/editor-css"),v=_("./layer/decorators").Decorator,f=_("./lib/useragent"),$=_("./layer/text_util").isTextToken;d.importCssString(y,"ace_editor.css",!1);var E=(function(){function A(L,R){var C=this;this.container=L||d.createElement("div"),d.addCssClass(this.container,"ace_editor"),d.HI_DPI&&d.addCssClass(this.container,"ace_hidpi"),this.setTheme(R),a.get("useStrictCSP")==null&&a.set("useStrictCSP",!1),this.$gutter=d.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=d.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=d.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new l(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var b=this.$textLayer=new n(this.content);this.canvas=b.element,this.$markerFront=new r(this.content),this.$cursorLayer=new i(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(g){C.$scrollAnimation||C.session.setScrollTop(g.data-C.scrollMargin.top)}),this.scrollBarH.on("scroll",function(g){C.$scrollAnimation||C.session.setScrollLeft(g.data-C.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new c(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(g){C.updateCharacterSize(),C.onResize(!0,C.gutterWidth,C.$size.width,C.$size.height),C._signal("changeCharacterSize",g)}),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=!f.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(),a.resetOptions(this),a._signal("renderer",this)}return A.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(),d.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},A.prototype.setSession=function(L){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=L,L&&this.scrollMargin.top&&L.getScrollTop()<=0&&L.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(L),this.$markerBack.setSession(L),this.$markerFront.setSession(L),this.$gutterLayer.setSession(L),this.$textLayer.setSession(L),L&&(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))},A.prototype.updateLines=function(L,R,C){if(R===void 0&&(R=1/0),this.$changedLines?(this.$changedLines.firstRow>L&&(this.$changedLines.firstRow=L),this.$changedLines.lastRow<R&&(this.$changedLines.lastRow=R)):this.$changedLines={firstRow:L,lastRow:R},this.$changedLines.lastRow<this.layerConfig.firstRow)if(C)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},A.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},A.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},A.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},A.prototype.updateFull=function(L){L?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},A.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},A.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},A.prototype.onResize=function(L,R,C,b){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=L?1:0;var g=this.container;b||(b=g.clientHeight||g.scrollHeight),!b&&this.$maxLines&&this.lineHeight>1&&(!g.style.height||g.style.height=="0px")&&(g.style.height="1px",b=g.clientHeight||g.scrollHeight),C||(C=g.clientWidth||g.scrollWidth);var u=this.$updateCachedSize(L,R,C,b);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!C&&!b)return this.resizing=0;L&&(this.$gutterLayer.$padding=null),L?this.$renderChanges(u|this.$changes,!0):this.$loop.schedule(u|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},A.prototype.$updateCachedSize=function(L,R,C,b){b-=this.$extraHeight||0;var g=0,u=this.$size,S={width:u.width,height:u.height,scrollerHeight:u.scrollerHeight,scrollerWidth:u.scrollerWidth};if(b&&(L||u.height!=b)&&(u.height=b,g|=this.CHANGE_SIZE,u.scrollerHeight=u.height,this.$horizScroll&&(u.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(u.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",g=g|this.CHANGE_SCROLL),C&&(L||u.width!=C)){g|=this.CHANGE_SIZE,u.width=C,R==null&&(R=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=R,d.setStyle(this.scrollBarH.element.style,"left",R+"px"),d.setStyle(this.scroller.style,"left",R+this.margin.left+"px"),u.scrollerWidth=Math.max(0,C-R-this.scrollBarV.getWidth()-this.margin.h),d.setStyle(this.$gutter.style,"left",this.margin.left+"px");var x=this.scrollBarV.getWidth()+"px";d.setStyle(this.scrollBarH.element.style,"right",x),d.setStyle(this.scroller.style,"right",x),d.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(u.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||L)&&(g|=this.CHANGE_FULL)}return u.$dirty=!C||!b,g&&this._signal("resize",S),g},A.prototype.onGutterResize=function(L){var R=this.$showGutter?L:0;R!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,R,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},A.prototype.adjustWrapLimit=function(){var L=this.$size.scrollerWidth-this.$padding*2,R=Math.floor(L/this.characterWidth);return this.session.adjustWrapLimit(R,this.$showPrintMargin&&this.$printMarginColumn)},A.prototype.setAnimatedScroll=function(L){this.setOption("animatedScroll",L)},A.prototype.getAnimatedScroll=function(){return this.$animatedScroll},A.prototype.setShowInvisibles=function(L){this.setOption("showInvisibles",L),this.session.$bidiHandler.setShowInvisibles(L)},A.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},A.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},A.prototype.setDisplayIndentGuides=function(L){this.setOption("displayIndentGuides",L)},A.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},A.prototype.setHighlightIndentGuides=function(L){this.setOption("highlightIndentGuides",L)},A.prototype.setShowPrintMargin=function(L){this.setOption("showPrintMargin",L)},A.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},A.prototype.setPrintMarginColumn=function(L){this.setOption("printMarginColumn",L)},A.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},A.prototype.getShowGutter=function(){return this.getOption("showGutter")},A.prototype.setShowGutter=function(L){return this.setOption("showGutter",L)},A.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},A.prototype.setFadeFoldWidgets=function(L){this.setOption("fadeFoldWidgets",L)},A.prototype.setHighlightGutterLine=function(L){this.setOption("highlightGutterLine",L)},A.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},A.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var L=d.createElement("div");L.className="ace_layer ace_print-margin-layer",this.$printMarginEl=d.createElement("div"),this.$printMarginEl.className="ace_print-margin",L.appendChild(this.$printMarginEl),this.content.insertBefore(L,this.content.firstChild)}var R=this.$printMarginEl.style;R.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",R.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},A.prototype.getContainerElement=function(){return this.container},A.prototype.getMouseEventTarget=function(){return this.scroller},A.prototype.getTextAreaContainer=function(){return this.container},A.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var L=this.textarea.style,R=this.$composition;if(!this.$keepTextAreaAtCursor&&!R){d.translate(this.textarea,-100,0);return}var C=this.$cursorLayer.$pixelPos;if(C){R&&R.markerRange&&(C=this.$cursorLayer.getPixelPosition(R.markerRange.start,!0));var b=this.layerConfig,g=C.top,u=C.left;g-=b.offset;var S=R&&R.useTextareaForIME||f.isMobile?this.lineHeight:1;if(g<0||g>b.height-S){d.translate(this.textarea,0,0);return}var x=1,T=this.$size.height-S;if(!R)g+=this.lineHeight;else if(R.useTextareaForIME){var k=this.textarea.value;x=this.characterWidth*this.session.$getStringScreenWidth(k)[0]}else g+=this.lineHeight+2;u-=this.scrollLeft,u>this.$size.scrollerWidth-x&&(u=this.$size.scrollerWidth-x),u+=this.gutterWidth+this.margin.left,d.setStyle(L,"height",S+"px"),d.setStyle(L,"width",x+"px"),d.translate(this.textarea,Math.min(u,this.$size.scrollerWidth-x),Math.min(g,T))}}},A.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},A.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},A.prototype.getLastFullyVisibleRow=function(){var L=this.layerConfig,R=L.lastRow,C=this.session.documentToScreenRow(R,0)*L.lineHeight;return C-this.session.getScrollTop()>L.height-L.lineHeight?R-1:R},A.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},A.prototype.setPadding=function(L){this.$padding=L,this.$textLayer.setPadding(L),this.$cursorLayer.setPadding(L),this.$markerFront.setPadding(L),this.$markerBack.setPadding(L),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},A.prototype.setScrollMargin=function(L,R,C,b){var g=this.scrollMargin;g.top=L|0,g.bottom=R|0,g.right=b|0,g.left=C|0,g.v=g.top+g.bottom,g.h=g.left+g.right,g.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-g.top),this.updateFull()},A.prototype.setMargin=function(L,R,C,b){var g=this.margin;g.top=L|0,g.bottom=R|0,g.right=b|0,g.left=C|0,g.v=g.top+g.bottom,g.h=g.left+g.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},A.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},A.prototype.setHScrollBarAlwaysVisible=function(L){this.setOption("hScrollBarAlwaysVisible",L)},A.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},A.prototype.setVScrollBarAlwaysVisible=function(L){this.setOption("vScrollBarAlwaysVisible",L)},A.prototype.$updateScrollBarV=function(){var L=this.layerConfig.maxHeight,R=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(L-=(R-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>L-R&&(L=this.scrollTop+R,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(L+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},A.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},A.prototype.freeze=function(){this.$frozen=!0},A.prototype.unfreeze=function(){this.$frozen=!1},A.prototype.$renderChanges=function(L,R){if(this.$changes&&(L|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!L&&!R){this.$changes|=L;return}if(this.$size.$dirty)return this.$changes|=L,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",L),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var C=this.layerConfig;if(L&this.CHANGE_FULL||L&this.CHANGE_SIZE||L&this.CHANGE_TEXT||L&this.CHANGE_LINES||L&this.CHANGE_SCROLL||L&this.CHANGE_H_SCROLL){if(L|=this.$computeLayerConfig()|this.$loop.clear(),C.firstRow!=this.layerConfig.firstRow&&C.firstRowScreen==this.layerConfig.firstRowScreen){var b=this.scrollTop+(C.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;b>0&&(this.scrollTop=b,L=L|this.CHANGE_SCROLL,L|=this.$computeLayerConfig()|this.$loop.clear())}C=this.layerConfig,this.$updateScrollBarV(),L&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),d.translate(this.content,-this.scrollLeft,-C.offset);var g=C.width+2*this.$padding+"px",u=C.minHeight+"px";d.setStyle(this.content.style,"width",g),d.setStyle(this.content.style,"height",u)}if(L&this.CHANGE_H_SCROLL&&(d.translate(this.content,-this.scrollLeft,-C.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),L&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(C),this.$showGutter&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C),this.$markerBack.update(C),this.$markerFront.update(C),this.$cursorLayer.update(C),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}if(L&this.CHANGE_SCROLL){this.$changedLines=null,L&this.CHANGE_TEXT||L&this.CHANGE_LINES?this.$textLayer.update(C):this.$textLayer.scrollLines(C),this.$showGutter&&(L&this.CHANGE_GUTTER||L&this.CHANGE_LINES?this.$gutterLayer.update(C):this.$gutterLayer.scrollLines(C)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C),this.$markerBack.update(C),this.$markerFront.update(C),this.$cursorLayer.update(C),this.$moveTextAreaToCursor(),this._signal("afterRender",L);return}L&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(C),this.$showGutter&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)):L&this.CHANGE_LINES?((this.$updateLines()||L&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)):L&this.CHANGE_TEXT||L&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)):L&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(C),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(C)),L&this.CHANGE_CURSOR&&(this.$cursorLayer.update(C),this.$moveTextAreaToCursor()),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(C),L&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(C),this._signal("afterRender",L)},A.prototype.$autosize=function(){var L=this.session.getScreenLength()*this.lineHeight,R=this.$maxLines*this.lineHeight,C=Math.min(R,Math.max((this.$minLines||1)*this.lineHeight,L))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(C+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&C>this.$maxPixelHeight&&(C=this.$maxPixelHeight);var b=C<=2*this.lineHeight,g=!b&&L>R;if(C!=this.desiredHeight||this.$size.height!=this.desiredHeight||g!=this.$vScroll){g!=this.$vScroll&&(this.$vScroll=g,this.scrollBarV.setVisible(g));var u=this.container.clientWidth;this.container.style.height=C+"px",this.$updateCachedSize(!0,this.$gutterWidth,u,C),this.desiredHeight=C,this._signal("autosize")}},A.prototype.$computeLayerConfig=function(){var L=this.session,R=this.$size,C=R.height<=2*this.lineHeight,b=this.session.getScreenLength(),g=b*this.lineHeight,u=this.$getLongestLine(),S=!C&&(this.$hScrollBarAlwaysVisible||R.scrollerWidth-u-2*this.$padding<0),x=this.$horizScroll!==S;x&&(this.$horizScroll=S,this.scrollBarH.setVisible(S));var T=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),C=R.height<=2*this.lineHeight);var k=R.scrollerHeight+this.lineHeight,I=!this.$maxLines&&this.$scrollPastEnd?(R.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;g+=I;var O=this.scrollMargin;this.session.setScrollTop(Math.max(-O.top,Math.min(this.scrollTop,g-R.scrollerHeight+O.bottom))),this.session.setScrollLeft(Math.max(-O.left,Math.min(this.scrollLeft,u+2*this.$padding-R.scrollerWidth+O.right)));var z=!C&&(this.$vScrollBarAlwaysVisible||R.scrollerHeight-g+I<0||this.scrollTop>O.top),N=T!==z;N&&(this.$vScroll=z,this.scrollBarV.setVisible(z));var B=this.scrollTop%this.lineHeight,W=Math.ceil(k/this.lineHeight)-1,U=Math.max(0,Math.round((this.scrollTop-B)/this.lineHeight)),G=U+W,V,X,Q=this.lineHeight;U=L.screenToDocumentRow(U,0);var q=L.getFoldLine(U);q&&(U=q.start.row),V=L.documentToScreenRow(U,0),X=L.getRowLength(U)*Q,G=Math.min(L.screenToDocumentRow(G,0),L.getLength()-1),k=R.scrollerHeight+L.getRowLength(G)*Q+X,B=this.scrollTop-V*Q,B<0&&V>0&&(V=Math.max(0,V+Math.floor(B/Q)),B=this.scrollTop-V*Q);var ie=0;return(this.layerConfig.width!=u||x)&&(ie=this.CHANGE_H_SCROLL),(x||N)&&(ie|=this.$updateCachedSize(!0,this.gutterWidth,R.width,R.height),this._signal("scrollbarVisibilityChanged"),N&&(u=this.$getLongestLine())),this.layerConfig={width:u,padding:this.$padding,firstRow:U,firstRowScreen:V,lastRow:G,lineHeight:Q,characterWidth:this.characterWidth,minHeight:k,maxHeight:g,offset:B,gutterOffset:Q?Math.max(0,Math.ceil((B+R.height-R.scrollerHeight)/Q)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(u-this.$padding),ie},A.prototype.$updateLines=function(){if(this.$changedLines){var L=this.$changedLines.firstRow,R=this.$changedLines.lastRow;this.$changedLines=null;var C=this.layerConfig;if(!(L>C.lastRow+1)&&!(R<C.firstRow)){if(R===1/0){this.$showGutter&&this.$gutterLayer.update(C),this.$textLayer.update(C);return}return this.$textLayer.updateLines(C,L,R),!0}}},A.prototype.$getLongestLine=function(){var L=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(L+=1),this.$textLayer&&L>this.$textLayer.MAX_LINE_LENGTH&&(L=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(L*this.characterWidth))},A.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},A.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},A.prototype.addGutterDecoration=function(L,R){this.$gutterLayer.addGutterDecoration(L,R)},A.prototype.removeGutterDecoration=function(L,R){this.$gutterLayer.removeGutterDecoration(L,R)},A.prototype.updateBreakpoints=function(L){this._rows=L,this.$loop.schedule(this.CHANGE_GUTTER)},A.prototype.setAnnotations=function(L){this.$gutterLayer.setAnnotations(L),this.$loop.schedule(this.CHANGE_GUTTER)},A.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},A.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},A.prototype.showCursor=function(){this.$cursorLayer.showCursor()},A.prototype.scrollSelectionIntoView=function(L,R,C){this.scrollCursorIntoView(L,C),this.scrollCursorIntoView(R,C)},A.prototype.scrollCursorIntoView=function(L,R,C){if(this.$size.scrollerHeight!==0){var b=this.$cursorLayer.getPixelPosition(L),g=b.left,u=b.top,S=C&&C.top||0,x=C&&C.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var T=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;T+S>u?(R&&T+S>u+this.lineHeight&&(u-=R*this.$size.scrollerHeight),u===0&&(u=-this.scrollMargin.top),this.session.setScrollTop(u)):T+this.$size.scrollerHeight-x<u+this.lineHeight&&(R&&T+this.$size.scrollerHeight-x<u-this.lineHeight&&(u+=R*this.$size.scrollerHeight),this.session.setScrollTop(u+this.lineHeight+x-this.$size.scrollerHeight));var k=this.scrollLeft,I=2*this.layerConfig.characterWidth;g-I<k?(g-=I,g<this.$padding+I&&(g=-this.scrollMargin.left),this.session.setScrollLeft(g)):(g+=I,k+this.$size.scrollerWidth<g+this.characterWidth?this.session.setScrollLeft(Math.round(g+this.characterWidth-this.$size.scrollerWidth)):k<=this.$padding&&g-k<this.characterWidth&&this.session.setScrollLeft(0))}},A.prototype.getScrollTop=function(){return this.session.getScrollTop()},A.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},A.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},A.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},A.prototype.scrollToRow=function(L){this.session.setScrollTop(L*this.lineHeight)},A.prototype.alignCursor=function(L,R){typeof L=="number"&&(L={row:L,column:0});var C=this.$cursorLayer.getPixelPosition(L),b=this.$size.scrollerHeight-this.lineHeight,g=C.top-b*(R||0);return this.session.setScrollTop(g),g},A.prototype.$calcSteps=function(L,R){var C=0,b=this.STEPS,g=[],u=function(S,x,T){return T*(Math.pow(S-1,3)+1)+x};for(C=0;C<b;++C)g.push(u(C/this.STEPS,L,R-L));return g},A.prototype.scrollToLine=function(L,R,C,b){var g=this.$cursorLayer.getPixelPosition({row:L,column:0}),u=g.top;R&&(u-=this.$size.scrollerHeight/2);var S=this.scrollTop;this.session.setScrollTop(u),C!==!1&&this.animateScrolling(S,b)},A.prototype.animateScrolling=function(L,R){var C=this.scrollTop;if(!this.$animatedScroll)return;var b=this;if(L==C)return;if(this.$scrollAnimation){var g=this.$scrollAnimation.steps;if(g.length&&(L=g[0],L==C))return}var u=b.$calcSteps(L,C);this.$scrollAnimation={from:L,to:C,steps:u},clearInterval(this.$timer),b.session.setScrollTop(u.shift()),b.session.$scrollTop=C;function S(){b.$timer=clearInterval(b.$timer),b.$scrollAnimation=null,b.$stopAnimation=!1,R&&R()}this.$timer=setInterval(function(){if(b.$stopAnimation){S();return}if(!b.session)return clearInterval(b.$timer);u.length?(b.session.setScrollTop(u.shift()),b.session.$scrollTop=C):C!=null?(b.session.$scrollTop=-1,b.session.setScrollTop(C),C=null):S()},10)},A.prototype.scrollToY=function(L){this.scrollTop!==L&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=L)},A.prototype.scrollToX=function(L){this.scrollLeft!==L&&(this.scrollLeft=L),this.$loop.schedule(this.CHANGE_H_SCROLL)},A.prototype.scrollTo=function(L,R){this.session.setScrollTop(R),this.session.setScrollLeft(L)},A.prototype.scrollBy=function(L,R){R&&this.session.setScrollTop(this.session.getScrollTop()+R),L&&this.session.setScrollLeft(this.session.getScrollLeft()+L)},A.prototype.isScrollableBy=function(L,R){if(R<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||R>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||L<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||L>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},A.prototype.pixelToScreenCoordinates=function(L,R){var C;if(this.$hasCssTransforms){C={top:0,left:0};var b=this.$fontMetrics.transformCoordinates([L,R]);L=b[1]-this.gutterWidth-this.margin.left,R=b[0]}else C=this.scroller.getBoundingClientRect();var g=L+this.scrollLeft-C.left-this.$padding,u=g/this.characterWidth,S=Math.floor((R+this.scrollTop-C.top)/this.lineHeight),x=this.$blockCursor?Math.floor(u):Math.round(u);return{row:S,column:x,side:u-x>0?1:-1,offsetX:g}},A.prototype.screenToTextCoordinates=function(L,R){var C;if(this.$hasCssTransforms){C={top:0,left:0};var b=this.$fontMetrics.transformCoordinates([L,R]);L=b[1]-this.gutterWidth-this.margin.left,R=b[0]}else C=this.scroller.getBoundingClientRect();var g=L+this.scrollLeft-C.left-this.$padding,u=g/this.characterWidth,S=this.$blockCursor?Math.floor(u):Math.round(u),x=Math.floor((R+this.scrollTop-C.top)/this.lineHeight);return this.session.screenToDocumentPosition(x,Math.max(S,0),g)},A.prototype.textToScreenCoordinates=function(L,R){var C=this.scroller.getBoundingClientRect(),b=this.session.documentToScreenPosition(L,R),g=this.$padding+(this.session.$bidiHandler.isBidiRow(b.row,L)?this.session.$bidiHandler.getPosLeft(b.column):Math.round(b.column*this.characterWidth)),u=b.row*this.lineHeight;return{pageX:C.left+g-this.scrollLeft,pageY:C.top+u-this.scrollTop}},A.prototype.visualizeFocus=function(){d.addCssClass(this.container,"ace_focus")},A.prototype.visualizeBlur=function(){d.removeCssClass(this.container,"ace_focus")},A.prototype.showComposition=function(L){this.$composition=L,L.cssText||(L.cssText=this.textarea.style.cssText),L.useTextareaForIME==null&&(L.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(d.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):L.markerId=this.session.addMarker(L.markerRange,"ace_composition_marker","text")},A.prototype.setCompositionText=function(L){var R=this.session.selection.cursor;this.addToken(L,"composition_placeholder",R.row,R.column),this.$moveTextAreaToCursor()},A.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),d.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var L=this.session.selection.cursor;this.removeExtraToken(L.row,L.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},A.prototype.setGhostText=function(L,R){var C=this.session.selection.cursor,b=R||{row:C.row,column:C.column};this.removeGhostText();var g=this.$calculateWrappedTextChunks(L,b);this.addToken(g[0].text,"ghost_text",b.row,b.column),this.$ghostText={text:L,position:{row:b.row,column:b.column}};var u=d.createElement("div");if(g.length>1){var S=this.hideTokensAfterPosition(b.row,b.column),x;g.slice(1).forEach(function(N){var B=d.createElement("div"),W=d.createElement("span");W.className="ace_ghost_text",N.wrapped&&(B.className="ghost_text_line_wrapped"),N.text.length===0&&(N.text=" "),W.appendChild(d.createTextNode(N.text)),B.appendChild(W),u.appendChild(B),x=B}),S.forEach(function(N){var B=d.createElement("span");$(N.type)||(B.className="ace_"+N.type.replace(/\./g," ace_")),B.appendChild(d.createTextNode(N.value)),x.appendChild(B)}),this.$ghostTextWidget={el:u,row:b.row,column:b.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var T=this.$cursorLayer.getPixelPosition(b,!0),k=this.container,I=k.getBoundingClientRect().height,O=g.length*this.lineHeight,z=O<I-T.top;if(z)return;O<I?this.scrollBy(0,(g.length-1)*this.lineHeight):this.scrollToRow(b.row)}},A.prototype.$calculateWrappedTextChunks=function(L,R){var C=this.$size.scrollerWidth-this.$padding*2,b=Math.floor(C/this.characterWidth)-2;b=b<=0?60:b;for(var g=L.split(/\r?\n/),u=[],S=0;S<g.length;S++){var x=this.session.$getDisplayTokens(g[S],R.column),T=this.session.$computeWrapSplits(x,b,this.session.$tabSize);if(T.length>0){var k=0;T.push(g[S].length);for(var I=0;I<T.length;I++){var O=g[S].slice(k,T[I]);u.push({text:O,wrapped:!0}),k=T[I]}}else u.push({text:g[S],wrapped:!1})}return u},A.prototype.removeGhostText=function(){if(this.$ghostText){var L=this.$ghostText.position;this.removeExtraToken(L.row,L.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},A.prototype.addToken=function(L,R,C,b){var g=this.session;g.bgTokenizer.lines[C]=null;var u={type:R,value:L},S=g.getTokens(C);if(b==null||!S.length)S.push(u);else for(var x=0,T=0;T<S.length;T++){var k=S[T];if(x+=k.value.length,b<=x){var I=k.value.length-(x-b),O=k.value.slice(0,I),z=k.value.slice(I);S.splice(T,1,{type:k.type,value:O},u,{type:k.type,value:z});break}}this.updateLines(C,C)},A.prototype.hideTokensAfterPosition=function(L,R){for(var C=this.session.getTokens(L),b=0,g=!1,u=[],S=0;S<C.length;S++){var x=C[S];if(b+=x.value.length,x.type!=="ghost_text"){if(g){u.push({type:x.type,value:x.value}),x.type="hidden_token";continue}b===R&&(g=!0)}}return this.updateLines(L,L),u},A.prototype.removeExtraToken=function(L,R){this.session.bgTokenizer.lines[L]=null,this.updateLines(L,L)},A.prototype.setTheme=function(L,R){var C=this;if(this.$themeId=L,C._dispatchEvent("themeChange",{theme:L}),!L||typeof L=="string"){var b=L||this.$options.theme.initialValue;a.loadModule(["theme",b],g)}else g(L);function g(u){if(C.$themeId!=L)return R&&R();if(!u||!u.cssClass)throw new Error("couldn't load module "+L+" or it didn't call define");u.$id&&(C.$themeId=u.$id),d.importCssString(u.cssText,u.cssClass,C.container),C.theme&&d.removeCssClass(C.container,C.theme.cssClass);var S="padding"in u?u.padding:"padding"in(C.theme||{})?4:C.$padding;if(C.$padding&&S!=C.$padding&&C.setPadding(S),C.$gutterLayer){var x=u.$showGutterCursorMarker;x&&!C.$gutterLayer.$showCursorMarker?C.$gutterLayer.$showCursorMarker="theme":!x&&C.$gutterLayer.$showCursorMarker=="theme"&&(C.$gutterLayer.$showCursorMarker=null)}C.$theme=u.cssClass,C.theme=u,d.addCssClass(C.container,u.cssClass),d.setCssClass(C.container,"ace_dark",u.isDark),C.$size&&(C.$size.width=0,C.$updateSizeAsync()),C._dispatchEvent("themeLoaded",{theme:u}),R&&R(),f.isSafari&&C.scroller&&(C.scroller.style.background="red",C.scroller.style.background="")}},A.prototype.getTheme=function(){return this.$themeId},A.prototype.setStyle=function(L,R){d.setCssClass(this.container,L,R!==!1)},A.prototype.unsetStyle=function(L){d.removeCssClass(this.container,L)},A.prototype.setCursorStyle=function(L){d.setStyle(this.scroller.style,"cursor",L)},A.prototype.setMouseCursor=function(L){d.setStyle(this.scroller.style,"cursor",L)},A.prototype.attachToShadowRoot=function(){d.importCssString(y,"ace_editor.css",this.container)},A.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},A.prototype.$updateCustomScrollbar=function(L){var R=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),L===!0?(this.scrollBarV=new s(this.container,this),this.scrollBarH=new o(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(C){R.$scrollAnimation||R.session.setScrollTop(C.data-R.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(C){R.$scrollAnimation||R.session.setScrollLeft(C.data-R.scrollMargin.left)}),this.$scrollDecorator?(this.$scrollDecorator.setScrollBarV(this.scrollBarV),this.$scrollDecorator.$updateDecorators()):(this.$scrollDecorator=new v(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators())):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(C){R.$scrollAnimation||R.session.setScrollTop(C.data-R.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(C){R.$scrollAnimation||R.session.setScrollLeft(C.data-R.scrollMargin.left)}))},A.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var L=this;this.$resizeTimer=p.delayedCall(function(){L.destroyed||L.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(R){var C=R[0].contentRect.width,b=R[0].contentRect.height;Math.abs(L.$size.width-C)>1||Math.abs(L.$size.height-b)>1?L.$resizeTimer.delay():L.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},A})();E.prototype.CHANGE_CURSOR=1,E.prototype.CHANGE_MARKER=2,E.prototype.CHANGE_GUTTER=4,E.prototype.CHANGE_SCROLL=8,E.prototype.CHANGE_LINES=16,E.prototype.CHANGE_TEXT=32,E.prototype.CHANGE_SIZE=64,E.prototype.CHANGE_MARKER_BACK=128,E.prototype.CHANGE_MARKER_FRONT=256,E.prototype.CHANGE_FULL=512,E.prototype.CHANGE_H_SCROLL=1024,E.prototype.$changes=0,E.prototype.$padding=null,E.prototype.$frozen=!1,E.prototype.STEPS=8,m.implement(E.prototype,w),a.defineOptions(E.prototype,"renderer",{useResizeObserver:{set:function(A){!A&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):A&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(A){this.$textLayer.setShowInvisibles(A)&&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(A){typeof A=="number"&&(this.$printMarginColumn=A),this.$showPrintMargin=!!A,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(A){this.$gutter.style.display=A?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(A){this.$gutterLayer.$useSvgGutterIcons=A},initialValue:!1},showFoldedAnnotations:{set:function(A){this.$gutterLayer.$showFoldedAnnotations=A},initialValue:!1},fadeFoldWidgets:{set:function(A){d.setCssClass(this.$gutter,"ace_fade-fold-widgets",A)},initialValue:!1},showFoldWidgets:{set:function(A){this.$gutterLayer.setShowFoldWidgets(A),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(A){this.$textLayer.setDisplayIndentGuides(A)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(A){this.$textLayer.setHighlightIndentGuides(A)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(A){this.$gutterLayer.setHighlightGutterLine(A),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(A){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(A){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(A){typeof A=="number"&&(A=A+"px"),this.container.style.fontSize=A,this.updateFontSize()},initialValue:12},fontFamily:{set:function(A){this.container.style.fontFamily=A,this.updateFontSize()}},maxLines:{set:function(A){this.updateFull()}},minLines:{set:function(A){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(A){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(A){A=+A||0,this.$scrollPastEnd!=A&&(this.$scrollPastEnd=A,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(A){this.$gutterLayer.$fixedWidth=!!A,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(A){this.$updateCustomScrollbar(A)},initialValue:!1},theme:{set:function(A){this.setTheme(A)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!f.isMobile&&!f.isIE}}),M.VirtualRenderer=E}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(_,M,F){var m=_("../lib/oop"),d=_("../lib/net"),p=_("../lib/event_emitter").EventEmitter,a=_("../config");function l(t){var e="importScripts('"+d.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new o;return s.append(e),s.getBlob("application/javascript")}}function r(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var e=l(t),o=window.URL||window.webkitURL,s=o.createObjectURL(e);return new Worker(s)}return new Worker(t)}var n=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,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(){m.implement(this,p),this.$createWorkerFromOldConfig=function(t,e,o,s,h){if(_.nameToUrl&&!_.toUrl&&(_.toUrl=_.nameToUrl),a.get("packaged")||!_.toUrl)s=s||a.moduleUrl(e,"worker");else{var c=this.$normalizePath;s=s||c(_.toUrl("ace/worker/worker.js",null,"_"));var w={};t.forEach(function(y){w[y]=c(_.toUrl(y,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=r(s),h&&this.send("importScripts",h),this.$worker.postMessage({init:!0,tlns:w,module:e,classname:o}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var o=this.callbacks[e.id];o&&(o(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return d.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,o){if(o){var s=this.callbackId++;this.callbacks[s]=o,e.push(s)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(o){console.error(o.stack)}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(n.prototype);var i=function(t,e,o){var s=null,h=!1,c=Object.create(p),w=[],y=new n({messageBuffer:w,terminate:function(){},postMessage:function(f){w.push(f),s&&(h?setTimeout(v):v())}});y.setEmitSync=function(f){h=f};var v=function(){var f=w.shift();f.command?s[f.command].apply(s,f.args):f.event&&c._signal(f.event,f.data)};return c.postMessage=function(f){y.onMessage({data:f})},c.callback=function(f,$){this.postMessage({type:"call",id:$,data:f})},c.emit=function(f,$){this.postMessage({type:"event",name:f,data:$})},a.loadModule(["worker",e],function(f){for(s=new f[o](c);w.length;)v()}),y};M.UIWorkerClient=i,M.WorkerClient=n,M.createWorker=r}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(_,M,F){var m=_("./range").Range,d=_("./lib/event_emitter").EventEmitter,p=_("./lib/oop"),a=(function(){function l(r,n,i,t,e,o){var s=this;this.length=n,this.session=r,this.doc=r.getDocument(),this.mainClass=e,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=i;var h=r.getUndoManager().$undoStack||r.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=h.length,this.setup(),r.selection.on("changeCursor",this.$onCursorChange)}return l.prototype.setup=function(){var r=this,n=this.doc,i=this.session;this.selectionBefore=i.selection.toJSON(),i.selection.inMultiSelectMode&&i.selection.toSingleRange(),this.pos=n.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=i.addMarker(new m(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var o=n.createAnchor(e.row,e.column);o.$insertRight=!0,o.detach(),r.others.push(o)}),i.setUndoSelect(!1)},l.prototype.showOtherMarkers=function(){if(!this.othersActive){var r=this.session,n=this;this.othersActive=!0,this.others.forEach(function(i){i.markerId=r.addMarker(new m(i.row,i.column,i.row,i.column+n.length),n.othersClass,null,!1)})}},l.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var r=0;r<this.others.length;r++)this.session.removeMarker(this.others[r].markerId)}},l.prototype.onUpdate=function(r){if(this.$updating)return this.updateAnchors(r);var n=r;if(n.start.row===n.end.row&&n.start.row===this.pos.row){this.$updating=!0;var i=r.action==="insert"?n.end.column-n.start.column:n.start.column-n.end.column,t=n.start.column>=this.pos.column&&n.start.column<=this.pos.column+this.length+1,e=n.start.column-this.pos.column;if(this.updateAnchors(r),t&&(this.length+=i),t&&!this.session.$fromUndo){if(r.action==="insert")for(var o=this.others.length-1;o>=0;o--){var s=this.others[o],h={row:s.row,column:s.column+e};this.doc.insertMergedLines(h,r.lines)}else if(r.action==="remove")for(var o=this.others.length-1;o>=0;o--){var s=this.others[o],h={row:s.row,column:s.column+e};this.doc.remove(new m(h.row,h.column,h.row,h.column-i))}}this.$updating=!1,this.updateMarkers()}},l.prototype.updateAnchors=function(r){this.pos.onChange(r);for(var n=this.others.length;n--;)this.others[n].onChange(r);this.updateMarkers()},l.prototype.updateMarkers=function(){if(!this.$updating){var r=this,n=this.session,i=function(e,o){n.removeMarker(e.markerId),e.markerId=n.addMarker(new m(e.row,e.column,e.row,e.column+r.length),o,null,!1)};i(this.pos,this.mainClass);for(var t=this.others.length;t--;)i(this.others[t],this.othersClass)}},l.prototype.onCursorChange=function(r){if(!(this.$updating||!this.session)){var n=this.session.selection.getCursor();n.row===this.pos.row&&n.column>=this.pos.column&&n.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",r)):(this.hideOtherMarkers(),this._emit("cursorLeave",r))}},l.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},l.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var r=this.session.getUndoManager(),n=(r.$undoStack||r.$undostack).length-this.$undoStackDepth,i=0;i<n;i++)r.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},l})();p.implement(a.prototype,d),M.PlaceHolder=a}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(_,M,F){var m=_("../lib/event"),d=_("../lib/useragent");function p(l,r){return l.row==r.row&&l.column==r.column}function a(l){var r=l.domEvent,n=r.altKey,i=r.shiftKey,t=r.ctrlKey,e=l.getAccelKey(),o=l.getButton();if(t&&d.isMac&&(o=r.button),l.editor.inMultiSelectMode&&o==2){l.editor.textInput.onContextMenu(l.domEvent);return}if(!t&&!n&&!e){o===0&&l.editor.inMultiSelectMode&&l.editor.exitMultiSelectMode();return}if(o===0){var s=l.editor,h=s.selection,c=s.inMultiSelectMode,w=l.getDocumentPosition(),y=h.getCursor(),v=l.inSelection()||h.isEmpty()&&p(w,y),f=l.x,$=l.y,E=function(O){f=O.clientX,$=O.clientY},A=s.session,L=s.renderer.pixelToScreenCoordinates(f,$),R=L,C;if(s.$mouseHandler.$enableJumpToDef)t&&n||e&&n?C=i?"block":"add":n&&s.$blockSelectEnabled&&(C="block");else if(e&&!n){if(C="add",!c&&i)return}else n&&s.$blockSelectEnabled&&(C="block");if(C&&d.isMac&&r.ctrlKey&&s.$mouseHandler.cancelContextMenu(),C=="add"){if(!c&&v)return;if(!c){var b=h.toOrientedRange();s.addSelectionMarker(b)}var g=h.rangeList.rangeAtPoint(w);s.inVirtualSelectionMode=!0,i&&(g=null,b=h.ranges[0]||b,s.removeSelectionMarker(b)),s.once("mouseup",function(){var O=h.toOrientedRange();g&&O.isEmpty()&&p(g.cursor,O.cursor)?h.substractPoint(O.cursor):(i?h.substractPoint(b.cursor):b&&(s.removeSelectionMarker(b),h.addRange(b)),h.addRange(O)),s.inVirtualSelectionMode=!1})}else if(C=="block"){l.stop(),s.inVirtualSelectionMode=!0;var u,S=[],x=function(){var O=s.renderer.pixelToScreenCoordinates(f,$),z=A.screenToDocumentPosition(O.row,O.column,O.offsetX);p(R,O)&&p(z,h.lead)||(R=O,s.selection.moveToPosition(z),s.renderer.scrollCursorIntoView(),s.removeSelectionMarkers(S),S=h.rectangularRangeBlock(R,L),s.$mouseHandler.$clickSelection&&S.length==1&&S[0].isEmpty()&&(S[0]=s.$mouseHandler.$clickSelection.clone()),S.forEach(s.addSelectionMarker,s),s.updateSelectionMarkers())};c&&!e?h.toSingleRange():!c&&e&&(u=h.toOrientedRange(),s.addSelectionMarker(u)),i?L=A.documentToScreenPosition(h.lead):h.moveToPosition(w),R={row:-1,column:-1};var T=function(O){x(),clearInterval(I),s.removeSelectionMarkers(S),S.length||(S=[h.toOrientedRange()]),u&&(s.removeSelectionMarker(u),h.toSingleRange(u));for(var z=0;z<S.length;z++)h.addRange(S[z]);s.inVirtualSelectionMode=!1,s.$mouseHandler.$clickSelection=null},k=x;m.capture(s.container,E,T);var I=setInterval(function(){k()},20);return l.preventDefault()}}}M.onMouseDown=a}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(_,M,F){M.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(d){d.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(d){d.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(d){d.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(d){d.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(d){d.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(d){d.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(d){d.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(d){d.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(d){d.multiSelect.rangeCount>1?d.multiSelect.joinSelections():d.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(d){d.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(d){d.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(d){d.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],M.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(d){d.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(d){return d&&d.inMultiSelectMode}}];var m=_("../keyboard/hash_handler").HashHandler;M.keyboardHandler=new m(M.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(_,M,F){var m=_("./range_list").RangeList,d=_("./range").Range,p=_("./selection").Selection,a=_("./mouse/multi_select_handler").onMouseDown,l=_("./lib/event"),r=_("./lib/lang"),n=_("./commands/multi_select_commands");M.commands=n.defaultCommands.concat(n.multiSelectCommands);var i=_("./search").Search,t=new i;function e(y,v,f){return t.$options.wrap=!0,t.$options.needle=v,t.$options.backwards=f==-1,t.find(y)}var o=_("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(o.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(y,v){if(y){if(!this.inMultiSelectMode&&this.rangeCount===0){var f=this.toOrientedRange();if(this.rangeList.add(f),this.rangeList.add(y),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),v||this.fromOrientedRange(y);this.rangeList.removeAll(),this.rangeList.add(f),this.$onAddRange(f)}y.cursor||(y.cursor=y.end);var $=this.rangeList.add(y);return this.$onAddRange(y),$.length&&this.$onRemoveRange($),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),v||this.fromOrientedRange(y)}},this.toSingleRange=function(y){y=y||this.ranges[0];var v=this.rangeList.removeAll();v.length&&this.$onRemoveRange(v),y&&this.fromOrientedRange(y)},this.substractPoint=function(y){var v=this.rangeList.substractPoint(y);if(v)return this.$onRemoveRange(v),v[0]},this.mergeOverlappingRanges=function(){var y=this.rangeList.merge();y.length&&this.$onRemoveRange(y)},this.$onAddRange=function(y){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(y),this._signal("addRange",{range:y})},this.$onRemoveRange=function(y){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var v=this.rangeList.ranges.pop();y.push(v),this.rangeCount=0}for(var f=y.length;f--;){var $=this.ranges.indexOf(y[f]);this.ranges.splice($,1)}this._signal("removeRange",{ranges:y}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),v=v||this.ranges[0],v&&!v.isEqual(this.getRange())&&this.fromOrientedRange(v)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new m,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var y=this.ranges.length?this.ranges:[this.getRange()],v=[],f=0;f<y.length;f++){var $=y[f],E=$.start.row,A=$.end.row;if(E===A)v.push($.clone());else{for(v.push(new d(E,$.start.column,E,this.session.getLine(E).length));++E<A;)v.push(this.getLineRange(E,!0));v.push(new d(A,0,A,$.end.column))}f==0&&!this.isBackwards()&&(v=v.reverse())}this.toSingleRange();for(var f=v.length;f--;)this.addRange(v[f])},this.joinSelections=function(){var y=this.rangeList.ranges,v=y[y.length-1],f=d.fromPoints(y[0].start,v.end);this.toSingleRange(),this.setSelectionRange(f,v.cursor==v.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var y=this.rangeList.ranges,v=y[y.length-1],f=d.fromPoints(y[0].start,v.end);this.toSingleRange(),this.setSelectionRange(f,v.cursor==v.start)}else{var $=this.session.documentToScreenPosition(this.cursor),E=this.session.documentToScreenPosition(this.anchor),A=this.rectangularRangeBlock($,E);A.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(y,v,f){var $=[],E=y.column<v.column;if(E)var A=y.column,L=v.column,R=y.offsetX,C=v.offsetX;else var A=v.column,L=y.column,R=v.offsetX,C=y.offsetX;var b=y.row<v.row;if(b)var g=y.row,u=v.row;else var g=v.row,u=y.row;A<0&&(A=0),g<0&&(g=0),g==u&&(f=!0);for(var S,x=g;x<=u;x++){var T=d.fromPoints(this.session.screenToDocumentPosition(x,A,R),this.session.screenToDocumentPosition(x,L,C));if(T.isEmpty()){if(S&&h(T.end,S))break;S=T.end}T.cursor=E?T.start:T.end,$.push(T)}if(b&&$.reverse(),!f){for(var k=$.length-1;$[k].isEmpty()&&k>0;)k--;if(k>0)for(var I=0;$[I].isEmpty();)I++;for(var O=k;O>=I;O--)$[O].isEmpty()&&$.splice(O,1)}return $}}).call(p.prototype);var s=_("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(y){y.cursor||(y.cursor=y.end);var v=this.getSelectionStyle();return y.marker=this.session.addMarker(y,"ace_selection",v),this.session.$selectionMarkers.push(y),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,y},this.removeSelectionMarker=function(y){if(y.marker){this.session.removeMarker(y.marker);var v=this.session.$selectionMarkers.indexOf(y);v!=-1&&this.session.$selectionMarkers.splice(v,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(y){for(var v=this.session.$selectionMarkers,f=y.length;f--;){var $=y[f];if($.marker){this.session.removeMarker($.marker);var E=v.indexOf($);E!=-1&&v.splice(E,1)}}this.session.selectionMarkerCount=v.length},this.$onAddRange=function(y){this.addSelectionMarker(y.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(y){this.removeSelectionMarkers(y.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(y){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(n.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(y){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(n.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(y){var v=y.command,f=y.editor;if(f.multiSelect){if(v.multiSelectAction)v.multiSelectAction=="forEach"?$=f.forEachSelection(v,y.args):v.multiSelectAction=="forEachLine"?$=f.forEachSelection(v,y.args,!0):v.multiSelectAction=="single"?(f.exitMultiSelectMode(),$=v.exec(f,y.args||{})):$=v.multiSelectAction(f,y.args||{});else{var $=v.exec(f,y.args||{});f.multiSelect.addRange(f.multiSelect.toOrientedRange()),f.multiSelect.mergeOverlappingRanges()}return $}},this.forEachSelection=function(y,v,f){if(!this.inVirtualSelectionMode){var $=f&&f.keepOrder,E=f==!0||f&&f.$byLines,A=this.session,L=this.selection,R=L.rangeList,C=($?L:R).ranges,b;if(!C.length)return y.exec?y.exec(this,v||{}):y(this,v||{});var g=L._eventRegistry;L._eventRegistry={};var u=new p(A);this.inVirtualSelectionMode=!0;for(var S=C.length;S--;){if(E)for(;S>0&&C[S].start.row==C[S-1].end.row;)S--;u.fromOrientedRange(C[S]),u.index=S,this.selection=A.selection=u;var x=y.exec?y.exec(this,v||{}):y(this,v||{});!b&&x!==void 0&&(b=x),u.toOrientedRange(C[S])}u.detach(),this.selection=A.selection=L,this.inVirtualSelectionMode=!1,L._eventRegistry=g,L.mergeOverlappingRanges(),L.ranges[0]&&L.fromOrientedRange(L.ranges[0]);var T=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),T&&T.from==T.to&&this.renderer.animateScrolling(T.from),b}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var y="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var v=this.multiSelect.rangeList.ranges,f=[],$=0;$<v.length;$++)f.push(this.session.getTextRange(v[$]));var E=this.session.getDocument().getNewLineCharacter();y=f.join(E),y.length==(f.length-1)*E.length&&(y="")}else this.selection.isEmpty()||(y=this.session.getTextRange(this.getSelectionRange()));return y},this.$checkMultiselectChange=function(y,v){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var f=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&v==this.multiSelect.anchor)return;var $=v==this.multiSelect.anchor?f.cursor==f.start?f.end:f.start:f.cursor;$.row!=v.row||this.session.$clipPositionToDocument($.row,$.column).column!=v.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(y,v,f){if(v=v||{},v.needle=y||v.needle,v.needle==null){var $=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();v.needle=this.session.getTextRange($)}this.$search.set(v);var E=this.$search.findAll(this.session);if(!E.length)return 0;var A=this.multiSelect;f||A.toSingleRange(E[0]);for(var L=E.length;L--;)A.addRange(E[L],!0);return $&&A.rangeList.rangeAtPoint($.start)&&A.addRange($,!0),E.length},this.selectMoreLines=function(y,v){var f=this.selection.toOrientedRange(),$=f.cursor==f.end,E=this.session.documentToScreenPosition(f.cursor);this.selection.$desiredColumn&&(E.column=this.selection.$desiredColumn);var A=this.session.screenToDocumentPosition(E.row+y,E.column);if(f.isEmpty())var R=A;else var L=this.session.documentToScreenPosition($?f.end:f.start),R=this.session.screenToDocumentPosition(L.row+y,L.column);if($){var C=d.fromPoints(A,R);C.cursor=C.start}else{var C=d.fromPoints(R,A);C.cursor=C.end}if(C.desiredColumn=E.column,!this.selection.inMultiSelectMode)this.selection.addRange(f);else if(v)var b=f.cursor;this.selection.addRange(C),b&&this.selection.substractPoint(b)},this.transposeSelections=function(y){for(var v=this.session,f=v.multiSelect,$=f.ranges,E=$.length;E--;){var A=$[E];if(A.isEmpty()){var L=v.getWordRange(A.start.row,A.start.column);A.start.row=L.start.row,A.start.column=L.start.column,A.end.row=L.end.row,A.end.column=L.end.column}}f.mergeOverlappingRanges();for(var R=[],E=$.length;E--;){var A=$[E];R.unshift(v.getTextRange(A))}y<0?R.unshift(R.pop()):R.push(R.shift());for(var E=$.length;E--;){var A=$[E],C=A.clone();v.replace(A,R[E]),A.start.row=C.start.row,A.start.column=C.start.column}f.fromOrientedRange(f.ranges[0])},this.selectMore=function(y,v,f){var $=this.session,E=$.multiSelect,A=E.toOrientedRange();if(!(A.isEmpty()&&(A=$.getWordRange(A.start.row,A.start.column),A.cursor=y==-1?A.start:A.end,this.multiSelect.addRange(A),f))){var L=$.getTextRange(A),R=e($,L,y);R&&(R.cursor=y==-1?R.start:R.end,this.session.unfold(R),this.multiSelect.addRange(R),this.renderer.scrollCursorIntoView(null,.5)),v&&this.multiSelect.substractPoint(A.cursor)}},this.alignCursors=function(){var y=this.session,v=y.multiSelect,f=v.ranges,$=-1,E=f.filter(function(k){if(k.cursor.row==$)return!0;$=k.cursor.row});if(!f.length||E.length==f.length-1){var A=this.selection.getRange(),L=A.start.row,R=A.end.row,C=L==R;if(C){var b=this.session.getLength(),g;do g=this.session.getLine(R);while(/[=:]/.test(g)&&++R<b);do g=this.session.getLine(L);while(/[=:]/.test(g)&&--L>0);L<0&&(L=0),R>=b&&(R=b-1)}var u=this.session.removeFullLines(L,R);u=this.$reAlignText(u,C),this.session.insert({row:L,column:0},u.join(`
945
+ `)+`
946
+ `),C||(A.start.column=0,A.end.column=u[u.length-1].length),this.selection.setRange(A)}else{E.forEach(function(k){v.substractPoint(k.cursor)});var S=0,x=1/0,T=f.map(function(k){var I=k.cursor,O=y.getLine(I.row),z=O.substr(I.column).search(/\S/g);return z==-1&&(z=0),I.column>S&&(S=I.column),z<x&&(x=z),z});f.forEach(function(k,I){var O=k.cursor,z=S-O.column,N=T[I]-x;z>N?y.insert(O,r.stringRepeat(" ",z-N)):y.remove(new d(O.row,O.column,O.row,O.column-z+N)),k.start.column=k.end.column=S,k.start.row=k.end.row=O.row,k.cursor=k.end}),v.fromOrientedRange(f[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(y,v){var f=!0,$=!0,E,A,L;return y.map(function(u){var S=u.match(/(\s*)(.*?)(\s*)([=:].*)/);return S?E==null?(E=S[1].length,A=S[2].length,L=S[3].length,S):(E+A+L!=S[1].length+S[2].length+S[3].length&&($=!1),E!=S[1].length&&(f=!1),E>S[1].length&&(E=S[1].length),A<S[2].length&&(A=S[2].length),L>S[3].length&&(L=S[3].length),S):[u]}).map(v?C:f?$?b:C:g);function R(u){return r.stringRepeat(" ",u)}function C(u){return u[2]?R(E)+u[2]+R(A-u[2].length+L)+u[4].replace(/^([=:])\s+/,"$1 "):u[0]}function b(u){return u[2]?R(E+A-u[2].length)+u[2]+R(L)+u[4].replace(/^([=:])\s+/,"$1 "):u[0]}function g(u){return u[2]?R(E)+u[2]+R(L)+u[4].replace(/^([=:])\s+/,"$1 "):u[0]}}}).call(s.prototype);function h(y,v){return y.row==v.row&&y.column==v.column}M.onSessionChange=function(y){var v=y.session;v&&!v.multiSelect&&(v.$selectionMarkers=[],v.selection.$initRangeList(),v.multiSelect=v.selection),this.multiSelect=v&&v.multiSelect;var f=y.oldSession;f&&(f.multiSelect.off("addRange",this.$onAddRange),f.multiSelect.off("removeRange",this.$onRemoveRange),f.multiSelect.off("multiSelect",this.$onMultiSelect),f.multiSelect.off("singleSelect",this.$onSingleSelect),f.multiSelect.lead.off("change",this.$checkMultiselectChange),f.multiSelect.anchor.off("change",this.$checkMultiselectChange)),v&&(v.multiSelect.on("addRange",this.$onAddRange),v.multiSelect.on("removeRange",this.$onRemoveRange),v.multiSelect.on("multiSelect",this.$onMultiSelect),v.multiSelect.on("singleSelect",this.$onSingleSelect),v.multiSelect.lead.on("change",this.$checkMultiselectChange),v.multiSelect.anchor.on("change",this.$checkMultiselectChange)),v&&this.inMultiSelectMode!=v.selection.inMultiSelectMode&&(v.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function c(y){y.$multiselectOnSessionChange||(y.$onAddRange=y.$onAddRange.bind(y),y.$onRemoveRange=y.$onRemoveRange.bind(y),y.$onMultiSelect=y.$onMultiSelect.bind(y),y.$onSingleSelect=y.$onSingleSelect.bind(y),y.$multiselectOnSessionChange=M.onSessionChange.bind(y),y.$checkMultiselectChange=y.$checkMultiselectChange.bind(y),y.$multiselectOnSessionChange(y),y.on("changeSession",y.$multiselectOnSessionChange),y.on("mousedown",a),y.commands.addCommands(n.defaultCommands),w(y))}function w(y){if(!y.textInput)return;var v=y.textInput.getElement(),f=!1;l.addListener(v,"keydown",function(E){var A=E.keyCode==18&&!(E.ctrlKey||E.shiftKey||E.metaKey);y.$blockSelectEnabled&&A?f||(y.renderer.setMouseCursor("crosshair"),f=!0):f&&$()},y),l.addListener(v,"keyup",$,y),l.addListener(v,"blur",$,y);function $(E){f&&(y.renderer.setMouseCursor(""),f=!1)}}M.MultiSelect=c,_("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(y){c(this),y?this.on("mousedown",a):this.off("mousedown",a)},value:!0},enableBlockSelect:{set:function(y){this.$blockSelectEnabled=y},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(_,M,F){var m=_("../../range").Range,d=M.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(p,a,l){var r=p.getLine(l);return this.foldingStartMarker.test(r)?"start":a=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(p,a,l){return null},this.indentationBlock=function(p,a,l){var r=/\S/,n=p.getLine(a),i=n.search(r);if(i!=-1){for(var t=l||n.length,e=p.getLength(),o=a,s=a;++a<e;){var h=p.getLine(a).search(r);if(h!=-1){if(h<=i){var c=p.getTokenAt(a,0);if(!c||c.type!=="string")break}s=a}}if(s>o){var w=p.getLine(s).length;return new m(o,t,s,w)}}},this.openingBracketBlock=function(p,a,l,r,n){var i={row:l,column:r+1},t=p.$findClosingBracket(a,i,n);if(t){var e=p.foldWidgets[t.row];return e==null&&(e=p.getFoldWidget(t.row)),e=="start"&&t.row>i.row&&(t.row--,t.column=p.getLine(t.row).length),m.fromPoints(i,t)}},this.closingBracketBlock=function(p,a,l,r,n){var i={row:l,column:r},t=p.$findOpeningBracket(a,i);if(t)return t.column++,i.column--,m.fromPoints(t,i)}}).call(d.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(_,M,F){var m=_("../lib/dom"),d=_("../range").Range,p=_("../config").nls;function a(r,n,i){for(var t=0,e=r.length-1;t<=e;){var o=t+e>>1,s=i(n,r[o]);if(s>0)t=o+1;else if(s<0)e=o-1;else return o}return-(t+1)}function l(r,n,i){var t=r.getAnnotations().sort(d.comparePoints);if(t.length){var e=a(t,{row:n,column:-1},d.comparePoints);e<0&&(e=-e-1),e>=t.length?e=i>0?0:t.length-1:e===0&&i<0&&(e=t.length-1);var o=t[e];if(!(!o||!i)){if(o.row===n){do o=t[e+=i];while(o&&o.row===n);if(!o)return t.slice()}var s=[];n=o.row;do s[i<0?"unshift":"push"](o),o=t[e+=i];while(o&&o.row==n);return s.length&&s}}}M.showErrorMarker=function(r,n){var i=r.session,t=r.getCursorPosition(),e=t.row,o=i.widgetManager.getWidgetsAtRow(e).filter(function(E){return E.type=="errorMarker"})[0];o?o.destroy():e-=n;var s=l(i,e,n),h;if(s){var c=s[0];t.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,t.row=c.row,h=r.renderer.$gutterLayer.$annotations[t.row]}else{if(o)return;h={displayText:[p("error-marker.good-state","Looks good!")],className:"ace_ok"}}r.session.unfold(t.row),r.selection.moveToPosition(t);var w={row:t.row,fixedWidth:!0,coverGutter:!0,el:m.createElement("div"),type:"errorMarker"},y=w.el.appendChild(m.createElement("div")),v=w.el.appendChild(m.createElement("div"));v.className="error_widget_arrow "+h.className;var f=r.renderer.$cursorLayer.getPixelPosition(t).left;v.style.left=f+r.renderer.gutterWidth-5+"px",w.el.className="error_widget_wrapper",y.className="error_widget "+h.className,h.displayText.forEach(function(E,A){y.appendChild(m.createTextNode(E)),A<h.displayText.length-1&&y.appendChild(m.createElement("br"))}),y.appendChild(m.createElement("div"));var $=function(E,A,L){if(A===0&&(L==="esc"||L==="return"))return w.destroy(),{command:"null"}};w.destroy=function(){r.$mouseHandler.isMousePressed||(r.keyBinding.removeKeyboardHandler($),i.widgetManager.removeLineWidget(w),r.off("changeSelection",w.destroy),r.off("changeSession",w.destroy),r.off("mouseup",w.destroy),r.off("change",w.destroy))},r.keyBinding.addKeyboardHandler($),r.on("changeSelection",w.destroy),r.on("changeSession",w.destroy),r.on("mouseup",w.destroy),r.on("change",w.destroy),r.session.widgetManager.addLineWidget(w),w.el.onmousedown=r.focus.bind(r),r.renderer.scrollCursorIntoView(null,.5,{bottom:w.el.offsetHeight})},m.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(_,M,F){_("./loader_build")(M);var m=_("./lib/dom"),d=_("./range").Range,p=_("./editor").Editor,a=_("./edit_session").EditSession,l=_("./undomanager").UndoManager,r=_("./virtual_renderer").VirtualRenderer;_("./worker/worker_client"),_("./keyboard/hash_handler"),_("./placeholder"),_("./multi_select"),_("./mode/folding/fold_mode"),_("./theme/textmate"),_("./ext/error_marker"),M.config=_("./config"),M.edit=function(i,t){if(typeof i=="string"){var e=i;if(i=document.getElementById(e),!i)throw new Error("ace.edit can't find div #"+e)}if(i&&i.env&&i.env.editor instanceof p)return i.env.editor;var o="";if(i&&/input|textarea/i.test(i.tagName)){var s=i;o=s.value,i=m.createElement("pre"),s.parentNode.replaceChild(i,s)}else i&&(o=i.textContent,i.innerHTML="");var h=M.createEditSession(o),c=new p(new r(i),h,t),w={document:h,editor:c,onResize:c.resize.bind(c,null)};return s&&(w.textarea=s),c.on("destroy",function(){w.editor.container.env=null}),c.container.env=c.env=w,c},M.createEditSession=function(i,t){var e=new a(i,t);return e.setUndoManager(new l),e},M.Range=d,M.Editor=p,M.EditSession=a,M.UndoManager=l,M.VirtualRenderer=r;var n=M.config.version;M.version=n}),(function(){ace.require(["ace/ace"],function(_){_&&(_.config.init(!0),_.define=ace.define);var M=(function(){return this})();!M&&typeof window<"u"&&(M=window),!M&&typeof self<"u"&&(M=self),M.ace||(M.ace=_);for(var F in _)_.hasOwnProperty(F)&&(M.ace[F]=_[F]);M.ace.default=M.ace,Y&&(Y.exports=M.ace)})})()})(kt)),kt.exports}var qe={exports:{}};qe.exports;var ni;function bi(){return ni||(ni=1,(function(Y,P){var _=200,M="__lodash_hash_undefined__",F=1,m=2,d=9007199254740991,p="[object Arguments]",a="[object Array]",l="[object AsyncFunction]",r="[object Boolean]",n="[object Date]",i="[object Error]",t="[object Function]",e="[object GeneratorFunction]",o="[object Map]",s="[object Number]",h="[object Null]",c="[object Object]",w="[object Promise]",y="[object Proxy]",v="[object RegExp]",f="[object Set]",$="[object String]",E="[object Symbol]",A="[object Undefined]",L="[object WeakMap]",R="[object ArrayBuffer]",C="[object DataView]",b="[object Float32Array]",g="[object Float64Array]",u="[object Int8Array]",S="[object Int16Array]",x="[object Int32Array]",T="[object Uint8Array]",k="[object Uint8ClampedArray]",I="[object Uint16Array]",O="[object Uint32Array]",z=/[\\^$.*+?()[\]{}|]/g,N=/^\[object .+?Constructor\]$/,B=/^(?:0|[1-9]\d*)$/,W={};W[b]=W[g]=W[u]=W[S]=W[x]=W[T]=W[k]=W[I]=W[O]=!0,W[p]=W[a]=W[R]=W[r]=W[C]=W[n]=W[i]=W[t]=W[o]=W[s]=W[c]=W[v]=W[f]=W[$]=W[L]=!1;var U=typeof Ce=="object"&&Ce&&Ce.Object===Object&&Ce,G=typeof self=="object"&&self&&self.Object===Object&&self,V=U||G||Function("return this")(),X=P&&!P.nodeType&&P,Q=X&&!0&&Y&&!Y.nodeType&&Y,q=Q&&Q.exports===X,ie=q&&U.process,se=(function(){try{return ie&&ie.binding&&ie.binding("util")}catch{}})(),ae=se&&se.isTypedArray;function re(D,H){for(var K=-1,J=D==null?0:D.length,oe=0,te=[];++K<J;){var he=D[K];H(he,K,D)&&(te[oe++]=he)}return te}function pe(D,H){for(var K=-1,J=H.length,oe=D.length;++K<J;)D[oe+K]=H[K];return D}function Be(D,H){for(var K=-1,J=D==null?0:D.length;++K<J;)if(H(D[K],K,D))return!0;return!1}function Me(D,H){for(var K=-1,J=Array(D);++K<D;)J[K]=H(K);return J}function He(D){return function(H){return D(H)}}function tt(D,H){return D.has(H)}function gt(D,H){return D?.[H]}function vt(D){var H=-1,K=Array(D.size);return D.forEach(function(J,oe){K[++H]=[oe,J]}),K}function mt(D,H){return function(K){return D(H(K))}}function yt(D){var H=-1,K=Array(D.size);return D.forEach(function(J){K[++H]=J}),K}var wt=Array.prototype,bt=Function.prototype,Le=Object.prototype,Ve=V["__core-js_shared__"],Ge=bt.toString,me=Le.hasOwnProperty,Ke=(function(){var D=/[^.]+$/.exec(Ve&&Ve.keys&&Ve.keys.IE_PROTO||"");return D?"Symbol(src)_1."+D:""})(),it=Le.toString,Ye=RegExp("^"+Ge.call(me).replace(z,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nt=q?V.Buffer:void 0,ze=V.Symbol,j=V.Uint8Array,Z=Le.propertyIsEnumerable,ee=wt.splice,ne=ze?ze.toStringTag:void 0,Ee=Object.getOwnPropertySymbols,De=nt?nt.isBuffer:void 0,rt=mt(Object.keys,Object),St=Ue(V,"DataView"),Qe=Ue(V,"Map"),Ct=Ue(V,"Promise"),$t=Ue(V,"Set"),At=Ue(V,"WeakMap"),Ze=Ue(Object,"create"),$i=Fe(St),Ai=Fe(Qe),Mi=Fe(Ct),Li=Fe($t),Ei=Fe(At),Bt=ze?ze.prototype:void 0,Mt=Bt?Bt.valueOf:void 0;function Oe(D){var H=-1,K=D==null?0:D.length;for(this.clear();++H<K;){var J=D[H];this.set(J[0],J[1])}}function xi(){this.__data__=Ze?Ze(null):{},this.size=0}function _i(D){var H=this.has(D)&&delete this.__data__[D];return this.size-=H?1:0,H}function Ti(D){var H=this.__data__;if(Ze){var K=H[D];return K===M?void 0:K}return me.call(H,D)?H[D]:void 0}function ki(D){var H=this.__data__;return Ze?H[D]!==void 0:me.call(H,D)}function Ri(D,H){var K=this.__data__;return this.size+=this.has(D)?0:1,K[D]=Ze&&H===void 0?M:H,this}Oe.prototype.clear=xi,Oe.prototype.delete=_i,Oe.prototype.get=Ti,Oe.prototype.has=ki,Oe.prototype.set=Ri;function $e(D){var H=-1,K=D==null?0:D.length;for(this.clear();++H<K;){var J=D[H];this.set(J[0],J[1])}}function Ii(){this.__data__=[],this.size=0}function Di(D){var H=this.__data__,K=st(H,D);if(K<0)return!1;var J=H.length-1;return K==J?H.pop():ee.call(H,K,1),--this.size,!0}function Oi(D){var H=this.__data__,K=st(H,D);return K<0?void 0:H[K][1]}function Ni(D){return st(this.__data__,D)>-1}function Fi(D,H){var K=this.__data__,J=st(K,D);return J<0?(++this.size,K.push([D,H])):K[J][1]=H,this}$e.prototype.clear=Ii,$e.prototype.delete=Di,$e.prototype.get=Oi,$e.prototype.has=Ni,$e.prototype.set=Fi;function Ne(D){var H=-1,K=D==null?0:D.length;for(this.clear();++H<K;){var J=D[H];this.set(J[0],J[1])}}function Wi(){this.size=0,this.__data__={hash:new Oe,map:new(Qe||$e),string:new Oe}}function Pi(D){var H=at(this,D).delete(D);return this.size-=H?1:0,H}function Bi(D){return at(this,D).get(D)}function Hi(D){return at(this,D).has(D)}function zi(D,H){var K=at(this,D),J=K.size;return K.set(D,H),this.size+=K.size==J?0:1,this}Ne.prototype.clear=Wi,Ne.prototype.delete=Pi,Ne.prototype.get=Bi,Ne.prototype.has=Hi,Ne.prototype.set=zi;function ot(D){var H=-1,K=D==null?0:D.length;for(this.__data__=new Ne;++H<K;)this.add(D[H])}function Ui(D){return this.__data__.set(D,M),this}function ji(D){return this.__data__.has(D)}ot.prototype.add=ot.prototype.push=Ui,ot.prototype.has=ji;function xe(D){var H=this.__data__=new $e(D);this.size=H.size}function Vi(){this.__data__=new $e,this.size=0}function Gi(D){var H=this.__data__,K=H.delete(D);return this.size=H.size,K}function Ki(D){return this.__data__.get(D)}function Yi(D){return this.__data__.has(D)}function Qi(D,H){var K=this.__data__;if(K instanceof $e){var J=K.__data__;if(!Qe||J.length<_-1)return J.push([D,H]),this.size=++K.size,this;K=this.__data__=new Ne(J)}return K.set(D,H),this.size=K.size,this}xe.prototype.clear=Vi,xe.prototype.delete=Gi,xe.prototype.get=Ki,xe.prototype.has=Yi,xe.prototype.set=Qi;function Zi(D,H){var K=lt(D),J=!K&&dn(D),oe=!K&&!J&&Lt(D),te=!K&&!J&&!oe&&Qt(D),he=K||J||oe||te,ue=he?Me(D.length,String):[],de=ue.length;for(var le in D)me.call(D,le)&&!(he&&(le=="length"||oe&&(le=="offset"||le=="parent")||te&&(le=="buffer"||le=="byteLength"||le=="byteOffset")||an(le,de)))&&ue.push(le);return ue}function st(D,H){for(var K=D.length;K--;)if(Vt(D[K][0],H))return K;return-1}function Xi(D,H,K){var J=H(D);return lt(D)?J:pe(J,K(D))}function Xe(D){return D==null?D===void 0?A:h:ne&&ne in Object(D)?on(D):un(D)}function Ht(D){return Je(D)&&Xe(D)==p}function zt(D,H,K,J,oe){return D===H?!0:D==null||H==null||!Je(D)&&!Je(H)?D!==D&&H!==H:Ji(D,H,K,J,zt,oe)}function Ji(D,H,K,J,oe,te){var he=lt(D),ue=lt(H),de=he?a:_e(D),le=ue?a:_e(H);de=de==p?c:de,le=le==p?c:le;var ve=de==c,be=le==c,fe=de==le;if(fe&&Lt(D)){if(!Lt(H))return!1;he=!0,ve=!1}if(fe&&!ve)return te||(te=new xe),he||Qt(D)?Ut(D,H,K,J,oe,te):nn(D,H,de,K,J,oe,te);if(!(K&F)){var ye=ve&&me.call(D,"__wrapped__"),we=be&&me.call(H,"__wrapped__");if(ye||we){var Te=ye?D.value():D,Ae=we?H.value():H;return te||(te=new xe),oe(Te,Ae,K,J,te)}}return fe?(te||(te=new xe),rn(D,H,K,J,oe,te)):!1}function qi(D){if(!Yt(D)||hn(D))return!1;var H=Gt(D)?Ye:N;return H.test(Fe(D))}function en(D){return Je(D)&&Kt(D.length)&&!!W[Xe(D)]}function tn(D){if(!cn(D))return rt(D);var H=[];for(var K in Object(D))me.call(D,K)&&K!="constructor"&&H.push(K);return H}function Ut(D,H,K,J,oe,te){var he=K&F,ue=D.length,de=H.length;if(ue!=de&&!(he&&de>ue))return!1;var le=te.get(D);if(le&&te.get(H))return le==H;var ve=-1,be=!0,fe=K&m?new ot:void 0;for(te.set(D,H),te.set(H,D);++ve<ue;){var ye=D[ve],we=H[ve];if(J)var Te=he?J(we,ye,ve,H,D,te):J(ye,we,ve,D,H,te);if(Te!==void 0){if(Te)continue;be=!1;break}if(fe){if(!Be(H,function(Ae,We){if(!tt(fe,We)&&(ye===Ae||oe(ye,Ae,K,J,te)))return fe.push(We)})){be=!1;break}}else if(!(ye===we||oe(ye,we,K,J,te))){be=!1;break}}return te.delete(D),te.delete(H),be}function nn(D,H,K,J,oe,te,he){switch(K){case C:if(D.byteLength!=H.byteLength||D.byteOffset!=H.byteOffset)return!1;D=D.buffer,H=H.buffer;case R:return!(D.byteLength!=H.byteLength||!te(new j(D),new j(H)));case r:case n:case s:return Vt(+D,+H);case i:return D.name==H.name&&D.message==H.message;case v:case $:return D==H+"";case o:var ue=vt;case f:var de=J&F;if(ue||(ue=yt),D.size!=H.size&&!de)return!1;var le=he.get(D);if(le)return le==H;J|=m,he.set(D,H);var ve=Ut(ue(D),ue(H),J,oe,te,he);return he.delete(D),ve;case E:if(Mt)return Mt.call(D)==Mt.call(H)}return!1}function rn(D,H,K,J,oe,te){var he=K&F,ue=jt(D),de=ue.length,le=jt(H),ve=le.length;if(de!=ve&&!he)return!1;for(var be=de;be--;){var fe=ue[be];if(!(he?fe in H:me.call(H,fe)))return!1}var ye=te.get(D);if(ye&&te.get(H))return ye==H;var we=!0;te.set(D,H),te.set(H,D);for(var Te=he;++be<de;){fe=ue[be];var Ae=D[fe],We=H[fe];if(J)var Zt=he?J(We,Ae,fe,H,D,te):J(Ae,We,fe,D,H,te);if(!(Zt===void 0?Ae===We||oe(Ae,We,K,J,te):Zt)){we=!1;break}Te||(Te=fe=="constructor")}if(we&&!Te){var ht=D.constructor,ct=H.constructor;ht!=ct&&"constructor"in D&&"constructor"in H&&!(typeof ht=="function"&&ht instanceof ht&&typeof ct=="function"&&ct instanceof ct)&&(we=!1)}return te.delete(D),te.delete(H),we}function jt(D){return Xi(D,gn,sn)}function at(D,H){var K=D.__data__;return ln(H)?K[typeof H=="string"?"string":"hash"]:K.map}function Ue(D,H){var K=gt(D,H);return qi(K)?K:void 0}function on(D){var H=me.call(D,ne),K=D[ne];try{D[ne]=void 0;var J=!0}catch{}var oe=it.call(D);return J&&(H?D[ne]=K:delete D[ne]),oe}var sn=Ee?function(D){return D==null?[]:(D=Object(D),re(Ee(D),function(H){return Z.call(D,H)}))}:vn,_e=Xe;(St&&_e(new St(new ArrayBuffer(1)))!=C||Qe&&_e(new Qe)!=o||Ct&&_e(Ct.resolve())!=w||$t&&_e(new $t)!=f||At&&_e(new At)!=L)&&(_e=function(D){var H=Xe(D),K=H==c?D.constructor:void 0,J=K?Fe(K):"";if(J)switch(J){case $i:return C;case Ai:return o;case Mi:return w;case Li:return f;case Ei:return L}return H});function an(D,H){return H=H??d,!!H&&(typeof D=="number"||B.test(D))&&D>-1&&D%1==0&&D<H}function ln(D){var H=typeof D;return H=="string"||H=="number"||H=="symbol"||H=="boolean"?D!=="__proto__":D===null}function hn(D){return!!Ke&&Ke in D}function cn(D){var H=D&&D.constructor,K=typeof H=="function"&&H.prototype||Le;return D===K}function un(D){return it.call(D)}function Fe(D){if(D!=null){try{return Ge.call(D)}catch{}try{return D+""}catch{}}return""}function Vt(D,H){return D===H||D!==D&&H!==H}var dn=Ht((function(){return arguments})())?Ht:function(D){return Je(D)&&me.call(D,"callee")&&!Z.call(D,"callee")},lt=Array.isArray;function fn(D){return D!=null&&Kt(D.length)&&!Gt(D)}var Lt=De||mn;function pn(D,H){return zt(D,H)}function Gt(D){if(!Yt(D))return!1;var H=Xe(D);return H==t||H==e||H==l||H==y}function Kt(D){return typeof D=="number"&&D>-1&&D%1==0&&D<=d}function Yt(D){var H=typeof D;return D!=null&&(H=="object"||H=="function")}function Je(D){return D!=null&&typeof D=="object"}var Qt=ae?He(ae):en;function gn(D){return fn(D)?Zi(D):tn(D)}function vn(){return[]}function mn(){return!1}Y.exports=pn})(qe,qe.exports)),qe.exports}var Se={},ri;function Si(){if(ri)return Se;ri=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.getAceInstance=Se.debounce=Se.editorEvents=Se.editorOptions=void 0;var Y=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];Se.editorOptions=Y;var P=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];Se.editorEvents=P;var _=function(){var F;return typeof window>"u"?(Ce.window={},F=pt(),delete Ce.window):window.ace?(F=window.ace,F.acequire=window.ace.require||window.ace.acequire):F=pt(),F};Se.getAceInstance=_;var M=function(F,m){var d=null;return function(){var p=this,a=arguments;clearTimeout(d),d=setTimeout(function(){F.apply(p,a)},m)}};return Se.debounce=M,Se}var oi;function Xn(){if(oi)return Re;oi=1;var Y=Re&&Re.__extends||(function(){var l=function(r,n){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,t){i.__proto__=t}||function(i,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(i[e]=t[e])},l(r,n)};return function(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");l(r,n);function i(){this.constructor=r}r.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}})(),P=Re&&Re.__assign||function(){return P=Object.assign||function(l){for(var r,n=1,i=arguments.length;n<i;n++){r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(l[t]=r[t])}return l},P.apply(this,arguments)};Object.defineProperty(Re,"__esModule",{value:!0});var _=pt(),M=Pt(),F=Ft(),m=bi(),d=Si(),p=(0,d.getAceInstance)(),a=(function(l){Y(r,l);function r(n){var i=l.call(this,n)||this;return d.editorEvents.forEach(function(t){i[t]=i[t].bind(i)}),i.debounce=d.debounce,i}return r.prototype.isInShadow=function(n){for(var i=n&&n.parentNode;i;){if(i.toString()==="[object ShadowRoot]")return!0;i=i.parentNode}return!1},r.prototype.componentDidMount=function(){var n=this,i=this.props,t=i.className,e=i.onBeforeLoad,o=i.onValidate,s=i.mode,h=i.focus,c=i.theme,w=i.fontSize,y=i.lineHeight,v=i.value,f=i.defaultValue,$=i.showGutter,E=i.wrapEnabled,A=i.showPrintMargin,L=i.scrollMargin,R=L===void 0?[0,0,0,0]:L,C=i.keyboardHandler,b=i.onLoad,g=i.commands,u=i.annotations,S=i.markers,x=i.placeholder;this.editor=p.edit(this.refEditor),e&&e(p);for(var T=Object.keys(this.props.editorProps),k=0;k<T.length;k++)this.editor[T[k]]=this.props.editorProps[T[k]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin(R[0],R[1],R[2],R[3]),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.getSession().setMode(typeof s=="string"?"ace/mode/".concat(s):s),c&&c!==""&&this.editor.setTheme("ace/theme/".concat(c)),this.editor.setFontSize(typeof w=="number"?"".concat(w,"px"):w),y&&(this.editor.container.style.lineHeight=typeof y=="number"?"".concat(y,"px"):"".concat(y),this.editor.renderer.updateFontSize()),this.editor.getSession().setValue(f||v||""),this.props.navigateToFileEnd&&this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter($),this.editor.getSession().setUseWrapMode(E),this.editor.setShowPrintMargin(A),this.editor.on("focus",this.onFocus),this.editor.on("blur",this.onBlur),this.editor.on("copy",this.onCopy),this.editor.on("paste",this.onPaste),this.editor.on("change",this.onChange),this.editor.on("input",this.onInput),x&&this.updatePlaceholder(),this.editor.getSession().selection.on("changeSelection",this.onSelectionChange),this.editor.getSession().selection.on("changeCursor",this.onCursorChange),o&&this.editor.getSession().on("changeAnnotation",function(){var O=n.editor.getSession().getAnnotations();n.props.onValidate(O)}),this.editor.session.on("changeScrollTop",this.onScroll),this.editor.getSession().setAnnotations(u||[]),S&&S.length>0&&this.handleMarkers(S);var I=this.editor.$options;d.editorOptions.forEach(function(O){I.hasOwnProperty(O)?n.editor.setOption(O,n.props[O]):n.props[O]&&console.warn("ReactAce: editor option ".concat(O," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}),this.handleOptions(this.props),Array.isArray(g)&&g.forEach(function(O){typeof O.exec=="string"?n.editor.commands.bindKey(O.bindKey,O.exec):n.editor.commands.addCommand(O)}),C&&this.editor.setKeyboardHandler("ace/keyboard/"+C),t&&(this.refEditor.className+=" "+t),b&&b(this.editor),this.editor.resize(),h&&this.editor.focus()},r.prototype.componentDidUpdate=function(n){for(var i=n,t=this.props,e=0;e<d.editorOptions.length;e++){var o=d.editorOptions[e];t[o]!==i[o]&&this.editor.setOption(o,t[o])}if(t.className!==i.className){var s=this.refEditor.className,h=s.trim().split(" "),c=i.className.trim().split(" ");c.forEach(function(v){var f=h.indexOf(v);h.splice(f,1)}),this.refEditor.className=" "+t.className+" "+h.join(" ")}var w=this.editor&&t.value!=null&&this.editor.getValue()!==t.value;if(w){this.silent=!0;var y=this.editor.session.selection.toJSON();this.editor.setValue(t.value,t.cursorStart),this.editor.session.selection.fromJSON(y),this.silent=!1}t.placeholder!==i.placeholder&&this.updatePlaceholder(),t.mode!==i.mode&&this.editor.getSession().setMode(typeof t.mode=="string"?"ace/mode/".concat(t.mode):t.mode),t.theme!==i.theme&&this.editor.setTheme("ace/theme/"+t.theme),t.keyboardHandler!==i.keyboardHandler&&(t.keyboardHandler?this.editor.setKeyboardHandler("ace/keyboard/"+t.keyboardHandler):this.editor.setKeyboardHandler(null)),t.fontSize!==i.fontSize&&this.editor.setFontSize(typeof t.fontSize=="number"?"".concat(t.fontSize,"px"):t.fontSize),t.lineHeight!==i.lineHeight&&(this.editor.container.style.lineHeight=typeof t.lineHeight=="number"?"".concat(t.lineHeight,"px"):t.lineHeight,this.editor.renderer.updateFontSize()),t.wrapEnabled!==i.wrapEnabled&&this.editor.getSession().setUseWrapMode(t.wrapEnabled),t.showPrintMargin!==i.showPrintMargin&&this.editor.setShowPrintMargin(t.showPrintMargin),t.showGutter!==i.showGutter&&this.editor.renderer.setShowGutter(t.showGutter),m(t.setOptions,i.setOptions)||this.handleOptions(t),(w||!m(t.annotations,i.annotations))&&this.editor.getSession().setAnnotations(t.annotations||[]),!m(t.markers,i.markers)&&Array.isArray(t.markers)&&this.handleMarkers(t.markers),m(t.scrollMargin,i.scrollMargin)||this.handleScrollMargins(t.scrollMargin),(n.height!==this.props.height||n.width!==this.props.width)&&this.editor.resize(),this.props.focus&&!n.focus&&this.editor.focus()},r.prototype.handleScrollMargins=function(n){n===void 0&&(n=[0,0,0,0]),this.editor.renderer.setScrollMargin(n[0],n[1],n[2],n[3])},r.prototype.componentWillUnmount=function(){this.editor&&(this.editor.destroy(),this.editor=null)},r.prototype.onChange=function(n){if(this.editor&&this.props.onChange&&!this.silent){var i=this.editor.getValue();this.props.onChange(i,n)}},r.prototype.onSelectionChange=function(n){if(this.props.onSelectionChange){var i=this.editor.getSelection();this.props.onSelectionChange(i,n)}},r.prototype.onCursorChange=function(n){if(this.props.onCursorChange){var i=this.editor.getSelection();this.props.onCursorChange(i,n)}},r.prototype.onInput=function(n){this.props.onInput&&this.props.onInput(n),this.props.placeholder&&this.updatePlaceholder()},r.prototype.onFocus=function(n){this.props.onFocus&&this.props.onFocus(n,this.editor)},r.prototype.onBlur=function(n){this.props.onBlur&&this.props.onBlur(n,this.editor)},r.prototype.onCopy=function(n){var i=n.text;this.props.onCopy&&this.props.onCopy(i)},r.prototype.onPaste=function(n){var i=n.text;this.props.onPaste&&this.props.onPaste(i)},r.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},r.prototype.handleOptions=function(n){for(var i=Object.keys(n.setOptions),t=0;t<i.length;t++)this.editor.setOption(i[t],n.setOptions[i[t]])},r.prototype.handleMarkers=function(n){var i=this,t=this.editor.getSession().getMarkers(!0);for(var e in t)t.hasOwnProperty(e)&&this.editor.getSession().removeMarker(t[e].id);t=this.editor.getSession().getMarkers(!1);for(var e in t)t.hasOwnProperty(e)&&t[e].clazz!=="ace_active-line"&&t[e].clazz!=="ace_selected-word"&&this.editor.getSession().removeMarker(t[e].id);n.forEach(function(o){var s=o.startRow,h=o.startCol,c=o.endRow,w=o.endCol,y=o.className,v=o.type,f=o.inFront,$=f===void 0?!1:f,E=new _.Range(s,h,c,w);i.editor.getSession().addMarker(E,y,v,$)})},r.prototype.updatePlaceholder=function(){var n=this.editor,i=this.props.placeholder,t=!n.session.getValue().length,e=n.renderer.placeholderNode;!t&&e?(n.renderer.scroller.removeChild(n.renderer.placeholderNode),n.renderer.placeholderNode=null):t&&!e?(e=n.renderer.placeholderNode=document.createElement("div"),e.textContent=i||"",e.className="ace_comment ace_placeholder",e.style.padding="0 9px",e.style.position="absolute",e.style.zIndex="3",n.renderer.scroller.appendChild(e)):t&&e&&(e.textContent=i)},r.prototype.updateRef=function(n){this.refEditor=n},r.prototype.render=function(){var n=this.props,i=n.name,t=n.width,e=n.height,o=n.style,s=P({width:t,height:e},o);return F.createElement("div",{ref:this.updateRef,id:i,style:s})},r.propTypes={mode:M.oneOfType([M.string,M.object]),focus:M.bool,theme:M.string,name:M.string,className:M.string,height:M.string,width:M.string,fontSize:M.oneOfType([M.number,M.string]),lineHeight:M.oneOfType([M.number,M.string]),showGutter:M.bool,onChange:M.func,onCopy:M.func,onPaste:M.func,onFocus:M.func,onInput:M.func,onBlur:M.func,onScroll:M.func,value:M.string,defaultValue:M.string,onLoad:M.func,onSelectionChange:M.func,onCursorChange:M.func,onBeforeLoad:M.func,onValidate:M.func,minLines:M.number,maxLines:M.number,readOnly:M.bool,highlightActiveLine:M.bool,tabSize:M.number,showPrintMargin:M.bool,cursorStart:M.number,debounceChangePeriod:M.number,editorProps:M.object,setOptions:M.object,style:M.object,scrollMargin:M.array,annotations:M.array,markers:M.array,keyboardHandler:M.string,wrapEnabled:M.bool,enableSnippets:M.bool,enableBasicAutocompletion:M.oneOfType([M.bool,M.array]),enableLiveAutocompletion:M.oneOfType([M.bool,M.array]),navigateToFileEnd:M.bool,commands:M.array,placeholder:M.string},r.defaultProps={name:"ace-editor",focus:!1,mode:"",theme:"",height:"500px",width:"500px",fontSize:12,enableSnippets:!1,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,placeholder:null,navigateToFileEnd:!0},r})(F.Component);return Re.default=a,Re}var je={},Ie={},Rt={exports:{}},si;function Jn(){return si||(si=1,(function(Y,P){ace.define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"],function(_,M,F){var m=_("./lib/oop");_("./lib/lang");var d=_("./lib/event_emitter").EventEmitter,p=_("./editor").Editor,a=_("./virtual_renderer").VirtualRenderer,l=_("./edit_session").EditSession,r;r=function(n,i,t){this.BELOW=1,this.BESIDE=0,this.$container=n,this.$theme=i,this.$splits=0,this.$editorCSS="",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(t||1),this.$cEditor=this.$editors[0],this.on("focus",(function(e){this.$cEditor=e}).bind(this))},(function(){m.implement(this,d),this.$createEditor=function(){var n=document.createElement("div");n.className=this.$editorCSS,n.style.cssText="position: absolute; top:0px; bottom:0px",this.$container.appendChild(n);var i=new p(new a(n,this.$theme));return i.on("focus",(function(){this._emit("focus",i)}).bind(this)),this.$editors.push(i),i.setFontSize(this.$fontSize),i},this.setSplits=function(n){var i;if(n<1)throw"The number of splits have to be > 0!";if(n!=this.$splits){if(n>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<n;)i=this.$editors[this.$splits],this.$container.appendChild(i.container),i.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<n;)this.$createEditor(),this.$splits++}else for(;this.$splits>n;)i=this.$editors[this.$splits-1],this.$container.removeChild(i.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(n){return this.$editors[n]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(n){this.$editors.forEach(function(i){i.setTheme(n)})},this.setKeyboardHandler=function(n){this.$editors.forEach(function(i){i.setKeyboardHandler(n)})},this.forEach=function(n,i){this.$editors.forEach(n,i)},this.$fontSize="",this.setFontSize=function(n){this.$fontSize=n,this.forEach(function(i){i.setFontSize(n)})},this.$cloneSession=function(n){var i=new l(n.getDocument(),n.getMode()),t=n.getUndoManager();return i.setUndoManager(t),i.setTabSize(n.getTabSize()),i.setUseSoftTabs(n.getUseSoftTabs()),i.setOverwrite(n.getOverwrite()),i.setBreakpoints(n.getBreakpoints()),i.setUseWrapMode(n.getUseWrapMode()),i.setUseWorker(n.getUseWorker()),i.setWrapLimitRange(n.$wrapLimitRange.min,n.$wrapLimitRange.max),i.$foldData=n.$cloneFoldData(),i},this.setSession=function(n,i){var t;i==null?t=this.$cEditor:t=this.$editors[i];var e=this.$editors.some(function(o){return o.session===n});return e&&(n=this.$cloneSession(n)),t.setSession(n),n},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(n){this.$orientation!=n&&(this.$orientation=n,this.resize())},this.resize=function(){var n=this.$container.clientWidth,i=this.$container.clientHeight,t;if(this.$orientation==this.BESIDE)for(var e=n/this.$splits,o=0;o<this.$splits;o++)t=this.$editors[o],t.container.style.width=e+"px",t.container.style.top="0px",t.container.style.left=o*e+"px",t.container.style.height=i+"px",t.resize();else for(var s=i/this.$splits,o=0;o<this.$splits;o++)t=this.$editors[o],t.container.style.width=n+"px",t.container.style.top=o*s+"px",t.container.style.left="0px",t.container.style.height=s+"px",t.resize()}}).call(r.prototype),M.Split=r}),ace.define("ace/ext/split",["require","exports","module","ace/ext/split","ace/split"],function(_,M,F){F.exports=_("../split")}),(function(){ace.require(["ace/ext/split"],function(_){Y&&(Y.exports=_)})})()})(Rt)),Rt.exports}var It,ai;function qn(){if(ai)return It;ai=1;var Y="Expected a function",P="__lodash_hash_undefined__",_="[object Function]",M="[object GeneratorFunction]",F="[object Symbol]",m=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,d=/^\w*$/,p=/^\./,a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,l=/[\\^$.*+?()[\]{}|]/g,r=/\\(\\)?/g,n=/^\[object .+?Constructor\]$/,i=typeof Ce=="object"&&Ce&&Ce.Object===Object&&Ce,t=typeof self=="object"&&self&&self.Object===Object&&self,e=i||t||Function("return this")();function o(j,Z){return j?.[Z]}function s(j){var Z=!1;if(j!=null&&typeof j.toString!="function")try{Z=!!(j+"")}catch{}return Z}var h=Array.prototype,c=Function.prototype,w=Object.prototype,y=e["__core-js_shared__"],v=(function(){var j=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return j?"Symbol(src)_1."+j:""})(),f=c.toString,$=w.hasOwnProperty,E=w.toString,A=RegExp("^"+f.call($).replace(l,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),L=e.Symbol,R=h.splice,C=tt(e,"Map"),b=tt(Object,"create"),g=L?L.prototype:void 0,u=g?g.toString:void 0;function S(j){var Z=-1,ee=j?j.length:0;for(this.clear();++Z<ee;){var ne=j[Z];this.set(ne[0],ne[1])}}function x(){this.__data__=b?b(null):{}}function T(j){return this.has(j)&&delete this.__data__[j]}function k(j){var Z=this.__data__;if(b){var ee=Z[j];return ee===P?void 0:ee}return $.call(Z,j)?Z[j]:void 0}function I(j){var Z=this.__data__;return b?Z[j]!==void 0:$.call(Z,j)}function O(j,Z){var ee=this.__data__;return ee[j]=b&&Z===void 0?P:Z,this}S.prototype.clear=x,S.prototype.delete=T,S.prototype.get=k,S.prototype.has=I,S.prototype.set=O;function z(j){var Z=-1,ee=j?j.length:0;for(this.clear();++Z<ee;){var ne=j[Z];this.set(ne[0],ne[1])}}function N(){this.__data__=[]}function B(j){var Z=this.__data__,ee=ae(Z,j);if(ee<0)return!1;var ne=Z.length-1;return ee==ne?Z.pop():R.call(Z,ee,1),!0}function W(j){var Z=this.__data__,ee=ae(Z,j);return ee<0?void 0:Z[ee][1]}function U(j){return ae(this.__data__,j)>-1}function G(j,Z){var ee=this.__data__,ne=ae(ee,j);return ne<0?ee.push([j,Z]):ee[ne][1]=Z,this}z.prototype.clear=N,z.prototype.delete=B,z.prototype.get=W,z.prototype.has=U,z.prototype.set=G;function V(j){var Z=-1,ee=j?j.length:0;for(this.clear();++Z<ee;){var ne=j[Z];this.set(ne[0],ne[1])}}function X(){this.__data__={hash:new S,map:new(C||z),string:new S}}function Q(j){return He(this,j).delete(j)}function q(j){return He(this,j).get(j)}function ie(j){return He(this,j).has(j)}function se(j,Z){return He(this,j).set(j,Z),this}V.prototype.clear=X,V.prototype.delete=Q,V.prototype.get=q,V.prototype.has=ie,V.prototype.set=se;function ae(j,Z){for(var ee=j.length;ee--;)if(Ve(j[ee][0],Z))return ee;return-1}function re(j,Z){Z=gt(Z,j)?[Z]:Me(Z);for(var ee=0,ne=Z.length;j!=null&&ee<ne;)j=j[wt(Z[ee++])];return ee&&ee==ne?j:void 0}function pe(j){if(!Ke(j)||mt(j))return!1;var Z=me(j)||s(j)?A:n;return Z.test(bt(j))}function Be(j){if(typeof j=="string")return j;if(Ye(j))return u?u.call(j):"";var Z=j+"";return Z=="0"&&1/j==-1/0?"-0":Z}function Me(j){return Ge(j)?j:yt(j)}function He(j,Z){var ee=j.__data__;return vt(Z)?ee[typeof Z=="string"?"string":"hash"]:ee.map}function tt(j,Z){var ee=o(j,Z);return pe(ee)?ee:void 0}function gt(j,Z){if(Ge(j))return!1;var ee=typeof j;return ee=="number"||ee=="symbol"||ee=="boolean"||j==null||Ye(j)?!0:d.test(j)||!m.test(j)||Z!=null&&j in Object(Z)}function vt(j){var Z=typeof j;return Z=="string"||Z=="number"||Z=="symbol"||Z=="boolean"?j!=="__proto__":j===null}function mt(j){return!!v&&v in j}var yt=Le(function(j){j=nt(j);var Z=[];return p.test(j)&&Z.push(""),j.replace(a,function(ee,ne,Ee,De){Z.push(Ee?De.replace(r,"$1"):ne||ee)}),Z});function wt(j){if(typeof j=="string"||Ye(j))return j;var Z=j+"";return Z=="0"&&1/j==-1/0?"-0":Z}function bt(j){if(j!=null){try{return f.call(j)}catch{}try{return j+""}catch{}}return""}function Le(j,Z){if(typeof j!="function"||Z&&typeof Z!="function")throw new TypeError(Y);var ee=function(){var ne=arguments,Ee=Z?Z.apply(this,ne):ne[0],De=ee.cache;if(De.has(Ee))return De.get(Ee);var rt=j.apply(this,ne);return ee.cache=De.set(Ee,rt),rt};return ee.cache=new(Le.Cache||V),ee}Le.Cache=V;function Ve(j,Z){return j===Z||j!==j&&Z!==Z}var Ge=Array.isArray;function me(j){var Z=Ke(j)?E.call(j):"";return Z==_||Z==M}function Ke(j){var Z=typeof j;return!!j&&(Z=="object"||Z=="function")}function it(j){return!!j&&typeof j=="object"}function Ye(j){return typeof j=="symbol"||it(j)&&E.call(j)==F}function nt(j){return j==null?"":Be(j)}function ze(j,Z,ee){var ne=j==null?void 0:re(j,Z);return ne===void 0?ee:ne}return It=ze,It}var li;function Ci(){if(li)return Ie;li=1;var Y=Ie&&Ie.__extends||(function(){var n=function(i,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s])},n(i,t)};return function(i,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(i,t);function e(){this.constructor=i}i.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}})(),P=Ie&&Ie.__assign||function(){return P=Object.assign||function(n){for(var i,t=1,e=arguments.length;t<e;t++){i=arguments[t];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])}return n},P.apply(this,arguments)};Object.defineProperty(Ie,"__esModule",{value:!0});var _=Si(),M=(0,_.getAceInstance)(),F=pt(),m=Jn(),d=Pt(),p=Ft(),a=bi(),l=qn(),r=(function(n){Y(i,n);function i(t){var e=n.call(this,t)||this;return _.editorEvents.forEach(function(o){e[o]=e[o].bind(e)}),e.debounce=_.debounce,e}return i.prototype.isInShadow=function(t){for(var e=t&&t.parentNode;e;){if(e.toString()==="[object ShadowRoot]")return!0;e=e.parentNode}return!1},i.prototype.componentDidMount=function(){var t=this,e=this.props,o=e.className,s=e.onBeforeLoad,h=e.mode,c=e.focus,w=e.theme,y=e.fontSize,v=e.value,f=e.defaultValue,$=e.cursorStart,E=e.showGutter,A=e.wrapEnabled,L=e.showPrintMargin,R=e.scrollMargin,C=R===void 0?[0,0,0,0]:R,b=e.keyboardHandler,g=e.onLoad,u=e.commands,S=e.annotations,x=e.markers,T=e.splits;this.editor=M.edit(this.refEditor),this.isInShadow(this.refEditor)&&this.editor.renderer.attachToShadowRoot(),this.editor.setTheme("ace/theme/".concat(w)),s&&s(M);var k=Object.keys(this.props.editorProps),I=new m.Split(this.editor.container,"ace/theme/".concat(w),T);this.editor.env.split=I,this.splitEditor=I.getEditor(0),this.split=I,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var O=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),I.forEach(function(N,B){for(var W=0;W<k.length;W++)N[k[W]]=t.props.editorProps[k[W]];var U=l(f,B),G=l(v,B,"");N.session.setUndoManager(new M.UndoManager),N.setTheme("ace/theme/".concat(w)),N.renderer.setScrollMargin(C[0],C[1],C[2],C[3]),N.getSession().setMode("ace/mode/".concat(h)),N.setFontSize(y),N.renderer.setShowGutter(E),N.getSession().setUseWrapMode(A),N.setShowPrintMargin(L),N.on("focus",t.onFocus),N.on("blur",t.onBlur),N.on("input",t.onInput),N.on("copy",t.onCopy),N.on("paste",t.onPaste),N.on("change",t.onChange),N.getSession().selection.on("changeSelection",t.onSelectionChange),N.getSession().selection.on("changeCursor",t.onCursorChange),N.session.on("changeScrollTop",t.onScroll),N.setValue(U===void 0?G:U,$);var V=l(S,B,[]),X=l(x,B,[]);N.getSession().setAnnotations(V),X&&X.length>0&&t.handleMarkers(X,N);for(var W=0;W<_.editorOptions.length;W++){var Q=_.editorOptions[W];O.hasOwnProperty(Q)?N.setOption(Q,t.props[Q]):t.props[Q]&&console.warn("ReaceAce: editor option ".concat(Q," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}t.handleOptions(t.props,N),Array.isArray(u)&&u.forEach(function(q){typeof q.exec=="string"?N.commands.bindKey(q.bindKey,q.exec):N.commands.addCommand(q)}),b&&N.setKeyboardHandler("ace/keyboard/"+b)}),o&&(this.refEditor.className+=" "+o),c&&this.splitEditor.focus();var z=this.editor.env.split;z.setOrientation(this.props.orientation==="below"?z.BELOW:z.BESIDE),z.resize(!0),g&&g(z)},i.prototype.componentDidUpdate=function(t){var e=this,o=t,s=this.props,h=this.editor.env.split;if(s.splits!==o.splits&&h.setSplits(s.splits),s.orientation!==o.orientation&&h.setOrientation(s.orientation==="below"?h.BELOW:h.BESIDE),h.forEach(function(v,f){s.mode!==o.mode&&v.getSession().setMode("ace/mode/"+s.mode),s.keyboardHandler!==o.keyboardHandler&&(s.keyboardHandler?v.setKeyboardHandler("ace/keyboard/"+s.keyboardHandler):v.setKeyboardHandler(null)),s.fontSize!==o.fontSize&&v.setFontSize(s.fontSize),s.wrapEnabled!==o.wrapEnabled&&v.getSession().setUseWrapMode(s.wrapEnabled),s.showPrintMargin!==o.showPrintMargin&&v.setShowPrintMargin(s.showPrintMargin),s.showGutter!==o.showGutter&&v.renderer.setShowGutter(s.showGutter);for(var $=0;$<_.editorOptions.length;$++){var E=_.editorOptions[$];s[E]!==o[E]&&v.setOption(E,s[E])}a(s.setOptions,o.setOptions)||e.handleOptions(s,v);var A=l(s.value,f,"");if(v.getValue()!==A){e.silent=!0;var L=v.session.selection.toJSON();v.setValue(A,s.cursorStart),v.session.selection.fromJSON(L),e.silent=!1}var R=l(s.annotations,f,[]),C=l(o.annotations,f,[]);a(R,C)||v.getSession().setAnnotations(R);var b=l(s.markers,f,[]),g=l(o.markers,f,[]);!a(b,g)&&Array.isArray(b)&&e.handleMarkers(b,v)}),s.className!==o.className){var c=this.refEditor.className,w=c.trim().split(" "),y=o.className.trim().split(" ");y.forEach(function(v){var f=w.indexOf(v);w.splice(f,1)}),this.refEditor.className=" "+s.className+" "+w.join(" ")}s.theme!==o.theme&&h.setTheme("ace/theme/"+s.theme),s.focus&&!o.focus&&this.splitEditor.focus(),(s.height!==this.props.height||s.width!==this.props.width)&&this.editor.resize()},i.prototype.componentWillUnmount=function(){this.editor.destroy(),this.editor=null},i.prototype.onChange=function(t){if(this.props.onChange&&!this.silent){var e=[];this.editor.env.split.forEach(function(o){e.push(o.getValue())}),this.props.onChange(e,t)}},i.prototype.onSelectionChange=function(t){if(this.props.onSelectionChange){var e=[];this.editor.env.split.forEach(function(o){e.push(o.getSelection())}),this.props.onSelectionChange(e,t)}},i.prototype.onCursorChange=function(t){if(this.props.onCursorChange){var e=[];this.editor.env.split.forEach(function(o){e.push(o.getSelection())}),this.props.onCursorChange(e,t)}},i.prototype.onFocus=function(t){this.props.onFocus&&this.props.onFocus(t)},i.prototype.onInput=function(t){this.props.onInput&&this.props.onInput(t)},i.prototype.onBlur=function(t){this.props.onBlur&&this.props.onBlur(t)},i.prototype.onCopy=function(t){this.props.onCopy&&this.props.onCopy(t)},i.prototype.onPaste=function(t){this.props.onPaste&&this.props.onPaste(t)},i.prototype.onScroll=function(){this.props.onScroll&&this.props.onScroll(this.editor)},i.prototype.handleOptions=function(t,e){for(var o=Object.keys(t.setOptions),s=0;s<o.length;s++)e.setOption(o[s],t.setOptions[o[s]])},i.prototype.handleMarkers=function(t,e){var o=e.getSession().getMarkers(!0);for(var s in o)o.hasOwnProperty(s)&&e.getSession().removeMarker(o[s].id);o=e.getSession().getMarkers(!1);for(var s in o)o.hasOwnProperty(s)&&e.getSession().removeMarker(o[s].id);t.forEach(function(h){var c=h.startRow,w=h.startCol,y=h.endRow,v=h.endCol,f=h.className,$=h.type,E=h.inFront,A=E===void 0?!1:E,L=new F.Range(c,w,y,v);e.getSession().addMarker(L,f,$,A)})},i.prototype.updateRef=function(t){this.refEditor=t},i.prototype.render=function(){var t=this.props,e=t.name,o=t.width,s=t.height,h=t.style,c=P({width:o,height:s},h);return p.createElement("div",{ref:this.updateRef,id:e,style:c})},i.propTypes={className:d.string,debounceChangePeriod:d.number,defaultValue:d.arrayOf(d.string),focus:d.bool,fontSize:d.oneOfType([d.number,d.string]),height:d.string,mode:d.string,name:d.string,onBlur:d.func,onChange:d.func,onCopy:d.func,onFocus:d.func,onInput:d.func,onLoad:d.func,onPaste:d.func,onScroll:d.func,orientation:d.string,showGutter:d.bool,splits:d.number,theme:d.string,value:d.arrayOf(d.string),width:d.string,onSelectionChange:d.func,onCursorChange:d.func,onBeforeLoad:d.func,minLines:d.number,maxLines:d.number,readOnly:d.bool,highlightActiveLine:d.bool,tabSize:d.number,showPrintMargin:d.bool,cursorStart:d.number,editorProps:d.object,setOptions:d.object,style:d.object,scrollMargin:d.array,annotations:d.array,markers:d.array,keyboardHandler:d.string,wrapEnabled:d.bool,enableBasicAutocompletion:d.oneOfType([d.bool,d.array]),enableLiveAutocompletion:d.oneOfType([d.bool,d.array]),commands:d.array},i.defaultProps={name:"ace-editor",focus:!1,orientation:"beside",splits:2,mode:"",theme:"",height:"500px",width:"500px",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1},i})(p.Component);return Ie.default=r,Ie}var Dt={exports:{}},hi;function er(){return hi||(hi=1,(function(Y){var P=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},_=-1,M=1,F=0;P.Diff=function(m,d){return[m,d]},P.prototype.diff_main=function(m,d,p,a){typeof a>"u"&&(this.Diff_Timeout<=0?a=Number.MAX_VALUE:a=new Date().getTime()+this.Diff_Timeout*1e3);var l=a;if(m==null||d==null)throw new Error("Null input. (diff_main)");if(m==d)return m?[new P.Diff(F,m)]:[];typeof p>"u"&&(p=!0);var r=p,n=this.diff_commonPrefix(m,d),i=m.substring(0,n);m=m.substring(n),d=d.substring(n),n=this.diff_commonSuffix(m,d);var t=m.substring(m.length-n);m=m.substring(0,m.length-n),d=d.substring(0,d.length-n);var e=this.diff_compute_(m,d,r,l);return i&&e.unshift(new P.Diff(F,i)),t&&e.push(new P.Diff(F,t)),this.diff_cleanupMerge(e),e},P.prototype.diff_compute_=function(m,d,p,a){var l;if(!m)return[new P.Diff(M,d)];if(!d)return[new P.Diff(_,m)];var r=m.length>d.length?m:d,n=m.length>d.length?d:m,i=r.indexOf(n);if(i!=-1)return l=[new P.Diff(M,r.substring(0,i)),new P.Diff(F,n),new P.Diff(M,r.substring(i+n.length))],m.length>d.length&&(l[0][0]=l[2][0]=_),l;if(n.length==1)return[new P.Diff(_,m),new P.Diff(M,d)];var t=this.diff_halfMatch_(m,d);if(t){var e=t[0],o=t[1],s=t[2],h=t[3],c=t[4],w=this.diff_main(e,s,p,a),y=this.diff_main(o,h,p,a);return w.concat([new P.Diff(F,c)],y)}return p&&m.length>100&&d.length>100?this.diff_lineMode_(m,d,a):this.diff_bisect_(m,d,a)},P.prototype.diff_lineMode_=function(m,d,p){var a=this.diff_linesToChars_(m,d);m=a.chars1,d=a.chars2;var l=a.lineArray,r=this.diff_main(m,d,!1,p);this.diff_charsToLines_(r,l),this.diff_cleanupSemantic(r),r.push(new P.Diff(F,""));for(var n=0,i=0,t=0,e="",o="";n<r.length;){switch(r[n][0]){case M:t++,o+=r[n][1];break;case _:i++,e+=r[n][1];break;case F:if(i>=1&&t>=1){r.splice(n-i-t,i+t),n=n-i-t;for(var s=this.diff_main(e,o,!1,p),h=s.length-1;h>=0;h--)r.splice(n,0,s[h]);n=n+s.length}t=0,i=0,e="",o="";break}n++}return r.pop(),r},P.prototype.diff_bisect_=function(m,d,p){for(var a=m.length,l=d.length,r=Math.ceil((a+l)/2),n=r,i=2*r,t=new Array(i),e=new Array(i),o=0;o<i;o++)t[o]=-1,e[o]=-1;t[n+1]=0,e[n+1]=0;for(var s=a-l,h=s%2!=0,c=0,w=0,y=0,v=0,f=0;f<r&&!(new Date().getTime()>p);f++){for(var $=-f+c;$<=f-w;$+=2){var E=n+$,A;$==-f||$!=f&&t[E-1]<t[E+1]?A=t[E+1]:A=t[E-1]+1;for(var L=A-$;A<a&&L<l&&m.charAt(A)==d.charAt(L);)A++,L++;if(t[E]=A,A>a)w+=2;else if(L>l)c+=2;else if(h){var R=n+s-$;if(R>=0&&R<i&&e[R]!=-1){var C=a-e[R];if(A>=C)return this.diff_bisectSplit_(m,d,A,L,p)}}}for(var b=-f+y;b<=f-v;b+=2){var R=n+b,C;b==-f||b!=f&&e[R-1]<e[R+1]?C=e[R+1]:C=e[R-1]+1;for(var g=C-b;C<a&&g<l&&m.charAt(a-C-1)==d.charAt(l-g-1);)C++,g++;if(e[R]=C,C>a)v+=2;else if(g>l)y+=2;else if(!h){var E=n+s-b;if(E>=0&&E<i&&t[E]!=-1){var A=t[E],L=n+A-E;if(C=a-C,A>=C)return this.diff_bisectSplit_(m,d,A,L,p)}}}}return[new P.Diff(_,m),new P.Diff(M,d)]},P.prototype.diff_bisectSplit_=function(m,d,p,a,l){var r=m.substring(0,p),n=d.substring(0,a),i=m.substring(p),t=d.substring(a),e=this.diff_main(r,n,!1,l),o=this.diff_main(i,t,!1,l);return e.concat(o)},P.prototype.diff_linesToChars_=function(m,d){var p=[],a={};p[0]="";function l(t){for(var e="",o=0,s=-1,h=p.length;s<t.length-1;){s=t.indexOf(`
980
+ `,o),s==-1&&(s=t.length-1);var c=t.substring(o,s+1);(a.hasOwnProperty?a.hasOwnProperty(c):a[c]!==void 0)?e+=String.fromCharCode(a[c]):(h==r&&(c=t.substring(o),s=t.length),e+=String.fromCharCode(h),a[c]=h,p[h++]=c),o=s+1}return e}var r=4e4,n=l(m);r=65535;var i=l(d);return{chars1:n,chars2:i,lineArray:p}},P.prototype.diff_charsToLines_=function(m,d){for(var p=0;p<m.length;p++){for(var a=m[p][1],l=[],r=0;r<a.length;r++)l[r]=d[a.charCodeAt(r)];m[p][1]=l.join("")}},P.prototype.diff_commonPrefix=function(m,d){if(!m||!d||m.charAt(0)!=d.charAt(0))return 0;for(var p=0,a=Math.min(m.length,d.length),l=a,r=0;p<l;)m.substring(r,l)==d.substring(r,l)?(p=l,r=p):a=l,l=Math.floor((a-p)/2+p);return l},P.prototype.diff_commonSuffix=function(m,d){if(!m||!d||m.charAt(m.length-1)!=d.charAt(d.length-1))return 0;for(var p=0,a=Math.min(m.length,d.length),l=a,r=0;p<l;)m.substring(m.length-l,m.length-r)==d.substring(d.length-l,d.length-r)?(p=l,r=p):a=l,l=Math.floor((a-p)/2+p);return l},P.prototype.diff_commonOverlap_=function(m,d){var p=m.length,a=d.length;if(p==0||a==0)return 0;p>a?m=m.substring(p-a):p<a&&(d=d.substring(0,p));var l=Math.min(p,a);if(m==d)return l;for(var r=0,n=1;;){var i=m.substring(l-n),t=d.indexOf(i);if(t==-1)return r;n+=t,(t==0||m.substring(l-n)==d.substring(0,n))&&(r=n,n++)}},P.prototype.diff_halfMatch_=function(m,d){if(this.Diff_Timeout<=0)return null;var p=m.length>d.length?m:d,a=m.length>d.length?d:m;if(p.length<4||a.length*2<p.length)return null;var l=this;function r(w,y,v){for(var f=w.substring(v,v+Math.floor(w.length/4)),$=-1,E="",A,L,R,C;($=y.indexOf(f,$+1))!=-1;){var b=l.diff_commonPrefix(w.substring(v),y.substring($)),g=l.diff_commonSuffix(w.substring(0,v),y.substring(0,$));E.length<g+b&&(E=y.substring($-g,$)+y.substring($,$+b),A=w.substring(0,v-g),L=w.substring(v+b),R=y.substring(0,$-g),C=y.substring($+b))}return E.length*2>=w.length?[A,L,R,C,E]:null}var n=r(p,a,Math.ceil(p.length/4)),i=r(p,a,Math.ceil(p.length/2)),t;if(!n&&!i)return null;i?n?t=n[4].length>i[4].length?n:i:t=i:t=n;var e,o,s,h;m.length>d.length?(e=t[0],o=t[1],s=t[2],h=t[3]):(s=t[0],h=t[1],e=t[2],o=t[3]);var c=t[4];return[e,o,s,h,c]},P.prototype.diff_cleanupSemantic=function(m){for(var d=!1,p=[],a=0,l=null,r=0,n=0,i=0,t=0,e=0;r<m.length;)m[r][0]==F?(p[a++]=r,n=t,i=e,t=0,e=0,l=m[r][1]):(m[r][0]==M?t+=m[r][1].length:e+=m[r][1].length,l&&l.length<=Math.max(n,i)&&l.length<=Math.max(t,e)&&(m.splice(p[a-1],0,new P.Diff(_,l)),m[p[a-1]+1][0]=M,a--,a--,r=a>0?p[a-1]:-1,n=0,i=0,t=0,e=0,l=null,d=!0)),r++;for(d&&this.diff_cleanupMerge(m),this.diff_cleanupSemanticLossless(m),r=1;r<m.length;){if(m[r-1][0]==_&&m[r][0]==M){var o=m[r-1][1],s=m[r][1],h=this.diff_commonOverlap_(o,s),c=this.diff_commonOverlap_(s,o);h>=c?(h>=o.length/2||h>=s.length/2)&&(m.splice(r,0,new P.Diff(F,s.substring(0,h))),m[r-1][1]=o.substring(0,o.length-h),m[r+1][1]=s.substring(h),r++):(c>=o.length/2||c>=s.length/2)&&(m.splice(r,0,new P.Diff(F,o.substring(0,c))),m[r-1][0]=M,m[r-1][1]=s.substring(0,s.length-c),m[r+1][0]=_,m[r+1][1]=o.substring(c),r++),r++}r++}},P.prototype.diff_cleanupSemanticLossless=function(m){function d(c,w){if(!c||!w)return 6;var y=c.charAt(c.length-1),v=w.charAt(0),f=y.match(P.nonAlphaNumericRegex_),$=v.match(P.nonAlphaNumericRegex_),E=f&&y.match(P.whitespaceRegex_),A=$&&v.match(P.whitespaceRegex_),L=E&&y.match(P.linebreakRegex_),R=A&&v.match(P.linebreakRegex_),C=L&&c.match(P.blanklineEndRegex_),b=R&&w.match(P.blanklineStartRegex_);return C||b?5:L||R?4:f&&!E&&A?3:E||A?2:f||$?1:0}for(var p=1;p<m.length-1;){if(m[p-1][0]==F&&m[p+1][0]==F){var a=m[p-1][1],l=m[p][1],r=m[p+1][1],n=this.diff_commonSuffix(a,l);if(n){var i=l.substring(l.length-n);a=a.substring(0,a.length-n),l=i+l.substring(0,l.length-n),r=i+r}for(var t=a,e=l,o=r,s=d(a,l)+d(l,r);l.charAt(0)===r.charAt(0);){a+=l.charAt(0),l=l.substring(1)+r.charAt(0),r=r.substring(1);var h=d(a,l)+d(l,r);h>=s&&(s=h,t=a,e=l,o=r)}m[p-1][1]!=t&&(t?m[p-1][1]=t:(m.splice(p-1,1),p--),m[p][1]=e,o?m[p+1][1]=o:(m.splice(p+1,1),p--))}p++}},P.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,P.whitespaceRegex_=/\s/,P.linebreakRegex_=/[\r\n]/,P.blanklineEndRegex_=/\n\r?\n$/,P.blanklineStartRegex_=/^\r?\n\r?\n/,P.prototype.diff_cleanupEfficiency=function(m){for(var d=!1,p=[],a=0,l=null,r=0,n=!1,i=!1,t=!1,e=!1;r<m.length;)m[r][0]==F?(m[r][1].length<this.Diff_EditCost&&(t||e)?(p[a++]=r,n=t,i=e,l=m[r][1]):(a=0,l=null),t=e=!1):(m[r][0]==_?e=!0:t=!0,l&&(n&&i&&t&&e||l.length<this.Diff_EditCost/2&&n+i+t+e==3)&&(m.splice(p[a-1],0,new P.Diff(_,l)),m[p[a-1]+1][0]=M,a--,l=null,n&&i?(t=e=!0,a=0):(a--,r=a>0?p[a-1]:-1,t=e=!1),d=!0)),r++;d&&this.diff_cleanupMerge(m)},P.prototype.diff_cleanupMerge=function(m){m.push(new P.Diff(F,""));for(var d=0,p=0,a=0,l="",r="",n;d<m.length;)switch(m[d][0]){case M:a++,r+=m[d][1],d++;break;case _:p++,l+=m[d][1],d++;break;case F:p+a>1?(p!==0&&a!==0&&(n=this.diff_commonPrefix(r,l),n!==0&&(d-p-a>0&&m[d-p-a-1][0]==F?m[d-p-a-1][1]+=r.substring(0,n):(m.splice(0,0,new P.Diff(F,r.substring(0,n))),d++),r=r.substring(n),l=l.substring(n)),n=this.diff_commonSuffix(r,l),n!==0&&(m[d][1]=r.substring(r.length-n)+m[d][1],r=r.substring(0,r.length-n),l=l.substring(0,l.length-n))),d-=p+a,m.splice(d,p+a),l.length&&(m.splice(d,0,new P.Diff(_,l)),d++),r.length&&(m.splice(d,0,new P.Diff(M,r)),d++),d++):d!==0&&m[d-1][0]==F?(m[d-1][1]+=m[d][1],m.splice(d,1)):d++,a=0,p=0,l="",r="";break}m[m.length-1][1]===""&&m.pop();var i=!1;for(d=1;d<m.length-1;)m[d-1][0]==F&&m[d+1][0]==F&&(m[d][1].substring(m[d][1].length-m[d-1][1].length)==m[d-1][1]?(m[d][1]=m[d-1][1]+m[d][1].substring(0,m[d][1].length-m[d-1][1].length),m[d+1][1]=m[d-1][1]+m[d+1][1],m.splice(d-1,1),i=!0):m[d][1].substring(0,m[d+1][1].length)==m[d+1][1]&&(m[d-1][1]+=m[d+1][1],m[d][1]=m[d][1].substring(m[d+1][1].length)+m[d+1][1],m.splice(d+1,1),i=!0)),d++;i&&this.diff_cleanupMerge(m)},P.prototype.diff_xIndex=function(m,d){var p=0,a=0,l=0,r=0,n;for(n=0;n<m.length&&(m[n][0]!==M&&(p+=m[n][1].length),m[n][0]!==_&&(a+=m[n][1].length),!(p>d));n++)l=p,r=a;return m.length!=n&&m[n][0]===_?r:r+(d-l)},P.prototype.diff_prettyHtml=function(m){for(var d=[],p=/&/g,a=/</g,l=/>/g,r=/\n/g,n=0;n<m.length;n++){var i=m[n][0],t=m[n][1],e=t.replace(p,"&amp;").replace(a,"&lt;").replace(l,"&gt;").replace(r,"&para;<br>");switch(i){case M:d[n]='<ins style="background:#e6ffe6;">'+e+"</ins>";break;case _:d[n]='<del style="background:#ffe6e6;">'+e+"</del>";break;case F:d[n]="<span>"+e+"</span>";break}}return d.join("")},P.prototype.diff_text1=function(m){for(var d=[],p=0;p<m.length;p++)m[p][0]!==M&&(d[p]=m[p][1]);return d.join("")},P.prototype.diff_text2=function(m){for(var d=[],p=0;p<m.length;p++)m[p][0]!==_&&(d[p]=m[p][1]);return d.join("")},P.prototype.diff_levenshtein=function(m){for(var d=0,p=0,a=0,l=0;l<m.length;l++){var r=m[l][0],n=m[l][1];switch(r){case M:p+=n.length;break;case _:a+=n.length;break;case F:d+=Math.max(p,a),p=0,a=0;break}}return d+=Math.max(p,a),d},P.prototype.diff_toDelta=function(m){for(var d=[],p=0;p<m.length;p++)switch(m[p][0]){case M:d[p]="+"+encodeURI(m[p][1]);break;case _:d[p]="-"+m[p][1].length;break;case F:d[p]="="+m[p][1].length;break}return d.join(" ").replace(/%20/g," ")},P.prototype.diff_fromDelta=function(m,d){for(var p=[],a=0,l=0,r=d.split(/\t/g),n=0;n<r.length;n++){var i=r[n].substring(1);switch(r[n].charAt(0)){case"+":try{p[a++]=new P.Diff(M,decodeURI(i))}catch{throw new Error("Illegal escape in diff_fromDelta: "+i)}break;case"-":case"=":var t=parseInt(i,10);if(isNaN(t)||t<0)throw new Error("Invalid number in diff_fromDelta: "+i);var e=m.substring(l,l+=t);r[n].charAt(0)=="="?p[a++]=new P.Diff(F,e):p[a++]=new P.Diff(_,e);break;default:if(r[n])throw new Error("Invalid diff operation in diff_fromDelta: "+r[n])}}if(l!=m.length)throw new Error("Delta length ("+l+") does not equal source text length ("+m.length+").");return p},P.prototype.match_main=function(m,d,p){if(m==null||d==null||p==null)throw new Error("Null input. (match_main)");return p=Math.max(0,Math.min(p,m.length)),m==d?0:m.length?m.substring(p,p+d.length)==d?p:this.match_bitap_(m,d,p):-1},P.prototype.match_bitap_=function(m,d,p){if(d.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var a=this.match_alphabet_(d),l=this;function r(A,L){var R=A/d.length,C=Math.abs(p-L);return l.Match_Distance?R+C/l.Match_Distance:C?1:R}var n=this.Match_Threshold,i=m.indexOf(d,p);i!=-1&&(n=Math.min(r(0,i),n),i=m.lastIndexOf(d,p+d.length),i!=-1&&(n=Math.min(r(0,i),n)));var t=1<<d.length-1;i=-1;for(var e,o,s=d.length+m.length,h,c=0;c<d.length;c++){for(e=0,o=s;e<o;)r(c,p+o)<=n?e=o:s=o,o=Math.floor((s-e)/2+e);s=o;var w=Math.max(1,p-o+1),y=Math.min(p+o,m.length)+d.length,v=Array(y+2);v[y+1]=(1<<c)-1;for(var f=y;f>=w;f--){var $=a[m.charAt(f-1)];if(c===0?v[f]=(v[f+1]<<1|1)&$:v[f]=(v[f+1]<<1|1)&$|((h[f+1]|h[f])<<1|1)|h[f+1],v[f]&t){var E=r(c,f-1);if(E<=n)if(n=E,i=f-1,i>p)w=Math.max(1,2*p-i);else break}}if(r(c+1,p)>n)break;h=v}return i},P.prototype.match_alphabet_=function(m){for(var d={},p=0;p<m.length;p++)d[m.charAt(p)]=0;for(var p=0;p<m.length;p++)d[m.charAt(p)]|=1<<m.length-p-1;return d},P.prototype.patch_addContext_=function(m,d){if(d.length!=0){if(m.start2===null)throw Error("patch not initialized");for(var p=d.substring(m.start2,m.start2+m.length1),a=0;d.indexOf(p)!=d.lastIndexOf(p)&&p.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)a+=this.Patch_Margin,p=d.substring(m.start2-a,m.start2+m.length1+a);a+=this.Patch_Margin;var l=d.substring(m.start2-a,m.start2);l&&m.diffs.unshift(new P.Diff(F,l));var r=d.substring(m.start2+m.length1,m.start2+m.length1+a);r&&m.diffs.push(new P.Diff(F,r)),m.start1-=l.length,m.start2-=l.length,m.length1+=l.length+r.length,m.length2+=l.length+r.length}},P.prototype.patch_make=function(m,d,p){var a,l;if(typeof m=="string"&&typeof d=="string"&&typeof p>"u")a=m,l=this.diff_main(a,d,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(m&&typeof m=="object"&&typeof d>"u"&&typeof p>"u")l=m,a=this.diff_text1(l);else if(typeof m=="string"&&d&&typeof d=="object"&&typeof p>"u")a=m,l=d;else if(typeof m=="string"&&typeof d=="string"&&p&&typeof p=="object")a=m,l=p;else throw new Error("Unknown call format to patch_make.");if(l.length===0)return[];for(var r=[],n=new P.patch_obj,i=0,t=0,e=0,o=a,s=a,h=0;h<l.length;h++){var c=l[h][0],w=l[h][1];switch(!i&&c!==F&&(n.start1=t,n.start2=e),c){case M:n.diffs[i++]=l[h],n.length2+=w.length,s=s.substring(0,e)+w+s.substring(e);break;case _:n.length1+=w.length,n.diffs[i++]=l[h],s=s.substring(0,e)+s.substring(e+w.length);break;case F:w.length<=2*this.Patch_Margin&&i&&l.length!=h+1?(n.diffs[i++]=l[h],n.length1+=w.length,n.length2+=w.length):w.length>=2*this.Patch_Margin&&i&&(this.patch_addContext_(n,o),r.push(n),n=new P.patch_obj,i=0,o=s,t=e);break}c!==M&&(t+=w.length),c!==_&&(e+=w.length)}return i&&(this.patch_addContext_(n,o),r.push(n)),r},P.prototype.patch_deepCopy=function(m){for(var d=[],p=0;p<m.length;p++){var a=m[p],l=new P.patch_obj;l.diffs=[];for(var r=0;r<a.diffs.length;r++)l.diffs[r]=new P.Diff(a.diffs[r][0],a.diffs[r][1]);l.start1=a.start1,l.start2=a.start2,l.length1=a.length1,l.length2=a.length2,d[p]=l}return d},P.prototype.patch_apply=function(m,d){if(m.length==0)return[d,[]];m=this.patch_deepCopy(m);var p=this.patch_addPadding(m);d=p+d+p,this.patch_splitMax(m);for(var a=0,l=[],r=0;r<m.length;r++){var n=m[r].start2+a,i=this.diff_text1(m[r].diffs),t,e=-1;if(i.length>this.Match_MaxBits?(t=this.match_main(d,i.substring(0,this.Match_MaxBits),n),t!=-1&&(e=this.match_main(d,i.substring(i.length-this.Match_MaxBits),n+i.length-this.Match_MaxBits),(e==-1||t>=e)&&(t=-1))):t=this.match_main(d,i,n),t==-1)l[r]=!1,a-=m[r].length2-m[r].length1;else{l[r]=!0,a=t-n;var o;if(e==-1?o=d.substring(t,t+i.length):o=d.substring(t,e+this.Match_MaxBits),i==o)d=d.substring(0,t)+this.diff_text2(m[r].diffs)+d.substring(t+i.length);else{var s=this.diff_main(i,o,!1);if(i.length>this.Match_MaxBits&&this.diff_levenshtein(s)/i.length>this.Patch_DeleteThreshold)l[r]=!1;else{this.diff_cleanupSemanticLossless(s);for(var h=0,c,w=0;w<m[r].diffs.length;w++){var y=m[r].diffs[w];y[0]!==F&&(c=this.diff_xIndex(s,h)),y[0]===M?d=d.substring(0,t+c)+y[1]+d.substring(t+c):y[0]===_&&(d=d.substring(0,t+c)+d.substring(t+this.diff_xIndex(s,h+y[1].length))),y[0]!==_&&(h+=y[1].length)}}}}}return d=d.substring(p.length,d.length-p.length),[d,l]},P.prototype.patch_addPadding=function(m){for(var d=this.Patch_Margin,p="",a=1;a<=d;a++)p+=String.fromCharCode(a);for(var a=0;a<m.length;a++)m[a].start1+=d,m[a].start2+=d;var l=m[0],r=l.diffs;if(r.length==0||r[0][0]!=F)r.unshift(new P.Diff(F,p)),l.start1-=d,l.start2-=d,l.length1+=d,l.length2+=d;else if(d>r[0][1].length){var n=d-r[0][1].length;r[0][1]=p.substring(r[0][1].length)+r[0][1],l.start1-=n,l.start2-=n,l.length1+=n,l.length2+=n}if(l=m[m.length-1],r=l.diffs,r.length==0||r[r.length-1][0]!=F)r.push(new P.Diff(F,p)),l.length1+=d,l.length2+=d;else if(d>r[r.length-1][1].length){var n=d-r[r.length-1][1].length;r[r.length-1][1]+=p.substring(0,n),l.length1+=n,l.length2+=n}return p},P.prototype.patch_splitMax=function(m){for(var d=this.Match_MaxBits,p=0;p<m.length;p++)if(!(m[p].length1<=d)){var a=m[p];m.splice(p--,1);for(var l=a.start1,r=a.start2,n="";a.diffs.length!==0;){var i=new P.patch_obj,t=!0;for(i.start1=l-n.length,i.start2=r-n.length,n!==""&&(i.length1=i.length2=n.length,i.diffs.push(new P.Diff(F,n)));a.diffs.length!==0&&i.length1<d-this.Patch_Margin;){var e=a.diffs[0][0],o=a.diffs[0][1];e===M?(i.length2+=o.length,r+=o.length,i.diffs.push(a.diffs.shift()),t=!1):e===_&&i.diffs.length==1&&i.diffs[0][0]==F&&o.length>2*d?(i.length1+=o.length,l+=o.length,t=!1,i.diffs.push(new P.Diff(e,o)),a.diffs.shift()):(o=o.substring(0,d-i.length1-this.Patch_Margin),i.length1+=o.length,l+=o.length,e===F?(i.length2+=o.length,r+=o.length):t=!1,i.diffs.push(new P.Diff(e,o)),o==a.diffs[0][1]?a.diffs.shift():a.diffs[0][1]=a.diffs[0][1].substring(o.length))}n=this.diff_text2(i.diffs),n=n.substring(n.length-this.Patch_Margin);var s=this.diff_text1(a.diffs).substring(0,this.Patch_Margin);s!==""&&(i.length1+=s.length,i.length2+=s.length,i.diffs.length!==0&&i.diffs[i.diffs.length-1][0]===F?i.diffs[i.diffs.length-1][1]+=s:i.diffs.push(new P.Diff(F,s))),t||m.splice(++p,0,i)}}},P.prototype.patch_toText=function(m){for(var d=[],p=0;p<m.length;p++)d[p]=m[p];return d.join("")},P.prototype.patch_fromText=function(m){var d=[];if(!m)return d;for(var p=m.split(`
981
+ `),a=0,l=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;a<p.length;){var r=p[a].match(l);if(!r)throw new Error("Invalid patch string: "+p[a]);var n=new P.patch_obj;for(d.push(n),n.start1=parseInt(r[1],10),r[2]===""?(n.start1--,n.length1=1):r[2]=="0"?n.length1=0:(n.start1--,n.length1=parseInt(r[2],10)),n.start2=parseInt(r[3],10),r[4]===""?(n.start2--,n.length2=1):r[4]=="0"?n.length2=0:(n.start2--,n.length2=parseInt(r[4],10)),a++;a<p.length;){var i=p[a].charAt(0);try{var t=decodeURI(p[a].substring(1))}catch{throw new Error("Illegal escape in patch_fromText: "+t)}if(i=="-")n.diffs.push(new P.Diff(_,t));else if(i=="+")n.diffs.push(new P.Diff(M,t));else if(i==" ")n.diffs.push(new P.Diff(F,t));else{if(i=="@")break;if(i!=="")throw new Error('Invalid patch mode "'+i+'" in: '+t)}a++}}return d},P.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},P.patch_obj.prototype.toString=function(){var m,d;this.length1===0?m=this.start1+",0":this.length1==1?m=this.start1+1:m=this.start1+1+","+this.length1,this.length2===0?d=this.start2+",0":this.length2==1?d=this.start2+1:d=this.start2+1+","+this.length2;for(var p=["@@ -"+m+" +"+d+` @@
982
+ `],a,l=0;l<this.diffs.length;l++){switch(this.diffs[l][0]){case M:a="+";break;case _:a="-";break;case F:a=" ";break}p[l+1]=a+encodeURI(this.diffs[l][1])+`
983
+ `}return p.join("").replace(/%20/g," ")},Y.exports=P,Y.exports.diff_match_patch=P,Y.exports.DIFF_DELETE=_,Y.exports.DIFF_INSERT=M,Y.exports.DIFF_EQUAL=F})(Dt)),Dt.exports}var ci;function tr(){if(ci)return je;ci=1;var Y=je&&je.__extends||(function(){var d=function(p,a){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,r){l.__proto__=r}||function(l,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(l[n]=r[n])},d(p,a)};return function(p,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");d(p,a);function l(){this.constructor=p}p.prototype=a===null?Object.create(a):(l.prototype=a.prototype,new l)}})();Object.defineProperty(je,"__esModule",{value:!0});var P=Pt(),_=Ft(),M=Ci(),F=er(),m=(function(d){Y(p,d);function p(a){var l=d.call(this,a)||this;return l.state={value:l.props.value},l.onChange=l.onChange.bind(l),l.diff=l.diff.bind(l),l}return p.prototype.componentDidUpdate=function(){var a=this.props.value;a!==this.state.value&&this.setState({value:a})},p.prototype.onChange=function(a){this.setState({value:a}),this.props.onChange&&this.props.onChange(a)},p.prototype.diff=function(){var a=new F,l=this.state.value[0],r=this.state.value[1];if(l.length===0&&r.length===0)return[];var n=a.diff_main(l,r);a.diff_cleanupSemantic(n);var i=this.generateDiffedLines(n),t=this.setCodeMarkers(i);return t},p.prototype.generateDiffedLines=function(a){var l={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1},r={left:[],right:[]},n={left:1,right:1};return a.forEach(function(i){var t=i[0],e=i[1],o=e.split(`
984
+ `).length-1;if(e.length!==0){var s=e[0],h=e[e.length-1],c=0;switch(t){case l.DIFF_EQUAL:n.left+=o,n.right+=o;break;case l.DIFF_DELETE:s===`
985
+ `&&(n.left++,o--),c=o,c===0&&r.right.push({startLine:n.right,endLine:n.right}),h===`
986
+ `&&(c-=1),r.left.push({startLine:n.left,endLine:n.left+c}),n.left+=o;break;case l.DIFF_INSERT:s===`
987
+ `&&(n.right++,o--),c=o,c===0&&r.left.push({startLine:n.left,endLine:n.left}),h===`
988
+ `&&(c-=1),r.right.push({startLine:n.right,endLine:n.right+c}),n.right+=o;break;default:throw new Error("Diff type was not defined.")}}}),r},p.prototype.setCodeMarkers=function(a){a===void 0&&(a={left:[],right:[]});for(var l=[],r={left:[],right:[]},n=0;n<a.left.length;n++){var i={startRow:a.left[n].startLine-1,endRow:a.left[n].endLine,type:"text",className:"codeMarker"};r.left.push(i)}for(var n=0;n<a.right.length;n++){var i={startRow:a.right[n].startLine-1,endRow:a.right[n].endLine,type:"text",className:"codeMarker"};r.right.push(i)}return l[0]=r.left,l[1]=r.right,l},p.prototype.render=function(){var a=this.diff();return _.createElement(M.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:a})},p.propTypes={cursorStart:P.number,editorProps:P.object,enableBasicAutocompletion:P.bool,enableLiveAutocompletion:P.bool,focus:P.bool,fontSize:P.number,height:P.string,highlightActiveLine:P.bool,maxLines:P.number,minLines:P.number,mode:P.string,name:P.string,className:P.string,onLoad:P.func,onPaste:P.func,onScroll:P.func,onChange:P.func,orientation:P.string,readOnly:P.bool,scrollMargin:P.array,setOptions:P.object,showGutter:P.bool,showPrintMargin:P.bool,splits:P.number,style:P.object,tabSize:P.number,theme:P.string,value:P.array,width:P.string,wrapEnabled:P.bool},p.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:"500px",highlightActiveLine:!0,maxLines:null,minLines:null,mode:"",name:"ace-editor",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:"beside",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:"github",value:["",""],width:"500px",wrapEnabled:!0},p})(_.Component);return je.default=m,je}var ui;function ir(){if(ui)return ke;ui=1,Object.defineProperty(ke,"__esModule",{value:!0}),ke.diff=ke.split=void 0;var Y=Xn(),P=tr();ke.diff=P.default;var _=Ci();return ke.split=_.default,ke.default=Y.default,ke}var nr=ir();const gr=yn(nr);var Ot={exports:{}},di;function rr(){return di||(di=1,(function(Y,P){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(_,M,F){var m=_("../lib/oop"),d=_("./text_highlight_rules").TextHighlightRules,p=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};m.inherits(p,d),M.JsonHighlightRules=p}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(_,M,F){var m=_("../range").Range,d=function(){};(function(){this.checkOutdent=function(p,a){return/^\s+$/.test(p)?/^\s*\}/.test(a):!1},this.autoOutdent=function(p,a){var l=p.getLine(a),r=l.match(/^(\s*\})/);if(!r)return 0;var n=r[1].length,i=p.findMatchingBracket({row:a,column:n});if(!i||i.row==a)return 0;var t=this.$getIndent(p.getLine(i.row));p.replace(new m(a,0,a,n-1),t)},this.$getIndent=function(p){return p.match(/^\s*/)[0]}}).call(d.prototype),M.MatchingBraceOutdent=d}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(_,M,F){var m=_("../../lib/oop"),d=_("../../range").Range,p=_("./fold_mode").FoldMode,a=M.FoldMode=function(l){l&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+l.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+l.end)))};m.inherits(a,p),(function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(l,r,n){var i=l.getLine(n);if(this.singleLineBlockCommentRe.test(i)&&!this.startRegionRe.test(i)&&!this.tripleStarBlockCommentRe.test(i))return"";var t=this._getFoldWidgetBase(l,r,n);return!t&&this.startRegionRe.test(i)?"start":t},this.getFoldWidgetRange=function(l,r,n,i){var t=l.getLine(n);if(this.startRegionRe.test(t))return this.getCommentRegionBlock(l,t,n);var s=t.match(this.foldingStartMarker);if(s){var e=s.index;if(s[1])return this.openingBracketBlock(l,s[1],n,e);var o=l.getCommentFoldRange(n,e+s[0].length,1);return o&&!o.isMultiLine()&&(i?o=this.getSectionRange(l,n):r!="all"&&(o=null)),o}if(r!=="markbegin"){var s=t.match(this.foldingStopMarker);if(s){var e=s.index+s[0].length;return s[1]?this.closingBracketBlock(l,s[1],n,e):l.getCommentFoldRange(n,e,-1)}}},this.getSectionRange=function(l,r){var n=l.getLine(r),i=n.search(/\S/),t=r,e=n.length;r=r+1;for(var o=r,s=l.getLength();++r<s;){n=l.getLine(r);var h=n.search(/\S/);if(h!==-1){if(i>h)break;var c=this.getFoldWidgetRange(l,"all",r);if(c){if(c.start.row<=t)break;if(c.isMultiLine())r=c.end.row;else if(i==h)break}o=r}}return new d(t,e,o,l.getLine(o).length)},this.getCommentRegionBlock=function(l,r,n){for(var i=r.search(/\s*$/),t=l.getLength(),e=n,o=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<t;){r=l.getLine(n);var h=o.exec(r);if(h&&(h[1]?s--:s++,!s))break}var c=n;if(c>e)return new d(e,i,c,r.length)}}).call(a.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(_,M,F){var m=_("../lib/oop"),d=_("./text").Mode,p=_("./json_highlight_rules").JsonHighlightRules,a=_("./matching_brace_outdent").MatchingBraceOutdent,l=_("./folding/cstyle").FoldMode,r=_("../worker/worker_client").WorkerClient,n=function(){this.HighlightRules=p,this.$outdent=new a,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new l};m.inherits(n,d),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(i,t,e){var o=this.$getIndent(t);if(i=="start"){var s=t.match(/^.*[\{\(\[]\s*$/);s&&(o+=e)}return o},this.checkOutdent=function(i,t,e){return this.$outdent.checkOutdent(t,e)},this.autoOutdent=function(i,t,e){this.$outdent.autoOutdent(t,e)},this.createWorker=function(i){var t=new r(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(i.getDocument()),t.on("annotate",function(e){i.setAnnotations(e.data)}),t.on("terminate",function(){i.clearAnnotations()}),t},this.$id="ace/mode/json"}).call(n.prototype),M.Mode=n}),(function(){ace.require(["ace/mode/json"],function(_){Y&&(Y.exports=_)})})()})(Ot)),Ot.exports}rr();var Nt={exports:{}},fi;function or(){return fi||(fi=1,(function(Y,P){ace.define("ace/theme/dracula-css",["require","exports","module"],function(_,M,F){F.exports=`/*
989
+ * Copyright © 2017 Zeno Rocha <hi@zenorocha.com>
990
+ *
991
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
992
+ *
993
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
994
+ *
995
+ * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
996
+ */
997
+
998
+ .ace-dracula .ace_gutter {
999
+ background: #282a36;
1000
+ color: rgb(144,145,148)
1001
+ }
1002
+
1003
+ .ace-dracula .ace_print-margin {
1004
+ width: 1px;
1005
+ background: #44475a
1006
+ }
1007
+
1008
+ .ace-dracula {
1009
+ background-color: #282a36;
1010
+ color: #f8f8f2
1011
+ }
1012
+
1013
+ .ace-dracula .ace_cursor {
1014
+ color: #f8f8f0
1015
+ }
1016
+
1017
+ .ace-dracula .ace_marker-layer .ace_selection {
1018
+ background: #44475a
1019
+ }
1020
+
1021
+ .ace-dracula.ace_multiselect .ace_selection.ace_start {
1022
+ box-shadow: 0 0 3px 0px #282a36;
1023
+ border-radius: 2px
1024
+ }
1025
+
1026
+ .ace-dracula .ace_marker-layer .ace_step {
1027
+ background: rgb(198, 219, 174)
1028
+ }
1029
+
1030
+ .ace-dracula .ace_marker-layer .ace_bracket {
1031
+ margin: -1px 0 0 -1px;
1032
+ border: 1px solid #a29709
1033
+ }
1034
+
1035
+ .ace-dracula .ace_marker-layer .ace_active-line {
1036
+ background: #44475a
1037
+ }
1038
+
1039
+ .ace-dracula .ace_gutter-active-line {
1040
+ background-color: #44475a
1041
+ }
1042
+
1043
+ .ace-dracula .ace_marker-layer .ace_selected-word {
1044
+ box-shadow: 0px 0px 0px 1px #a29709;
1045
+ border-radius: 3px;
1046
+ }
1047
+
1048
+ .ace-dracula .ace_fold {
1049
+ background-color: #50fa7b;
1050
+ border-color: #f8f8f2
1051
+ }
1052
+
1053
+ .ace-dracula .ace_keyword {
1054
+ color: #ff79c6
1055
+ }
1056
+
1057
+ .ace-dracula .ace_constant.ace_language {
1058
+ color: #bd93f9
1059
+ }
1060
+
1061
+ .ace-dracula .ace_constant.ace_numeric {
1062
+ color: #bd93f9
1063
+ }
1064
+
1065
+ .ace-dracula .ace_constant.ace_character {
1066
+ color: #bd93f9
1067
+ }
1068
+
1069
+ .ace-dracula .ace_constant.ace_character.ace_escape {
1070
+ color: #ff79c6
1071
+ }
1072
+
1073
+ .ace-dracula .ace_constant.ace_other {
1074
+ color: #bd93f9
1075
+ }
1076
+
1077
+ .ace-dracula .ace_support.ace_function {
1078
+ color: #8be9fd
1079
+ }
1080
+
1081
+ .ace-dracula .ace_support.ace_constant {
1082
+ color: #6be5fd
1083
+ }
1084
+
1085
+ .ace-dracula .ace_support.ace_class {
1086
+ font-style: italic;
1087
+ color: #66d9ef
1088
+ }
1089
+
1090
+ .ace-dracula .ace_support.ace_type {
1091
+ font-style: italic;
1092
+ color: #66d9ef
1093
+ }
1094
+
1095
+ .ace-dracula .ace_storage {
1096
+ color: #ff79c6
1097
+ }
1098
+
1099
+ .ace-dracula .ace_storage.ace_type {
1100
+ font-style: italic;
1101
+ color: #8be9fd
1102
+ }
1103
+
1104
+ .ace-dracula .ace_invalid {
1105
+ color: #F8F8F0;
1106
+ background-color: #ff79c6
1107
+ }
1108
+
1109
+ .ace-dracula .ace_invalid.ace_deprecated {
1110
+ color: #F8F8F0;
1111
+ background-color: #bd93f9
1112
+ }
1113
+
1114
+ .ace-dracula .ace_string {
1115
+ color: #f1fa8c
1116
+ }
1117
+
1118
+ .ace-dracula .ace_comment {
1119
+ color: #6272a4
1120
+ }
1121
+
1122
+ .ace-dracula .ace_variable {
1123
+ color: #50fa7b
1124
+ }
1125
+
1126
+ .ace-dracula .ace_variable.ace_parameter {
1127
+ font-style: italic;
1128
+ color: #ffb86c
1129
+ }
1130
+
1131
+ .ace-dracula .ace_entity.ace_other.ace_attribute-name {
1132
+ color: #50fa7b
1133
+ }
1134
+
1135
+ .ace-dracula .ace_entity.ace_name.ace_function {
1136
+ color: #50fa7b
1137
+ }
1138
+
1139
+ .ace-dracula .ace_entity.ace_name.ace_tag {
1140
+ color: #ff79c6
1141
+ }
1142
+ .ace-dracula .ace_invisible {
1143
+ color: #626680;
1144
+ }
1145
+
1146
+ .ace-dracula .ace_indent-guide {
1147
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y
1148
+ }
1149
+
1150
+ .ace-dracula .ace_indent-guide-active {
1151
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACAQMAAACjTyRkAAAABlBMVEUAAADCwsK76u2xAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjYGBoAAAAhACBGFbxzQAAAABJRU5ErkJggg==") right repeat-y;
1152
+ }
1153
+ `}),ace.define("ace/theme/dracula",["require","exports","module","ace/theme/dracula-css","ace/lib/dom"],function(_,M,F){M.isDark=!0,M.cssClass="ace-dracula",M.cssText=_("./dracula-css"),M.$selectionColorConflict=!0;var m=_("../lib/dom");m.importCssString(M.cssText,M.cssClass,!1)}),(function(){ace.require(["ace/theme/dracula"],function(_){Y&&(Y.exports=_)})})()})(Nt)),Nt.exports}or();const vr=ce.forwardRef((Y,P)=>ge.jsx("div",{ref:P,...Y}));export{gr as A,fr as D,dr as L,pr as S,vr as a};