c0ckp1t 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (676) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -0
  3. package/c0ckp1t-demo/Constants.mjs +125 -0
  4. package/c0ckp1t-demo/components/sidebar.vue +82 -0
  5. package/c0ckp1t-demo/main.vue +39 -0
  6. package/c0ckp1t-demo/pages/devices.vue +63 -0
  7. package/c0ckp1t-demo/pages/homepage.vue +63 -0
  8. package/c0ckp1t-demo/pages/report.vue +63 -0
  9. package/c0ckp1t-demo/store.mjs +133 -0
  10. package/components/ExecButton.vue +62 -0
  11. package/components/FsTree.vue +550 -0
  12. package/components/Markdown.mjs +274 -0
  13. package/components/MarkdownUtils.mjs +180 -0
  14. package/components/Tree.mjs +175 -0
  15. package/components/code-mirror.vue +445 -0
  16. package/components/vue3-ace-editor.vue +331 -0
  17. package/components/xbutton.vue +45 -0
  18. package/components/xcard-h.vue +175 -0
  19. package/components/xcard.vue +76 -0
  20. package/components/xcheck.vue +35 -0
  21. package/components/xcheckbox.vue +52 -0
  22. package/components/xcode.vue +139 -0
  23. package/components/xcollapse.vue +52 -0
  24. package/components/xcolor.vue +84 -0
  25. package/components/xdropdown.vue +104 -0
  26. package/components/xdropdown2.vue +140 -0
  27. package/components/xhidden.vue +30 -0
  28. package/components/xinput.vue +101 -0
  29. package/components/xinput2.vue +101 -0
  30. package/components/xjson.vue +95 -0
  31. package/components/xkv.vue +41 -0
  32. package/components/xlabel.vue +56 -0
  33. package/components/xlist.vue +83 -0
  34. package/components/xmap.vue +106 -0
  35. package/components/xmarkdown.vue +269 -0
  36. package/components/xnav.vue +98 -0
  37. package/components/xsection.vue +164 -0
  38. package/components/xsound.vue +251 -0
  39. package/components/xtable-open.vue +179 -0
  40. package/components/xtabs.vue +72 -0
  41. package/components/xterminal.vue +456 -0
  42. package/components/xtextarea.vue +83 -0
  43. package/components/xtoggle.vue +68 -0
  44. package/components/xtoggle3.vue +67 -0
  45. package/components/xtree.vue +140 -0
  46. package/components/xupload.vue +129 -0
  47. package/core/Content.mjs +92 -0
  48. package/core/DocUtils.mjs +189 -0
  49. package/core/GlobalStore.mjs +329 -0
  50. package/core/Island.mjs +429 -0
  51. package/core/IslandDefault.mjs +229 -0
  52. package/core/JsUtils.mjs +483 -0
  53. package/core/Logging.mjs +59 -0
  54. package/core/Page404.vue +152 -0
  55. package/core/PageFallback.vue +168 -0
  56. package/core/PageMain.vue +181 -0
  57. package/core/Theme.mjs +1759 -0
  58. package/core/VueUtils.mjs +200 -0
  59. package/core/WsUtils.mjs +274 -0
  60. package/core/img/Flag_of_the_United_States.svg +25 -0
  61. package/core/img/logo_v1.svg +98 -0
  62. package/core/img/logo_v2.svg +98 -0
  63. package/core/img/state-uniqueId-8k.wav +0 -0
  64. package/core/main-offcanvas.vue +99 -0
  65. package/core/nodes/_api.vue +82 -0
  66. package/core/nodes/node-container.vue +103 -0
  67. package/core/nodes/node.vue +246 -0
  68. package/core/nodes/place-holder.vue +47 -0
  69. package/core/nodes/root.vue +52 -0
  70. package/core/notify/NotifyUtils.mjs +150 -0
  71. package/core/notify/toast.vue +150 -0
  72. package/core/pages/About.vue +57 -0
  73. package/core/pages/Cache.vue +155 -0
  74. package/core/pages/Connection.vue +192 -0
  75. package/core/pages/Connections.vue +102 -0
  76. package/core/pages/Documentation.vue +263 -0
  77. package/core/pages/Notifies.vue +156 -0
  78. package/core/pages/Traffic.vue +152 -0
  79. package/core/pages/connections/connection-header-details.vue +80 -0
  80. package/core/pages/connections/page-connection-default.vue +92 -0
  81. package/core/pages/connections/page-connection.vue +176 -0
  82. package/core/pages/connections/ws-connection.vue +146 -0
  83. package/core/pages/frontend/Bootstrap.vue +1140 -0
  84. package/core/pages/frontend/Components.vue +56 -0
  85. package/core/pages/frontend/ComponentsAdv.vue +203 -0
  86. package/core/pages/frontend/ComponentsBasic.vue +336 -0
  87. package/core/pages/frontend/Theme.vue +473 -0
  88. package/core/pages/frontend/component-view.vue +65 -0
  89. package/core/pages/traffic/WsLogUtils.mjs +91 -0
  90. package/core/pages/traffic/log-ws-exec.vue +124 -0
  91. package/core/pages/traffic/log-ws-exec2.vue +129 -0
  92. package/core/sfc/code-item.vue +169 -0
  93. package/core/sfc/connection-header.vue +62 -0
  94. package/core/sfc/info-api.vue +158 -0
  95. package/core/sfc/md-toc.vue +346 -0
  96. package/core/sfc/scroll-to-top.vue +69 -0
  97. package/core/sfc/task.vue +98 -0
  98. package/core/sfc/text-to-md.vue +25 -0
  99. package/core/sfc/toc-list.vue +175 -0
  100. package/core/ws-client/AuthNState.mjs +84 -0
  101. package/core/ws-client/Connection.mjs +580 -0
  102. package/core/ws-client/Session.mjs +72 -0
  103. package/core/ws-client/WsClient.mjs +230 -0
  104. package/core/ws-client/WsLogUtils.mjs +91 -0
  105. package/core/ws-client/ws-connection.vue +144 -0
  106. package/css/Changa-Medium.ttf +0 -0
  107. package/css/Makefile +10 -0
  108. package/css/README.md +25 -0
  109. package/css/bootstrap-c0ckp1t.css +11861 -0
  110. package/css/bootstrap.min.css +6 -0
  111. package/css/fontawesome/brands.min.css +6 -0
  112. package/css/fontawesome/fontawesome.min.css +8 -0
  113. package/css/fontawesome/regular.min.css +6 -0
  114. package/css/fontawesome/solid.min.css +6 -0
  115. package/css/webfonts/fa-brands-400.woff2 +0 -0
  116. package/css/webfonts/fa-regular-400.woff2 +0 -0
  117. package/css/webfonts/fa-solid-900.woff2 +0 -0
  118. package/docs/Introduction.md +3 -0
  119. package/favicon-192x192.png +0 -0
  120. package/favicon-32x32.png +0 -0
  121. package/favicon-64x64.png +0 -0
  122. package/favicon.ico +0 -0
  123. package/index-cdn.html +66 -0
  124. package/js_ext/Makefile +26 -0
  125. package/js_ext/ace-editor/ace.js +22037 -0
  126. package/js_ext/ace-editor/ext-beautify.js +343 -0
  127. package/js_ext/ace-editor/ext-code_lens.js +204 -0
  128. package/js_ext/ace-editor/ext-command_bar.js +469 -0
  129. package/js_ext/ace-editor/ext-diff.js +4265 -0
  130. package/js_ext/ace-editor/ext-elastic_tabstops_lite.js +238 -0
  131. package/js_ext/ace-editor/ext-emmet.js +1303 -0
  132. package/js_ext/ace-editor/ext-error_marker.js +9 -0
  133. package/js_ext/ace-editor/ext-hardwrap.js +127 -0
  134. package/js_ext/ace-editor/ext-inline_autocomplete.js +3547 -0
  135. package/js_ext/ace-editor/ext-keybinding_menu.js +185 -0
  136. package/js_ext/ace-editor/ext-language_tools.js +2724 -0
  137. package/js_ext/ace-editor/ext-linking.js +66 -0
  138. package/js_ext/ace-editor/ext-modelist.js +276 -0
  139. package/js_ext/ace-editor/ext-options.js +859 -0
  140. package/js_ext/ace-editor/ext-prompt.js +3161 -0
  141. package/js_ext/ace-editor/ext-rtl.js +146 -0
  142. package/js_ext/ace-editor/ext-searchbox.js +385 -0
  143. package/js_ext/ace-editor/ext-settings_menu.js +859 -0
  144. package/js_ext/ace-editor/ext-simple_tokenizer.js +137 -0
  145. package/js_ext/ace-editor/ext-spellcheck.js +79 -0
  146. package/js_ext/ace-editor/ext-split.js +203 -0
  147. package/js_ext/ace-editor/ext-static_highlight.js +194 -0
  148. package/js_ext/ace-editor/ext-statusbar.js +63 -0
  149. package/js_ext/ace-editor/ext-textarea.js +400 -0
  150. package/js_ext/ace-editor/ext-themelist.js +80 -0
  151. package/js_ext/ace-editor/ext-whitespace.js +201 -0
  152. package/js_ext/ace-editor/keybinding-emacs.js +1067 -0
  153. package/js_ext/ace-editor/keybinding-sublime.js +409 -0
  154. package/js_ext/ace-editor/keybinding-vim.js +7101 -0
  155. package/js_ext/ace-editor/keybinding-vscode.js +255 -0
  156. package/js_ext/ace-editor/mode-abap.js +200 -0
  157. package/js_ext/ace-editor/mode-abc.js +243 -0
  158. package/js_ext/ace-editor/mode-actionscript.js +234 -0
  159. package/js_ext/ace-editor/mode-ada.js +108 -0
  160. package/js_ext/ace-editor/mode-alda.js +279 -0
  161. package/js_ext/ace-editor/mode-apache_conf.js +318 -0
  162. package/js_ext/ace-editor/mode-apex.js +402 -0
  163. package/js_ext/ace-editor/mode-applescript.js +232 -0
  164. package/js_ext/ace-editor/mode-aql.js +92 -0
  165. package/js_ext/ace-editor/mode-asciidoc.js +311 -0
  166. package/js_ext/ace-editor/mode-asl.js +357 -0
  167. package/js_ext/ace-editor/mode-assembly_arm32.js +185 -0
  168. package/js_ext/ace-editor/mode-assembly_x86.js +170 -0
  169. package/js_ext/ace-editor/mode-astro.js +2474 -0
  170. package/js_ext/ace-editor/mode-autohotkey.js +208 -0
  171. package/js_ext/ace-editor/mode-basic.js +201 -0
  172. package/js_ext/ace-editor/mode-batchfile.js +199 -0
  173. package/js_ext/ace-editor/mode-bibtex.js +318 -0
  174. package/js_ext/ace-editor/mode-c9search.js +250 -0
  175. package/js_ext/ace-editor/mode-c_cpp.js +417 -0
  176. package/js_ext/ace-editor/mode-cirru.js +192 -0
  177. package/js_ext/ace-editor/mode-clojure.js +322 -0
  178. package/js_ext/ace-editor/mode-clue.js +361 -0
  179. package/js_ext/ace-editor/mode-cobol.js +82 -0
  180. package/js_ext/ace-editor/mode-coffee.js +335 -0
  181. package/js_ext/ace-editor/mode-coldfusion.js +2409 -0
  182. package/js_ext/ace-editor/mode-crystal.js +586 -0
  183. package/js_ext/ace-editor/mode-csharp.js +413 -0
  184. package/js_ext/ace-editor/mode-csound_document.js +4072 -0
  185. package/js_ext/ace-editor/mode-csound_orchestra.js +2923 -0
  186. package/js_ext/ace-editor/mode-csound_score.js +409 -0
  187. package/js_ext/ace-editor/mode-csp.js +59 -0
  188. package/js_ext/ace-editor/mode-css.js +632 -0
  189. package/js_ext/ace-editor/mode-csv.js +97 -0
  190. package/js_ext/ace-editor/mode-curly.js +2381 -0
  191. package/js_ext/ace-editor/mode-cuttlefish.js +56 -0
  192. package/js_ext/ace-editor/mode-d.js +450 -0
  193. package/js_ext/ace-editor/mode-dart.js +618 -0
  194. package/js_ext/ace-editor/mode-diff.js +129 -0
  195. package/js_ext/ace-editor/mode-django.js +2422 -0
  196. package/js_ext/ace-editor/mode-dockerfile.js +427 -0
  197. package/js_ext/ace-editor/mode-dot.js +348 -0
  198. package/js_ext/ace-editor/mode-drools.js +607 -0
  199. package/js_ext/ace-editor/mode-edifact.js +130 -0
  200. package/js_ext/ace-editor/mode-eiffel.js +120 -0
  201. package/js_ext/ace-editor/mode-ejs.js +3277 -0
  202. package/js_ext/ace-editor/mode-elixir.js +443 -0
  203. package/js_ext/ace-editor/mode-elm.js +274 -0
  204. package/js_ext/ace-editor/mode-erlang.js +836 -0
  205. package/js_ext/ace-editor/mode-flix.js +164 -0
  206. package/js_ext/ace-editor/mode-forth.js +253 -0
  207. package/js_ext/ace-editor/mode-fortran.js +361 -0
  208. package/js_ext/ace-editor/mode-fsharp.js +277 -0
  209. package/js_ext/ace-editor/mode-fsl.js +226 -0
  210. package/js_ext/ace-editor/mode-ftl.js +1255 -0
  211. package/js_ext/ace-editor/mode-gcode.js +74 -0
  212. package/js_ext/ace-editor/mode-gherkin.js +154 -0
  213. package/js_ext/ace-editor/mode-gitignore.js +49 -0
  214. package/js_ext/ace-editor/mode-glsl.js +475 -0
  215. package/js_ext/ace-editor/mode-gobstones.js +1459 -0
  216. package/js_ext/ace-editor/mode-golang.js +341 -0
  217. package/js_ext/ace-editor/mode-graphqlschema.js +174 -0
  218. package/js_ext/ace-editor/mode-groovy.js +1401 -0
  219. package/js_ext/ace-editor/mode-haml.js +1906 -0
  220. package/js_ext/ace-editor/mode-handlebars.js +2438 -0
  221. package/js_ext/ace-editor/mode-haskell.js +324 -0
  222. package/js_ext/ace-editor/mode-haskell_cabal.js +135 -0
  223. package/js_ext/ace-editor/mode-haxe.js +313 -0
  224. package/js_ext/ace-editor/mode-hjson.js +318 -0
  225. package/js_ext/ace-editor/mode-html.js +2339 -0
  226. package/js_ext/ace-editor/mode-html_elixir.js +2845 -0
  227. package/js_ext/ace-editor/mode-html_ruby.js +3294 -0
  228. package/js_ext/ace-editor/mode-ini.js +138 -0
  229. package/js_ext/ace-editor/mode-io.js +210 -0
  230. package/js_ext/ace-editor/mode-ion.js +477 -0
  231. package/js_ext/ace-editor/mode-jack.js +293 -0
  232. package/js_ext/ace-editor/mode-jade.js +2017 -0
  233. package/js_ext/ace-editor/mode-java.js +1565 -0
  234. package/js_ext/ace-editor/mode-javascript.js +1191 -0
  235. package/js_ext/ace-editor/mode-jexl.js +270 -0
  236. package/js_ext/ace-editor/mode-json.js +275 -0
  237. package/js_ext/ace-editor/mode-json5.js +308 -0
  238. package/js_ext/ace-editor/mode-jsoniq.js +2577 -0
  239. package/js_ext/ace-editor/mode-jsp.js +1618 -0
  240. package/js_ext/ace-editor/mode-jssm.js +293 -0
  241. package/js_ext/ace-editor/mode-jsx.js +1209 -0
  242. package/js_ext/ace-editor/mode-julia.js +254 -0
  243. package/js_ext/ace-editor/mode-kotlin.js +445 -0
  244. package/js_ext/ace-editor/mode-latex.js +252 -0
  245. package/js_ext/ace-editor/mode-latte.js +2522 -0
  246. package/js_ext/ace-editor/mode-less.js +742 -0
  247. package/js_ext/ace-editor/mode-liquid.js +2741 -0
  248. package/js_ext/ace-editor/mode-lisp.js +104 -0
  249. package/js_ext/ace-editor/mode-livescript.js +272 -0
  250. package/js_ext/ace-editor/mode-logiql.js +272 -0
  251. package/js_ext/ace-editor/mode-logtalk.js +309 -0
  252. package/js_ext/ace-editor/mode-lsl.js +287 -0
  253. package/js_ext/ace-editor/mode-lua.js +393 -0
  254. package/js_ext/ace-editor/mode-luapage.js +2785 -0
  255. package/js_ext/ace-editor/mode-lucene.js +145 -0
  256. package/js_ext/ace-editor/mode-makefile.js +374 -0
  257. package/js_ext/ace-editor/mode-markdown.js +2935 -0
  258. package/js_ext/ace-editor/mode-mask.js +1757 -0
  259. package/js_ext/ace-editor/mode-matlab.js +239 -0
  260. package/js_ext/ace-editor/mode-maze.js +256 -0
  261. package/js_ext/ace-editor/mode-mediawiki.js +580 -0
  262. package/js_ext/ace-editor/mode-mel.js +213 -0
  263. package/js_ext/ace-editor/mode-mips.js +231 -0
  264. package/js_ext/ace-editor/mode-mixal.js +110 -0
  265. package/js_ext/ace-editor/mode-mushcode.js +642 -0
  266. package/js_ext/ace-editor/mode-mysql.js +150 -0
  267. package/js_ext/ace-editor/mode-nasal.js +513 -0
  268. package/js_ext/ace-editor/mode-nginx.js +262 -0
  269. package/js_ext/ace-editor/mode-nim.js +325 -0
  270. package/js_ext/ace-editor/mode-nix.js +555 -0
  271. package/js_ext/ace-editor/mode-nsis.js +279 -0
  272. package/js_ext/ace-editor/mode-nunjucks.js +2677 -0
  273. package/js_ext/ace-editor/mode-objectivec.js +626 -0
  274. package/js_ext/ace-editor/mode-ocaml.js +378 -0
  275. package/js_ext/ace-editor/mode-odin.js +449 -0
  276. package/js_ext/ace-editor/mode-partiql.js +750 -0
  277. package/js_ext/ace-editor/mode-pascal.js +204 -0
  278. package/js_ext/ace-editor/mode-perl.js +318 -0
  279. package/js_ext/ace-editor/mode-pgsql.js +1860 -0
  280. package/js_ext/ace-editor/mode-php.js +14072 -0
  281. package/js_ext/ace-editor/mode-php_laravel_blade.js +14260 -0
  282. package/js_ext/ace-editor/mode-pig.js +278 -0
  283. package/js_ext/ace-editor/mode-plain_text.js +27 -0
  284. package/js_ext/ace-editor/mode-plsql.js +268 -0
  285. package/js_ext/ace-editor/mode-powershell.js +567 -0
  286. package/js_ext/ace-editor/mode-praat.js +412 -0
  287. package/js_ext/ace-editor/mode-prisma.js +457 -0
  288. package/js_ext/ace-editor/mode-prolog.js +305 -0
  289. package/js_ext/ace-editor/mode-properties.js +69 -0
  290. package/js_ext/ace-editor/mode-protobuf.js +498 -0
  291. package/js_ext/ace-editor/mode-prql.js +323 -0
  292. package/js_ext/ace-editor/mode-puppet.js +316 -0
  293. package/js_ext/ace-editor/mode-python.js +476 -0
  294. package/js_ext/ace-editor/mode-qml.js +346 -0
  295. package/js_ext/ace-editor/mode-r.js +387 -0
  296. package/js_ext/ace-editor/mode-raku.js +516 -0
  297. package/js_ext/ace-editor/mode-razor.js +2697 -0
  298. package/js_ext/ace-editor/mode-rdoc.js +286 -0
  299. package/js_ext/ace-editor/mode-red.js +388 -0
  300. package/js_ext/ace-editor/mode-redshift.js +321 -0
  301. package/js_ext/ace-editor/mode-rhtml.js +2750 -0
  302. package/js_ext/ace-editor/mode-robot.js +168 -0
  303. package/js_ext/ace-editor/mode-rst.js +245 -0
  304. package/js_ext/ace-editor/mode-ruby.js +921 -0
  305. package/js_ext/ace-editor/mode-rust.js +393 -0
  306. package/js_ext/ace-editor/mode-sac.js +349 -0
  307. package/js_ext/ace-editor/mode-sass.js +480 -0
  308. package/js_ext/ace-editor/mode-scad.js +350 -0
  309. package/js_ext/ace-editor/mode-scala.js +1395 -0
  310. package/js_ext/ace-editor/mode-scheme.js +210 -0
  311. package/js_ext/ace-editor/mode-scrypt.js +317 -0
  312. package/js_ext/ace-editor/mode-scss.js +768 -0
  313. package/js_ext/ace-editor/mode-sh.js +387 -0
  314. package/js_ext/ace-editor/mode-sjs.js +1393 -0
  315. package/js_ext/ace-editor/mode-slim.js +4770 -0
  316. package/js_ext/ace-editor/mode-smarty.js +2436 -0
  317. package/js_ext/ace-editor/mode-smithy.js +456 -0
  318. package/js_ext/ace-editor/mode-snippets.js +183 -0
  319. package/js_ext/ace-editor/mode-soy_template.js +2611 -0
  320. package/js_ext/ace-editor/mode-space.js +151 -0
  321. package/js_ext/ace-editor/mode-sparql.js +288 -0
  322. package/js_ext/ace-editor/mode-sql.js +221 -0
  323. package/js_ext/ace-editor/mode-sqlserver.js +391 -0
  324. package/js_ext/ace-editor/mode-stylus.js +443 -0
  325. package/js_ext/ace-editor/mode-svg.js +1487 -0
  326. package/js_ext/ace-editor/mode-swift.js +342 -0
  327. package/js_ext/ace-editor/mode-tcl.js +338 -0
  328. package/js_ext/ace-editor/mode-terraform.js +346 -0
  329. package/js_ext/ace-editor/mode-tex.js +212 -0
  330. package/js_ext/ace-editor/mode-text.js +9 -0
  331. package/js_ext/ace-editor/mode-textile.js +125 -0
  332. package/js_ext/ace-editor/mode-toml.js +129 -0
  333. package/js_ext/ace-editor/mode-tsv.js +124 -0
  334. package/js_ext/ace-editor/mode-tsx.js +1276 -0
  335. package/js_ext/ace-editor/mode-turtle.js +264 -0
  336. package/js_ext/ace-editor/mode-twig.js +2502 -0
  337. package/js_ext/ace-editor/mode-typescript.js +1254 -0
  338. package/js_ext/ace-editor/mode-vala.js +554 -0
  339. package/js_ext/ace-editor/mode-vbscript.js +731 -0
  340. package/js_ext/ace-editor/mode-velocity.js +2580 -0
  341. package/js_ext/ace-editor/mode-verilog.js +98 -0
  342. package/js_ext/ace-editor/mode-vhdl.js +94 -0
  343. package/js_ext/ace-editor/mode-visualforce.js +2454 -0
  344. package/js_ext/ace-editor/mode-vue.js +3834 -0
  345. package/js_ext/ace-editor/mode-wollok.js +1329 -0
  346. package/js_ext/ace-editor/mode-xml.js +477 -0
  347. package/js_ext/ace-editor/mode-xquery.js +2589 -0
  348. package/js_ext/ace-editor/mode-yaml.js +395 -0
  349. package/js_ext/ace-editor/mode-zeek.js +502 -0
  350. package/js_ext/ace-editor/mode-zig.js +585 -0
  351. package/js_ext/ace-editor/snippets/abap.js +9 -0
  352. package/js_ext/ace-editor/snippets/abc.js +16 -0
  353. package/js_ext/ace-editor/snippets/actionscript.js +16 -0
  354. package/js_ext/ace-editor/snippets/ada.js +9 -0
  355. package/js_ext/ace-editor/snippets/alda.js +9 -0
  356. package/js_ext/ace-editor/snippets/apache_conf.js +9 -0
  357. package/js_ext/ace-editor/snippets/apex.js +9 -0
  358. package/js_ext/ace-editor/snippets/applescript.js +9 -0
  359. package/js_ext/ace-editor/snippets/aql.js +9 -0
  360. package/js_ext/ace-editor/snippets/asciidoc.js +9 -0
  361. package/js_ext/ace-editor/snippets/asl.js +9 -0
  362. package/js_ext/ace-editor/snippets/assembly_arm32.js +9 -0
  363. package/js_ext/ace-editor/snippets/assembly_x86.js +9 -0
  364. package/js_ext/ace-editor/snippets/astro.js +9 -0
  365. package/js_ext/ace-editor/snippets/autohotkey.js +9 -0
  366. package/js_ext/ace-editor/snippets/basic.js +9 -0
  367. package/js_ext/ace-editor/snippets/batchfile.js +9 -0
  368. package/js_ext/ace-editor/snippets/bibtex.js +9 -0
  369. package/js_ext/ace-editor/snippets/c9search.js +9 -0
  370. package/js_ext/ace-editor/snippets/c_cpp.js +16 -0
  371. package/js_ext/ace-editor/snippets/cirru.js +9 -0
  372. package/js_ext/ace-editor/snippets/clojure.js +16 -0
  373. package/js_ext/ace-editor/snippets/clue.js +9 -0
  374. package/js_ext/ace-editor/snippets/cobol.js +9 -0
  375. package/js_ext/ace-editor/snippets/coffee.js +16 -0
  376. package/js_ext/ace-editor/snippets/coldfusion.js +9 -0
  377. package/js_ext/ace-editor/snippets/crystal.js +9 -0
  378. package/js_ext/ace-editor/snippets/csharp.js +9 -0
  379. package/js_ext/ace-editor/snippets/csound_document.js +16 -0
  380. package/js_ext/ace-editor/snippets/csound_orchestra.js +16 -0
  381. package/js_ext/ace-editor/snippets/csound_score.js +9 -0
  382. package/js_ext/ace-editor/snippets/csp.js +9 -0
  383. package/js_ext/ace-editor/snippets/css.js +16 -0
  384. package/js_ext/ace-editor/snippets/csv.js +9 -0
  385. package/js_ext/ace-editor/snippets/curly.js +9 -0
  386. package/js_ext/ace-editor/snippets/cuttlefish.js +9 -0
  387. package/js_ext/ace-editor/snippets/d.js +9 -0
  388. package/js_ext/ace-editor/snippets/dart.js +16 -0
  389. package/js_ext/ace-editor/snippets/diff.js +16 -0
  390. package/js_ext/ace-editor/snippets/django.js +16 -0
  391. package/js_ext/ace-editor/snippets/dockerfile.js +9 -0
  392. package/js_ext/ace-editor/snippets/dot.js +9 -0
  393. package/js_ext/ace-editor/snippets/drools.js +16 -0
  394. package/js_ext/ace-editor/snippets/edifact.js +16 -0
  395. package/js_ext/ace-editor/snippets/eiffel.js +9 -0
  396. package/js_ext/ace-editor/snippets/ejs.js +9 -0
  397. package/js_ext/ace-editor/snippets/elixir.js +9 -0
  398. package/js_ext/ace-editor/snippets/elm.js +9 -0
  399. package/js_ext/ace-editor/snippets/erlang.js +16 -0
  400. package/js_ext/ace-editor/snippets/flix.js +9 -0
  401. package/js_ext/ace-editor/snippets/forth.js +9 -0
  402. package/js_ext/ace-editor/snippets/fortran.js +9 -0
  403. package/js_ext/ace-editor/snippets/fsharp.js +9 -0
  404. package/js_ext/ace-editor/snippets/fsl.js +16 -0
  405. package/js_ext/ace-editor/snippets/ftl.js +9 -0
  406. package/js_ext/ace-editor/snippets/gcode.js +9 -0
  407. package/js_ext/ace-editor/snippets/gherkin.js +9 -0
  408. package/js_ext/ace-editor/snippets/gitignore.js +9 -0
  409. package/js_ext/ace-editor/snippets/glsl.js +9 -0
  410. package/js_ext/ace-editor/snippets/gobstones.js +16 -0
  411. package/js_ext/ace-editor/snippets/golang.js +9 -0
  412. package/js_ext/ace-editor/snippets/graphqlschema.js +16 -0
  413. package/js_ext/ace-editor/snippets/groovy.js +9 -0
  414. package/js_ext/ace-editor/snippets/haml.js +16 -0
  415. package/js_ext/ace-editor/snippets/handlebars.js +9 -0
  416. package/js_ext/ace-editor/snippets/haskell.js +16 -0
  417. package/js_ext/ace-editor/snippets/haskell_cabal.js +9 -0
  418. package/js_ext/ace-editor/snippets/haxe.js +9 -0
  419. package/js_ext/ace-editor/snippets/hjson.js +9 -0
  420. package/js_ext/ace-editor/snippets/html.js +16 -0
  421. package/js_ext/ace-editor/snippets/html_elixir.js +9 -0
  422. package/js_ext/ace-editor/snippets/html_ruby.js +9 -0
  423. package/js_ext/ace-editor/snippets/ini.js +9 -0
  424. package/js_ext/ace-editor/snippets/io.js +74 -0
  425. package/js_ext/ace-editor/snippets/ion.js +9 -0
  426. package/js_ext/ace-editor/snippets/jack.js +9 -0
  427. package/js_ext/ace-editor/snippets/jade.js +9 -0
  428. package/js_ext/ace-editor/snippets/java.js +16 -0
  429. package/js_ext/ace-editor/snippets/javascript.js +16 -0
  430. package/js_ext/ace-editor/snippets/jexl.js +9 -0
  431. package/js_ext/ace-editor/snippets/json.js +9 -0
  432. package/js_ext/ace-editor/snippets/json5.js +9 -0
  433. package/js_ext/ace-editor/snippets/jsoniq.js +78 -0
  434. package/js_ext/ace-editor/snippets/jsp.js +16 -0
  435. package/js_ext/ace-editor/snippets/jssm.js +9 -0
  436. package/js_ext/ace-editor/snippets/jsx.js +9 -0
  437. package/js_ext/ace-editor/snippets/julia.js +9 -0
  438. package/js_ext/ace-editor/snippets/kotlin.js +9 -0
  439. package/js_ext/ace-editor/snippets/latex.js +9 -0
  440. package/js_ext/ace-editor/snippets/latte.js +9 -0
  441. package/js_ext/ace-editor/snippets/less.js +9 -0
  442. package/js_ext/ace-editor/snippets/liquid.js +16 -0
  443. package/js_ext/ace-editor/snippets/lisp.js +9 -0
  444. package/js_ext/ace-editor/snippets/livescript.js +9 -0
  445. package/js_ext/ace-editor/snippets/logiql.js +9 -0
  446. package/js_ext/ace-editor/snippets/logtalk.js +9 -0
  447. package/js_ext/ace-editor/snippets/lsl.js +16 -0
  448. package/js_ext/ace-editor/snippets/lua.js +16 -0
  449. package/js_ext/ace-editor/snippets/luapage.js +9 -0
  450. package/js_ext/ace-editor/snippets/lucene.js +9 -0
  451. package/js_ext/ace-editor/snippets/makefile.js +16 -0
  452. package/js_ext/ace-editor/snippets/markdown.js +16 -0
  453. package/js_ext/ace-editor/snippets/mask.js +9 -0
  454. package/js_ext/ace-editor/snippets/matlab.js +9 -0
  455. package/js_ext/ace-editor/snippets/maze.js +16 -0
  456. package/js_ext/ace-editor/snippets/mediawiki.js +9 -0
  457. package/js_ext/ace-editor/snippets/mel.js +9 -0
  458. package/js_ext/ace-editor/snippets/mips.js +9 -0
  459. package/js_ext/ace-editor/snippets/mixal.js +9 -0
  460. package/js_ext/ace-editor/snippets/mushcode.js +9 -0
  461. package/js_ext/ace-editor/snippets/mysql.js +9 -0
  462. package/js_ext/ace-editor/snippets/nasal.js +9 -0
  463. package/js_ext/ace-editor/snippets/nginx.js +9 -0
  464. package/js_ext/ace-editor/snippets/nim.js +9 -0
  465. package/js_ext/ace-editor/snippets/nix.js +9 -0
  466. package/js_ext/ace-editor/snippets/nsis.js +9 -0
  467. package/js_ext/ace-editor/snippets/nunjucks.js +9 -0
  468. package/js_ext/ace-editor/snippets/objectivec.js +9 -0
  469. package/js_ext/ace-editor/snippets/ocaml.js +9 -0
  470. package/js_ext/ace-editor/snippets/odin.js +9 -0
  471. package/js_ext/ace-editor/snippets/partiql.js +9 -0
  472. package/js_ext/ace-editor/snippets/pascal.js +9 -0
  473. package/js_ext/ace-editor/snippets/perl.js +16 -0
  474. package/js_ext/ace-editor/snippets/pgsql.js +9 -0
  475. package/js_ext/ace-editor/snippets/php.js +16 -0
  476. package/js_ext/ace-editor/snippets/php_laravel_blade.js +9 -0
  477. package/js_ext/ace-editor/snippets/pig.js +9 -0
  478. package/js_ext/ace-editor/snippets/plain_text.js +9 -0
  479. package/js_ext/ace-editor/snippets/plsql.js +9 -0
  480. package/js_ext/ace-editor/snippets/powershell.js +9 -0
  481. package/js_ext/ace-editor/snippets/praat.js +9 -0
  482. package/js_ext/ace-editor/snippets/prisma.js +9 -0
  483. package/js_ext/ace-editor/snippets/prolog.js +9 -0
  484. package/js_ext/ace-editor/snippets/properties.js +9 -0
  485. package/js_ext/ace-editor/snippets/protobuf.js +9 -0
  486. package/js_ext/ace-editor/snippets/prql.js +9 -0
  487. package/js_ext/ace-editor/snippets/puppet.js +9 -0
  488. package/js_ext/ace-editor/snippets/python.js +16 -0
  489. package/js_ext/ace-editor/snippets/qml.js +9 -0
  490. package/js_ext/ace-editor/snippets/r.js +16 -0
  491. package/js_ext/ace-editor/snippets/raku.js +9 -0
  492. package/js_ext/ace-editor/snippets/razor.js +16 -0
  493. package/js_ext/ace-editor/snippets/rdoc.js +9 -0
  494. package/js_ext/ace-editor/snippets/red.js +9 -0
  495. package/js_ext/ace-editor/snippets/redshift.js +9 -0
  496. package/js_ext/ace-editor/snippets/rhtml.js +9 -0
  497. package/js_ext/ace-editor/snippets/robot.js +16 -0
  498. package/js_ext/ace-editor/snippets/rst.js +16 -0
  499. package/js_ext/ace-editor/snippets/ruby.js +16 -0
  500. package/js_ext/ace-editor/snippets/rust.js +9 -0
  501. package/js_ext/ace-editor/snippets/sac.js +9 -0
  502. package/js_ext/ace-editor/snippets/sass.js +9 -0
  503. package/js_ext/ace-editor/snippets/scad.js +9 -0
  504. package/js_ext/ace-editor/snippets/scala.js +9 -0
  505. package/js_ext/ace-editor/snippets/scheme.js +9 -0
  506. package/js_ext/ace-editor/snippets/scrypt.js +9 -0
  507. package/js_ext/ace-editor/snippets/scss.js +9 -0
  508. package/js_ext/ace-editor/snippets/sh.js +16 -0
  509. package/js_ext/ace-editor/snippets/sjs.js +9 -0
  510. package/js_ext/ace-editor/snippets/slim.js +9 -0
  511. package/js_ext/ace-editor/snippets/smarty.js +9 -0
  512. package/js_ext/ace-editor/snippets/smithy.js +9 -0
  513. package/js_ext/ace-editor/snippets/snippets.js +16 -0
  514. package/js_ext/ace-editor/snippets/soy_template.js +9 -0
  515. package/js_ext/ace-editor/snippets/space.js +9 -0
  516. package/js_ext/ace-editor/snippets/sparql.js +9 -0
  517. package/js_ext/ace-editor/snippets/sql.js +16 -0
  518. package/js_ext/ace-editor/snippets/sqlserver.js +16 -0
  519. package/js_ext/ace-editor/snippets/stylus.js +9 -0
  520. package/js_ext/ace-editor/snippets/svg.js +9 -0
  521. package/js_ext/ace-editor/snippets/swift.js +9 -0
  522. package/js_ext/ace-editor/snippets/tcl.js +16 -0
  523. package/js_ext/ace-editor/snippets/terraform.js +9 -0
  524. package/js_ext/ace-editor/snippets/tex.js +16 -0
  525. package/js_ext/ace-editor/snippets/text.js +9 -0
  526. package/js_ext/ace-editor/snippets/textile.js +16 -0
  527. package/js_ext/ace-editor/snippets/toml.js +9 -0
  528. package/js_ext/ace-editor/snippets/tsv.js +9 -0
  529. package/js_ext/ace-editor/snippets/tsx.js +9 -0
  530. package/js_ext/ace-editor/snippets/turtle.js +9 -0
  531. package/js_ext/ace-editor/snippets/twig.js +9 -0
  532. package/js_ext/ace-editor/snippets/typescript.js +9 -0
  533. package/js_ext/ace-editor/snippets/vala.js +199 -0
  534. package/js_ext/ace-editor/snippets/vbscript.js +9 -0
  535. package/js_ext/ace-editor/snippets/velocity.js +17 -0
  536. package/js_ext/ace-editor/snippets/verilog.js +9 -0
  537. package/js_ext/ace-editor/snippets/vhdl.js +9 -0
  538. package/js_ext/ace-editor/snippets/visualforce.js +9 -0
  539. package/js_ext/ace-editor/snippets/vue.js +9 -0
  540. package/js_ext/ace-editor/snippets/wollok.js +16 -0
  541. package/js_ext/ace-editor/snippets/xml.js +9 -0
  542. package/js_ext/ace-editor/snippets/xquery.js +78 -0
  543. package/js_ext/ace-editor/snippets/yaml.js +9 -0
  544. package/js_ext/ace-editor/snippets/zeek.js +9 -0
  545. package/js_ext/ace-editor/snippets/zig.js +9 -0
  546. package/js_ext/ace-editor/theme-ambiance.js +18 -0
  547. package/js_ext/ace-editor/theme-chaos.js +18 -0
  548. package/js_ext/ace-editor/theme-chrome.js +18 -0
  549. package/js_ext/ace-editor/theme-cloud9_day.js +19 -0
  550. package/js_ext/ace-editor/theme-cloud9_night.js +18 -0
  551. package/js_ext/ace-editor/theme-cloud9_night_low_color.js +18 -0
  552. package/js_ext/ace-editor/theme-cloud_editor.js +19 -0
  553. package/js_ext/ace-editor/theme-cloud_editor_dark.js +19 -0
  554. package/js_ext/ace-editor/theme-clouds.js +18 -0
  555. package/js_ext/ace-editor/theme-clouds_midnight.js +18 -0
  556. package/js_ext/ace-editor/theme-cobalt.js +18 -0
  557. package/js_ext/ace-editor/theme-crimson_editor.js +18 -0
  558. package/js_ext/ace-editor/theme-dawn.js +18 -0
  559. package/js_ext/ace-editor/theme-dracula.js +19 -0
  560. package/js_ext/ace-editor/theme-dreamweaver.js +18 -0
  561. package/js_ext/ace-editor/theme-eclipse.js +19 -0
  562. package/js_ext/ace-editor/theme-github.js +18 -0
  563. package/js_ext/ace-editor/theme-github_dark.js +18 -0
  564. package/js_ext/ace-editor/theme-github_light_default.js +18 -0
  565. package/js_ext/ace-editor/theme-gob.js +18 -0
  566. package/js_ext/ace-editor/theme-gruvbox.js +18 -0
  567. package/js_ext/ace-editor/theme-gruvbox_dark_hard.js +18 -0
  568. package/js_ext/ace-editor/theme-gruvbox_light_hard.js +18 -0
  569. package/js_ext/ace-editor/theme-idle_fingers.js +18 -0
  570. package/js_ext/ace-editor/theme-iplastic.js +18 -0
  571. package/js_ext/ace-editor/theme-katzenmilch.js +18 -0
  572. package/js_ext/ace-editor/theme-kr_theme.js +18 -0
  573. package/js_ext/ace-editor/theme-kuroir.js +18 -0
  574. package/js_ext/ace-editor/theme-merbivore.js +18 -0
  575. package/js_ext/ace-editor/theme-merbivore_soft.js +18 -0
  576. package/js_ext/ace-editor/theme-mono_industrial.js +18 -0
  577. package/js_ext/ace-editor/theme-monokai.js +18 -0
  578. package/js_ext/ace-editor/theme-nord_dark.js +19 -0
  579. package/js_ext/ace-editor/theme-one_dark.js +18 -0
  580. package/js_ext/ace-editor/theme-pastel_on_dark.js +18 -0
  581. package/js_ext/ace-editor/theme-solarized_dark.js +18 -0
  582. package/js_ext/ace-editor/theme-solarized_light.js +18 -0
  583. package/js_ext/ace-editor/theme-sqlserver.js +18 -0
  584. package/js_ext/ace-editor/theme-terminal.js +18 -0
  585. package/js_ext/ace-editor/theme-textmate.js +16 -0
  586. package/js_ext/ace-editor/theme-tomorrow.js +18 -0
  587. package/js_ext/ace-editor/theme-tomorrow_night.js +18 -0
  588. package/js_ext/ace-editor/theme-tomorrow_night_blue.js +18 -0
  589. package/js_ext/ace-editor/theme-tomorrow_night_bright.js +18 -0
  590. package/js_ext/ace-editor/theme-tomorrow_night_eighties.js +18 -0
  591. package/js_ext/ace-editor/theme-twilight.js +18 -0
  592. package/js_ext/ace-editor/theme-vibrant_ink.js +18 -0
  593. package/js_ext/ace-editor/theme-xcode.js +18 -0
  594. package/js_ext/ace-editor/worker-base.js +1332 -0
  595. package/js_ext/ace-editor/worker-coffee.js +1381 -0
  596. package/js_ext/ace-editor/worker-css.js +8913 -0
  597. package/js_ext/ace-editor/worker-html.js +10843 -0
  598. package/js_ext/ace-editor/worker-javascript.js +15353 -0
  599. package/js_ext/ace-editor/worker-json.js +1626 -0
  600. package/js_ext/ace-editor/worker-lua.js +3519 -0
  601. package/js_ext/ace-editor/worker-php.js +3788 -0
  602. package/js_ext/ace-editor/worker-xml.js +3122 -0
  603. package/js_ext/ace-editor/worker-xquery.js +57579 -0
  604. package/js_ext/ace-editor/worker-yaml.js +5819 -0
  605. package/js_ext/bootstrap.bundle.min.js +7 -0
  606. package/js_ext/highlight/default.min.css +9 -0
  607. package/js_ext/highlight/go.min.js +14 -0
  608. package/js_ext/highlight/highlight.min.js +1207 -0
  609. package/js_ext/highlight/stackoverflow-dark.min.css +13 -0
  610. package/js_ext/idb-keyval-6.2.2.mjs +7 -0
  611. package/js_ext/json-viewer.bundle.js +52 -0
  612. package/js_ext/loglevel-plugin-prefix.min.js +1 -0
  613. package/js_ext/loglevel.min.js +2 -0
  614. package/js_ext/markdown/auto-render.min.js +1 -0
  615. package/js_ext/markdown/auto-render.mjs +245 -0
  616. package/js_ext/markdown/fonts/KaTeX_AMS-Regular.woff +0 -0
  617. package/js_ext/markdown/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  618. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  619. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  620. package/js_ext/markdown/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  621. package/js_ext/markdown/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  622. package/js_ext/markdown/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  623. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  624. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  625. package/js_ext/markdown/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  626. package/js_ext/markdown/fonts/KaTeX_Main-Bold.woff +0 -0
  627. package/js_ext/markdown/fonts/KaTeX_Main-Bold.woff2 +0 -0
  628. package/js_ext/markdown/fonts/KaTeX_Main-Italic.woff +0 -0
  629. package/js_ext/markdown/fonts/KaTeX_Main-Italic.woff2 +0 -0
  630. package/js_ext/markdown/fonts/KaTeX_Main-Regular.woff +0 -0
  631. package/js_ext/markdown/fonts/KaTeX_Main-Regular.woff2 +0 -0
  632. package/js_ext/markdown/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  633. package/js_ext/markdown/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  634. package/js_ext/markdown/fonts/KaTeX_Math-Italic.woff +0 -0
  635. package/js_ext/markdown/fonts/KaTeX_Math-Italic.woff2 +0 -0
  636. package/js_ext/markdown/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  637. package/js_ext/markdown/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  638. package/js_ext/markdown/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  639. package/js_ext/markdown/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  640. package/js_ext/markdown/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  641. package/js_ext/markdown/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  642. package/js_ext/markdown/fonts/KaTeX_Script-Regular.ttf +0 -0
  643. package/js_ext/markdown/fonts/KaTeX_Script-Regular.woff +0 -0
  644. package/js_ext/markdown/fonts/KaTeX_Script-Regular.woff2 +0 -0
  645. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.ttf +0 -0
  646. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.woff +0 -0
  647. package/js_ext/markdown/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  648. package/js_ext/markdown/fonts/KaTeX_Size2-Regular.woff +0 -0
  649. package/js_ext/markdown/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  650. package/js_ext/markdown/fonts/KaTeX_Size3-Regular.woff +0 -0
  651. package/js_ext/markdown/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  652. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.ttf +0 -0
  653. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.woff +0 -0
  654. package/js_ext/markdown/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  655. package/js_ext/markdown/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  656. package/js_ext/markdown/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  657. package/js_ext/markdown/katex.min.css +1 -0
  658. package/js_ext/markdown/katex.min.js +1 -0
  659. package/js_ext/markdown/katex.mjs +18416 -0
  660. package/js_ext/markdown/markdown-it.min.js +3 -0
  661. package/js_ext/markdown/markdownItAnchor.umd.js +2 -0
  662. package/js_ext/mitt.mjs +2 -0
  663. package/js_ext/moment.min.js +1 -0
  664. package/js_ext/msgpack.mjs +1612 -0
  665. package/js_ext/rxjs.umd.min.js +195 -0
  666. package/js_ext/rxjs.umd.min.js.map +1 -0
  667. package/js_ext/vue-router.esm-browser.prod.js +6 -0
  668. package/js_ext/vue.esm-browser.min.js +18 -0
  669. package/js_ext/vue.esm-browser.prod.min.js +3 -0
  670. package/js_ext/vue3-sfc-loader.esm.js +1840 -0
  671. package/js_ext/vue3-sfc-loader.esm.js.map +4 -0
  672. package/js_ext/vue3-sfc-loader.js +1839 -0
  673. package/js_ext/wavesurfer.esm.mjs +1 -0
  674. package/js_ext/xstate.web.mjs +15 -0
  675. package/package.json +50 -0
  676. package/style.css +31 -0
@@ -0,0 +1,1332 @@
1
+ "no use strict";
2
+ !(function(window) {
3
+ if (typeof window.window != "undefined" && window.document)
4
+ return;
5
+ if (window.require && window.define)
6
+ return;
7
+
8
+ if (!window.console) {
9
+ window.console = function() {
10
+ var msgs = Array.prototype.slice.call(arguments, 0);
11
+ postMessage({type: "log", data: msgs});
12
+ };
13
+ window.console.error =
14
+ window.console.warn =
15
+ window.console.log =
16
+ window.console.trace = window.console;
17
+ }
18
+ window.window = window;
19
+ window.ace = window;
20
+
21
+ window.onerror = function(message, file, line, col, err) {
22
+ postMessage({type: "error", data: {
23
+ message: message,
24
+ data: err && err.data,
25
+ file: file,
26
+ line: line,
27
+ col: col,
28
+ stack: err && err.stack
29
+ }});
30
+ };
31
+
32
+ window.normalizeModule = function(parentId, moduleName) {
33
+ // normalize plugin requires
34
+ if (moduleName.indexOf("!") !== -1) {
35
+ var chunks = moduleName.split("!");
36
+ return window.normalizeModule(parentId, chunks[0]) + "!" + window.normalizeModule(parentId, chunks[1]);
37
+ }
38
+ // normalize relative requires
39
+ if (moduleName.charAt(0) == ".") {
40
+ var base = parentId.split("/").slice(0, -1).join("/");
41
+ moduleName = (base ? base + "/" : "") + moduleName;
42
+
43
+ while (moduleName.indexOf(".") !== -1 && previous != moduleName) {
44
+ var previous = moduleName;
45
+ moduleName = moduleName.replace(/^\.\//, "").replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
46
+ }
47
+ }
48
+
49
+ return moduleName;
50
+ };
51
+
52
+ window.require = function require(parentId, id) {
53
+ if (!id) {
54
+ id = parentId;
55
+ parentId = null;
56
+ }
57
+ if (!id.charAt)
58
+ throw new Error("worker.js require() accepts only (parentId, id) as arguments");
59
+
60
+ id = window.normalizeModule(parentId, id);
61
+
62
+ var module = window.require.modules[id];
63
+ if (module) {
64
+ if (!module.initialized) {
65
+ module.initialized = true;
66
+ module.exports = module.factory().exports;
67
+ }
68
+ return module.exports;
69
+ }
70
+
71
+ if (!window.require.tlns)
72
+ return console.log("unable to load " + id);
73
+
74
+ var path = resolveModuleId(id, window.require.tlns);
75
+ if (path.slice(-3) != ".js") path += ".js";
76
+
77
+ window.require.id = id;
78
+ window.require.modules[id] = {}; // prevent infinite loop on broken modules
79
+ importScripts(path);
80
+ return window.require(parentId, id);
81
+ };
82
+ function resolveModuleId(id, paths) {
83
+ var testPath = id, tail = "";
84
+ while (testPath) {
85
+ var alias = paths[testPath];
86
+ if (typeof alias == "string") {
87
+ return alias + tail;
88
+ } else if (alias) {
89
+ return alias.location.replace(/\/*$/, "/") + (tail || alias.main || alias.name);
90
+ } else if (alias === false) {
91
+ return "";
92
+ }
93
+ var i = testPath.lastIndexOf("/");
94
+ if (i === -1) break;
95
+ tail = testPath.substr(i) + tail;
96
+ testPath = testPath.slice(0, i);
97
+ }
98
+ return id;
99
+ }
100
+ window.require.modules = {};
101
+ window.require.tlns = {};
102
+
103
+ window.define = function(id, deps, factory) {
104
+ if (arguments.length == 2) {
105
+ factory = deps;
106
+ if (typeof id != "string") {
107
+ deps = id;
108
+ id = window.require.id;
109
+ }
110
+ } else if (arguments.length == 1) {
111
+ factory = id;
112
+ deps = [];
113
+ id = window.require.id;
114
+ }
115
+
116
+ if (typeof factory != "function") {
117
+ window.require.modules[id] = {
118
+ exports: factory,
119
+ initialized: true
120
+ };
121
+ return;
122
+ }
123
+
124
+ if (!deps.length)
125
+ // If there is no dependencies, we inject "require", "exports" and
126
+ // "module" as dependencies, to provide CommonJS compatibility.
127
+ deps = ["require", "exports", "module"];
128
+
129
+ var req = function(childId) {
130
+ return window.require(id, childId);
131
+ };
132
+
133
+ window.require.modules[id] = {
134
+ exports: {},
135
+ factory: function() {
136
+ var module = this;
137
+ var returnExports = factory.apply(this, deps.slice(0, factory.length).map(function(dep) {
138
+ switch (dep) {
139
+ // Because "require", "exports" and "module" aren't actual
140
+ // dependencies, we must handle them seperately.
141
+ case "require": return req;
142
+ case "exports": return module.exports;
143
+ case "module": return module;
144
+ // But for all other dependencies, we can just go ahead and
145
+ // require them.
146
+ default: return req(dep);
147
+ }
148
+ }));
149
+ if (returnExports)
150
+ module.exports = returnExports;
151
+ return module;
152
+ }
153
+ };
154
+ };
155
+ window.define.amd = {};
156
+ window.require.tlns = {};
157
+ window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
158
+ for (var i in topLevelNamespaces)
159
+ this.require.tlns[i] = topLevelNamespaces[i];
160
+ };
161
+
162
+ window.initSender = function initSender() {
163
+
164
+ var EventEmitter = window.require("ace/lib/event_emitter").EventEmitter;
165
+ var oop = window.require("ace/lib/oop");
166
+
167
+ var Sender = function() {};
168
+
169
+ (function() {
170
+
171
+ oop.implement(this, EventEmitter);
172
+
173
+ this.callback = function(data, callbackId) {
174
+ postMessage({
175
+ type: "call",
176
+ id: callbackId,
177
+ data: data
178
+ });
179
+ };
180
+
181
+ this.emit = function(name, data) {
182
+ postMessage({
183
+ type: "event",
184
+ name: name,
185
+ data: data
186
+ });
187
+ };
188
+
189
+ }).call(Sender.prototype);
190
+
191
+ return new Sender();
192
+ };
193
+
194
+ var main = window.main = null;
195
+ var sender = window.sender = null;
196
+
197
+ window.onmessage = function(e) {
198
+ var msg = e.data;
199
+ if (msg.event && sender) {
200
+ sender._signal(msg.event, msg.data);
201
+ }
202
+ else if (msg.command) {
203
+ if (main[msg.command])
204
+ main[msg.command].apply(main, msg.args);
205
+ else if (window[msg.command])
206
+ window[msg.command].apply(window, msg.args);
207
+ else
208
+ throw new Error("Unknown command:" + msg.command);
209
+ }
210
+ else if (msg.init) {
211
+ window.initBaseUrls(msg.tlns);
212
+ sender = window.sender = window.initSender();
213
+ var clazz = this.require(msg.module)[msg.classname];
214
+ main = window.main = new clazz(sender);
215
+ }
216
+ };
217
+ })(this);
218
+
219
+ ace.define("ace/lib/oop",[], function(require, exports, module){"use strict";
220
+ exports.inherits = function (ctor, superCtor) {
221
+ ctor.super_ = superCtor;
222
+ ctor.prototype = Object.create(superCtor.prototype, {
223
+ constructor: {
224
+ value: ctor,
225
+ enumerable: false,
226
+ writable: true,
227
+ configurable: true
228
+ }
229
+ });
230
+ };
231
+ exports.mixin = function (obj, mixin) {
232
+ for (var key in mixin) {
233
+ obj[key] = mixin[key];
234
+ }
235
+ return obj;
236
+ };
237
+ exports.implement = function (proto, mixin) {
238
+ exports.mixin(proto, mixin);
239
+ };
240
+
241
+ });
242
+
243
+ ace.define("ace/apply_delta",[], function(require, exports, module){"use strict";
244
+ function throwDeltaError(delta, errorText) {
245
+ console.log("Invalid Delta:", delta);
246
+ throw "Invalid Delta: " + errorText;
247
+ }
248
+ function positionInDocument(docLines, position) {
249
+ return position.row >= 0 && position.row < docLines.length &&
250
+ position.column >= 0 && position.column <= docLines[position.row].length;
251
+ }
252
+ function validateDelta(docLines, delta) {
253
+ if (delta.action != "insert" && delta.action != "remove")
254
+ throwDeltaError(delta, "delta.action must be 'insert' or 'remove'");
255
+ if (!(delta.lines instanceof Array))
256
+ throwDeltaError(delta, "delta.lines must be an Array");
257
+ if (!delta.start || !delta.end)
258
+ throwDeltaError(delta, "delta.start/end must be an present");
259
+ var start = delta.start;
260
+ if (!positionInDocument(docLines, delta.start))
261
+ throwDeltaError(delta, "delta.start must be contained in document");
262
+ var end = delta.end;
263
+ if (delta.action == "remove" && !positionInDocument(docLines, end))
264
+ throwDeltaError(delta, "delta.end must contained in document for 'remove' actions");
265
+ var numRangeRows = end.row - start.row;
266
+ var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));
267
+ if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)
268
+ throwDeltaError(delta, "delta.range must match delta lines");
269
+ }
270
+ exports.applyDelta = function (docLines, delta, doNotValidate) {
271
+ var row = delta.start.row;
272
+ var startColumn = delta.start.column;
273
+ var line = docLines[row] || "";
274
+ switch (delta.action) {
275
+ case "insert":
276
+ var lines = delta.lines;
277
+ if (lines.length === 1) {
278
+ docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);
279
+ }
280
+ else {
281
+ var args = [row, 1].concat(delta.lines);
282
+ docLines.splice.apply(docLines, args);
283
+ docLines[row] = line.substring(0, startColumn) + docLines[row];
284
+ docLines[row + delta.lines.length - 1] += line.substring(startColumn);
285
+ }
286
+ break;
287
+ case "remove":
288
+ var endColumn = delta.end.column;
289
+ var endRow = delta.end.row;
290
+ if (row === endRow) {
291
+ docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);
292
+ }
293
+ else {
294
+ docLines.splice(row, endRow - row + 1, line.substring(0, startColumn) + docLines[endRow].substring(endColumn));
295
+ }
296
+ break;
297
+ }
298
+ };
299
+
300
+ });
301
+
302
+ ace.define("ace/lib/event_emitter",[], function(require, exports, module){"use strict";
303
+ var EventEmitter = {};
304
+ var stopPropagation = function () { this.propagationStopped = true; };
305
+ var preventDefault = function () { this.defaultPrevented = true; };
306
+ EventEmitter._emit =
307
+ EventEmitter._dispatchEvent = function (eventName, e) {
308
+ this._eventRegistry || (this._eventRegistry = {});
309
+ this._defaultHandlers || (this._defaultHandlers = {});
310
+ var listeners = this._eventRegistry[eventName] || [];
311
+ var defaultHandler = this._defaultHandlers[eventName];
312
+ if (!listeners.length && !defaultHandler)
313
+ return;
314
+ if (typeof e != "object" || !e)
315
+ e = {};
316
+ if (!e.type)
317
+ e.type = eventName;
318
+ if (!e.stopPropagation)
319
+ e.stopPropagation = stopPropagation;
320
+ if (!e.preventDefault)
321
+ e.preventDefault = preventDefault;
322
+ listeners = listeners.slice();
323
+ for (var i = 0; i < listeners.length; i++) {
324
+ listeners[i](e, this);
325
+ if (e.propagationStopped)
326
+ break;
327
+ }
328
+ if (defaultHandler && !e.defaultPrevented)
329
+ return defaultHandler(e, this);
330
+ };
331
+ EventEmitter._signal = function (eventName, e) {
332
+ var listeners = (this._eventRegistry || {})[eventName];
333
+ if (!listeners)
334
+ return;
335
+ listeners = listeners.slice();
336
+ for (var i = 0; i < listeners.length; i++)
337
+ listeners[i](e, this);
338
+ };
339
+ EventEmitter.once = function (eventName, callback) {
340
+ var _self = this;
341
+ this.on(eventName, function newCallback() {
342
+ _self.off(eventName, newCallback);
343
+ callback.apply(null, arguments);
344
+ });
345
+ if (!callback) {
346
+ return new Promise(function (resolve) {
347
+ callback = resolve;
348
+ });
349
+ }
350
+ };
351
+ EventEmitter.setDefaultHandler = function (eventName, callback) {
352
+ var handlers = this._defaultHandlers;
353
+ if (!handlers)
354
+ handlers = this._defaultHandlers = { _disabled_: {} };
355
+ if (handlers[eventName]) {
356
+ var old = handlers[eventName];
357
+ var disabled = handlers._disabled_[eventName];
358
+ if (!disabled)
359
+ handlers._disabled_[eventName] = disabled = [];
360
+ disabled.push(old);
361
+ var i = disabled.indexOf(callback);
362
+ if (i != -1)
363
+ disabled.splice(i, 1);
364
+ }
365
+ handlers[eventName] = callback;
366
+ };
367
+ EventEmitter.removeDefaultHandler = function (eventName, callback) {
368
+ var handlers = this._defaultHandlers;
369
+ if (!handlers)
370
+ return;
371
+ var disabled = handlers._disabled_[eventName];
372
+ if (handlers[eventName] == callback) {
373
+ if (disabled)
374
+ this.setDefaultHandler(eventName, disabled.pop());
375
+ }
376
+ else if (disabled) {
377
+ var i = disabled.indexOf(callback);
378
+ if (i != -1)
379
+ disabled.splice(i, 1);
380
+ }
381
+ };
382
+ EventEmitter.on =
383
+ EventEmitter.addEventListener = function (eventName, callback, capturing) {
384
+ this._eventRegistry = this._eventRegistry || {};
385
+ var listeners = this._eventRegistry[eventName];
386
+ if (!listeners)
387
+ listeners = this._eventRegistry[eventName] = [];
388
+ if (listeners.indexOf(callback) == -1)
389
+ listeners[capturing ? "unshift" : "push"](callback);
390
+ return callback;
391
+ };
392
+ EventEmitter.off =
393
+ EventEmitter.removeListener =
394
+ EventEmitter.removeEventListener = function (eventName, callback) {
395
+ this._eventRegistry = this._eventRegistry || {};
396
+ var listeners = this._eventRegistry[eventName];
397
+ if (!listeners)
398
+ return;
399
+ var index = listeners.indexOf(callback);
400
+ if (index !== -1)
401
+ listeners.splice(index, 1);
402
+ };
403
+ EventEmitter.removeAllListeners = function (eventName) {
404
+ if (!eventName)
405
+ this._eventRegistry = this._defaultHandlers = undefined;
406
+ if (this._eventRegistry)
407
+ this._eventRegistry[eventName] = undefined;
408
+ if (this._defaultHandlers)
409
+ this._defaultHandlers[eventName] = undefined;
410
+ };
411
+ exports.EventEmitter = EventEmitter;
412
+
413
+ });
414
+
415
+ ace.define("ace/range",[], function(require, exports, module){"use strict";
416
+ var Range = /** @class */ (function () {
417
+ function Range(startRow, startColumn, endRow, endColumn) {
418
+ this.start = {
419
+ row: startRow,
420
+ column: startColumn
421
+ };
422
+ this.end = {
423
+ row: endRow,
424
+ column: endColumn
425
+ };
426
+ }
427
+ Range.prototype.isEqual = function (range) {
428
+ return this.start.row === range.start.row &&
429
+ this.end.row === range.end.row &&
430
+ this.start.column === range.start.column &&
431
+ this.end.column === range.end.column;
432
+ };
433
+ Range.prototype.toString = function () {
434
+ return ("Range: [" + this.start.row + "/" + this.start.column +
435
+ "] -> [" + this.end.row + "/" + this.end.column + "]");
436
+ };
437
+ Range.prototype.contains = function (row, column) {
438
+ return this.compare(row, column) == 0;
439
+ };
440
+ Range.prototype.compareRange = function (range) {
441
+ var cmp, end = range.end, start = range.start;
442
+ cmp = this.compare(end.row, end.column);
443
+ if (cmp == 1) {
444
+ cmp = this.compare(start.row, start.column);
445
+ if (cmp == 1) {
446
+ return 2;
447
+ }
448
+ else if (cmp == 0) {
449
+ return 1;
450
+ }
451
+ else {
452
+ return 0;
453
+ }
454
+ }
455
+ else if (cmp == -1) {
456
+ return -2;
457
+ }
458
+ else {
459
+ cmp = this.compare(start.row, start.column);
460
+ if (cmp == -1) {
461
+ return -1;
462
+ }
463
+ else if (cmp == 1) {
464
+ return 42;
465
+ }
466
+ else {
467
+ return 0;
468
+ }
469
+ }
470
+ };
471
+ Range.prototype.comparePoint = function (p) {
472
+ return this.compare(p.row, p.column);
473
+ };
474
+ Range.prototype.containsRange = function (range) {
475
+ return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
476
+ };
477
+ Range.prototype.intersects = function (range) {
478
+ var cmp = this.compareRange(range);
479
+ return (cmp == -1 || cmp == 0 || cmp == 1);
480
+ };
481
+ Range.prototype.isEnd = function (row, column) {
482
+ return this.end.row == row && this.end.column == column;
483
+ };
484
+ Range.prototype.isStart = function (row, column) {
485
+ return this.start.row == row && this.start.column == column;
486
+ };
487
+ Range.prototype.setStart = function (row, column) {
488
+ if (typeof row == "object") {
489
+ this.start.column = row.column;
490
+ this.start.row = row.row;
491
+ }
492
+ else {
493
+ this.start.row = row;
494
+ this.start.column = column;
495
+ }
496
+ };
497
+ Range.prototype.setEnd = function (row, column) {
498
+ if (typeof row == "object") {
499
+ this.end.column = row.column;
500
+ this.end.row = row.row;
501
+ }
502
+ else {
503
+ this.end.row = row;
504
+ this.end.column = column;
505
+ }
506
+ };
507
+ Range.prototype.inside = function (row, column) {
508
+ if (this.compare(row, column) == 0) {
509
+ if (this.isEnd(row, column) || this.isStart(row, column)) {
510
+ return false;
511
+ }
512
+ else {
513
+ return true;
514
+ }
515
+ }
516
+ return false;
517
+ };
518
+ Range.prototype.insideStart = function (row, column) {
519
+ if (this.compare(row, column) == 0) {
520
+ if (this.isEnd(row, column)) {
521
+ return false;
522
+ }
523
+ else {
524
+ return true;
525
+ }
526
+ }
527
+ return false;
528
+ };
529
+ Range.prototype.insideEnd = function (row, column) {
530
+ if (this.compare(row, column) == 0) {
531
+ if (this.isStart(row, column)) {
532
+ return false;
533
+ }
534
+ else {
535
+ return true;
536
+ }
537
+ }
538
+ return false;
539
+ };
540
+ Range.prototype.compare = function (row, column) {
541
+ if (!this.isMultiLine()) {
542
+ if (row === this.start.row) {
543
+ return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
544
+ }
545
+ }
546
+ if (row < this.start.row)
547
+ return -1;
548
+ if (row > this.end.row)
549
+ return 1;
550
+ if (this.start.row === row)
551
+ return column >= this.start.column ? 0 : -1;
552
+ if (this.end.row === row)
553
+ return column <= this.end.column ? 0 : 1;
554
+ return 0;
555
+ };
556
+ Range.prototype.compareStart = function (row, column) {
557
+ if (this.start.row == row && this.start.column == column) {
558
+ return -1;
559
+ }
560
+ else {
561
+ return this.compare(row, column);
562
+ }
563
+ };
564
+ Range.prototype.compareEnd = function (row, column) {
565
+ if (this.end.row == row && this.end.column == column) {
566
+ return 1;
567
+ }
568
+ else {
569
+ return this.compare(row, column);
570
+ }
571
+ };
572
+ Range.prototype.compareInside = function (row, column) {
573
+ if (this.end.row == row && this.end.column == column) {
574
+ return 1;
575
+ }
576
+ else if (this.start.row == row && this.start.column == column) {
577
+ return -1;
578
+ }
579
+ else {
580
+ return this.compare(row, column);
581
+ }
582
+ };
583
+ Range.prototype.clipRows = function (firstRow, lastRow) {
584
+ if (this.end.row > lastRow)
585
+ var end = { row: lastRow + 1, column: 0 };
586
+ else if (this.end.row < firstRow)
587
+ var end = { row: firstRow, column: 0 };
588
+ if (this.start.row > lastRow)
589
+ var start = { row: lastRow + 1, column: 0 };
590
+ else if (this.start.row < firstRow)
591
+ var start = { row: firstRow, column: 0 };
592
+ return Range.fromPoints(start || this.start, end || this.end);
593
+ };
594
+ Range.prototype.extend = function (row, column) {
595
+ var cmp = this.compare(row, column);
596
+ if (cmp == 0)
597
+ return this;
598
+ else if (cmp == -1)
599
+ var start = { row: row, column: column };
600
+ else
601
+ var end = { row: row, column: column };
602
+ return Range.fromPoints(start || this.start, end || this.end);
603
+ };
604
+ Range.prototype.isEmpty = function () {
605
+ return (this.start.row === this.end.row && this.start.column === this.end.column);
606
+ };
607
+ Range.prototype.isMultiLine = function () {
608
+ return (this.start.row !== this.end.row);
609
+ };
610
+ Range.prototype.clone = function () {
611
+ return Range.fromPoints(this.start, this.end);
612
+ };
613
+ Range.prototype.collapseRows = function () {
614
+ if (this.end.column == 0)
615
+ return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row - 1), 0);
616
+ else
617
+ return new Range(this.start.row, 0, this.end.row, 0);
618
+ };
619
+ Range.prototype.toScreenRange = function (session) {
620
+ var screenPosStart = session.documentToScreenPosition(this.start);
621
+ var screenPosEnd = session.documentToScreenPosition(this.end);
622
+ return new Range(screenPosStart.row, screenPosStart.column, screenPosEnd.row, screenPosEnd.column);
623
+ };
624
+ Range.prototype.moveBy = function (row, column) {
625
+ this.start.row += row;
626
+ this.start.column += column;
627
+ this.end.row += row;
628
+ this.end.column += column;
629
+ };
630
+ return Range;
631
+ }());
632
+ Range.fromPoints = function (start, end) {
633
+ return new Range(start.row, start.column, end.row, end.column);
634
+ };
635
+ Range.comparePoints = function (p1, p2) {
636
+ return p1.row - p2.row || p1.column - p2.column;
637
+ };
638
+ exports.Range = Range;
639
+
640
+ });
641
+
642
+ ace.define("ace/anchor",[], function(require, exports, module){"use strict";
643
+ var oop = require("./lib/oop");
644
+ var EventEmitter = require("./lib/event_emitter").EventEmitter;
645
+ var Anchor = /** @class */ (function () {
646
+ function Anchor(doc, row, column) {
647
+ this.$onChange = this.onChange.bind(this);
648
+ this.attach(doc);
649
+ if (typeof row != "number")
650
+ this.setPosition(row.row, row.column);
651
+ else
652
+ this.setPosition(row, column);
653
+ }
654
+ Anchor.prototype.getPosition = function () {
655
+ return this.$clipPositionToDocument(this.row, this.column);
656
+ };
657
+ Anchor.prototype.getDocument = function () {
658
+ return this.document;
659
+ };
660
+ Anchor.prototype.onChange = function (delta) {
661
+ if (delta.start.row == delta.end.row && delta.start.row != this.row)
662
+ return;
663
+ if (delta.start.row > this.row)
664
+ return;
665
+ var point = $getTransformedPoint(delta, { row: this.row, column: this.column }, this.$insertRight);
666
+ this.setPosition(point.row, point.column, true);
667
+ };
668
+ Anchor.prototype.setPosition = function (row, column, noClip) {
669
+ var pos;
670
+ if (noClip) {
671
+ pos = {
672
+ row: row,
673
+ column: column
674
+ };
675
+ }
676
+ else {
677
+ pos = this.$clipPositionToDocument(row, column);
678
+ }
679
+ if (this.row == pos.row && this.column == pos.column)
680
+ return;
681
+ var old = {
682
+ row: this.row,
683
+ column: this.column
684
+ };
685
+ this.row = pos.row;
686
+ this.column = pos.column;
687
+ this._signal("change", {
688
+ old: old,
689
+ value: pos
690
+ });
691
+ };
692
+ Anchor.prototype.detach = function () {
693
+ this.document.off("change", this.$onChange);
694
+ };
695
+ Anchor.prototype.attach = function (doc) {
696
+ this.document = doc || this.document;
697
+ this.document.on("change", this.$onChange);
698
+ };
699
+ Anchor.prototype.$clipPositionToDocument = function (row, column) {
700
+ var pos = {};
701
+ if (row >= this.document.getLength()) {
702
+ pos.row = Math.max(0, this.document.getLength() - 1);
703
+ pos.column = this.document.getLine(pos.row).length;
704
+ }
705
+ else if (row < 0) {
706
+ pos.row = 0;
707
+ pos.column = 0;
708
+ }
709
+ else {
710
+ pos.row = row;
711
+ pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
712
+ }
713
+ if (column < 0)
714
+ pos.column = 0;
715
+ return pos;
716
+ };
717
+ return Anchor;
718
+ }());
719
+ Anchor.prototype.$insertRight = false;
720
+ oop.implement(Anchor.prototype, EventEmitter);
721
+ function $pointsInOrder(point1, point2, equalPointsInOrder) {
722
+ var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
723
+ return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
724
+ }
725
+ function $getTransformedPoint(delta, point, moveIfEqual) {
726
+ var deltaIsInsert = delta.action == "insert";
727
+ var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);
728
+ var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);
729
+ var deltaStart = delta.start;
730
+ var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.
731
+ if ($pointsInOrder(point, deltaStart, moveIfEqual)) {
732
+ return {
733
+ row: point.row,
734
+ column: point.column
735
+ };
736
+ }
737
+ if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {
738
+ return {
739
+ row: point.row + deltaRowShift,
740
+ column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)
741
+ };
742
+ }
743
+ return {
744
+ row: deltaStart.row,
745
+ column: deltaStart.column
746
+ };
747
+ }
748
+ exports.Anchor = Anchor;
749
+
750
+ });
751
+
752
+ ace.define("ace/document",[], function(require, exports, module){"use strict";
753
+ var oop = require("./lib/oop");
754
+ var applyDelta = require("./apply_delta").applyDelta;
755
+ var EventEmitter = require("./lib/event_emitter").EventEmitter;
756
+ var Range = require("./range").Range;
757
+ var Anchor = require("./anchor").Anchor;
758
+ var Document = /** @class */ (function () {
759
+ function Document(textOrLines) {
760
+ this.$lines = [""];
761
+ if (textOrLines.length === 0) {
762
+ this.$lines = [""];
763
+ }
764
+ else if (Array.isArray(textOrLines)) {
765
+ this.insertMergedLines({ row: 0, column: 0 }, textOrLines);
766
+ }
767
+ else {
768
+ this.insert({ row: 0, column: 0 }, textOrLines);
769
+ }
770
+ }
771
+ Document.prototype.setValue = function (text) {
772
+ var len = this.getLength() - 1;
773
+ this.remove(new Range(0, 0, len, this.getLine(len).length));
774
+ this.insert({ row: 0, column: 0 }, text || "");
775
+ };
776
+ Document.prototype.getValue = function () {
777
+ return this.getAllLines().join(this.getNewLineCharacter());
778
+ };
779
+ Document.prototype.createAnchor = function (row, column) {
780
+ return new Anchor(this, row, column);
781
+ };
782
+ Document.prototype.$detectNewLine = function (text) {
783
+ var match = text.match(/^.*?(\r\n|\r|\n)/m);
784
+ this.$autoNewLine = match ? match[1] : "\n";
785
+ this._signal("changeNewLineMode");
786
+ };
787
+ Document.prototype.getNewLineCharacter = function () {
788
+ switch (this.$newLineMode) {
789
+ case "windows":
790
+ return "\r\n";
791
+ case "unix":
792
+ return "\n";
793
+ default:
794
+ return this.$autoNewLine || "\n";
795
+ }
796
+ };
797
+ Document.prototype.setNewLineMode = function (newLineMode) {
798
+ if (this.$newLineMode === newLineMode)
799
+ return;
800
+ this.$newLineMode = newLineMode;
801
+ this._signal("changeNewLineMode");
802
+ };
803
+ Document.prototype.getNewLineMode = function () {
804
+ return this.$newLineMode;
805
+ };
806
+ Document.prototype.isNewLine = function (text) {
807
+ return (text == "\r\n" || text == "\r" || text == "\n");
808
+ };
809
+ Document.prototype.getLine = function (row) {
810
+ return this.$lines[row] || "";
811
+ };
812
+ Document.prototype.getLines = function (firstRow, lastRow) {
813
+ return this.$lines.slice(firstRow, lastRow + 1);
814
+ };
815
+ Document.prototype.getAllLines = function () {
816
+ return this.getLines(0, this.getLength());
817
+ };
818
+ Document.prototype.getLength = function () {
819
+ return this.$lines.length;
820
+ };
821
+ Document.prototype.getTextRange = function (range) {
822
+ return this.getLinesForRange(range).join(this.getNewLineCharacter());
823
+ };
824
+ Document.prototype.getLinesForRange = function (range) {
825
+ var lines;
826
+ if (range.start.row === range.end.row) {
827
+ lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];
828
+ }
829
+ else {
830
+ lines = this.getLines(range.start.row, range.end.row);
831
+ lines[0] = (lines[0] || "").substring(range.start.column);
832
+ var l = lines.length - 1;
833
+ if (range.end.row - range.start.row == l)
834
+ lines[l] = lines[l].substring(0, range.end.column);
835
+ }
836
+ return lines;
837
+ };
838
+ Document.prototype.insertLines = function (row, lines) {
839
+ console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead.");
840
+ return this.insertFullLines(row, lines);
841
+ };
842
+ Document.prototype.removeLines = function (firstRow, lastRow) {
843
+ console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead.");
844
+ return this.removeFullLines(firstRow, lastRow);
845
+ };
846
+ Document.prototype.insertNewLine = function (position) {
847
+ console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");
848
+ return this.insertMergedLines(position, ["", ""]);
849
+ };
850
+ Document.prototype.insert = function (position, text) {
851
+ if (this.getLength() <= 1)
852
+ this.$detectNewLine(text);
853
+ return this.insertMergedLines(position, this.$split(text));
854
+ };
855
+ Document.prototype.insertInLine = function (position, text) {
856
+ var start = this.clippedPos(position.row, position.column);
857
+ var end = this.pos(position.row, position.column + text.length);
858
+ this.applyDelta({
859
+ start: start,
860
+ end: end,
861
+ action: "insert",
862
+ lines: [text]
863
+ }, true);
864
+ return this.clonePos(end);
865
+ };
866
+ Document.prototype.clippedPos = function (row, column) {
867
+ var length = this.getLength();
868
+ if (row === undefined) {
869
+ row = length;
870
+ }
871
+ else if (row < 0) {
872
+ row = 0;
873
+ }
874
+ else if (row >= length) {
875
+ row = length - 1;
876
+ column = undefined;
877
+ }
878
+ var line = this.getLine(row);
879
+ if (column == undefined)
880
+ column = line.length;
881
+ column = Math.min(Math.max(column, 0), line.length);
882
+ return { row: row, column: column };
883
+ };
884
+ Document.prototype.clonePos = function (pos) {
885
+ return { row: pos.row, column: pos.column };
886
+ };
887
+ Document.prototype.pos = function (row, column) {
888
+ return { row: row, column: column };
889
+ };
890
+ Document.prototype.$clipPosition = function (position) {
891
+ var length = this.getLength();
892
+ if (position.row >= length) {
893
+ position.row = Math.max(0, length - 1);
894
+ position.column = this.getLine(length - 1).length;
895
+ }
896
+ else {
897
+ position.row = Math.max(0, position.row);
898
+ position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);
899
+ }
900
+ return position;
901
+ };
902
+ Document.prototype.insertFullLines = function (row, lines) {
903
+ row = Math.min(Math.max(row, 0), this.getLength());
904
+ var column = 0;
905
+ if (row < this.getLength()) {
906
+ lines = lines.concat([""]);
907
+ column = 0;
908
+ }
909
+ else {
910
+ lines = [""].concat(lines);
911
+ row--;
912
+ column = this.$lines[row].length;
913
+ }
914
+ this.insertMergedLines({ row: row, column: column }, lines);
915
+ };
916
+ Document.prototype.insertMergedLines = function (position, lines) {
917
+ var start = this.clippedPos(position.row, position.column);
918
+ var end = {
919
+ row: start.row + lines.length - 1,
920
+ column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length
921
+ };
922
+ this.applyDelta({
923
+ start: start,
924
+ end: end,
925
+ action: "insert",
926
+ lines: lines
927
+ });
928
+ return this.clonePos(end);
929
+ };
930
+ Document.prototype.remove = function (range) {
931
+ var start = this.clippedPos(range.start.row, range.start.column);
932
+ var end = this.clippedPos(range.end.row, range.end.column);
933
+ this.applyDelta({
934
+ start: start,
935
+ end: end,
936
+ action: "remove",
937
+ lines: this.getLinesForRange({ start: start, end: end })
938
+ });
939
+ return this.clonePos(start);
940
+ };
941
+ Document.prototype.removeInLine = function (row, startColumn, endColumn) {
942
+ var start = this.clippedPos(row, startColumn);
943
+ var end = this.clippedPos(row, endColumn);
944
+ this.applyDelta({
945
+ start: start,
946
+ end: end,
947
+ action: "remove",
948
+ lines: this.getLinesForRange({ start: start, end: end })
949
+ }, true);
950
+ return this.clonePos(start);
951
+ };
952
+ Document.prototype.removeFullLines = function (firstRow, lastRow) {
953
+ firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);
954
+ lastRow = Math.min(Math.max(0, lastRow), this.getLength() - 1);
955
+ var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;
956
+ var deleteLastNewLine = lastRow < this.getLength() - 1;
957
+ var startRow = (deleteFirstNewLine ? firstRow - 1 : firstRow);
958
+ var startCol = (deleteFirstNewLine ? this.getLine(startRow).length : 0);
959
+ var endRow = (deleteLastNewLine ? lastRow + 1 : lastRow);
960
+ var endCol = (deleteLastNewLine ? 0 : this.getLine(endRow).length);
961
+ var range = new Range(startRow, startCol, endRow, endCol);
962
+ var deletedLines = this.$lines.slice(firstRow, lastRow + 1);
963
+ this.applyDelta({
964
+ start: range.start,
965
+ end: range.end,
966
+ action: "remove",
967
+ lines: this.getLinesForRange(range)
968
+ });
969
+ return deletedLines;
970
+ };
971
+ Document.prototype.removeNewLine = function (row) {
972
+ if (row < this.getLength() - 1 && row >= 0) {
973
+ this.applyDelta({
974
+ start: this.pos(row, this.getLine(row).length),
975
+ end: this.pos(row + 1, 0),
976
+ action: "remove",
977
+ lines: ["", ""]
978
+ });
979
+ }
980
+ };
981
+ Document.prototype.replace = function (range, text) {
982
+ if (!(range instanceof Range))
983
+ range = Range.fromPoints(range.start, range.end);
984
+ if (text.length === 0 && range.isEmpty())
985
+ return range.start;
986
+ if (text == this.getTextRange(range))
987
+ return range.end;
988
+ this.remove(range);
989
+ var end;
990
+ if (text) {
991
+ end = this.insert(range.start, text);
992
+ }
993
+ else {
994
+ end = range.start;
995
+ }
996
+ return end;
997
+ };
998
+ Document.prototype.applyDeltas = function (deltas) {
999
+ for (var i = 0; i < deltas.length; i++) {
1000
+ this.applyDelta(deltas[i]);
1001
+ }
1002
+ };
1003
+ Document.prototype.revertDeltas = function (deltas) {
1004
+ for (var i = deltas.length - 1; i >= 0; i--) {
1005
+ this.revertDelta(deltas[i]);
1006
+ }
1007
+ };
1008
+ Document.prototype.applyDelta = function (delta, doNotValidate) {
1009
+ var isInsert = delta.action == "insert";
1010
+ if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]
1011
+ : !Range.comparePoints(delta.start, delta.end)) {
1012
+ return;
1013
+ }
1014
+ if (isInsert && delta.lines.length > 20000) {
1015
+ this.$splitAndapplyLargeDelta(delta, 20000);
1016
+ }
1017
+ else {
1018
+ applyDelta(this.$lines, delta, doNotValidate);
1019
+ this._signal("change", delta);
1020
+ }
1021
+ };
1022
+ Document.prototype.$safeApplyDelta = function (delta) {
1023
+ var docLength = this.$lines.length;
1024
+ if (delta.action == "remove" && delta.start.row < docLength && delta.end.row < docLength
1025
+ || delta.action == "insert" && delta.start.row <= docLength) {
1026
+ this.applyDelta(delta);
1027
+ }
1028
+ };
1029
+ Document.prototype.$splitAndapplyLargeDelta = function (delta, MAX) {
1030
+ var lines = delta.lines;
1031
+ var l = lines.length - MAX + 1;
1032
+ var row = delta.start.row;
1033
+ var column = delta.start.column;
1034
+ for (var from = 0, to = 0; from < l; from = to) {
1035
+ to += MAX - 1;
1036
+ var chunk = lines.slice(from, to);
1037
+ chunk.push("");
1038
+ this.applyDelta({
1039
+ start: this.pos(row + from, column),
1040
+ end: this.pos(row + to, column = 0),
1041
+ action: delta.action,
1042
+ lines: chunk
1043
+ }, true);
1044
+ }
1045
+ delta.lines = lines.slice(from);
1046
+ delta.start.row = row + from;
1047
+ delta.start.column = column;
1048
+ this.applyDelta(delta, true);
1049
+ };
1050
+ Document.prototype.revertDelta = function (delta) {
1051
+ this.$safeApplyDelta({
1052
+ start: this.clonePos(delta.start),
1053
+ end: this.clonePos(delta.end),
1054
+ action: (delta.action == "insert" ? "remove" : "insert"),
1055
+ lines: delta.lines.slice()
1056
+ });
1057
+ };
1058
+ Document.prototype.indexToPosition = function (index, startRow) {
1059
+ var lines = this.$lines || this.getAllLines();
1060
+ var newlineLength = this.getNewLineCharacter().length;
1061
+ for (var i = startRow || 0, l = lines.length; i < l; i++) {
1062
+ index -= lines[i].length + newlineLength;
1063
+ if (index < 0)
1064
+ return { row: i, column: index + lines[i].length + newlineLength };
1065
+ }
1066
+ return { row: l - 1, column: index + lines[l - 1].length + newlineLength };
1067
+ };
1068
+ Document.prototype.positionToIndex = function (pos, startRow) {
1069
+ var lines = this.$lines || this.getAllLines();
1070
+ var newlineLength = this.getNewLineCharacter().length;
1071
+ var index = 0;
1072
+ var row = Math.min(pos.row, lines.length);
1073
+ for (var i = startRow || 0; i < row; ++i)
1074
+ index += lines[i].length + newlineLength;
1075
+ return index + pos.column;
1076
+ };
1077
+ Document.prototype.$split = function (text) {
1078
+ return text.split(/\r\n|\r|\n/);
1079
+ };
1080
+ return Document;
1081
+ }());
1082
+ Document.prototype.$autoNewLine = "";
1083
+ Document.prototype.$newLineMode = "auto";
1084
+ oop.implement(Document.prototype, EventEmitter);
1085
+ exports.Document = Document;
1086
+
1087
+ });
1088
+
1089
+ ace.define("ace/lib/deep_copy",[], function(require, exports, module){exports.deepCopy = function deepCopy(obj) {
1090
+ if (typeof obj !== "object" || !obj)
1091
+ return obj;
1092
+ var copy;
1093
+ if (Array.isArray(obj)) {
1094
+ copy = [];
1095
+ for (var key = 0; key < obj.length; key++) {
1096
+ copy[key] = deepCopy(obj[key]);
1097
+ }
1098
+ return copy;
1099
+ }
1100
+ if (Object.prototype.toString.call(obj) !== "[object Object]")
1101
+ return obj;
1102
+ copy = {};
1103
+ for (var key in obj)
1104
+ copy[key] = deepCopy(obj[key]);
1105
+ return copy;
1106
+ };
1107
+
1108
+ });
1109
+
1110
+ ace.define("ace/lib/lang",[], function(require, exports, module){"use strict";
1111
+ exports.last = function (a) {
1112
+ return a[a.length - 1];
1113
+ };
1114
+ exports.stringReverse = function (string) {
1115
+ return string.split("").reverse().join("");
1116
+ };
1117
+ exports.stringRepeat = function (string, count) {
1118
+ var result = '';
1119
+ while (count > 0) {
1120
+ if (count & 1)
1121
+ result += string;
1122
+ if (count >>= 1)
1123
+ string += string;
1124
+ }
1125
+ return result;
1126
+ };
1127
+ var trimBeginRegexp = /^\s\s*/;
1128
+ var trimEndRegexp = /\s\s*$/;
1129
+ exports.stringTrimLeft = function (string) {
1130
+ return string.replace(trimBeginRegexp, '');
1131
+ };
1132
+ exports.stringTrimRight = function (string) {
1133
+ return string.replace(trimEndRegexp, '');
1134
+ };
1135
+ exports.copyObject = function (obj) {
1136
+ var copy = {};
1137
+ for (var key in obj) {
1138
+ copy[key] = obj[key];
1139
+ }
1140
+ return copy;
1141
+ };
1142
+ exports.copyArray = function (array) {
1143
+ var copy = [];
1144
+ for (var i = 0, l = array.length; i < l; i++) {
1145
+ if (array[i] && typeof array[i] == "object")
1146
+ copy[i] = this.copyObject(array[i]);
1147
+ else
1148
+ copy[i] = array[i];
1149
+ }
1150
+ return copy;
1151
+ };
1152
+ exports.deepCopy = require("./deep_copy").deepCopy;
1153
+ exports.arrayToMap = function (arr) {
1154
+ var map = {};
1155
+ for (var i = 0; i < arr.length; i++) {
1156
+ map[arr[i]] = 1;
1157
+ }
1158
+ return map;
1159
+ };
1160
+ exports.createMap = function (props) {
1161
+ var map = Object.create(null);
1162
+ for (var i in props) {
1163
+ map[i] = props[i];
1164
+ }
1165
+ return map;
1166
+ };
1167
+ exports.arrayRemove = function (array, value) {
1168
+ for (var i = 0; i <= array.length; i++) {
1169
+ if (value === array[i]) {
1170
+ array.splice(i, 1);
1171
+ }
1172
+ }
1173
+ };
1174
+ exports.escapeRegExp = function (str) {
1175
+ return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
1176
+ };
1177
+ exports.escapeHTML = function (str) {
1178
+ return ("" + str).replace(/&/g, "&#38;").replace(/"/g, "&#34;").replace(/'/g, "&#39;").replace(/</g, "&#60;");
1179
+ };
1180
+ exports.getMatchOffsets = function (string, regExp) {
1181
+ var matches = [];
1182
+ string.replace(regExp, function (str) {
1183
+ matches.push({
1184
+ offset: arguments[arguments.length - 2],
1185
+ length: str.length
1186
+ });
1187
+ });
1188
+ return matches;
1189
+ };
1190
+ exports.deferredCall = function (fcn) {
1191
+ var timer = null;
1192
+ var callback = function () {
1193
+ timer = null;
1194
+ fcn();
1195
+ };
1196
+ var deferred = function (timeout) {
1197
+ deferred.cancel();
1198
+ timer = setTimeout(callback, timeout || 0);
1199
+ return deferred;
1200
+ };
1201
+ deferred.schedule = deferred;
1202
+ deferred.call = function () {
1203
+ this.cancel();
1204
+ fcn();
1205
+ return deferred;
1206
+ };
1207
+ deferred.cancel = function () {
1208
+ clearTimeout(timer);
1209
+ timer = null;
1210
+ return deferred;
1211
+ };
1212
+ deferred.isPending = function () {
1213
+ return timer;
1214
+ };
1215
+ return deferred;
1216
+ };
1217
+ exports.delayedCall = function (fcn, defaultTimeout) {
1218
+ var timer = null;
1219
+ var callback = function () {
1220
+ timer = null;
1221
+ fcn();
1222
+ };
1223
+ var _self = function (timeout) {
1224
+ if (timer == null)
1225
+ timer = setTimeout(callback, timeout || defaultTimeout);
1226
+ };
1227
+ _self.delay = function (timeout) {
1228
+ timer && clearTimeout(timer);
1229
+ timer = setTimeout(callback, timeout || defaultTimeout);
1230
+ };
1231
+ _self.schedule = _self;
1232
+ _self.call = function () {
1233
+ this.cancel();
1234
+ fcn();
1235
+ };
1236
+ _self.cancel = function () {
1237
+ timer && clearTimeout(timer);
1238
+ timer = null;
1239
+ };
1240
+ _self.isPending = function () {
1241
+ return timer;
1242
+ };
1243
+ return _self;
1244
+ };
1245
+ exports.supportsLookbehind = function () {
1246
+ try {
1247
+ new RegExp('(?<=.)');
1248
+ }
1249
+ catch (e) {
1250
+ return false;
1251
+ }
1252
+ return true;
1253
+ };
1254
+ exports.skipEmptyMatch = function (line, last, supportsUnicodeFlag) {
1255
+ return supportsUnicodeFlag && line.codePointAt(last) > 0xffff ? 2 : 1;
1256
+ };
1257
+
1258
+ });
1259
+
1260
+ ace.define("ace/worker/mirror",[], function(require, exports, module) {
1261
+ "use strict";
1262
+
1263
+ var Document = require("../document").Document;
1264
+ var lang = require("../lib/lang");
1265
+
1266
+ var Mirror = exports.Mirror = function(sender) {
1267
+ this.sender = sender;
1268
+ var doc = this.doc = new Document("");
1269
+
1270
+ var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));
1271
+
1272
+ var _self = this;
1273
+ sender.on("change", function(e) {
1274
+ var data = e.data;
1275
+ if (data[0].start) {
1276
+ doc.applyDeltas(data);
1277
+ } else {
1278
+ for (var i = 0; i < data.length; i += 2) {
1279
+ var d, err;
1280
+ if (Array.isArray(data[i+1])) {
1281
+ d = {action: "insert", start: data[i], lines: data[i+1]};
1282
+ } else {
1283
+ d = {action: "remove", start: data[i], end: data[i+1]};
1284
+ }
1285
+
1286
+ if ((d.action == "insert" ? d.start : d.end).row >= doc.$lines.length) {
1287
+ err = new Error("Invalid delta");
1288
+ err.data = {
1289
+ path: _self.$path,
1290
+ linesLength: doc.$lines.length,
1291
+ start: d.start,
1292
+ end: d.end
1293
+ };
1294
+ throw err;
1295
+ }
1296
+
1297
+ doc.applyDelta(d, true);
1298
+ }
1299
+ }
1300
+ if (_self.$timeout)
1301
+ return deferredUpdate.schedule(_self.$timeout);
1302
+ _self.onUpdate();
1303
+ });
1304
+ };
1305
+
1306
+ (function() {
1307
+
1308
+ this.$timeout = 500;
1309
+
1310
+ this.setTimeout = function(timeout) {
1311
+ this.$timeout = timeout;
1312
+ };
1313
+
1314
+ this.setValue = function(value) {
1315
+ this.doc.setValue(value);
1316
+ this.deferredUpdate.schedule(this.$timeout);
1317
+ };
1318
+
1319
+ this.getValue = function(callbackId) {
1320
+ this.sender.callback(this.doc.getValue(), callbackId);
1321
+ };
1322
+
1323
+ this.onUpdate = function() {
1324
+ };
1325
+
1326
+ this.isPending = function() {
1327
+ return this.deferredUpdate.isPending();
1328
+ };
1329
+
1330
+ }).call(Mirror.prototype);
1331
+
1332
+ });