Full Code of ret2got/disasm.pro for AI

master f32009a71e12 cached
1777 files
42.7 MB
11.3M tokens
10221 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (45,187K chars total). Download the full file to get everything.
Repository: ret2got/disasm.pro
Branch: master
Commit: f32009a71e12
Files: 1777
Total size: 42.7 MB

Directory structure:
gitextract_lkol1ov3/

├── .gitignore
├── .gitmodules
├── README.md
├── app/
│   ├── .gitignore
│   ├── __init__.py
│   ├── assemble.py
│   ├── constants.py
│   ├── disassemble.py
│   ├── index/
│   │   └── index.html
│   ├── index.py
│   ├── settings.py
│   └── static/
│       ├── css/
│       │   ├── beanstalk.css
│       │   ├── dark.css
│       │   ├── index.css
│       │   └── libs/
│       │       └── w3.css
│       └── js/
│           ├── assemble.js
│           ├── constants.js
│           ├── disassemble.js
│           ├── index.js
│           └── libs/
│               ├── ace/
│               │   ├── .github/
│               │   │   └── PULL_REQUEST_TEMPLATE.md
│               │   ├── CODE_OF_CONDUCT.md
│               │   ├── CONTRIBUTING.md
│               │   ├── ChangeLog.txt
│               │   ├── LICENSE
│               │   ├── README.md
│               │   ├── ace-modules.d.ts
│               │   ├── ace.d.ts
│               │   ├── bower.json
│               │   ├── demo/
│               │   │   ├── autocompletion.html
│               │   │   ├── autoresize.html
│               │   │   ├── bookmarklet/
│               │   │   │   ├── index.html
│               │   │   │   └── style.css
│               │   │   ├── chromevox.html
│               │   │   ├── emmet.html
│               │   │   ├── iframe.html
│               │   │   ├── keyboard_shortcuts.html
│               │   │   ├── kitchen-sink/
│               │   │   │   ├── demo.js
│               │   │   │   ├── docs/
│               │   │   │   │   ├── .gitignore
│               │   │   │   │   ├── Dockerfile
│               │   │   │   │   ├── Haxe.hx
│               │   │   │   │   ├── Jack.jack
│               │   │   │   │   ├── Makefile
│               │   │   │   │   ├── Nix.nix
│               │   │   │   │   ├── abap.abap
│               │   │   │   │   ├── abc.abc
│               │   │   │   │   ├── actionscript.as
│               │   │   │   │   ├── ada.ada
│               │   │   │   │   ├── apex.apex
│               │   │   │   │   ├── asciidoc.asciidoc
│               │   │   │   │   ├── asl.dsl
│               │   │   │   │   ├── assembly_x86.asm
│               │   │   │   │   ├── autohotkey.ahk
│               │   │   │   │   ├── batchfile.bat
│               │   │   │   │   ├── bro.bro
│               │   │   │   │   ├── c9search.c9search_results
│               │   │   │   │   ├── c_cpp.cpp
│               │   │   │   │   ├── cirru.cirru
│               │   │   │   │   ├── clojure.clj
│               │   │   │   │   ├── cobol.CBL
│               │   │   │   │   ├── coffee.coffee
│               │   │   │   │   ├── coldfusion.cfm
│               │   │   │   │   ├── csharp.cs
│               │   │   │   │   ├── csound_document.csd
│               │   │   │   │   ├── csound_orchestra.orc
│               │   │   │   │   ├── csound_score.sco
│               │   │   │   │   ├── css.css
│               │   │   │   │   ├── curly.curly
│               │   │   │   │   ├── d.d
│               │   │   │   │   ├── dart.dart
│               │   │   │   │   ├── diff.diff
│               │   │   │   │   ├── dot.dot
│               │   │   │   │   ├── drools.drl
│               │   │   │   │   ├── edifact.edi
│               │   │   │   │   ├── eiffel.e
│               │   │   │   │   ├── ejs.ejs
│               │   │   │   │   ├── elixir.ex
│               │   │   │   │   ├── elm.elm
│               │   │   │   │   ├── erlang.erl
│               │   │   │   │   ├── forth.frt
│               │   │   │   │   ├── fortran.f90
│               │   │   │   │   ├── fsharp.fsi
│               │   │   │   │   ├── fsl.fsl
│               │   │   │   │   ├── ftl.ftl
│               │   │   │   │   ├── gcode.gcode
│               │   │   │   │   ├── gherkin.feature
│               │   │   │   │   ├── glsl.glsl
│               │   │   │   │   ├── gobstones.gbs
│               │   │   │   │   ├── golang.go
│               │   │   │   │   ├── graphqlschema.gql
│               │   │   │   │   ├── groovy.groovy
│               │   │   │   │   ├── haml.haml
│               │   │   │   │   ├── handlebars.hbs
│               │   │   │   │   ├── haskell.hs
│               │   │   │   │   ├── haskell_cabal.cabal
│               │   │   │   │   ├── hjson.hjson
│               │   │   │   │   ├── htaccess
│               │   │   │   │   ├── html.html
│               │   │   │   │   ├── html_elixir.eex
│               │   │   │   │   ├── html_ruby.erb
│               │   │   │   │   ├── ini.ini
│               │   │   │   │   ├── io.io
│               │   │   │   │   ├── jade.jade
│               │   │   │   │   ├── java.java
│               │   │   │   │   ├── javascript.js
│               │   │   │   │   ├── json.json
│               │   │   │   │   ├── jsoniq.jq
│               │   │   │   │   ├── jsp.jsp
│               │   │   │   │   ├── jssm.jssm
│               │   │   │   │   ├── jsx.jsx
│               │   │   │   │   ├── julia.jl
│               │   │   │   │   ├── kotlin.kt
│               │   │   │   │   ├── latex.tex
│               │   │   │   │   ├── less.less
│               │   │   │   │   ├── liquid.liquid
│               │   │   │   │   ├── lisp.lisp
│               │   │   │   │   ├── livescript.ls
│               │   │   │   │   ├── logiql.logic
│               │   │   │   │   ├── logtalk.lgt
│               │   │   │   │   ├── lsl.lsl
│               │   │   │   │   ├── lua.lua
│               │   │   │   │   ├── luapage.lp
│               │   │   │   │   ├── lucene.lucene
│               │   │   │   │   ├── markdown.md
│               │   │   │   │   ├── mask.mask
│               │   │   │   │   ├── matlab.matlab
│               │   │   │   │   ├── maze.mz
│               │   │   │   │   ├── mel.mel
│               │   │   │   │   ├── mixal.mixal
│               │   │   │   │   ├── mushcode.mc
│               │   │   │   │   ├── mysql.mysql
│               │   │   │   │   ├── nsis.nsi
│               │   │   │   │   ├── objectivec.m
│               │   │   │   │   ├── ocaml.ml
│               │   │   │   │   ├── pascal.pas
│               │   │   │   │   ├── perl.pl
│               │   │   │   │   ├── perl6.p6
│               │   │   │   │   ├── pgsql.pgsql
│               │   │   │   │   ├── php.php
│               │   │   │   │   ├── php_laravel_blade.blade.php
│               │   │   │   │   ├── pig.pig
│               │   │   │   │   ├── plaintext.txt
│               │   │   │   │   ├── powershell.ps1
│               │   │   │   │   ├── praat.praat
│               │   │   │   │   ├── prolog.plg
│               │   │   │   │   ├── properties.properties
│               │   │   │   │   ├── protobuf.proto
│               │   │   │   │   ├── puppet.epp
│               │   │   │   │   ├── python.py
│               │   │   │   │   ├── r.r
│               │   │   │   │   ├── razor.cshtml
│               │   │   │   │   ├── rdoc.Rd
│               │   │   │   │   ├── red.red
│               │   │   │   │   ├── rhtml.Rhtml
│               │   │   │   │   ├── rst.rst
│               │   │   │   │   ├── ruby.rb
│               │   │   │   │   ├── rust.rs
│               │   │   │   │   ├── sass.sass
│               │   │   │   │   ├── scad.scad
│               │   │   │   │   ├── scala.scala
│               │   │   │   │   ├── scheme.scm
│               │   │   │   │   ├── scss.scss
│               │   │   │   │   ├── sh.sh
│               │   │   │   │   ├── sjs.sjs
│               │   │   │   │   ├── slim.slim
│               │   │   │   │   ├── smarty.smarty
│               │   │   │   │   ├── snippets.snippets
│               │   │   │   │   ├── soy_template.soy
│               │   │   │   │   ├── space.space
│               │   │   │   │   ├── sparql.rq
│               │   │   │   │   ├── sql.sql
│               │   │   │   │   ├── sqlserver.sqlserver
│               │   │   │   │   ├── stylus.styl
│               │   │   │   │   ├── swift.swift
│               │   │   │   │   ├── tcl.tcl
│               │   │   │   │   ├── terraform.tf
│               │   │   │   │   ├── tex.tex
│               │   │   │   │   ├── textile.textile
│               │   │   │   │   ├── toml.toml
│               │   │   │   │   ├── tsx.tsx
│               │   │   │   │   ├── turtle.ttl
│               │   │   │   │   ├── twig.twig
│               │   │   │   │   ├── type_script.ts
│               │   │   │   │   ├── typescript.ts
│               │   │   │   │   ├── vala.vala
│               │   │   │   │   ├── vbscript.vbs
│               │   │   │   │   ├── velocity.vm
│               │   │   │   │   ├── verilog.v
│               │   │   │   │   ├── vhdl.vhd
│               │   │   │   │   ├── visualforce.vfp
│               │   │   │   │   ├── wollok.wlk
│               │   │   │   │   ├── xml.xml
│               │   │   │   │   ├── xquery.xq
│               │   │   │   │   └── yaml.yaml
│               │   │   │   └── styles.css
│               │   │   ├── modelist.html
│               │   │   ├── r.js
│               │   │   ├── requirejs+build.html
│               │   │   ├── scrollable-page.html
│               │   │   ├── settings_menu.html
│               │   │   ├── shadow-dom.html
│               │   │   ├── show_own_source.js
│               │   │   ├── static-highlighter.html
│               │   │   ├── statusbar.html
│               │   │   ├── toolbar.html
│               │   │   ├── transform.html
│               │   │   └── xml.xml
│               │   ├── editor.html
│               │   ├── kitchen-sink.html
│               │   ├── package.json
│               │   ├── src/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   ├── src-min/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   ├── src-min-noconflict/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   ├── src-noconflict/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   └── webpack-resolver.js
│               └── easydropdown/
│                   └── easydropdown.js
├── ninja.py
└── requirements.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
flask_session/*


================================================
FILE: .gitmodules
================================================
[submodule "keystone"]
	path = keystone
	url = https://github.com/ret2got/keystone


================================================
FILE: README.md
================================================
# disasm.pro
Formerly known as disasm.ninja, It's a multi-architecture realtime assembler/disassembler with line-to-line correlation. A live version is currently up at https://disasm.pro/

# What and Why
It is basically a nice frontend of my [keystone](https://github.com/ret2got/keystone) fork (for line-to-line assembling) and [capstone](https://github.com/aquynh/capstone). I don't normally do frontend development but I wanted something for quickly analyzing tiny snippets of code (mostly during CTFs) and shellcoding, which led to this. 

I know there are other online assemblers/disassemblers out there, but none of them fit my exact needs. 

# Support
It currently supports 5 architectures:

- x86/64
- ARMv8
- MIPS
- Sparc
- PowerPC

Most typical assembler directives are also supported. Macros are not fully supported. 

# Installation

To Install and run it locally: 

- Git clone with submodules

```
git clone https://github.com/ret2got/disasm.pro.git --recursive
cd disasm.pro
```

- Build and Install the keystone fork (It's a submodule)

```
cd keystone
mkdir build; cd build
../make-share.sh; sudo make install
```

- Install the Python3 bindings



```
cd bindings/python
sudo make install3
```

- Install Python dependencies

```
pip3 install -r requirements.txt
```

Now you can run it by executing the `ninja.py`

```
python3 ninja.py
```

# Bugs/Issues

If you stumble upon any bugs or somehow get it to segfault, please file an issue.


================================================
FILE: app/.gitignore
================================================
__pycache__/*


================================================
FILE: app/__init__.py
================================================
from flask import Flask, session
from flask_socketio import SocketIO
from flask_session import Session

asm_ninja = Flask(__name__) #The main flask object

#Config settings
asm_ninja.config['SECRET_KEY'] = 'topsecrethacker'
asm_ninja.config['SESSION_TYPE'] = 'filesystem'

Session(asm_ninja)
ninja_socketio = SocketIO(asm_ninja) #The socketIO app

from . import index, assemble, disassemble, settings
#Init the keystones
# assemble.init_keystone()
disassemble.init_capstone()


================================================
FILE: app/assemble.py
================================================
from flask import session
from flask_socketio import emit
from . import ninja_socketio
from .settings import get_settings
from .constants import keystone_modes
from .disassemble import capstone_instances
from keystone import *

keystone_instances = {}

#Initialize all the keystone instances so we can access them directly based on values in the settings
# def init_keystone():
    # global keystone_instances
    # keystone_instances = {}

    # for ARCH in keystone_modes:
        # current_arch = keystone_modes[ARCH]
        
        # if ARCH not in keystone_instances:
            # keystone_instances[ARCH] = {}

        # for MODE in current_arch['MODES']:
            # current_mode = current_arch['MODES'][MODE]

            # if MODE not in keystone_instances[ARCH]:
                # keystone_instances[ARCH][MODE] = {}

            # for ENDIAN in current_mode['ENDIAN']:
                # current_endian = current_mode['ENDIAN'][ENDIAN]

                # keystone_instances[ARCH][MODE][ENDIAN] = Ks(current_arch['VAL'], current_mode['VAL'] + current_endian['VAL'])
                

"""
Receive a JSON Object with data to assemble
"""

@ninja_socketio.on('assemble')
def assemble(code):
    try:
        current_settings = get_settings()
        
        try:
            starting_offset = int(current_settings['OFFSET'], 16)
        except:
            starting_offset = int(current_settings['OFFSET'])
        current_offset = starting_offset 

        #We are gonna do an hack to support labels, since I want line by line assembly and also support labels
        #And labels won't work if we assemble it line by line cuz labels will be on a different lien
        #So, I'm gonna first assemble it all at once, and then assemble each line, catching any symbol exceptions for labels
        #I'll then disassemble the originally assembled code code at that point to get the the instruction that uses the label and add it

        current_arch = keystone_modes[current_settings['ARCH']]
        current_mode = current_arch['MODES'][current_settings['MODE']]
        current_endian = current_mode['ENDIAN'][current_settings['ENDIAN']]

        current_keystone = Ks(current_arch['VAL'], current_mode['VAL']+current_endian['VAL'])
        assembled_code = current_keystone.asm_new(code['code'],current_offset)[0] 

        emit('assembled', assembled_code)
    except Exception as e:
        print(e)
        emit('error', str(e).split("(")[0]) #Super hack to get the first part of a Keystone error message
        return


================================================
FILE: app/constants.py
================================================
from keystone import *
from capstone import *

keystone_modes = {
        'ARCH_ARM' : {
            'VAL' : KS_ARCH_ARM,
            'MODES' : {
                'MODE_ARM' : {
                    'VAL' : KS_MODE_ARM,
                    'DESCRIPTION' : '32 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': KS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': KS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    },
                'MODE_THUMB' : {
                    'VAL' : KS_MODE_THUMB,
                    'DESCRIPTION' : '32 Bit Thumb',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': KS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': KS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    }
                }
            },

        'ARCH_ARM64' : {
            'VAL' : KS_ARCH_ARM64,
            'MODES' : {
                'MODE_ARM' : {
                    'VAL' : KS_MODE_LITTLE_ENDIAN,
                    'DESCRIPTION' : '64 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': KS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            }
                        }
                    }
                }
            },

        'ARCH_MIPS': {
            'VAL' : KS_ARCH_MIPS,
            'MODES' : {
                'MODE_MIPS32' : {
                    'VAL' : KS_MODE_MIPS32,
                    'DESCRIPTION' : '32 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': KS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': KS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    },
                'MODE_MIPS64' : {
                    'VAL' : KS_MODE_MIPS64,
                    'DESCRIPTION' : '64 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': KS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': KS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    }
                }
            },

        'ARCH_SPARC' : {
                'VAL' : KS_ARCH_SPARC,
                'MODES' : {
                    'MODE_SPARC32' : {
                        'VAL' : KS_MODE_SPARC32,
                        'DESCRIPTION' : '32 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': KS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                },
                            'MODE_BIG_ENDIAN' : {
                                'VAL': KS_MODE_BIG_ENDIAN,
                                'DESCRIPTION' : 'Big Endian'
                                }
                            }
                        }
                    }
                },

        'ARCH_PPC' : {
                'VAL' : KS_ARCH_PPC,
                'MODES' : {
                    'MODE_PPC32' : {
                        'VAL' : KS_MODE_PPC32,
                        'DESCRIPTION' : '32 Bit',
                        'ENDIAN' : {
                            'MODE_BIG_ENDIAN' : {
                                'VAL': KS_MODE_BIG_ENDIAN,
                                'DESCRIPTION' : 'Big Endian'
                                }
                            }
                        },
                    'MODE_PPC64' : {
                        'VAL' : KS_MODE_PPC64,
                        'DESCRIPTION' : '64 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': KS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                },
                            'MODE_BIG_ENDIAN' : {
                                'VAL': KS_MODE_BIG_ENDIAN,
                                'DESCRIPTION' : 'Big Endian'
                                }
                            }
                        }
                    }
                },

        'ARCH_X86' : {
                'VAL' : KS_ARCH_X86,
                'MODES' : {
                    'MODE_64' : {
                        'VAL' : KS_MODE_64,
                        'DESCRIPTION' : '64 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': KS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                }
                            }
                        },
                    'MODE_32' : {
                        'VAL' : KS_MODE_32,
                        'DESCRIPTION' : '32 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': KS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                }
                            }
                        },
                    'MODE_16' : {
                        'VAL' : KS_MODE_16,
                        'DESCRIPTION' : '16 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': KS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                }
                            }
                        }
                    }
                }
        }

capstone_modes = {
        'ARCH_ARM' : {
            'VAL' : CS_ARCH_ARM,
            'MODES' : {
                'MODE_ARM' : {
                    'VAL' : CS_MODE_ARM,
                    'DESCRIPTION' : '32 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': CS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': CS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    },
                'MODE_THUMB' : {
                    'VAL' : CS_MODE_THUMB,
                    'DESCRIPTION' : '32 Bit Thumb',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': CS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': CS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    }
                }
            },

        'ARCH_ARM64' : {
            'VAL' : CS_ARCH_ARM64,
            'MODES' : {
                'MODE_ARM' : {
                    'VAL' : CS_MODE_LITTLE_ENDIAN,
                    'DESCRIPTION' : '64 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': CS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            }
                        }
                    }
                }
            },

        'ARCH_MIPS': {
            'VAL' : CS_ARCH_MIPS,
            'MODES' : {
                'MODE_MIPS32' : {
                    'VAL' : CS_MODE_MIPS32,
                    'DESCRIPTION' : '32 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': CS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': CS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    },
                'MODE_MIPS64' : {
                    'VAL' : CS_MODE_MIPS64,
                    'DESCRIPTION' : '64 Bit',
                    'ENDIAN' : {
                        'MODE_LITTLE_ENDIAN': {
                            'VAL': CS_MODE_LITTLE_ENDIAN,
                            'DESCRIPTION' : 'Little Endian'
                            },
                        'MODE_BIG_ENDIAN' : {
                            'VAL': CS_MODE_BIG_ENDIAN,
                            'DESCRIPTION' : 'Big Endian'
                            }
                        }
                    }
                }
            },

        'ARCH_SPARC' : {
                'VAL' : CS_ARCH_SPARC,
                'MODES' : {
                    'MODE_SPARC32' : {
                        'VAL' : CS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : '32 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': CS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                },
                            'MODE_BIG_ENDIAN' : {
                                'VAL': CS_MODE_BIG_ENDIAN,
                                'DESCRIPTION' : 'Big Endian'
                                }
                            }
                        }
                    }
                },

        'ARCH_PPC' : {
                'VAL' : CS_ARCH_PPC,
                'MODES' : {
                    'MODE_PPC32' : {
                        'VAL' : CS_MODE_32,
                        'DESCRIPTION' : '32 Bit',
                        'ENDIAN' : {
                            'MODE_BIG_ENDIAN' : {
                                'VAL': CS_MODE_BIG_ENDIAN,
                                'DESCRIPTION' : 'Big Endian'
                                }
                            }
                        },
                    'MODE_PPC64' : {
                        'VAL' : CS_MODE_64,
                        'DESCRIPTION' : '64 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': CS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                },
                            'MODE_BIG_ENDIAN' : {
                                'VAL': CS_MODE_BIG_ENDIAN,
                                'DESCRIPTION' : 'Big Endian'
                                }
                            }
                        }
                    }
                },

        'ARCH_X86' : {
                'VAL' : CS_ARCH_X86,
                'MODES' : {
                    'MODE_64' : {
                        'VAL' : CS_MODE_64,
                        'DESCRIPTION' : '64 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': CS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                }
                            }
                        },
                    'MODE_32' : {
                        'VAL' : CS_MODE_32,
                        'DESCRIPTION' : '32 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': CS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                }
                            }
                        },
                    'MODE_16' : {
                        'VAL' : CS_MODE_16,
                        'DESCRIPTION' : '16 Bit',
                        'ENDIAN' : {
                            'MODE_LITTLE_ENDIAN': {
                                'VAL': CS_MODE_LITTLE_ENDIAN,
                                'DESCRIPTION' : 'Little Endian'
                                }
                            }
                        }
                    }
                }
        }


================================================
FILE: app/disassemble.py
================================================
from . import ninja_socketio
from .settings import get_settings
from flask import session
from .constants import capstone_modes
from capstone import *
from flask_socketio import emit

capstone_instances = {}

def init_capstone():
    global capstone_instances
    for ARCH in capstone_modes:
        current_arch = capstone_modes[ARCH]
        
        if ARCH not in capstone_instances:
            capstone_instances[ARCH] = {}

        for MODE in current_arch['MODES']:
            current_mode = current_arch['MODES'][MODE]

            if MODE not in capstone_instances[ARCH]:
                capstone_instances[ARCH][MODE] = {}

            for ENDIAN in current_mode['ENDIAN']:
                current_endian = current_mode['ENDIAN'][ENDIAN]

                capstone_instances[ARCH][MODE][ENDIAN] = Cs(current_arch['VAL'], current_mode['VAL'] + current_endian['VAL'])

@ninja_socketio.on('disassemble')
def disassemble(code):
    try:
        current_settings = get_settings() 

        current_capstone = capstone_instances[current_settings['ARCH']][current_settings['MODE']][current_settings['ENDIAN']]
        try:
            current_offset = int(current_settings['OFFSET'], 16)
        except:
            current_offset = int(current_settings['OFFSET'])

        code_to_disassemble = bytes([X for Y in code['code'] for X in Y]) #Flatten the list

        output_instructions = ""

        for instr in current_capstone.disasm(code_to_disassemble, current_offset):
            output_instructions += "{} {}\n".format(instr.mnemonic, instr.op_str)

        emit('disassembled', output_instructions)
    except Exception as e:
        print(e)
        emit('error', str(e).split("(")[0]) #Super hack to get the first part of a Keystone error message
        return



         


================================================
FILE: app/index/index.html
================================================
<!DOCTYPE html>
<html>
<head>
	<title>disasm.pro | Online Assembler and Disassembler</title>
	<link rel="stylesheet" href="static/css/libs/w3.css">
	<link rel="stylesheet" href="static/css/dark.css">
    <link rel="stylesheet" href="static/css/beanstalk.css">
	<link rel="stylesheet" href="static/css/index.css">

    <script src="static/js/libs/ace/src-min-noconflict/ace.js" type="text/javascript" charset="utf-8" async defer></script>
    <script src="static/js/libs/easydropdown/easydropdown.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.4/socket.io.js"></script>
</head>
<body>
	<div>
            <div class="headercontainer">
                <div class="">
                    <select id="ARCH">
                        <option value="ARCH_X86">Arch: x86</option>
                        <option value="ARCH_ARM">Arch: ARM</option>
                        <option value="ARCH_ARM64">Arch: ARM64</option>
                        <option value="ARCH_MIPS">Arch: MIPS</option>
                        <option value="ARCH_PPC">Arch: PowerPC</option>
                        <option value="ARCH_SPARC">Arch: Sparc</option>
                    </select>
                </div>
                <div class="custom-mode" style="">
                    <select id="MODE">
                    </select>
                </div>
                <div class="">
                    <select id="ENDIAN">
                    </select>
                </div>
                <div class="">
                    <div style="width:220px;height:50px">
                        <label for="OFFSET" style="color:white;font-size: 17px;font-family: 'Open Sans', arial, helvetica, sans-serif;text-shadow: 1px 1px 1px #1b7579;padding-right:3%">Base: </label>
                        <input id="OFFSET" value="0x0" style="width:70%;height: 90%;box-sizing: border-box;padding-right:10px;padding-left:10px" class="edd-head edd-root simple-style-inputs w3-select" />
                    </div>
                </div>
                <div class="">
                    <select id="VIEW" class="simple-style-inputs w3-select">
                        <option value="1">Prettified</option>
                        <option value="2">Raw String</option>
                    </select>
                </div>
        </div>

		<div>
			<div class="w3-row-padding">
                <div class="w3-col" style="width:50%">
                    <div id="asm_editor" class="editor w3-card"></div>
                </div>
                <div class="w3-col" style="width:50%;">
                    <div id="machine_editor" class="editor w3-card"></div>
                </div>
            </div>

        </div>
        <div class="bottomcontainer">
            <div id="filler" style="min-width: 20%">
            </div>
            <div id="msg-box" class="w3-code errorbox">
                Initializing...
            </div>
        </div>


        <!-- Footer -->
    </div>
    <script src="static/js/constants.js"></script>
    <script src="static/js/index.js"></script>
    <script src="static/js/assemble.js"></script>
    <script src="static/js/disassemble.js"></script>
</body>
</html>


================================================
FILE: app/index.py
================================================
from . import asm_ninja
from flask import send_from_directory

@asm_ninja.route("/", methods=['GET'])
def index():
    return send_from_directory('index', 'index.html')


================================================
FILE: app/settings.py
================================================
from flask import session
from  .constants import keystone_modes
from . import ninja_socketio
from keystone import *
import copy
from flask_socketio import emit


#This is basically the management of user's assembler/disassemblers config options

#New update from client
@ninja_socketio.on('update_settings')
def update(options):
    try:
        session['settings'] = copy.copy(options)
    except:
        return False

def get_settings():
    if 'settings' not in session:
        emit('get_settings')
        raise Exception("No settings initialized")
    return session['settings']



================================================
FILE: app/static/css/beanstalk.css
================================================
@import '//fonts.googleapis.com/css?family=Open+Sans:400,600';

.edd-root,
.edd-root *,
.edd-root *::before,
.edd-root *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.edd-root {
    display: inline-block;
    position: relative;
    width: 180px;
    user-select: none;
    font-family: 'Open Sans', arial, helvetica, sans-serif;
    font-size: 16px;
    color: #333;
}

.edd-root-disabled {
    color: #ccc;
    cursor: not-allowed;
}

.edd-head {
    position: relative;
    overflow: hidden;
    border: 1px solid #eee;
    transition: box-shadow 200ms, border-color 150ms;
    /* background: white; */
    background-color: #171616;
    color: white;
    text-shadow: 2px 3px 4px #1b7579;
}

.edd-head,
.edd-body {
    border-radius: 4px;
}

.edd-root-focused .edd-head {
    box-shadow: 0 0 5px rgba(105, 215, 255, 0.4);
}

.edd-root-invalid .edd-head {
    box-shadow: 0 0 5px rgba(255, 105, 105, 0.671);
}

.edd-root:not(.edd-root-disabled):not(.edd-root-open) .edd-head:hover {
    border-color: #ccc;
}

.edd-value {
    width: calc(100% - 50px);
    display: inline-block;
    vertical-align: middle;
    margin: 8px 0 8px 8px;
    border-right: 1px solid #eee;
}

.edd-arrow {
    position: absolute;
    width: 18px;
    height: 10px;
    top: calc(50% - 5px);
    right: calc(24px - 9px);
    transition: transform 150ms;
    pointer-events: none;
}

.edd-arrow::before {
    content: '';
    position: absolute;
    width: 13px;
    height: 13px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    top: -5px;
    right: 0;
    transform: rotate(45deg);
    transform-origin: 50% 25%;
}

.edd-root-open .edd-arrow {
    transform: rotate(180deg);
}

.edd-value,
.edd-option,
.edd-group-label {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.edd-root:not(.edd-root-disabled) .edd-value,
.edd-option {
    cursor: pointer;
}

.edd-select {
    position: absolute;
    opacity: 0;
    width: 100%;
    left: -100%;
    top: 0;
}

.edd-root-native .edd-select {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.edd-body {
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    border: 1px solid #eee;
    pointer-events: none;
    overflow: hidden;
    margin: 8px 0;
    z-index: 999;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    transform: scale(0.95);
    background: white;
}

.edd-root-open .edd-body {
    opacity: 1;
    pointer-events: all;
    transform: scale(1);
    transition: opacity 200ms, transform 100ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.edd-root-open-above .edd-body {
    bottom: 100%;
}

.edd-root-open-below .edd-body {
    top: 100%;
}

.edd-items-list {
    overflow: auto;
    max-height: 0;
    transition: max-height 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-overflow-scrolling: touch;
}

.edd-group-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 12px 8px 4px;
    color: #999;
}

.edd-group-has-label {
    border-bottom: 1px solid #eee;
}

.edd-option {
    padding: 4px 8px;
}

.edd-group-has-label .edd-option {
    padding-left: 20px;
}

.edd-option-selected {
    font-weight: bold;
}

.edd-option-focused:not(.edd-option-disabled) {
    color: #4ac5f1;
}

.edd-option-disabled,
.edd-group-disabled .edd-option {
    cursor: default;
    color: #ccc;
}

.edd-gradient-top,
.edd-gradient-bottom {
    content: '';
    position: absolute;
    left: 2px;
    right: 2px;
    height: 32px;
    background-image:
        linear-gradient(
            0deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 1) 40%,
            rgba(255, 255, 255, 1) 60%,
            rgba(255, 255, 255, 0) 100%
        );
    background-repeat: repeat-x;
    background-size: 100% 200%;
    pointer-events: none;
    transition: opacity 100ms;
    opacity: 0;
}

.edd-gradient-top {
    background-position: bottom;
    top: 0;
}

.edd-gradient-bottom {
    background-position: top;
    bottom: 0;
}

.edd-body-scrollable .edd-gradient-top,
.edd-body-scrollable .edd-gradient-bottom {
    opacity: 1;
}

.edd-body-scrollable.edd-body-at-top .edd-gradient-top,
.edd-body-scrollable.edd-body-at-bottom .edd-gradient-bottom {
    opacity: 0;
}

================================================
FILE: app/static/css/dark.css
================================================


body {
	font-family: 'Helvetica';
	line-height: 1.75em;
	font-size: 16px;
	background-color: #222;
	color: #aaa;
}


@media (min-width: 1921px) {
	body {
		font-size: 18px;
	}
}


================================================
FILE: app/static/css/index.css
================================================
html {
    color: #222;
    font-size: 1em;
    line-height: normal;
}
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */


.editor {
    width: 100%;
    height: 83vh;
    border-radius: 5px;
    border: 1px solid black;
}
.simple-style-inputs {
    padding : 0;
    border-radius: 3%;
}

.container-select-box{
    margin-right:5%;
    width: 15%;
}


.bottomcontainer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    padding-right: 15px;
    padding-left: 15px;
}

.headercontainer {
    display: flex;
    justify-content: space-around;
    padding: 10px;
}

.errorbox {
    background-color: rgb(20,20,20); 
    color: rgb(218,218,218);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 10px 0px;
    border-radius: 5px;
    min-width: 25%;
    max-width: 40%;
    text-align: center;
    border: 1px solid black;
}



.footerright {
    font-size: 0.8em;
    min-width: 20%;
    text-align: right;
}


/* ==========================================================================
Helper classes
========================================================================== */

    /*
     * Hide visually and from screen readers
     */

    .hidden {
        display: none !important;
    }

    /*
     * Hide only visually, but have it available for screen readers:
     * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
     */

    .visuallyhidden {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    /*
     * Extends the .visuallyhidden class to allow the element
     * to be focusable when navigated to via the keyboard:
     * https://www.drupal.org/node/897638
     */

    .visuallyhidden.focusable:active,
    .visuallyhidden.focusable:focus {
        clip: auto;
        height: auto;
        margin: 0;
        overflow: visible;
        position: static;
        width: auto;
    }

    /*
     * Hide visually and from screen readers, but maintain layout
     */

    .invisible {
        visibility: hidden;
    }

    /*
     * Clearfix: contain floats
     *
     * For modern browsers
     * 1. The space content is one way to avoid an Opera bug when the
     *    `contenteditable` attribute is included anywhere else in the document.
     *    Otherwise it causes space to appear at the top and bottom of elements
     *    that receive the `clearfix` class.
     * 2. The use of `table` rather than `block` is only necessary if using
     *    `:before` to contain the top-margins of child elements.
     */

    .clearfix:before,
    .clearfix:after {
        content: " "; /* 1 */
        display: table; /* 2 */
    }

    .clearfix:after {
        clear: both;
    }

    /* ==========================================================================
    EXAMPLE Media Queries for Responsive Design.
    These examples override the primary ('mobile first') styles.
    Modify as content requires.
    ========================================================================== */

    @media only screen and (min-width: 35em) {
        /* Style adjustments for viewports that meet the condition */
    }

    @media print,
    (-webkit-min-device-pixel-ratio: 1.25),
    (min-resolution: 1.25dppx),
    (min-resolution: 120dpi) {
        /* Style adjustments for high resolution devices */
    }

    /* ==========================================================================
    Print styles.
    Inlined to avoid the additional HTTP request:
    http://www.phpied.com/delay-loading-your-print-css/
    ========================================================================== */

    @media print {
        *,
        *:before,
        *:after,
        *:first-letter,
        *:first-line {
            background: transparent !important;
            color: #000 !important; /* Black prints faster:
            http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
}


a[href]:after {
    content: " (" attr(href) ")";
}

abbr[title]:after {
    content: " (" attr(title) ")";
}

/*
 * Don't show links that are fragment identifiers,
 * or use the `javascript:` pseudo protocol
 */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

.custom-mode > .edd-root {
    width: 230px;
}


================================================
FILE: app/static/css/libs/w3.css
================================================
/* W3.CSS 4.12 November 2018 by Jan Egil and Borge Refsnes */
html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}
audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}
audio:not([controls]){display:none;height:0}[hidden],template{display:none}
a{background-color:transparent;-webkit-text-decoration-skip:objects}
a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
dfn{font-style:italic}mark{background:#ff0;color:#000}
small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}
button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}
button,input{overflow:visible}button,select{text-transform:none}
button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}
button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0}
button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}
[type=checkbox],[type=radio]{padding:0}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-input-placeholder{color:inherit;opacity:0.54}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
/* End extract */
html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden}
h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif}
h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px}
hr{border:0;border-top:1px solid #eee;margin:20px 0}
.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit}
.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc}
.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1}
.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center}
.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}
.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap}
.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}
.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}   
.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none}
.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none}
.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%}
.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none}
.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s}
.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%}
.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc}
.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}
.w3-dropdown-hover:hover .w3-dropdown-content{display:block}
.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}
.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px}
.w3-main,#main{transition:margin-left .4s}
.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}
.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto}
.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0}
.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left}
.w3-bar .w3-button{white-space:normal}
.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0}
.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%}
.w3-responsive{display:block;overflow-x:auto}
.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before,
.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both}
.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%}
.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%}
.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%}
.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%}
@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%}
.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%}
.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}}
@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%}
.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%}
.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}}
.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px}
.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px}
.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell}
.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom}
.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important}
@media (max-width:1205px){.w3-auto{max-width:95%}}
@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}
.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative}	
.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center}
.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}}
@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}
@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}}
@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}
@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}}
.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}
.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2}
.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}
.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}
.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}
.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)}
.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)}
.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none}
.w3-display-position{position:absolute}
.w3-circle{border-radius:50%}
.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px}
.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px}
.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px}
.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}
.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}
.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}
.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)}
.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1}
.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75}
.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)}
.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)}
.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)}
.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}
.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}
.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important}
.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}
.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}
.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}
.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}
.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}
.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important}
.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}
.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}
.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important}
.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}
.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
.w3-left{float:left!important}.w3-right{float:right!important}
.w3-button:hover{color:#000!important;background-color:#ccc!important}
.w3-transparent,.w3-hover-none:hover{background-color:transparent!important}
.w3-hover-none:hover{box-shadow:none!important}
/* Colors */
.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}
.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}
.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}
.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important}
.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}
.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}
.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important}
.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important}
.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}
.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}
.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}
.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}
.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}
.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}
.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}
.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}
.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}
.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}
.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}
.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}
.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}
.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important}
.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}
.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important}
.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}
.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important}
.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important}
.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important}
.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important}
.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important}
.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important}
.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important}
.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}
.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important}
.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important}
.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important}
.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important}
.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}
.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important}
.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important}
.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important}
.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important}
.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important}
.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important}
.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important}
.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important}
.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important}
.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}
.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important}
.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important}
.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important}
.w3-text-white,.w3-hover-text-white:hover{color:#fff!important}
.w3-text-black,.w3-hover-text-black:hover{color:#000!important}
.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important}
.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important}
.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important}
.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important}
.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important}
.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important}
.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important}
.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important}
.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important}
.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important}
.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}
.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important}
.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important}
.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important}
.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important}
.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important}
.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important}
.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important}
.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important}
.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important}
.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}
.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important}
.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important}
.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}
.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}
.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}
.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important}
.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important}
.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important}
.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important}
.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}

================================================
FILE: app/static/js/assemble.js
================================================
function send_asm_update(){
    let asm_code = asm_editor.getValue();
    socket.emit('assemble', {'code':asm_code})
}

function update_assembled_prettified(code){
    output_code = "";

    code.forEach(function(code_line){
        hexed_line = Array.from(new Uint8Array(code_line)).map(function(inp){return ("0"+inp.toString(16)).substr(-2).toUpperCase()}).join(' ')
        output_code += hexed_line + "\n"
    })

    mutex_lock = true
    machine_editor.setOption("wrap", false); //Don't wrap
    machine_editor.setValue(output_code, 1);
    //move cursor simultaneously
    let cur_line = asm_editor.selection.getCursor().row;
    machine_editor.selection.moveTo(cur_line, 0);

    mutex_lock = false;

}

function update_assembled_raw(code){
    let output_code = ""

    code.forEach(function(code_line){
        hexed_line_raw = Array.from(new Uint8Array(code_line)).map(function(inp){return "\\x"+ ("0"+inp.toString(16)).substr(-2).toUpperCase()}).join('')
        output_code += hexed_line_raw
    })
    mutex_lock = true
    machine_editor.setOption("wrap", true); //wrap lines for raw string
    machine_editor.setValue(output_code, 1);
    mutex_lock = false;

}

function update_assembled_code(code){
    global_settings.machine_code_bytes = JSON.stringify(code);// Update the code bytes in local storage for when we change modes

    if (global_settings['VIEW'] == '1')
        update_assembled_prettified(code)
    else update_assembled_raw(code);

    set_success_message("Code Assembled")

}


================================================
FILE: app/static/js/constants.js
================================================
let KS_ARCH_ARM = 1
let KS_ARCH_ARM64 = 2
let KS_ARCH_MIPS = 3
let KS_ARCH_X86 = 4
let KS_ARCH_PPC = 5
let KS_ARCH_SPARC = 6
let KS_ARCH_SYSTEMZ = 7
let KS_ARCH_HEXAGON = 8
let KS_ARCH_EVM = 9
let KS_ARCH_MAX = 10
let KS_MODE_LITTLE_ENDIAN = 0
let KS_MODE_BIG_ENDIAN = 1073741824
let KS_MODE_ARM = 1
let KS_MODE_THUMB = 16
let KS_MODE_V8 = 64
let KS_MODE_MICRO = 16
let KS_MODE_MIPS3 = 32
let KS_MODE_MIPS32R6 = 64
let KS_MODE_MIPS32 = 4
let KS_MODE_MIPS64 = 8
let KS_MODE_16 = 2
let KS_MODE_32 = 4
let KS_MODE_64 = 8
let KS_MODE_PPC32 = 4
let KS_MODE_PPC64 = 8
let KS_MODE_QPX = 16
let KS_MODE_SPARC32 = 4
let KS_MODE_SPARC64 = 8
let KS_MODE_V9 = 16

keystone_modes = {
    'ARCH_ARM' : {
        'VAL' : KS_ARCH_ARM,
        'MODES' : {
            'MODE_ARM' : {
                'VAL' : KS_MODE_ARM,
                'DESCRIPTION' : 'Armv8 32 bit (Aarch32)',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    },
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            },
            'MODE_THUMB' : {
                'VAL' : KS_MODE_THUMB,
                'DESCRIPTION' : 'Armv8 16 bit (Thumb)',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    },
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            }
        }
    },

    'ARCH_ARM64' : {
        'VAL' : KS_ARCH_ARM64,
        'MODES' : {
            'MODE_ARM' : {
                'VAL' : KS_MODE_LITTLE_ENDIAN,
                'DESCRIPTION' : 'Armv8 64 Bit (Aarch64)',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    }
                }
            }
        }
    },

    'ARCH_MIPS': {
        'VAL' : KS_ARCH_MIPS,
        'MODES' : {
            'MODE_MIPS32' : {
                'VAL' : KS_MODE_MIPS32,
                'DESCRIPTION' : '32 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    },
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            },
            'MODE_MIPS64' : {
                'VAL' : KS_MODE_MIPS64,
                'DESCRIPTION' : '64 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    },
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            }
        }
    },

    'ARCH_SPARC' : {
        'VAL' : KS_ARCH_SPARC,
        'MODES' : {
            'MODE_SPARC32' : {
                'VAL' : KS_MODE_SPARC32,
                'DESCRIPTION' : '32 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    },
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            }
        }
    },

    'ARCH_PPC' : {
        'VAL' : KS_ARCH_PPC,
        'MODES' : {
            'MODE_PPC32' : {
                'VAL' : KS_MODE_PPC32,
                'DESCRIPTION' : '32 Bit',
                'ENDIAN' : {
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            },
            'MODE_PPC64' : {
                'VAL' : KS_MODE_PPC64,
                'DESCRIPTION' : '64 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    },
                    'MODE_BIG_ENDIAN' : {
                        'VAL': KS_MODE_BIG_ENDIAN,
                        'DESCRIPTION' : 'Big Endian'
                    }
                }
            }
        }
    },

    'ARCH_X86' : {
        'VAL' : KS_ARCH_X86,
        'MODES' : {
            'MODE_64' : {
                'VAL' : KS_MODE_64,
                'DESCRIPTION' : '64 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    }
                }
            },
            'MODE_32' : {
                'VAL' : KS_MODE_32,
                'DESCRIPTION' : '32 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    }
                }
            },
            'MODE_16' : {
                'VAL' : KS_MODE_16,
                'DESCRIPTION' : '16 Bit',
                'ENDIAN' : {
                    'MODE_LITTLE_ENDIAN': {
                        'VAL': KS_MODE_LITTLE_ENDIAN,
                        'DESCRIPTION' : 'Little Endian'
                    }
                }
            }
        }
    }
}



================================================
FILE: app/static/js/disassemble.js
================================================
function send_machine_update(){
    let machine_code_parsed;
    //Remove all non hex things
    let machine_code = machine_editor.getValue();
    //because I throw exceptions when invalid hex, I need to catch em and return 
    try{
        if(document.getElementById('VIEW').value === "1")
            machine_code_parsed = parse_prettified(machine_code)
        else machine_code_parsed = parse_raw(machine_code)
    }catch (err){
        return
    }
    global_settings.machine_code_bytes = JSON.stringify(machine_code_parsed);

    socket.emit('disassemble', {'code':machine_code_parsed})

}

function update_disassembled_code(code){
    mutex_lock = true;
    asm_editor.setValue(code,1);
    //Update simultaneously
    let cur_line = machine_editor.selection.getCursor().row;
    asm_editor.selection.moveTo(cur_line, 0);
    mutex_lock = false;
    set_success_message("Code Disassembled")
}

function parse_raw(code){
    //TODO fix this soon 
    let raw_parsed = JSON.parse('"' + code.replace(/\\x/g, "\\u00") + '"'); // A super shitty hack to parse raw strings
    let machine_parsed = []
    //conver to array of ints
    for(chr of raw_parsed)machine_parsed.push(chr.charCodeAt(0))

    let output_for_machine_bytes = []//Because of the structure of machine_code_bytes
    output_for_machine_bytes.push(machine_parsed) 
    return output_for_machine_bytes
}

function parse_prettified(code){
    let code_splitted = code.split("\n")
    let machine_parsed = []
    
    code_splitted.forEach(function(code_line) {
        let code_line_p1 = code_line.replace(/\s/g, "");
        if(code_line_p1.length&1 != 0)throw "Invalid hex"
        //convert to int array from hex
        let parsed_hex = []
        for(let i = 0; i < code_line_p1.length; i+=2){
           parsed_hex.push(parseInt(code_line_p1.substr(i, 2), 16))
        }
        machine_parsed.push(parsed_hex);
    })

    return machine_parsed
}


================================================
FILE: app/static/js/index.js
================================================
//There is some ambiguity in the js I wrote, assembled code and machine code are the same thing while disassembled code and asm code are the same thing. That'll help you understand the variable names if you want to...
const settings_skeleton = {'ARCH' : '', 'MODE' : '', 'ENDIAN' : '', 'OFFSET' : ''}

let global_settings = localStorage;
//The assembled code bytes are the stored code from the last set_settings
let socket, asm_editor, machine_editor;

let mutex_lock = false;
    
document.body.onload = ()=> {
    socket = io.connect('http://' + document.domain + ':' + location.port); // SocketIO's socket

    socket.on('assembled', update_assembled_code)

    socket.on('disassembled', update_disassembled_code)

    socket.on('get_settings', update_settings_to_server)

    socket.on('error', set_error_message); 

    init_settings()

    //Handler for when we receive assembled code

    document.getElementById('ARCH').addEventListener('change', function(){
        arch_update(document.getElementById('ARCH').value);
        update_settings_to_server();
    })
    
    document.getElementById('MODE').addEventListener('change', function(){
        mode_update(document.getElementById('MODE').value);
        update_settings_to_server();
    })

    document.getElementById('ENDIAN').addEventListener('change', function(){
        endian_update(document.getElementById('ENDIAN').value);
        update_settings_to_server();
    })

    document.getElementById('OFFSET').addEventListener('change', function(){
        offset_update(document.getElementById('OFFSET').value);
        update_settings_to_server();
    })
    
    document.getElementById('VIEW').addEventListener('change', function(){
        view_update(document.getElementById('VIEW').value);
        update_assembled_code(JSON.parse(global_settings.machine_code_bytes));
    })

    asm_editor.session.on('change', function(delta) {
        global_settings.asm_code = asm_editor.getValue()
        if (mutex_lock) return; //A lock here is neede because setValue of ace editor fires onchange event
        global_settings.last_focus = 0
        send_asm_update();
    });

    machine_editor.session.on('change', function(delta) {
        global_settings.machine_code = machine_editor.getValue()
        if (mutex_lock) return;
        global_settings.last_focus = 1
        send_machine_update();
    });

    easydropdown.all({behavior: {
        liveUpdates: true
    }})


}

function init_settings(){

    if(global_settings.ARCH === undefined){ //if only ARCH is null, aka new session, initialize everything
        default_settings = {'ARCH' : 'ARCH_X86', 'MODE' : 'MODE_64', 'ENDIAN' : 'MODE_LITTLE_ENDIAN', 'OFFSET' : '0x0', 'VIEW': '1'}
        //Set the value of settings being sent to server
        for(key in default_settings){
            global_settings[key] = default_settings[key]
        }

        global_settings.asm_code = "mov rax, 0x0\n";
        global_settings.machine_code = "48 C7 C0 00 00 00 00\n"
        global_settings.machine_code_bytes = "[[0x48, 0xC7, 0xC0, 0x00, 0x00, 0x00, 0x00]]" 
        global_settings.last_focus = 0 // 0 means on the asm editor and 1 means on the machine editor

    }


    asm_editor = ace.edit("asm_editor");// The editor where we write asm 
    asm_editor.setTheme("ace/theme/twilight");
    asm_editor.session.setMode("ace/mode/assembly_x86");
    asm_editor.setShowPrintMargin(false)
    asm_editor.session.setValue(global_settings.asm_code)
    asm_editor.setFontSize("16px")
    asm_editor.setOptions({fontFamily: '"Courier New", Courier, monospace'})

    machine_editor = ace.edit("machine_editor");// Where the disassebmled code is displayed
    machine_editor.setTheme("ace/theme/twilight");
    machine_editor.session.setMode("ace/mode/text");
    machine_editor.autoIndent = false;
    machine_editor.setShowPrintMargin(false)
    machine_editor.renderer.setShowGutter(false);
    machine_editor.setFontSize("16px")
    machine_editor.setOptions({fontFamily: '"Courier New", Courier, monospace'})
    machine_editor.setOption('indentedSoftWrap', false);
    machine_editor.session.setValue(global_settings.machine_code)
    
    sync_settings_local()

    update_settings_to_server()

    document.getElementById('msg-box').innerText = "Initialized"; //Initialization message    
}

function update_settings_to_server(){
    current_settings = settings_skeleton;

    for (key in current_settings){
        current_settings[key] = global_settings[key]
    }

    socket.emit('update_settings', current_settings)
    //Only for when the assembler is available
    if(global_settings.last_focus == 0)
        send_asm_update()
    else send_machine_update()
}

function clear_option_element(element){

    while (document.getElementById(element).length != 0) document.getElementById(element).remove(0);
}

function offset_update(OFFSET){
    global_settings['OFFSET'] = OFFSET;
}

function endian_update(ENDIAN){
    if(ENDIAN == ""){ //F bug in the easydropdown library which launches two event handlers
        document.getElementById('ENDIAN').value = global_settings['ENDIAN'];
        return
    }
    global_settings['ENDIAN'] = ENDIAN;
}

function mode_update(MODE){
    if(MODE == ""){ //F bug in the easydropdown library which launches two event handlers
        document.getElementById('MODE').value = global_settings['MODE'];
        return
    }

    global_settings['MODE'] = MODE;

    let current_mode = keystone_modes[global_settings['ARCH']]['MODES'][MODE]

    let current_mode_endians = Object.keys(current_mode['ENDIAN'])

    clear_option_element('ENDIAN');

    current_mode_endians.forEach(function(endianness){
        let opt = document.createElement("option");
        opt.text = current_mode['ENDIAN'][endianness].DESCRIPTION
        opt.value = endianness
        document.getElementById('ENDIAN').add(opt);
    })

    if (!current_mode_endians.includes(global_settings['ENDIAN']))
        endian_update(current_mode_endians[0])
    else {
        document.getElementById('ENDIAN').value = global_settings['ENDIAN']
    }

}

function arch_update(ARCH){
    global_settings['ARCH'] = ARCH;

    current_arch = keystone_modes[ARCH]

    current_arch_modes = Object.keys(current_arch['MODES'])
    
    let current_mode_elem = document.getElementById('MODE')

    clear_option_element('MODE');

    current_arch_modes.forEach(function(mode){
        let opt = document.createElement("option");
        opt.text = current_arch['MODES'][mode].DESCRIPTION
        opt.value = mode
        current_mode_elem.add(opt);
    })

    if (!current_arch_modes.includes(global_settings['MODE']))
        mode_update(current_arch_modes[0]);
    else {
        document.getElementById('MODE').value = global_settings['MODE']
    }
}

function view_update(VIEW){
    global_settings['VIEW'] = VIEW;
}

function sync_settings_local(){
    //Just change the ARCH, it will start a chain of event handlers...
    document.getElementById('ARCH').value = global_settings['ARCH']
    arch_update(global_settings['ARCH']);

    document.getElementById('MODE').value = global_settings['MODE']
    mode_update(global_settings['MODE']);

    document.getElementById('ENDIAN').value = global_settings['ENDIAN']
    endian_update(global_settings['ENDIAN']);

    document.getElementById('OFFSET').value = global_settings['OFFSET']
    offset_update(global_settings['OFFSET']);

    document.getElementById('VIEW').value = global_settings['VIEW']
    view_update(global_settings['VIEW']);
}

function set_success_message(msg){
    set_message("Success", msg);
}

function set_error_message(msg){
    set_message("Error", msg);
}

function set_message(idnt, val){
    let message = idnt + ": " + val
    document.getElementById('msg-box').innerText = message;    
}


================================================
FILE: app/static/js/libs/ace/.github/PULL_REQUEST_TEMPLATE.md
================================================
*Issue #, if available:*

*Description of changes:*


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.


================================================
FILE: app/static/js/libs/ace/CODE_OF_CONDUCT.md
================================================
## Code of Conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 
opensource-codeofconduct@amazon.com with any additional questions or comments.


================================================
FILE: app/static/js/libs/ace/CONTRIBUTING.md
================================================
# Contributing Guidelines

Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional 
documentation, we greatly value feedback and contributions from our community.

Please read through this document before submitting any issues or pull requests to ensure we have all the necessary 
information to effectively respond to your bug report or contribution.


## Reporting Bugs/Feature Requests

We welcome you to use the GitHub issue tracker to report bugs or suggest features.

When filing an issue, please check [existing open](https://github.com/ajaxorg/ace-builds/issues), or [recently closed](https://github.com/ajaxorg/ace-builds/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20), issues to make sure somebody else hasn't already 
reported the issue. Please try to include as much information as you can. Details like these are incredibly useful:

* A reproducible test case or series of steps
* The version of our code being used
* Any modifications you've made relevant to the bug
* Anything unusual about your environment or deployment


## Contributing via Pull Requests
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.

To send us a pull request, please:

1. Fork the repository.
2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
3. Ensure local tests pass.
4. Commit to your fork using clear commit messages.
5. Send us a pull request, answering any default questions in the pull request interface.
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.

GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and 
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).


## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels ((enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'](https://github.com/ajaxorg/ace-builds/labels/help%20wanted) issues is a great place to start. 


## Code of Conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 
opensource-codeofconduct@amazon.com with any additional questions or comments.


## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.


## Licensing

See the [LICENSE](https://github.com/ajaxorg/ace-builds/blob/master/LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution.

We may ask you to sign a [Contributor License Agreement (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.


================================================
FILE: app/static/js/libs/ace/ChangeLog.txt
================================================
2019.02.21 Version 1.4.3
* add sublime keybindings
* add rtl option
* implement ` and < textobjects in vim mode

2018.11.21 Version 1.4.2
* fix regression in vim mode
* improve keyboard input handling on ipad and IE
* add new syntax highlighters

2018.08.07 Version 1.4.1
* fix regression in autocomplete

2018.08.06 Version 1.4.0

* remove usage of innerHTML
* improved handling of textinput for IME and mobile
* add support for relative line numbers
* improve autocompletion popup 

2018.03.26 Version 1.3.3
* fix regession in static-highlight extension
* use css animation for cursor blinking

2018.03.21 Version 1.3.2
* add experimental support for using ace-builds with webpack

2018.02.11 Version 1.3.1

* fixed regression with selectionChange event not firing some times
* improved handling of non-ascii characters in vim normal mode

2018.01.31 Version 1.3.0

* added copy copyWithEmptySelection option 
* improved undoManager
* improved settings_menu plugin
* improved handling of files with very long lines
* fixed bug with scrolling editor out of view in transformed elements

2017.10.17 Version 1.2.9

* added support for bidirectional text, with monospace font (Alex Shensis)
* added support for emoji 😊

* new language modes
  - Red (Toomas Vooglaid)
  - CSound (Nathan Whetsell)
  - JSSM (John Haugeland)

* New Themes
  - Dracula (Austin Schwartz)

2017.07.02 Version 1.2.8
* Fixed small bugs in searchbox and autocompleter

2017.06.18 Version 1.2.7

* Added Support for arrow keys on external IPad keyboard (Emanuele Tamponi)
* added match counter to searchbox extension

- implemented higlighting of multiline strings in yaml mode (Maxim Trushin)
- improved haml syntax highlighter (Andrés Álvarez)

2016.12.03 Version 1.2.6

* Fixed IME handling on new Chrome
* Support for php 7 in the syntax checker

2016.08.16 Version 1.2.5

* Fixed regression in noconflict mode

2016.07.27 Version 1.2.4

* Maintenance release with several new modes and small bugfixes

2016.01.17 Version 1.2.3

* Bugfixes
  - fix memory leak in setSession (Tyler Stalder)
  - double click not working on linux/mac
  
* new language modes
  - reStructuredText (Robin Jarry)
  - NSIS (Jan T. Sott)


2015.10.28 Version 1.2.1

* new language modes
  - Swift
  - JSX

2015.07.11 Version 1.2.0

* New Features
  - Indented soft wrap (danyaPostfactum)
  - Rounded borders on selections

* API Changes
  - unified delta types `{start, end, action, lines}`  (Alden Daniels https://github.com/ajaxorg/ace/pull/1745)
  - "change" event listeners on session and editor get delta objects directly

* new language modes
  - SQLServer (Morgan Yarbrough)
  
2015.04.03 Version 1.1.9

  - Small Enhancements and Bugfixes

2014.11.08 Version 1.1.8

* API Changes
  - `editor.commands.commandKeyBinding` now contains direct map from keys to commands instead of grouping them by hashid
  
* New Features
  - Improved autoindent for html and php modes (Adam Jimenez)
  - Find All from searchbox (Colton Voege)
  
* new language modes
  - Elixir, Elm
 
2014.09.21 Version 1.1.7

* Bugfixes
  - fix several bugs in autocompletion
  - workaround for inaccurate getBoundingClientRect on chrome 37

2014.08.17 Version 1.1.6

* Bugfixes
  - fix regression in double tap to highlight 
  - Improved Latex Mode (Daniel Felder)
  
* API Changes
  - editor.destroy destroys editor.session too (call editor.setSession(null) to prevent that)

* new language modes
 - Praat (José Joaquín Atria)
 - Eiffel (Victorien Elvinger)
 - G-code (Adam Joseph Cook)
 
2014.07.09 Version 1.1.5

* Bugfixes
  - fix regression in autocomplete popup

* new language modes
 - gitignore (Devon Carew)
 
2014.07.01 Version 1.1.4

* New Features
  - Highlight matching tags (Adam Jimenez)
  - Improved jump to matching command (Adam Jimenez)

* new language modes
 - AppleScript (Yaogang Lian)
 - Vala

2014.03.08 Version 1.1.3

* New Features
  - Allow syntax checkers to be loaded from CDN (Derk-Jan Hartman)
  - Add ColdFusion behavior (Abram Adams)
  - add showLineNumbers option
  - Add html syntax checker (danyaPostfactum)
 
* new language modes
  - Gherkin (Patrick Nevels)
  - Smarty

2013.12.02 Version 1.1.2

* New Features
  - Accessibility Theme for Ace (Peter Xiao)
  - use snipetManager for expanding emmet snippets
  - update jshint to 2.1.4
  - improve php syntax checker (jdalegonzalez)
  - add option for autoresizing
  - add option for autohiding vertical scrollbar
  - improvements to highlighting of xml like languages (danyaPostfactum)
  - add support for autocompletion and snippets (gjtorikyan danyaPostfactum and others)
  - add option to merge similar changes in undo history
  - add scrollPastEnd option
  - use html5 dragndrop for text dragging (danyaPostfactum)
  
* API Changes
  - fixed typo in HashHandler commmandManager

* new language modes
  - Nix (Zef Hemel)
  - Protobuf (Zef Hemel)
  - Soy
  - Handlebars

2013.06.04 Version 1.1.1

  - Improved emacs keybindings (Robert Krahn)
  - Added markClean, isClean methods to UndoManager (Joonsoo Jeon)
  - Do not allow `Toggle comments` command to remove spaces from indentation
  - Softer colors for indent guides in dark themes

* new language modes
  - Ada
  - Assembly_x86
  - Cobol
  - D
  - ejs
  - MATLAB
  - MySQL
  - Twig
  - Verilog

2013.05.01, Version 1.1.0

* API Changes
  - Default position of the editor container is changed to relative. Add `.ace_editor {position: absolute}` css rule to restore old behavior
  - Changed default line-height to `normal` to not conflict with bootstrap. Use `line-height: inherit` for old behavior.
  - Changed marker types accepted by session.addMarker. It now accepts "text"|"line"|"fullLine"|"screenLine"
  - Internal classnames used by editor were made more consistent
  - Introduced `editor.setOption/getOption/setOptions/getOptions` methods
  - Introduced positionToIndex, indexToPosition methods

* New Features
  - Improved emacs mode (chetstone)
    with Incremental search and Occur modes (Robert Krahn)

  - Improved ime handling
  - Searchbox (Vlad Zinculescu)

  - Added elastic tabstops lite extension (Garen Torikian)
  - Added extension for whitespace manipulation
  - Added extension for enabling spellchecking from contextmenu
  - Added extension for displaying available keyboard shortcuts (Matthew Christopher Kastor-Inare III)
  - Added extension for displaying options panel (Matthew Christopher Kastor-Inare III)
  - Added modelist extension (Matthew Christopher Kastor-Inare III)

  - Improved toggleCommentLines and added ToggleCommentBlock command
  - `:;` pairing in CSS mode (danyaPostfactum)

  - Added suppoert for Delete and SelectAll from context menu (danyaPostfactum)

  - Make wrapping behavior optional
  - Selective bracket insertion/skipping 
    
  - Added commands for increase/decrease numbers, sort lines (Vlad Zinculescu)    
  - Folding for Markdown, Lua, LaTeX    
  - Selective bracket insertion/skipping for C-like languages

* Many new languages
  - Scheme (Mu Lei)
  - Dot (edwardsp)
  - FreeMarker (nguillaumin)
  - Tiny Mushcode (h3rb)
  - Velocity (Ryan Griffith)
  - TOML (Garen Torikian) 
  - LSL (Nemurimasu Neiro, Builders Brewery)
  - Curly (Libo Cannici)
  - vbScript (Jan Jongboom) 
  - R (RStudio) 
  - ABAP
  - Lucene (Graham Scott)
  - Haml (Garen Torikian)
  - Objective-C (Garen Torikian) 
  - Makefile (Garen Torikian) 
  - TypeScript (Garen Torikian) 
  - Lisp (Garen Torikian) 
  - Stylus (Garen Torikian) 
  - Dart (Garen Torikian)

* Live syntax checks
  - PHP (danyaPostfactum)
  - Lua

* New Themes
  - Chaos 
  - Terminal 
   
2012.09.17, Version 1.0.0

* New Features
  - Multiple cursors and selections (https://c9.io/site/blog/2012/08/be-an-armenian-warrior-with-block-selection-on-steroids/)
  - Fold buttons displayed in the gutter
  - Indent Guides
  - Completely reworked vim mode (Sergi Mansilla)
  - Improved emacs keybindings
  - Autoclosing of html tags (danyaPostfactum)

* 20 New language modes
  - Coldfusion (Russ)
  - Diff
  - GLSL (Ed Mackey)
  - Go (Davide Saurino)
  - Haxe (Jason O'Neil)
  - Jade (Garen Torikian)
  - jsx (Syu Kato)
  - LaTeX (James Allen)
  - Less (John Roepke)
  - Liquid (Bernie Telles)
  - Lua (Lee Gao)
  - LuaPage (Choonster)
  - Markdown (Chris Spencer)
  - PostgreSQL (John DeSoi)
  - Powershell (John Kane)
  - Sh (Richo Healey)
  - SQL (Jonathan Camile)
  - Tcl (Cristoph Hochreiner)
  - XQuery (William Candillion)
  - Yaml (Meg Sharkey)

  * Live syntax checks
  - for XQuery and JSON

* New Themes
  - Ambiance (Irakli Gozalishvili)
  - Dreamweaver (Adam Jimenez)
  - Github (bootstraponline)
  - Tommorrow themes (https://github.com/chriskempson/tomorrow-theme)
  - XCode

* Many Small Enhancements and Bugfixes
 
2011.08.02, Version 0.2.0

* Split view (Julian Viereck)
  - split editor area horizontally or vertivally to show two files at the same
    time

* Code Folding (Julian Viereck)
  - Unstructured code folding
  - Will be the basis for language aware folding

* Mode behaviours (Chris Spencer)
  - Adds mode specific hooks which allow transformations of entered text
  - Autoclosing of braces, paranthesis and quotation marks in C style modes
  - Autoclosing of angular brackets in XML style modes

* New language modes
  - Clojure (Carin Meier)
  - C# (Rob Conery)
  - Groovy (Ben Tilford)
  - Scala (Ben Tilford)
  - JSON
  - OCaml (Sergi Mansilla)
  - Perl (Panagiotis Astithas)
  - SCSS/SASS (Andreas Madsen)
  - SVG
  - Textile (Kelley van Evert)
  - SCAD (Jacob Hansson)
  
* Live syntax checks
  - Lint for CSS using CSS Lint <http://csslint.net/>
  - CoffeeScript

* New Themes
  - Crimson Editor (iebuggy)
  - Merbivore (Michael Schwartz)
  - Merbivore soft (Michael Schwartz)
  - Solarized dark/light <http://ethanschoonover.com/solarized> (David Alan Hjelle)
  - Vibrant Ink (Michael Schwartz)

* Small Features/Enhancements
  - Lots of render performance optimizations (Harutyun Amirjanyan)
  - Improved Ruby highlighting (Chris Wanstrath, Trent Ogren)
  - Improved PHP highlighting (Thomas Hruska)
  - Improved CSS highlighting (Sean Kellogg)
  - Clicks which cause the editor to be focused don't reset the selection
  - Make padding text layer specific so that print margin and active line
    highlight are not affected (Irakli Gozalishvili)
  - Added setFontSize method
  - Improved vi keybindings (Trent Ogren)
  - When unfocused make cursor transparent instead of removing it (Harutyun Amirjanyan)
  - Support for matching groups in tokenizer with arrays of tokens (Chris Spencer)

* Bug fixes
  - Add support for the new OSX scroll bars
  - Properly highlight JavaScript regexp literals
  - Proper handling of unicode characters in JavaScript identifiers
  - Fix remove lines command on last line (Harutyun Amirjanyan)
  - Fix scroll wheel sluggishness in Safari
  - Make keyboard infrastructure route keys like []^$ the right way (Julian Viereck)

2011.02.14, Version 0.1.6

* Floating Anchors
  - An Anchor is a floating pointer in the document. 
  - Whenever text is inserted or deleted before the cursor, the position of
    the cursor is updated
  - Usesd for the cursor and selection
  - Basis for bookmarks, multiple cursors and snippets in the future
* Extensive support for Cocoa style keybindings on the Mac <https://github.com/ajaxorg/ace/issues/closed#issue/116/comment/767803>
* New commands:
  - center selection in viewport
  - remove to end/start of line
  - split line
  - transpose letters
* Refator markers  
  - Custom code can be used to render markers
  - Markers can be in front or behind the text
  - Markers are now stored in the session (was in the renderer)
* Lots of IE8 fixes including copy, cut and selections
* Unit tests can also be run in the browser
  <https://github.com/ajaxorg/ace/blob/master/lib/ace/test/tests.html>
* Soft wrap can adapt to the width of the editor (Mike Ratcliffe, Joe Cheng)
* Add minimal node server server.js to run the Ace demo in Chrome
* The top level editor.html demo has been renamed to index.html
* Bug fixes
  - Fixed gotoLine to consider wrapped lines when calculating where to scroll to (James Allen)
  - Fixed isues when the editor was scrolled in the web page (Eric Allam)
  - Highlighting of Python string literals
  - Syntax rule for PHP comments

2011.02.08, Version 0.1.5

* Add Coffeescript Mode (Satoshi Murakami)
* Fix word wrap bug (Julian Viereck)
* Fix packaged version of the Eclipse mode
* Loading of workers is more robust
* Fix "click selection"
* Allow tokizing empty lines (Daniel Krech)
* Make PageUp/Down behavior more consistent with native OS (Joe Cheng)

2011.02.04, Version 0.1.4

* Add C/C++ mode contributed by Gastón Kleiman
* Fix exception in key input

2011.02.04, Version 0.1.3

* Let the packaged version play nice with requireJS
* Add Ruby mode contributed by Shlomo Zalman Heigh
* Add Java mode contributed by Tom Tasche
* Fix annotation bug
* Changing a document added a new empty line at the end


================================================
FILE: app/static/js/libs/ace/LICENSE
================================================
Copyright (c) 2010, Ajax.org B.V.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of Ajax.org B.V. nor the
      names of its contributors may be used to endorse or promote products
      derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: app/static/js/libs/ace/README.md
================================================
Ace (Ajax.org Cloud9 Editor)
============================
[![CDNJS](https://img.shields.io/cdnjs/v/ace.svg)](https://cdnjs.com/libraries/ace)
[![npm](https://img.shields.io/npm/v/ace-builds.svg)](https://www.npmjs.com/package/ace-builds)

Ace is a code editor written in JavaScript.

This repository has only generated files.
If you want to work on ace please go to https://github.com/ajaxorg/ace instead.


here you can find pre-built files for convenience of embedding.
it contains 4 versions
 * [src](https://github.com/ajaxorg/ace-builds/tree/master/src)              concatenated but not minified
 * [src-min](https://github.com/ajaxorg/ace-builds/tree/master/src-min)      concatenated and minified with uglify.js
 * [src-noconflict](https://github.com/ajaxorg/ace-builds/tree/master/src-noconflict)      uses ace.require instead of require
 * [src-min-noconflict](https://github.com/ajaxorg/ace-builds/tree/master/src-min-noconflict)      concatenated, minified with uglify.js, and uses ace.require instead of require


For a simple way of embedding ace into webpage see [editor.html](https://github.com/ajaxorg/ace-builds/blob/master/editor.html) or list of other [simple examples](https://github.com/ajaxorg/ace-builds/tree/master/demo)
To see ace in action go to [kitchen-sink-demo](http://ajaxorg.github.com/ace-builds/kitchen-sink.html), [scrollable-page-demo](http://ajaxorg.github.com/ace-builds/demo/scrollable-page.html) or [minimal demo](http://ajaxorg.github.com/ace-builds/editor.html),




================================================
FILE: app/static/js/libs/ace/ace-modules.d.ts
================================================
declare module 'ace-builds/src-noconflict/ext-beautify';
declare module 'ace-builds/src-noconflict/ext-elastic_tabstops_lite';
declare module 'ace-builds/src-noconflict/ext-emmet';
declare module 'ace-builds/src-noconflict/ext-error_marker';
declare module 'ace-builds/src-noconflict/ext-keybinding_menu';
declare module 'ace-builds/src-noconflict/ext-language_tools';
declare module 'ace-builds/src-noconflict/ext-linking';
declare module 'ace-builds/src-noconflict/ext-modelist';
declare module 'ace-builds/src-noconflict/ext-options';
declare module 'ace-builds/src-noconflict/ext-rtl';
declare module 'ace-builds/src-noconflict/ext-searchbox';
declare module 'ace-builds/src-noconflict/ext-settings_menu';
declare module 'ace-builds/src-noconflict/ext-spellcheck';
declare module 'ace-builds/src-noconflict/ext-split';
declare module 'ace-builds/src-noconflict/ext-static_highlight';
declare module 'ace-builds/src-noconflict/ext-statusbar';
declare module 'ace-builds/src-noconflict/ext-textarea';
declare module 'ace-builds/src-noconflict/ext-themelist';
declare module 'ace-builds/src-noconflict/ext-whitespace';
declare module 'ace-builds/src-noconflict/keybinding-emacs';
declare module 'ace-builds/src-noconflict/keybinding-vim';
declare module 'ace-builds/src-noconflict/mode-abap';
declare module 'ace-builds/src-noconflict/mode-abc';
declare module 'ace-builds/src-noconflict/mode-actionscript';
declare module 'ace-builds/src-noconflict/mode-ada';
declare module 'ace-builds/src-noconflict/mode-apache_conf';
declare module 'ace-builds/src-noconflict/mode-apex';
declare module 'ace-builds/src-noconflict/mode-applescript';
declare module 'ace-builds/src-noconflict/mode-asciidoc';
declare module 'ace-builds/src-noconflict/mode-asl';
declare module 'ace-builds/src-noconflict/mode-assembly_x86';
declare module 'ace-builds/src-noconflict/mode-autohotkey';
declare module 'ace-builds/src-noconflict/mode-batchfile';
declare module 'ace-builds/src-noconflict/mode-bro';
declare module 'ace-builds/src-noconflict/mode-c9search';
declare module 'ace-builds/src-noconflict/mode-cirru';
declare module 'ace-builds/src-noconflict/mode-clojure';
declare module 'ace-builds/src-noconflict/mode-cobol';
declare module 'ace-builds/src-noconflict/mode-coffee';
declare module 'ace-builds/src-noconflict/mode-coldfusion';
declare module 'ace-builds/src-noconflict/mode-csharp';
declare module 'ace-builds/src-noconflict/mode-csound_document';
declare module 'ace-builds/src-noconflict/mode-csound_orchestra';
declare module 'ace-builds/src-noconflict/mode-csound_score';
declare module 'ace-builds/src-noconflict/mode-csp';
declare module 'ace-builds/src-noconflict/mode-css';
declare module 'ace-builds/src-noconflict/mode-curly';
declare module 'ace-builds/src-noconflict/mode-c_cpp';
declare module 'ace-builds/src-noconflict/mode-d';
declare module 'ace-builds/src-noconflict/mode-dart';
declare module 'ace-builds/src-noconflict/mode-diff';
declare module 'ace-builds/src-noconflict/mode-django';
declare module 'ace-builds/src-noconflict/mode-dockerfile';
declare module 'ace-builds/src-noconflict/mode-dot';
declare module 'ace-builds/src-noconflict/mode-drools';
declare module 'ace-builds/src-noconflict/mode-edifact';
declare module 'ace-builds/src-noconflict/mode-eiffel';
declare module 'ace-builds/src-noconflict/mode-ejs';
declare module 'ace-builds/src-noconflict/mode-elixir';
declare module 'ace-builds/src-noconflict/mode-elm';
declare module 'ace-builds/src-noconflict/mode-erlang';
declare module 'ace-builds/src-noconflict/mode-forth';
declare module 'ace-builds/src-noconflict/mode-fortran';
declare module 'ace-builds/src-noconflict/mode-fsharp';
declare module 'ace-builds/src-noconflict/mode-fsl';
declare module 'ace-builds/src-noconflict/mode-ftl';
declare module 'ace-builds/src-noconflict/mode-gcode';
declare module 'ace-builds/src-noconflict/mode-gherkin';
declare module 'ace-builds/src-noconflict/mode-gitignore';
declare module 'ace-builds/src-noconflict/mode-glsl';
declare module 'ace-builds/src-noconflict/mode-gobstones';
declare module 'ace-builds/src-noconflict/mode-golang';
declare module 'ace-builds/src-noconflict/mode-graphqlschema';
declare module 'ace-builds/src-noconflict/mode-groovy';
declare module 'ace-builds/src-noconflict/mode-haml';
declare module 'ace-builds/src-noconflict/mode-handlebars';
declare module 'ace-builds/src-noconflict/mode-haskell';
declare module 'ace-builds/src-noconflict/mode-haskell_cabal';
declare module 'ace-builds/src-noconflict/mode-haxe';
declare module 'ace-builds/src-noconflict/mode-hjson';
declare module 'ace-builds/src-noconflict/mode-html';
declare module 'ace-builds/src-noconflict/mode-html_elixir';
declare module 'ace-builds/src-noconflict/mode-html_ruby';
declare module 'ace-builds/src-noconflict/mode-ini';
declare module 'ace-builds/src-noconflict/mode-io';
declare module 'ace-builds/src-noconflict/mode-jack';
declare module 'ace-builds/src-noconflict/mode-jade';
declare module 'ace-builds/src-noconflict/mode-java';
declare module 'ace-builds/src-noconflict/mode-javascript';
declare module 'ace-builds/src-noconflict/mode-json';
declare module 'ace-builds/src-noconflict/mode-jsoniq';
declare module 'ace-builds/src-noconflict/mode-jsp';
declare module 'ace-builds/src-noconflict/mode-jssm';
declare module 'ace-builds/src-noconflict/mode-jsx';
declare module 'ace-builds/src-noconflict/mode-julia';
declare module 'ace-builds/src-noconflict/mode-kotlin';
declare module 'ace-builds/src-noconflict/mode-latex';
declare module 'ace-builds/src-noconflict/mode-less';
declare module 'ace-builds/src-noconflict/mode-liquid';
declare module 'ace-builds/src-noconflict/mode-lisp';
declare module 'ace-builds/src-noconflict/mode-livescript';
declare module 'ace-builds/src-noconflict/mode-logiql';
declare module 'ace-builds/src-noconflict/mode-logtalk';
declare module 'ace-builds/src-noconflict/mode-lsl';
declare module 'ace-builds/src-noconflict/mode-lua';
declare module 'ace-builds/src-noconflict/mode-luapage';
declare module 'ace-builds/src-noconflict/mode-lucene';
declare module 'ace-builds/src-noconflict/mode-makefile';
declare module 'ace-builds/src-noconflict/mode-markdown';
declare module 'ace-builds/src-noconflict/mode-mask';
declare module 'ace-builds/src-noconflict/mode-matlab';
declare module 'ace-builds/src-noconflict/mode-maze';
declare module 'ace-builds/src-noconflict/mode-mel';
declare module 'ace-builds/src-noconflict/mode-mixal';
declare module 'ace-builds/src-noconflict/mode-mushcode';
declare module 'ace-builds/src-noconflict/mode-mysql';
declare module 'ace-builds/src-noconflict/mode-nix';
declare module 'ace-builds/src-noconflict/mode-nsis';
declare module 'ace-builds/src-noconflict/mode-objectivec';
declare module 'ace-builds/src-noconflict/mode-ocaml';
declare module 'ace-builds/src-noconflict/mode-pascal';
declare module 'ace-builds/src-noconflict/mode-perl';
declare module 'ace-builds/src-noconflict/mode-perl6';
declare module 'ace-builds/src-noconflict/mode-pgsql';
declare module 'ace-builds/src-noconflict/mode-php';
declare module 'ace-builds/src-noconflict/mode-php_laravel_blade';
declare module 'ace-builds/src-noconflict/mode-pig';
declare module 'ace-builds/src-noconflict/mode-plain_text';
declare module 'ace-builds/src-noconflict/mode-powershell';
declare module 'ace-builds/src-noconflict/mode-praat';
declare module 'ace-builds/src-noconflict/mode-prolog';
declare module 'ace-builds/src-noconflict/mode-properties';
declare module 'ace-builds/src-noconflict/mode-protobuf';
declare module 'ace-builds/src-noconflict/mode-puppet';
declare module 'ace-builds/src-noconflict/mode-python';
declare module 'ace-builds/src-noconflict/mode-r';
declare module 'ace-builds/src-noconflict/mode-razor';
declare module 'ace-builds/src-noconflict/mode-rdoc';
declare module 'ace-builds/src-noconflict/mode-red';
declare module 'ace-builds/src-noconflict/mode-redshift';
declare module 'ace-builds/src-noconflict/mode-rhtml';
declare module 'ace-builds/src-noconflict/mode-rst';
declare module 'ace-builds/src-noconflict/mode-ruby';
declare module 'ace-builds/src-noconflict/mode-rust';
declare module 'ace-builds/src-noconflict/mode-sass';
declare module 'ace-builds/src-noconflict/mode-scad';
declare module 'ace-builds/src-noconflict/mode-scala';
declare module 'ace-builds/src-noconflict/mode-scheme';
declare module 'ace-builds/src-noconflict/mode-scss';
declare module 'ace-builds/src-noconflict/mode-sh';
declare module 'ace-builds/src-noconflict/mode-sjs';
declare module 'ace-builds/src-noconflict/mode-slim';
declare module 'ace-builds/src-noconflict/mode-smarty';
declare module 'ace-builds/src-noconflict/mode-snippets';
declare module 'ace-builds/src-noconflict/mode-soy_template';
declare module 'ace-builds/src-noconflict/mode-space';
declare module 'ace-builds/src-noconflict/mode-sparql';
declare module 'ace-builds/src-noconflict/mode-sql';
declare module 'ace-builds/src-noconflict/mode-sqlserver';
declare module 'ace-builds/src-noconflict/mode-stylus';
declare module 'ace-builds/src-noconflict/mode-svg';
declare module 'ace-builds/src-noconflict/mode-swift';
declare module 'ace-builds/src-noconflict/mode-tcl';
declare module 'ace-builds/src-noconflict/mode-terraform';
declare module 'ace-builds/src-noconflict/mode-tex';
declare module 'ace-builds/src-noconflict/mode-text';
declare module 'ace-builds/src-noconflict/mode-textile';
declare module 'ace-builds/src-noconflict/mode-toml';
declare module 'ace-builds/src-noconflict/mode-tsx';
declare module 'ace-builds/src-noconflict/mode-turtle';
declare module 'ace-builds/src-noconflict/mode-twig';
declare module 'ace-builds/src-noconflict/mode-typescript';
declare module 'ace-builds/src-noconflict/mode-vala';
declare module 'ace-builds/src-noconflict/mode-vbscript';
declare module 'ace-builds/src-noconflict/mode-velocity';
declare module 'ace-builds/src-noconflict/mode-verilog';
declare module 'ace-builds/src-noconflict/mode-vhdl';
declare module 'ace-builds/src-noconflict/mode-visualforce';
declare module 'ace-builds/src-noconflict/mode-wollok';
declare module 'ace-builds/src-noconflict/mode-xml';
declare module 'ace-builds/src-noconflict/mode-xquery';
declare module 'ace-builds/src-noconflict/mode-yaml';
declare module 'ace-builds/src-noconflict/theme-ambiance';
declare module 'ace-builds/src-noconflict/theme-chaos';
declare module 'ace-builds/src-noconflict/theme-chrome';
declare module 'ace-builds/src-noconflict/theme-clouds';
declare module 'ace-builds/src-noconflict/theme-clouds_midnight';
declare module 'ace-builds/src-noconflict/theme-cobalt';
declare module 'ace-builds/src-noconflict/theme-crimson_editor';
declare module 'ace-builds/src-noconflict/theme-dawn';
declare module 'ace-builds/src-noconflict/theme-dracula';
declare module 'ace-builds/src-noconflict/theme-dreamweaver';
declare module 'ace-builds/src-noconflict/theme-eclipse';
declare module 'ace-builds/src-noconflict/theme-github';
declare module 'ace-builds/src-noconflict/theme-gob';
declare module 'ace-builds/src-noconflict/theme-gruvbox';
declare module 'ace-builds/src-noconflict/theme-idle_fingers';
declare module 'ace-builds/src-noconflict/theme-iplastic';
declare module 'ace-builds/src-noconflict/theme-katzenmilch';
declare module 'ace-builds/src-noconflict/theme-kr_theme';
declare module 'ace-builds/src-noconflict/theme-kuroir';
declare module 'ace-builds/src-noconflict/theme-merbivore';
declare module 'ace-builds/src-noconflict/theme-merbivore_soft';
declare module 'ace-builds/src-noconflict/theme-monokai';
declare module 'ace-builds/src-noconflict/theme-mono_industrial';
declare module 'ace-builds/src-noconflict/theme-pastel_on_dark';
declare module 'ace-builds/src-noconflict/theme-solarized_dark';
declare module 'ace-builds/src-noconflict/theme-solarized_light';
declare module 'ace-builds/src-noconflict/theme-sqlserver';
declare module 'ace-builds/src-noconflict/theme-terminal';
declare module 'ace-builds/src-noconflict/theme-textmate';
declare module 'ace-builds/src-noconflict/theme-tomorrow';
declare module 'ace-builds/src-noconflict/theme-tomorrow_night';
declare module 'ace-builds/src-noconflict/theme-tomorrow_night_blue';
declare module 'ace-builds/src-noconflict/theme-tomorrow_night_bright';
declare module 'ace-builds/src-noconflict/theme-tomorrow_night_eighties';
declare module 'ace-builds/src-noconflict/theme-twilight';
declare module 'ace-builds/src-noconflict/theme-vibrant_ink';
declare module 'ace-builds/src-noconflict/theme-xcode';
declare module 'ace-builds/src-noconflict/snippets/abap';
declare module 'ace-builds/src-noconflict/snippets/abc';
declare module 'ace-builds/src-noconflict/snippets/actionscript';
declare module 'ace-builds/src-noconflict/snippets/ada';
declare module 'ace-builds/src-noconflict/snippets/apache_conf';
declare module 'ace-builds/src-noconflict/snippets/apex';
declare module 'ace-builds/src-noconflict/snippets/applescript';
declare module 'ace-builds/src-noconflict/snippets/asciidoc';
declare module 'ace-builds/src-noconflict/snippets/asl';
declare module 'ace-builds/src-noconflict/snippets/assembly_x86';
declare module 'ace-builds/src-noconflict/snippets/autohotkey';
declare module 'ace-builds/src-noconflict/snippets/batchfile';
declare module 'ace-builds/src-noconflict/snippets/bro';
declare module 'ace-builds/src-noconflict/snippets/c9search';
declare module 'ace-builds/src-noconflict/snippets/cirru';
declare module 'ace-builds/src-noconflict/snippets/clojure';
declare module 'ace-builds/src-noconflict/snippets/cobol';
declare module 'ace-builds/src-noconflict/snippets/coffee';
declare module 'ace-builds/src-noconflict/snippets/coldfusion';
declare module 'ace-builds/src-noconflict/snippets/csharp';
declare module 'ace-builds/src-noconflict/snippets/csound_document';
declare module 'ace-builds/src-noconflict/snippets/csound_orchestra';
declare module 'ace-builds/src-noconflict/snippets/csound_score';
declare module 'ace-builds/src-noconflict/snippets/csp';
declare module 'ace-builds/src-noconflict/snippets/css';
declare module 'ace-builds/src-noconflict/snippets/curly';
declare module 'ace-builds/src-noconflict/snippets/c_cpp';
declare module 'ace-builds/src-noconflict/snippets/d';
declare module 'ace-builds/src-noconflict/snippets/dart';
declare module 'ace-builds/src-noconflict/snippets/diff';
declare module 'ace-builds/src-noconflict/snippets/django';
declare module 'ace-builds/src-noconflict/snippets/dockerfile';
declare module 'ace-builds/src-noconflict/snippets/dot';
declare module 'ace-builds/src-noconflict/snippets/drools';
declare module 'ace-builds/src-noconflict/snippets/edifact';
declare module 'ace-builds/src-noconflict/snippets/eiffel';
declare module 'ace-builds/src-noconflict/snippets/ejs';
declare module 'ace-builds/src-noconflict/snippets/elixir';
declare module 'ace-builds/src-noconflict/snippets/elm';
declare module 'ace-builds/src-noconflict/snippets/erlang';
declare module 'ace-builds/src-noconflict/snippets/forth';
declare module 'ace-builds/src-noconflict/snippets/fortran';
declare module 'ace-builds/src-noconflict/snippets/fsharp';
declare module 'ace-builds/src-noconflict/snippets/fsl';
declare module 'ace-builds/src-noconflict/snippets/ftl';
declare module 'ace-builds/src-noconflict/snippets/gcode';
declare module 'ace-builds/src-noconflict/snippets/gherkin';
declare module 'ace-builds/src-noconflict/snippets/gitignore';
declare module 'ace-builds/src-noconflict/snippets/glsl';
declare module 'ace-builds/src-noconflict/snippets/gobstones';
declare module 'ace-builds/src-noconflict/snippets/golang';
declare module 'ace-builds/src-noconflict/snippets/graphqlschema';
declare module 'ace-builds/src-noconflict/snippets/groovy';
declare module 'ace-builds/src-noconflict/snippets/haml';
declare module 'ace-builds/src-noconflict/snippets/handlebars';
declare module 'ace-builds/src-noconflict/snippets/haskell';
declare module 'ace-builds/src-noconflict/snippets/haskell_cabal';
declare module 'ace-builds/src-noconflict/snippets/haxe';
declare module 'ace-builds/src-noconflict/snippets/hjson';
declare module 'ace-builds/src-noconflict/snippets/html';
declare module 'ace-builds/src-noconflict/snippets/html_elixir';
declare module 'ace-builds/src-noconflict/snippets/html_ruby';
declare module 'ace-builds/src-noconflict/snippets/ini';
declare module 'ace-builds/src-noconflict/snippets/io';
declare module 'ace-builds/src-noconflict/snippets/jack';
declare module 'ace-builds/src-noconflict/snippets/jade';
declare module 'ace-builds/src-noconflict/snippets/java';
declare module 'ace-builds/src-noconflict/snippets/javascript';
declare module 'ace-builds/src-noconflict/snippets/json';
declare module 'ace-builds/src-noconflict/snippets/jsoniq';
declare module 'ace-builds/src-noconflict/snippets/jsp';
declare module 'ace-builds/src-noconflict/snippets/jssm';
declare module 'ace-builds/src-noconflict/snippets/jsx';
declare module 'ace-builds/src-noconflict/snippets/julia';
declare module 'ace-builds/src-noconflict/snippets/kotlin';
declare module 'ace-builds/src-noconflict/snippets/latex';
declare module 'ace-builds/src-noconflict/snippets/less';
declare module 'ace-builds/src-noconflict/snippets/liquid';
declare module 'ace-builds/src-noconflict/snippets/lisp';
declare module 'ace-builds/src-noconflict/snippets/livescript';
declare module 'ace-builds/src-noconflict/snippets/logiql';
declare module 'ace-builds/src-noconflict/snippets/logtalk';
declare module 'ace-builds/src-noconflict/snippets/lsl';
declare module 'ace-builds/src-noconflict/snippets/lua';
declare module 'ace-builds/src-noconflict/snippets/luapage';
declare module 'ace-builds/src-noconflict/snippets/lucene';
declare module 'ace-builds/src-noconflict/snippets/makefile';
declare module 'ace-builds/src-noconflict/snippets/markdown';
declare module 'ace-builds/src-noconflict/snippets/mask';
declare module 'ace-builds/src-noconflict/snippets/matlab';
declare module 'ace-builds/src-noconflict/snippets/maze';
declare module 'ace-builds/src-noconflict/snippets/mel';
declare module 'ace-builds/src-noconflict/snippets/mixal';
declare module 'ace-builds/src-noconflict/snippets/mushcode';
declare module 'ace-builds/src-noconflict/snippets/mysql';
declare module 'ace-builds/src-noconflict/snippets/nix';
declare module 'ace-builds/src-noconflict/snippets/nsis';
declare module 'ace-builds/src-noconflict/snippets/objectivec';
declare module 'ace-builds/src-noconflict/snippets/ocaml';
declare module 'ace-builds/src-noconflict/snippets/pascal';
declare module 'ace-builds/src-noconflict/snippets/perl';
declare module 'ace-builds/src-noconflict/snippets/perl6';
declare module 'ace-builds/src-noconflict/snippets/pgsql';
declare module 'ace-builds/src-noconflict/snippets/php';
declare module 'ace-builds/src-noconflict/snippets/php_laravel_blade';
declare module 'ace-builds/src-noconflict/snippets/pig';
declare module 'ace-builds/src-noconflict/snippets/plain_text';
declare module 'ace-builds/src-noconflict/snippets/powershell';
declare module 'ace-builds/src-noconflict/snippets/praat';
declare module 'ace-builds/src-noconflict/snippets/prolog';
declare module 'ace-builds/src-noconflict/snippets/properties';
declare module 'ace-builds/src-noconflict/snippets/protobuf';
declare module 'ace-builds/src-noconflict/snippets/puppet';
declare module 'ace-builds/src-noconflict/snippets/python';
declare module 'ace-builds/src-noconflict/snippets/r';
declare module 'ace-builds/src-noconflict/snippets/razor';
declare module 'ace-builds/src-noconflict/snippets/rdoc';
declare module 'ace-builds/src-noconflict/snippets/red';
declare module 'ace-builds/src-noconflict/snippets/redshift';
declare module 'ace-builds/src-noconflict/snippets/rhtml';
declare module 'ace-builds/src-noconflict/snippets/rst';
declare module 'ace-builds/src-noconflict/snippets/ruby';
declare module 'ace-builds/src-noconflict/snippets/rust';
declare module 'ace-builds/src-noconflict/snippets/sass';
declare module 'ace-builds/src-noconflict/snippets/scad';
declare module 'ace-builds/src-noconflict/snippets/scala';
declare module 'ace-builds/src-noconflict/snippets/scheme';
declare module 'ace-builds/src-noconflict/snippets/scss';
declare module 'ace-builds/src-noconflict/snippets/sh';
declare module 'ace-builds/src-noconflict/snippets/sjs';
declare module 'ace-builds/src-noconflict/snippets/slim';
declare module 'ace-builds/src-noconflict/snippets/smarty';
declare module 'ace-builds/src-noconflict/snippets/snippets';
declare module 'ace-builds/src-noconflict/snippets/soy_template';
declare module 'ace-builds/src-noconflict/snippets/space';
declare module 'ace-builds/src-noconflict/snippets/sparql';
declare module 'ace-builds/src-noconflict/snippets/sql';
declare module 'ace-builds/src-noconflict/snippets/sqlserver';
declare module 'ace-builds/src-noconflict/snippets/stylus';
declare module 'ace-builds/src-noconflict/snippets/svg';
declare module 'ace-builds/src-noconflict/snippets/swift';
declare module 'ace-builds/src-noconflict/snippets/tcl';
declare module 'ace-builds/src-noconflict/snippets/terraform';
declare module 'ace-builds/src-noconflict/snippets/tex';
declare module 'ace-builds/src-noconflict/snippets/text';
declare module 'ace-builds/src-noconflict/snippets/textile';
declare module 'ace-builds/src-noconflict/snippets/toml';
declare module 'ace-builds/src-noconflict/snippets/tsx';
declare module 'ace-builds/src-noconflict/snippets/turtle';
declare module 'ace-builds/src-noconflict/snippets/twig';
declare module 'ace-builds/src-noconflict/snippets/typescript';
declare module 'ace-builds/src-noconflict/snippets/vala';
declare module 'ace-builds/src-noconflict/snippets/vbscript';
declare module 'ace-builds/src-noconflict/snippets/velocity';
declare module 'ace-builds/src-noconflict/snippets/verilog';
declare module 'ace-builds/src-noconflict/snippets/vhdl';
declare module 'ace-builds/src-noconflict/snippets/visualforce';
declare module 'ace-builds/src-noconflict/snippets/wollok';
declare module 'ace-builds/src-noconflict/snippets/xml';
declare module 'ace-builds/src-noconflict/snippets/xquery';
declare module 'ace-builds/src-noconflict/snippets/yaml';
declare module 'ace-builds/webpack-resolver';


================================================
FILE: app/static/js/libs/ace/ace.d.ts
================================================
/// <reference path="./ace-modules.d.ts" />
export namespace Ace {
  export type NewLineMode = 'auto' | 'unix' | 'windows';

  export interface Anchor extends EventEmitter {
    getPosition(): Point;
    getDocument(): Document;
    setPosition(row: number, column: number, noClip?: boolean): void;
    detach(): void;
    attach(doc: Document): void;
  }

  export interface Document extends EventEmitter {
    setValue(text: string): void;
    getValue(): string;
    createAnchor(row: number, column: number): Anchor;
    getNewLineCharacter(): string;
    setNewLineMode(newLineMode: NewLineMode): void;
    getNewLineMode(): NewLineMode;
    isNewLine(text: string): boolean;
    getLine(row: number): string;
    getLines(firstRow: number, lastRow: number): string[];
    getAllLines(): string[];
    getTextRange(range: Range): string;
    getLinesForRange(range: Range): string[];
    insert(position: Point, text: string): Point;
    insertInLine(position: Point, text: string): Point;
    clippedPos(row: number, column: number): Point;
    clonePos(pos: Point): Point;
    pos(row: number, column: number): Point;
    insertFullLines(row: number, lines: string[]): void;
    insertMergedLines(position: Point, lines: string[]): Point;
    remove(range: Range): Point;
    removeInLine(row: number, startColumn: number, endColumn: number): Point;
    removeFullLines(firstRow: number, lastRow: number): string[];
    removeNewLine(row: number): void;
    replace(range: Range, text: string): Point;
    applyDeltas(deltas: Delta[]): void;
    revertDeltas(deltas: Delta[]): void;
    applyDelta(delta: Delta, doNotValidate?: boolean): void;
    revertDelta(delta: Delta): void;
    indexToPosition(index: number, startRow: number): Point;
    positionToIndex(pos: Point, startRow?: number): number;
  }

  export interface FoldLine {
    folds: Fold[];
    range: Range;
    start: Point;
    end: Point;

    shiftRow(shift: number): void;
    addFold(fold: Fold): void;
    containsRow(row: number): boolean;
    walk(callback: Function, endRow?: number, endColumn?: number): void;
    getNextFoldTo(row: number, column: number): null | { fold: Fold, kind: string };
    addRemoveChars(row: number, column: number, len: number): void;
    split(row: number, column: number): FoldLine;
    merge(foldLineNext: FoldLine): void;
    idxToPosition(idx: number): Point;
  }

  export interface Fold {
    range: Range;
    start: Point;
    end: Point;
    foldLine?: FoldLine;
    sameRow: boolean;
    subFolds: Fold[];

    setFoldLine(foldLine: FoldLine): void;
    clone(): Fold;
    addSubFold(fold: Fold): Fold;
    restoreRange(range: Range): void;
  }

  interface Folding {
    getFoldAt(row: number, column: number, side: number): Fold;
    getFoldsInRange(range: Range): Fold[];
    getFoldsInRangeList(ranges: Range[]): Fold[];
    getAllFolds(): Fold[];
    getFoldStringAt(row: number,
        column: number,
        trim?: number,
        foldLine?: FoldLine): string | null;
    getFoldLine(docRow: number, startFoldLine?: FoldLine): FoldLine | null;
    getNextFoldLine(docRow: number, startFoldLine?: FoldLine): FoldLine | null;
    getFoldedRowCount(first: number, last: number): number;
    addFold(placeholder: string | Fold, range?: Range): Fold;
    addFolds(folds: Fold[]): void;
    removeFold(fold: Fold): void;
    removeFolds(folds: Fold[]): void;
    expandFold(fold: Fold): void;
    expandFolds(folds: Fold[]): void;
    unfold(location: null | number | Point | Range,
        expandInner?: boolean): Fold[] | undefined;
    isRowFolded(docRow: number, startFoldRow?: FoldLine): boolean;
    getFoldRowEnd(docRow: number, startFoldRow?: FoldLine): number;
    getFoldRowStart(docRow: number, startFoldRow?: FoldLine): number;
    getFoldDisplayLine(foldLine: FoldLine,
        endRow: number | null,
        endColumn: number | null,
        startRow: number | null,
        startColumn: number | null): string;
    getDisplayLine(row: number,
        endColumn: number | null,
        startRow: number | null,
        startColumn: number | null): string;
    toggleFold(tryToUnfold?: boolean): void;
    getCommentFoldRange(row: number,
        column: number,
        dir: number): Range | undefined;
    foldAll(startRow?: number, endRow?: number, depth?: number): void;
    setFoldStyle(style: string): void;
    getParentFoldRangeData(row: number, ignoreCurrent?: boolean): {
        range?: Range,
        firstRange: Range
    };
    toggleFoldWidget(toggleParent?: boolean): void;
    updateFoldWidgets(delta: Delta): void;
  }

  export interface Range {
    start: Point;
    end: Point;

    isEqual(range: Range): boolean;
    toString(): string;
    contains(row: number, column: number): boolean;
    compareRange(range: Range): number;
    comparePoint(p: Point): number;
    containsRange(range: Range): boolean;
    intersects(range: Range): boolean;
    isEnd(row: number, column: number): boolean;
    isStart(row: number, column: number): boolean;
    setStart(row: number, column: number): void;
    setEnd(row: number, column: number): void;
    inside(row: number, column: number): boolean;
    insideStart(row: number, column: number): boolean;
    insideEnd(row: number, column: number): boolean;
    compare(row: number, column: number): number;
    compareStart(row: number, column: number): number;
    compareEnd(row: number, column: number): number;
    compareInside(row: number, column: number): number;
    clipRows(firstRow: number, lastRow: number): Range;
    extend(row: number, column: number): Range;
    isEmpty(): boolean;
    isMultiLine(): boolean;
    clone(): Range;
    collapseRows(): Range;
    toScreenRange(session: EditSession): Range;
    moveBy(row: number, column: number): void;
  }

  export interface EditSessionOptions {
    wrap: string | number;
    wrapMethod: 'code' | 'text' | 'auto';
    indentedSoftWrap: boolean;
    firstLineNumber: number;
    useWorker: boolean;
    useSoftTabs: boolean;
    tabSize: number;
    navigateWithinSoftTabs: boolean;
    foldStyle: 'markbegin' | 'markbeginend' | 'manual';
    overwrite: boolean;
    newLineMode: NewLineMode;
    mode: string;
  }

  export interface VirtualRendererOptions {
    animatedScroll: boolean;
    showInvisibles: boolean;
    showPrintMargin: boolean;
    printMarginColumn: number;
    printMargin: boolean | number;
    showGutter: boolean;
    fadeFoldWidgets: boolean;
    showFoldWidgets: boolean;
    showLineNumbers: boolean;
    displayIndentGuides: boolean;
    highlightGutterLine: boolean;
    hScrollBarAlwaysVisible: boolean;
    vScrollBarAlwaysVisible: boolean;
    fontSize: number;
    fontFamily: string;
    maxLines: number;
    minLines: number;
    scrollPastEnd: boolean;
    fixedWidthGutter: boolean;
    theme: string;
    hasCssTransforms: boolean;
    maxPixelHeight: number;
  }

  export interface MouseHandlerOptions {
    scrollSpeed: number;
    dragDelay: number;
    dragEnabled: boolean;
    focusTimeout: number;
    tooltipFollowsMouse: boolean;
  }

  export interface EditorOptions extends EditSessionOptions,
                                         MouseHandlerOptions,
                                         VirtualRendererOptions {
    selectionStyle: string;
    highlightActiveLine: boolean;
    highlightSelectedWord: boolean;
    readOnly: boolean;
    copyWithEmptySelection: boolean;
    cursorStyle: 'ace' | 'slim' | 'smooth' | 'wide';
    mergeUndoDeltas: true | false | 'always';
    behavioursEnabled: boolean;
    wrapBehavioursEnabled: boolean;
    autoScrollEditorIntoView: boolean;
    keyboardHandler: string;
    value: string;
    session: EditSession;
  }

  export interface SearchOptions {
    needle: string | RegExp;
    preventScroll: boolean;
    backwards: boolean;
    start: Range;
    skipCurrent: boolean;
    range: Range;
    preserveCase: boolean;
    regExp: RegExp;
    wholeWord: string;
    caseSensitive: boolean;
    wrap: boolean;
  }

  export interface EventEmitter {
    once(name: string, callback: Function): void;
    setDefaultHandler(name: string, callback: Function): void;
    removeDefaultHandler(name: string, callback: Function): void;
    on(name: string, callback: Function, capturing?: boolean): void;
    addEventListener(name: string, callback: Function, capturing?: boolean): void;
    off(name: string, callback: Function): void;
    removeListener(name: string, callback: Function): void;
    removeEventListener(name: string, callback: Function): void;
  }

  export interface Point {
    row: number;
    column: number;
  }

  export interface Delta {
    action: 'insert' | 'remove';
    start: Point;
    end: Point;
    lines: string[];
  }

  export interface Annotation {
    row?: number;
    column?: number;
    text: string;
    type: string;
  }

  export interface Command {
    name?: string;
    bindKey?: string | { mac?: string, win?: string };
    readOnly?: boolean;
    exec: (editor: Editor, args?: any) => void;
  }

  export type CommandLike = Command | ((editor: Editor) => void);

  export interface KeyboardHandler {
    handleKeyboard: Function;
  }

  export interface MarkerLike {
    range: Range;
    type: string;
    renderer?: MarkerRenderer;
    clazz: string;
    inFront: boolean;
    id: number;
    update?: (html: string[],
              // TODO maybe define Marker class
              marker: any,
              session: EditSession,
              config: any) => void;
  }

  export type MarkerRenderer = (html: string[],
                                range: Range,
                                left: number,
                                top: number,
                                config: any) => void;

  export interface Token {
    type: string;
    value: string;
    index?: number;
    start?: number;
  }

  export interface Completion {
    value: string;
    score: number;
    meta?: string;
    name?: string;
    caption?: string;
  }

  export interface Tokenizer {
    removeCapturingGroups(src: string): string;
    createSplitterRegexp(src: string, flag?: string): RegExp;
    getLineTokens(line: string, startState: string | string[]): Token[];
  }

  interface TokenIterator{
    getCurrentToken(): Token;
    getCurrentTokenColumn(): number;
    getCurrentTokenRow(): number;
    getCurrentTokenPosition(): Point;
    getCurrentTokenRange(): Range;
    stepBackward(): Token;
    stepForward(): Token;
  }
  
  export interface SyntaxMode {
    getTokenizer(): Tokenizer;
    toggleCommentLines(state: any,
                       session: EditSession,
                       startRow: number,
                       endRow: number): void;
    toggleBlockComment(state: any,
                       session: EditSession,
                       range: Range,
                       cursor: Point): void;
    getNextLineIndent(state: any, line: string, tab: string): string;
    checkOutdent(state: any, line: string, input: string): boolean;
    autoOutdent(state: any, doc: Document, row: number): void;
    // TODO implement WorkerClient types
    createWorker(session: EditSession): any;
    createModeDelegates(mapping: {[key: string]: string}): void;
    transformAction(state: string,
                    action: string,
                    editor: Editor,
                    session: EditSession,
                    text: string): any;
    getKeywords(append?: boolean): Array<string | RegExp>;
    getCompletions(state: string,
                   session: EditSession,
                   pos: Point,
                   prefix: string): Completion[];
  }

  export interface Config {
    get(key: string): any;
    set(key: string, value: any): void;
    all(): {[key: string]: any};
    moduleUrl(name: string, component?: string): string;
    setModuleUrl(name: string, subst: string): string;
    loadModule(moduleName: string | [string, string],
               onLoad: (module: any) => void): void;
    init(packaged: any): any;
    defineOptions(obj: any, path: string, options: {[key: string]: any}): Config;
    resetOptions(obj: any): void;
    setDefaultValue(path: string, name: string, value: any): void;
    setDefaultValues(path: string, optionHash: {[key: string]: any}): void;
  }

  export interface OptionsProvider {
    setOptions(optList: {[key: string]: any}): void;
    getOptions(optionNames?: string[] | {[key: string]: any}): {[key: string]: any};
    setOption(name: string, value: any): void;
    getOption(name: string): any;
  }

  export interface UndoManager {
    addSession(session: EditSession): void;
    add(delta: Delta, allowMerge: boolean, session: EditSession): void;
    addSelection(selection: string, rev?: number): void;
    startNewGroup(): void;
    markIgnored(from: number, to?: number): void;
    getSelection(rev: number, after?: boolean): { value: string, rev: number };
    getRevision(): number;
    getDeltas(from: number, to?: number): Delta[];
    undo(session: EditSession, dontSelect?: boolean): void;
    redo(session: EditSession, dontSelect?: boolean): void;
    reset(): void;
    canUndo(): boolean;
    canRedo(): boolean;
    bookmark(rev?: number): void;
    isAtBookmark(): boolean;
  }

  export interface EditSession extends EventEmitter, OptionsProvider, Folding {
    selection: Selection;

    on(name: 'changeFold',
       callback: (obj: { data: Fold, action: string }) => void): void;
    on(name: 'changeScrollLeft', callback: (scrollLeft: number) => void): void;
    on(name: 'changeScrollTop', callback: (scrollTop: number) => void): void;
    on(name: 'tokenizerUpdate',
       callback: (obj: { data: { first: number, last: number } }) => void): void;


    setOption<T extends keyof EditSessionOptions>(name: T, value: EditSessionOptions[T]): void;
    getOption<T extends keyof EditSessionOptions>(name: T): EditSessionOptions[T];

    setDocument(doc: Document): void;
    getDocument(): Document;
    resetCaches(): void;
    setValue(text: string): void;
    getValue(): string;
    getSelection(): Selection;
    getState(row: number): string;
    getTokens(row: number): Token[];
    getTokenAt(row: number, column: number): Token | null;
    setUndoManager(undoManager: UndoManager): void;
    markUndoGroup(): void;
    getUndoManager(): UndoManager;
    getTabString(): string;
    setUseSoftTabs(val: boolean): void;
    getUseSoftTabs(): boolean;
    setTabSize(tabSize: number): void;
    getTabSize(): number;
    isTabStop(position: Point): boolean;
    setNavigateWithinSoftTabs(navigateWithinSoftTabs: boolean): void;
    getNavigateWithinSoftTabs(): boolean;
    setOverwrite(overwrite: boolean): void;
    getOverwrite(): boolean;
    toggleOverwrite(): void;
    addGutterDecoration(row: number, className: string): void;
    removeGutterDecoration(row: number, className: string): void;
    getBreakpoints(): string[];
    setBreakpoints(rows: number[]): void;
    clearBreakpoints(): void;
    setBreakpoint(row: number, className: string): void;
    clearBreakpoint(row: number): void;
    addMarker(range: Range,
              clazz: string,
              type: MarkerRenderer,
              inFront: boolean): number;
    addDynamicMarker(marker: MarkerLike, inFront: boolean): MarkerLike;
    removeMarker(markerId: number): void;
    getMarkers(inFront?: boolean): MarkerLike[];
    highlight(re: RegExp): void;
    highlightLines(startRow: number,
                   endRow: number,
                   clazz: string,
                   inFront?: boolean): Range;
    setAnnotations(annotations: Annotation[]): void;
    getAnnotations(): Annotation[];
    clearAnnotations(): void;
    getWordRange(row: number, column: number): Range;
    getAWordRange(row: number, column: number): Range;
    setNewLineMode(newLineMode: NewLineMode): void;
    getNewLineMode(): NewLineMode;
    setUseWorker(useWorker: boolean): void;
    getUseWorker(): boolean;
    setMode(mode: string | SyntaxMode, callback?: () => void): void;
    getMode(): SyntaxMode;
    setScrollTop(scrollTop: number): void;
    getScrollTop(): number;
    setScrollLeft(scrollLeft: number): void;
    getScrollLeft(): number;
    getScreenWidth(): number;
    getLineWidgetMaxWidth(): number;
    getLine(row: number): string;
    getLines(firstRow: number, lastRow: number): string[];
    getLength(): number;
    getTextRange(range: Range): string;
    insert(position: Point, text: string): void;
    remove(range: Range): void;
    removeFullLines(firstRow: number, lastRow: number): void;
    undoChanges(deltas: Delta[], dontSelect?: boolean): void;
    redoChanges(deltas: Delta[], dontSelect?: boolean): void;
    setUndoSelect(enable: boolean): void;
    replace(range: Range, text: string): void;
    moveText(fromRange: Range, toPosition: Point, copy?: boolean): void;
    indentRows(startRow: number, endRow: number, indentString: string): void;
    outdentRows(range: Range): void;
    moveLinesUp(firstRow: number, lastRow: number): void;
    moveLinesDown(firstRow: number, lastRow: number): void;
    duplicateLines(firstRow: number, lastRow: number): void;
    setUseWrapMode(useWrapMode: boolean): void;
    getUseWrapMode(): boolean;
    setWrapLimitRange(min: number, max: number): void;
    adjustWrapLimit(desiredLimit: number): boolean;
    getWrapLimit(): number;
    setWrapLimit(limit: number): void;
    getWrapLimitRange(): { min: number, max: number };
    getRowLineCount(row: number): number;
    getRowWrapIndent(screenRow: number): number;
    getScreenLastRowColumn(screenRow: number): number;
    getDocumentLastRowColumn(docRow: number, docColumn: number): number;
    getdocumentLastRowColumnPosition(docRow: number, docColumn: number): Point;
    getRowSplitData(row: number): string | undefined;
    getScreenTabSize(screenColumn: number): number;
    screenToDocumentRow(screenRow: number, screenColumn: number): number;
    screenToDocumentColumn(screenRow: number, screenColumn: number): number;
    screenToDocumentPosition(screenRow: number,
                             screenColumn: number,
                             offsetX?: number): Point;
    documentToScreenPosition(docRow: number, docColumn: number): Point;
    documentToScreenPosition(position: Point): Point;
    documentToScreenColumn(row: number, docColumn: number): number;
    documentToScreenRow(docRow: number, docColumn: number): number;
    getScreenLength(): number;
    destroy(): void;
  }

  export interface KeyBinding {
    setDefaultHandler(handler: KeyboardHandler): void;
    setKeyboardHandler(handler: KeyboardHandler): void;
    addKeyboardHandler(handler: KeyboardHandler, pos: number): void;
    removeKeyboardHandler(handler: KeyboardHandler): boolean;
    getKeyboardHandler(): KeyboardHandler;
    getStatusText(): string;
  }

  export interface CommandManager extends EventEmitter {
    on(name: 'exec', callback: (obj: {
                                  editor: Editor,
                                  command: Command,
                                  args: any[]
                               }) => void): void;
    once(name: string, callback: Function): void;
    setDefaultHandler(name: string, callback: Function): void;
    removeDefaultHandler(name: string, callback: Function): void;
    on(name: string, callback: Function, capturing?: boolean): void;
    addEventListener(name: string, callback: Function, capturing?: boolean): void;
    off(name: string, callback: Function): void;
    removeListener(name: string, callback: Function): void;
    removeEventListener(name: string, callback: Function): void;

    exec(command: string, editor: Editor, args: any): boolean;
    toggleRecording(editor: Editor): void;
    replay(editor: Editor): void;
    addCommand(command: Command): void;
    removeCommand(command: Command, keepCommand?: boolean): void;
    bindKey(key: string | { mac?: string, win?: string},
            command: CommandLike,
            position?: number): void;
  }

  export interface VirtualRenderer extends OptionsProvider, EventEmitter {
    container: HTMLElement;

    setOption<T extends keyof VirtualRendererOptions>(name: T, value: VirtualRendererOptions[T]): void;
    getOption<T extends keyof VirtualRendererOptions>(name: T): VirtualRendererOptions[T];

    setSession(session: EditSession): void;
    updateLines(firstRow: number, lastRow: number, force?: boolean): void;
    updateText(): void;
    updateFull(force?: boolean): void;
    updateFontSize(): void;
    adjustWrapLimit(): boolean;
    setAnimatedScroll(shouldAnimate: boolean): void;
    getAnimatedScroll(): boolean;
    setShowInvisibles(showInvisibles: boolean): void;
    getShowInvisibles(): boolean;
    setDisplayIndentGuides(display: boolean): void;
    getDisplayIndentGuides(): boolean;
    setShowPrintMargin(showPrintMargin: boolean): void;
    getShowPrintMargin(): boolean;
    setPrintMarginColumn(showPrintMargin: boolean): void;
    getPrintMarginColumn(): boolean;
    setShowGutter(show: boolean): void;
    getShowGutter(): boolean;
    setFadeFoldWidgets(show: boolean): void;
    getFadeFoldWidgets(): boolean;
    setHighlightGutterLine(shouldHighlight: boolean): void;
    getHighlightGutterLine(): boolean;
    getContainerElement(): HTMLElement;
    getMouseEventTarget(): HTMLElement;
    getTextAreaContainer(): HTMLElement;
    getFirstVisibleRow(): number;
    getFirstFullyVisibleRow(): number;
    getLastFullyVisibleRow(): number;
    getLastVisibleRow(): number;
    setPadding(padding: number): void;
    setScrollMargin(top: number,
                    bottom: number,
                    left: number,
                    right: number): void;
    setHScrollBarAlwaysVisible(alwaysVisible: boolean): void;
    getHScrollBarAlwaysVisible(): boolean;
    setVScrollBarAlwaysVisible(alwaysVisible: boolean): void;
    getVScrollBarAlwaysVisible(): boolean;
    freeze(): void;
    unfreeze(): void;
    updateFrontMarkers(): void;
    updateBackMarkers(): void;
    updateBreakpoints(): void;
    setAnnotations(annotations: Annotation[]): void;
    updateCursor(): void;
    hideCursor(): void;
    showCursor(): void;
    scrollSelectionIntoView(anchor: Point,
                            lead: Point,
                            offset?: number): void;
    scrollCursorIntoView(cursor: Point, offset?: number): void;
    getScrollTop(): number;
    getScrollLeft(): number;
    getScrollTopRow(): number;
    getScrollBottomRow(): number;
    scrollToRow(row: number): void;
    alignCursor(cursor: Point | number, alignment: number): number;
    scrollToLine(line: number,
                 center: boolean,
                 animate: boolean,
                 callback: () => void): void;
    animateScrolling(fromValue: number, callback: () => void): void;
    scrollToY(scrollTop: number): void;
    scrollToX(scrollLeft: number): void;
    scrollTo(x: number, y: number): void;
    scrollBy(deltaX: number, deltaY: number): void;
    isScrollableBy(deltaX: number, deltaY: number): boolean;
    textToScreenCoordinates(row: number, column: number): { pageX: number, pageY: number};
    visualizeFocus(): void;
    visualizeBlur(): void;
    showComposition(position: number): void;
    setCompositionText(text: string): void;
    hideComposition(): void;
    setTheme(theme: string, callback?: () => void): void;
    getTheme(): string;
    setStyle(style: string, include?: boolean): void;
    unsetStyle(style: string): void;
    setCursorStyle(style: string): void;
    setMouseCursor(cursorStyle: string): void;
    attachToShadowRoot(): void;
    destroy(): void;
  }


  export interface Selection extends EventEmitter {
    moveCursorWordLeft(): void;
    moveCursorWordRight(): void;
    fromOrientedRange(range: Range): void;
    setSelectionRange(match: any): void;
    getAllRanges(): Range[];
    addRange(range: Range): void;
    isEmpty(): boolean;
    isMultiLine(): boolean;
    setCursor(row: number, column: number): void;
    setAnchor(row: number, column: number): void;
    getAnchor(): Point;
    getCursor(): Point;
    isBackwards(): boolean;
    getRange(): Range;
    clearSelection(): void;
    selectAll(): void;
    setRange(range: Range, reverse?: boolean): void;
    selectTo(row: number, column: number): void;
    selectToPosition(pos: any): void;
    selectUp(): void;
    selectDown(): void;
    selectRight(): void;
    selectLeft(): void;
    selectLineStart(): void;
    selectLineEnd(): void;
    selectFileEnd(): void;
    selectFileStart(): void;
    selectWordRight(): void;
    selectWordLeft(): void;
    getWordRange(): void;
    selectWord(): void;
    selectAWord(): void;
    selectLine(): void;
    moveCursorUp(): void;
    moveCursorDown(): void;
    moveCursorLeft(): void;
    moveCursorRight(): void;
    moveCursorLineStart(): void;
    moveCursorLineEnd(): void;
    moveCursorFileEnd(): void;
    moveCursorFileStart(): void;
    moveCursorLongWordRight(): void;
    moveCursorLongWordLeft(): void;
    moveCursorBy(rows: number, chars: number): void;
    moveCursorToPosition(position: any): void;
    moveCursorTo(row: number, column: number, keepDesiredColumn?: boolean): void;
    moveCursorToScreen(row: number, column: number, keepDesiredColumn: boolean): void;
  }
  var Selection: {
    new(session: EditSession): Selection;
  }

  export interface Editor extends OptionsProvider, EventEmitter {
    container: HTMLElement;
    renderer: VirtualRenderer;
    id: string;
    commands: CommandManager;
    keyBinding: KeyBinding;
    session: EditSession;
    selection: Selection;

    on(name: 'blur', callback: (e: Event) => void): void;
    on(name: 'change', callback: (delta: Delta) => void): void;
    on(name: 'changeSelectionStyle', callback: (obj: { data: string }) => void): void;
    on(name: 'changeSession',
       callback: (obj: { session: EditSession, oldSession: EditSession }) => void): void;
    on(name: 'copy', callback: (obj: { text: string }) => void): void;
    on(name: 'focus', callback: (e: Event) => void): void;
    on(name: 'paste', callback: (obj: { text: string }) => void): void;

    setOption<T extends keyof EditorOptions>(name: T, value: EditorOptions[T]): void;
    getOption<T extends keyof EditorOptions>(name: T): EditorOptions[T];

    setKeyboardHandler(keyboardHandler: string, callback?: () => void): void;
    getKeyboardHandler(): string;
    setSession(session: EditSession): void;
    getSession(): EditSession;
    setValue(val: string, cursorPos?: number): string;
    getValue(): string;
    getSelection(): Selection;
    resize(force?: boolean): void;
    setTheme(theme: string, callback?: () => void): void;
    getTheme(): string;
    setStyle(style: string): void;
    unsetStyle(style: string): void;
    getFontSize(): string;
    setFontSize(size: string): void;
    focus(): void;
    isFocused(): boolean;
    flur(): void;
    getSelectedText(): string;
    getCopyText(): string;
    execCommand(command: string | string[], args: any): boolean;
    insert(text: string, pasted?: boolean): void;
    setOverwrite(overwrite: boolean): void;
    getOverwrite(): boolean;
    toggleOverwrite(): void;
    setScrollSpeed(speed: number): void;
    getScrollSpeed(): number;
    setDragDelay(dragDelay: number): void;
    getDragDelay(): number;
    setSelectionStyle(val: string): void;
    getSelectionStyle(): string;
    setHighlightActiveLine(shouldHighlight: boolean): void;
    getHighlightActiveLine(): boolean;
    setHighlightGutterLine(shouldHighlight: boolean): void;
    getHighlightGutterLine(): boolean;
    setHighlightSelectedWord(shouldHighlight: boolean): void;
    getHighlightSelectedWord(): boolean;
    setAnimatedScroll(shouldAnimate: boolean): void;
    getAnimatedScroll(): boolean;
    setShowInvisibles(showInvisibles: boolean): void;
    getShowInvisibles(): boolean;
    setDisplayIndentGuides(display: boolean): void;
    getDisplayIndentGuides(): boolean;
    setShowPrintMargin(showPrintMargin: boolean): void;
    getShowPrintMargin(): boolean;
    setPrintMarginColumn(showPrintMargin: number): void;
    getPrintMarginColumn(): number;
    setReadOnly(readOnly: boolean): void;
    getReadOnly(): boolean;
    setBehavioursEnabled(enabled: boolean): void;
    getBehavioursEnabled(): boolean;
    setWrapBehavioursEnabled(enabled: boolean): void;
    getWrapBehavioursEnabled(): boolean;
    setShowFoldWidgets(show: boolean): void;
    getShowFoldWidgets(): boolean;
    setFadeFoldWidgets(fade: boolean): void;
    getFadeFoldWidgets(): boolean;
    remove(dir?: 'left' | 'right'): void;
    removeWordRight(): void;
    removeWordLeft(): void;
    removeLineToEnd(): void;
    splitLine(): void;
    transposeLetters(): void;
    toLowerCase(): void;
    toUpperCase(): void;
    indent(): void;
    blockIndent(): void;
    blockOutdent(): void;
    sortLines(): void;
    toggleCommentLines(): void;
    toggleBlockComment(): void;
    modifyNumber(amount: number): void;
    removeLines(): void;
    duplicateSelection(): void;
    moveLinesDown(): void;
    moveLinesUp(): void;
    moveText(range: Range, toPosition: Point, copy?: boolean): Range;
    copyLinesUp(): void;
    copyLinesDown(): void;
    getFirstVisibleRow(): number;
    getLastVisibleRow(): number;
    isRowVisible(row: number): boolean;
    isRowFullyVisible(row: number): boolean;
    selectPageDown(): void;
    selectPageUp(): void;
    gotoPageDown(): void;
    gotoPageUp(): void;
    scrollPageDown(): void;
    scrollPageUp(): void;
    scrollToRow(row: number): void;
    scrollToLine(line: number, center: boolean, animate: boolean, callback: () => void): void;
    centerSelection(): void;
    getCursorPosition(): Point;
    getCursorPositionScreen(): Point;
    getSelectionRange(): Range;
    selectAll(): void;
    clearSelection(): void;
    moveCursorTo(row: number, column: number): void;
    moveCursorToPosition(pos: Point): void;
    jumpToMatching(select: boolean, expand: boolean): void;
    gotoLine(lineNumber: number, column: number, animate: boolean): void;
    navigateTo(row: number, column: number): void;
    navigateUp(): void;
    navigateDown(): void;
    navigateLeft(): void;
    navigateRight(): void;
    navigateLineStart(): void;
    navigateLineEnd(): void;
    navigateFileEnd(): void;
    navigateFileStart(): void;
    navigateWordRight(): void;
    navigateWordLeft(): void;
    replace(replacement: string, options?: Partial<SearchOptions>): number;
    replaceAll(replacement: string, options?: Partial<SearchOptions>): number;
    getLastSearchOptions(): Partial<SearchOptions>;
    find(needle: string, options?: Partial<SearchOptions>, animate?: boolean): void;
    findNext(options?: Partial<SearchOptions>, animate?: boolean): void;
    findPrevious(options?: Partial<SearchOptions>, animate?: boolean): void;
    undo(): void;
    redo(): void;
    destroy(): void;
    setAutoScrollEditorIntoView(enable: boolean): void;
  }
}

export const version: string;
export const config: Ace.Config;
export function require(name: string): any;
export function edit(el: Element | string, options?: Partial<Ace.EditorOptions>): Ace.Editor;
export function createEditSession(text: Ace.Document | string, mode: Ace.SyntaxMode): Ace.EditSession;
export const VirtualRenderer: {
  new(container: HTMLElement, theme?: string): Ace.VirtualRenderer;
};
export const EditSession: {
  new(text: string | Document, mode?: Ace.SyntaxMode): Ace.EditSession;
};
export const UndoManager: {
  new(): Ace.UndoManager;
};
export const Range: {
  new(startRow: number, startColumn: number, endRow: number, endColumn: number): Ace.Range;
  fromPoints(start: Ace.Point, end: Ace.Point): Ace.Range;
  comparePoints(p1: Ace.Point, p2: Ace.Point): number;
};


================================================
FILE: app/static/js/libs/ace/bower.json
================================================
{
    "name": "ace-builds",
    "description": "Ace (Ajax.org Cloud9 Editor)",
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
    },
    "ignore": [
        "demo"
    ],
    "repository": {
        "type": "git",
        "url": "https://github.com/ajaxorg/ace-builds.git"
    },
    "author": "",
    "license": "BSD",
    "bugs": {
        "url": "https://github.com/ajaxorg/ace-builds/issues"
    },
    "homepage": "https://github.com/ajaxorg/ace-builds"
}


================================================
FILE: app/static/js/libs/ace/demo/autocompletion.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>ACE Autocompletion demo</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }
    
    #editor { 
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>

<pre id="editor"></pre>

<!-- load ace -->
<script src="../src-noconflict/ace.js"></script>
<!-- load ace language tools -->
<script src="../src-noconflict/ext-language_tools.js"></script>
<script>
    // trigger extension
    ace.require("ace/ext/language_tools");
    var editor = ace.edit("editor");
    editor.session.setMode("ace/mode/html");
    editor.setTheme("ace/theme/tomorrow");
    // enable autocompletion and snippets
    editor.setOptions({
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: false
    });
</script>

<script src="./show_own_source.js"></script>
</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/autoresize.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Editor</title>
  <style type="text/css" media="screen">

	.ace_editor {
		border: 1px solid lightgray;
		margin: auto;
		height: 200px;
		width: 80%;
	}
	.scrollmargin {
		height: 80px;
        text-align: center;
	}
    </style>
</head>
<body>
<pre id="editor1">autoresizing editor</pre>
<div class="scrollmargin"></div>
<pre id="editor2">minHeight = 2 lines</pre>
<div class="scrollmargin"></div>
<pre id="editor3" style="width: 40%;"></pre>
<div class="scrollmargin"></div>
<pre id="editor"></pre>

<!-- load ace -->
<script src="../src/ace.js"></script>
<script>
    var editor1 = ace.edit("editor1", {
        theme: "ace/theme/tomorrow_night_eighties",
        mode: "ace/mode/html",
        maxLines: 30,
        wrap: true,
        autoScrollEditorIntoView: true
    });

    var editor2 = ace.edit("editor2", {
        theme: "ace/theme/tomorrow_night_blue",
        mode: "ace/mode/html",
        autoScrollEditorIntoView: true,
        maxLines: 30,
        minLines: 2
    });

    var editor = ace.edit("editor3");
    editor.setOptions({
        autoScrollEditorIntoView: true,
        maxLines: 8
    });
    editor.renderer.setScrollMargin(10, 10, 10, 10);
    
    var editor = ace.edit("editor");
    editor.setTheme("ace/theme/tomorrow");
    editor.session.setMode("ace/mode/html");
    editor.setAutoScrollEditorIntoView(true);
    editor.setOption("maxLines", 100);
</script>

<script src="./show_own_source.js"></script>

</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/bookmarklet/index.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <link href="style.css" rel="stylesheet" type="text/css">
  <title>Ace Bookmarklet Builder</title>
</head>
<body>

<div id="wrapper">

<div class="content" style="width: 950px">
    <div class="column1" style="margin-top: 47px">
        <textarea id="textarea" style="width:300px; height:300px">
/**
 * This is Ace injected using a bookmarklet.
 */
function foo() {
    var bar = true;
}</textarea><br>
        SourceUrl: <br>
        <input id="srcURL" style="width:300px" value="https://ajaxorg.github.io/ace-builds/src-noconflict"></input><br>
        <br>
        <a href="#" onmouseover="buildBookmarklet()" onmousedown="buildBookmarklet()" class="bookmarkletLink">Ace Bookmarklet Link</a>
        <br>
        <br>
        <a href="https://github.com/ajaxorg/ace/">
            <div class="fork_on_github"></div>
        </a>
    </div>
    <div class="column2">
        <h1>Ace Bookmarklet Builder</h1>

        <p id="first">
        </p>

        <h2>How to use it:</h2>
        <ul>
            <li>Select the options as you want them to be by default.</li>
            <li>Enter the "SourceUrl". This has to be the URL pointing to a folder containing ace.js (you can leave the default to load the scripts from GitHub).</li>
            <li>Drag the <a href="#" onmouseover="buildBookmarklet()" onmousedown="buildBookmarklet()" class="bookmarkletLink">"Ace Bookmarklet Link"</a> link to your toolbar or store it somewhere else.</li>
            <li>Click the bookmarklet.</li>
            <li>Click three times on a textarea you want to replace - Ace will replace it.</li>
            <li>To change settings, use <strong>Ctrl-,</strong> shortcut. (<strong>Cmd-,</strong> on mac).</li>
        </ul>
        <textarea cols="80">Test bookmarklet here!</textarea>
    </div>
</div>
</div>

<script>

function inject(options, callback) {
    var load = function(path, callback) {
        var head = document.getElementsByTagName('head')[0];
        var s = document.createElement('script');

        s.src = options.baseUrl + "/" + path;
        head.appendChild(s);

        s.onload = s.onreadystatechange = function(_, isAbort) {
            if (isAbort || !s.readyState || s.readyState == "loaded" || s.readyState == "complete") {
                s = s.onload = s.onreadystatechange = null;
                if (!isAbort)
                    callback();
            }
        };
    };
    var pending = [];
    var transform = function(el) { pending.push(el) };
    load("ace.js", function() {
        ace.config.loadModule("ace/ext/textarea", function(m) {
            transform = function(el) { 
                if (!el.ace)
                    el.ace = m.transformTextarea(el, options.ace);
            };
            pending = pending.forEach(transform);
            callback && setTimeout(callback);
        });
    });
    if (options.target)
        return transform(options.target);
    window.addEventListener("click", function(e) {
        if (e.detail == 3 && e.target.localName == "textarea")
            transform(e.target);
    });
}

// Call the inject function to load the ace files.
var textAce;
inject({
    baseUrl: "../../src-noconflict",
    target: document.querySelector("textarea")
}, function () {
    // Transform the textarea on the page into an ace editor.
    textAce = document.querySelector("textarea").ace;
    textAce.setDisplaySettings(true);
    buildBookmarklet();
});


function buildBookmarklet() {
    var injectSrc = inject.toString().split("\n").join("");
    injectSrc = injectSrc.replace(/\s+/g, " ");
    Function("", injectSrc); // check if injectSrc is still valid js
    
    var options = textAce.getOptions();
    options.baseUrl = document.getElementById("srcURL").value;

    var els = document.querySelectorAll(".bookmarkletLink");
    for (var i = 0; i < els.length; i++)
        els[i].href = "javascript:(" + injectSrc + ")(" + JSON.stringify(options) + ")";
}


</script>

</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/bookmarklet/style.css
================================================
body {
    margin:0;
    padding:0;
    background-color:#e6f5fc;
    
}

H2, H3, H4 {
    font-family:Trebuchet MS;
    font-weight:bold;
    margin:0;
    padding:0;
}

H2 {
    font-size:28px;
    color:#263842;
    padding-bottom:6px;
}

H3 {
    font-family:Trebuchet MS;
    font-weight:bold;
    font-size:22px;
    color:#253741;
    margin-top:43px;
    margin-bottom:8px;
}

H4 {
    font-family:Trebuchet MS;
    font-weight:bold;
    font-size:21px;
    color:#222222;
    margin-bottom:4px;
}

P {
    padding:13px 0;
    margin:0;
    line-height:22px;
}

UL{
    line-height : 22px;
}

PRE{
    background : #333;
    color : white;
    padding : 10px;
}

#header {
    height : 227px;
    position:relative;
    overflow:hidden;
    background: url(images/background.png) repeat-x 0 0;
    border-bottom:1px solid #c9e8fa;   
}

#header .content .signature {
    font-family:Trebuchet MS;
    font-size:11px;
    color:#ebe4d6;
    position:absolute;
    bottom:5px;
    right:42px;
    letter-spacing : 1px;
}

.content {
    width:970px;
    position:relative;
    margin:0 auto;
}

#header .content {
    height:184px;
    margin-top:22px;
}

#header .content .logo {
    width  : 282px;
    height : 184px;
    background:url(images/logo.png) no-repeat 0 0;
    position:absolute;
    top:0;
    left:0;
}

#header .content .title {
    width  : 605px;
    height : 58px;
    background:url(images/ace.png) no-repeat 0 0;
    position:absolute;
    top:98px;
    left:329px;
}

#wrapper {
    background:url(images/body_background.png) repeat-x 0 0;
    min-height:250px;
}

#wrapper .content {
    font-family:Arial;
    font-size:14px;
    color:#222222;
    width:1000px;
}

#wrapper .content .column1 {
    position:relative;
    float:left;
    width:315px;
    margin-right:31px;
}

#wrapper .content .column2 {
    position:relative;
    float:left;
    width:600px;
    padding-top:47px;
}

.fork_on_github {
    width:310px;
    height:80px;
    background:url(images/fork_on_github.png) no-repeat 0 0;
    position:relative;
    overflow:hidden;
    cursor:pointer;
}

.fork_on_github:hover {
    background-position:0 -80px;
}

.divider {
    height:3px;
    background-color:#bedaea;
    margin-bottom:3px;
}

.menu {
    padding:23px 0 0 24px;
}

UL.content-list {
    padding:15px;
    margin:0;
}

UL.menu-list {
    padding:0;
    margin:0 0 20px 0;
    list-style-type:none;
    line-height : 16px;
}

UL.menu-list LI {
    color:#2557b4;
    font-family:Trebuchet MS;
    font-size:14px;
    padding:7px 0;
    border-bottom:1px dotted #d6e2e7;
}

UL.menu-list LI:last-child {
    border-bottom:0;
}

A {
    color:#2557b4;
    text-decoration:none;
}

A:hover {
    text-decoration:underline;
}

P#first{
    background : rgba(255,255,255,0.5);
    padding : 20px;
    font-size : 16px;
    line-height : 24px;
    margin : 0 0 20px 0;
}

#footer {
    height:40px;
    position:relative;
    overflow:hidden;
    background:url(images/bottombar.png) repeat-x 0 0;
    position:relative;
    margin-top:40px;
}

UL.menu-footer {
    padding:0;
    margin:8px 11px 0 0;
    list-style-type:none;
    float:right;
}

UL.menu-footer LI {
    color:white;
    font-family:Arial;
    font-size:12px;
    display:inline-block;
    margin:0 1px;
}

UL.menu-footer LI A {
    color:#8dd0ff;
    text-decoration:none;
}

UL.menu-footer LI A:hover {
    text-decoration:underline;
}






================================================
FILE: app/static/js/libs/ace/demo/chromevox.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>ACE ChromeVox demo</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }

    #editor {
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>

<pre id="editor"></pre>

<!-- load ace -->
<script src="../src/ace.js"></script>
<!-- load ace accessibility extension -->
<script src="../src/ext-chromevox.js"></script>
<script>
    // trigger extension
    ace.require("ace/ext/chromevox");
    var editor = ace.edit("editor");
    editor.session.setMode("ace/mode/html");
    editor.setTheme("ace/theme/tomorrow");
</script>

<script src="./show_own_source.js"></script>
</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/emmet.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>ACE Emmet demo</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }
    
    #editor { 
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>

<pre id="editor"></pre>

<!-- load emmet code and snippets compiled for browser -->
<script src="https://cloud9ide.github.io/emmet-core/emmet.js"></script>

<!-- load ace -->
<script src="../src/ace.js"></script>
<!-- load ace emmet extension -->
<script src="../src/ext-emmet.js"></script>
<script>
    var editor = ace.edit("editor");
    editor.session.setMode("ace/mode/html");
    // enable emmet on the current editor
    editor.setOption("enableEmmet", true);
</script>

<script src="./show_own_source.js"></script>
</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/iframe.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>ACE Editor Inside iframe</title>
  <style type="text/css" media="screen">
    body, html { 
        height: 100%;
        margin:0; padding:0;
    }    
    #editor { 
        padding: 20px; margin: 20px
        width: 80%; height: 80%;
    }
  </style>
</head>
<body>
  <div style="height: 100%"></div>
  <div><textarea></textarea></div>
  <iframe id="editor-iframe" src='data:text/html,
  <pre id="editor" style="height:100%"></pre>
  <script src="https://ajaxorg.github.io/ace-builds/src/ace.js"></script>
  <script>
      var editor = ace.edit("editor");
      editor.setTheme("ace/theme/twilight");
      editor.session.setMode("ace/mode/javascript");
  </script>
  '></iframe>
</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/keyboard_shortcuts.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Editor</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }    
    #editor { 
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>

<pre id="editor"></pre>
    
<!-- load ace -->
<script src="../src/ace.js"></script>
<script>
    var editor = ace.edit("editor")
    editor.setTheme("ace/theme/twilight")
    editor.session.setMode("ace/mode/html")
    
    // add command to lazy-load keybinding_menu extension
    editor.commands.addCommand({
        name: "showKeyboardShortcuts",
        bindKey: {win: "Ctrl-Alt-h", mac: "Command-Alt-h"},
        exec: function(editor) {
            ace.config.loadModule("ace/ext/keybinding_menu", function(module) {
                module.init(editor);
                editor.showKeyboardShortcuts()
            })
        }
    })
    editor.execCommand("showKeyboardShortcuts")
</script>

<script src="./show_own_source.js"></script>
</body>
</html>


================================================
FILE: app/static/js/libs/ace/demo/kitchen-sink/demo.js
================================================
define("ace/ext/rtl",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/editor","ace/config"], function(require, exports, module) {
"use strict";
var dom = require("ace/lib/dom");
var lang = require("ace/lib/lang");

var commands = [{
    name: "leftToRight",
    bindKey: { win: "Ctrl-Alt-Shift-L", mac: "Command-Alt-Shift-L" },
    exec: function(editor) {
        editor.session.$bidiHandler.setRtlDirection(editor, false);
    },
    readOnly: true
}, {
    name: "rightToLeft",
    bindKey: { win: "Ctrl-Alt-Shift-R",  mac: "Command-Alt-Shift-R" },
    exec: function(editor) {
        editor.session.$bidiHandler.setRtlDirection(editor, true);
    },
    readOnly: true
}];

var Editor = require("../editor").Editor;
require("../config").defineOptions(Editor.prototype, "editor", {
    rtlText: {
        set: function(val) {
            if (val) {
                this.on("change", onChange);
                this.on("changeSelection", onChangeSelection);
                this.renderer.on("afterRender", updateLineDirection);
                this.commands.on("exec", onCommandEmitted);
                this.commands.addCommands(commands);
            } else {
                this.off("change", onChange);
                this.off("changeSelection", onChangeSelection);
                this.renderer.off("afterRender", updateLineDirection);
                this.commands.off("exec", onCommandEmitted);
                this.commands.removeCommands(commands);
                clearTextLayer(this.renderer);
            }
            this.renderer.updateFull();
        }
    },
    rtl: {
        set: function(val) {
            this.session.$bidiHandler.$isRtl = val;
            if (val) {
                this.setOption("rtlText", false);
                this.renderer.on("afterRender", updateLineDirection);
                this.session.$bidiHandler.seenBidi = true;
            } else {
                this.renderer.off("afterRender", updateLineDirection);
                clearTextLayer(this.renderer);
            }
            this.renderer.updateFull();
        }
    }
});
function onChangeSelection(e, editor) {
    var lead = editor.getSelection().lead;
    if (editor.session.$bidiHandler.isRtlLine(lead.row)) {
        if (lead.column === 0) {
            if (editor.session.$bidiHandler.isMoveLeftOperation && lead.row > 0) {
                editor.getSelection().moveCursorTo(lead.row - 1, editor.session.getLine(lead.row - 1).length);
            } else {
                if (editor.getSelection().isEmpty())
                    lead.column += 1;
                else
                    lead.setPosition(lead.row, lead.column + 1);
            }
        }
    }
}

function onCommandEmitted(commadEvent) {
    commadEvent.editor.session.$bidiHandler.isMoveLeftOperation = /gotoleft|selectleft|backspace|removewordleft/.test(commadEvent.command.name);
}
function onChange(delta, editor) {
    var session = editor.session;
    session.$bidiHandler.currentRow = null;
    if (session.$bidiHandler.isRtlLine(delta.start.row) && delta.action === 'insert' && delta.lines.length > 1) {
        for (var row = delta.start.row; row < delta.end.row; row++) {
            if (session.getLine(row + 1).charAt(0) !== session.$bidiHandler.RLE)
                session.doc.$lines[row + 1] = session.$bidiHandler.RLE + session.getLine(row + 1);
        }
    }
}

function updateLineDirection(e, renderer) {
    var session = renderer.session;
    var $bidiHandler = session.$bidiHandler;
    var cells = renderer.$textLayer.$lines.cells;
    var width = renderer.layerConfig.width - renderer.layerConfig.padding + "px";
    cells.forEach(function(cell) {
        var style = cell.element.style;
        if ($bidiHandler && $bidiHandler.isRtlLine(cell.row)) {
            style.direction = "rtl";
            style.textAlign = "right";
            style.width = width;
        } else {
            style.direction = "";
            style.textAlign = "";
            style.width = "";
        }
    });
}

function clearTextLayer(renderer) {
    var lines = renderer.$textLayer.$lines;
    lines.cells.forEach(clear);
    lines.cellCache.forEach(clear);
    function clear(cell) {
        var style = cell.element.style;
        style.direction = style.textAlign = style.width = "";
    }
}

});

define("kitchen-sink/inline_editor",["require","exports","module","ace/line_widgets","ace/editor","ace/virtual_renderer","ace/lib/dom","ace/commands/default_commands"], function(require, exports, module) {
"use strict";

var LineWidgets = require("ace/line_widgets").LineWidgets;
var Editor = require("ace/editor").Editor;
var Renderer = require("ace/virtual_renderer").VirtualRenderer;
var dom = require("ace/lib/dom");


require("ace/commands/default_commands").commands.push({
    name: "openInlineEditor",
    bindKey: "F3",
    exec: function(editor) {
        var split = window.env.split;
        var s = editor.session;
        var inlineEditor = new Editor(new Renderer());
        var splitSession = split.$cloneSession(s);

        var row = editor.getCursorPosition().row;
        if (editor.session.lineWidgets && editor.session.lineWidgets[row]) {
            editor.session.lineWidgets[row].destroy();
            return;
        }
        
        var rowCount = 10;
        var w = {
            row: row, 
            fixedWidth: true,
            el: dom.createElement("div"),
            editor: inlineEditor
        };
        var el = w.el;
        el.appendChild(inlineEditor.container);

        if (!editor.session.widgetManager) {
            editor.session.widgetManager = new LineWidgets(editor.session);
            editor.session.widgetManager.attach(editor);
        }
        
        var h = rowCount*editor.renderer.layerConfig.lineHeight;
        inlineEditor.container.style.height = h + "px";

        el.style.position = "absolute";
        el.style.zIndex = "4";
        el.style.borderTop = "solid blue 2px";
        el.style.borderBottom = "solid blue 2px";
        
        inlineEditor.setSession(splitSession);
        editor.session.widgetManager.addLineWidget(w);
        
        var kb = {
            handleKeyboard:function(_,hashId, keyString) {
                if (hashId === 0 && keyString === "esc") {
                    w.destroy();
                    return true;
                }
            }
        };
        
        w.destroy = function() {
            editor.keyBinding.removeKeyboardHandler(kb);
            s.widgetManager.removeLineWidget(w);
        };
        
        editor.keyBinding.addKeyboardHandler(kb);
        inlineEditor.keyBinding.addKeyboardHandler(kb);
        inlineEditor.setTheme("ace/theme/solarized_light");
    }
});
});

define("ace/test/asyncjs/assert",["require","exports","module","ace/lib/oop"], function(require, exports, module) {
var oop = require("ace/lib/oop");
var pSlice = Array.prototype.slice;

var assert = exports;

assert.AssertionError = function AssertionError(options) {
  this.name = 'AssertionError';
  this.message = options.message;
  this.actual = options.actual;
  this.expected = options.expected;
  this.operator = options.operator;
  var stackStartFunction = options.stackStartFunction || fail;

  if (Error.captureStackTrace) {
    Error.captureStackTrace(this, stackStartFunction);
  }
};
oop.inherits(assert.AssertionError, Error);

toJSON = function(obj) {
    if (typeof JSON !== "undefined")
        return JSON.stringify(obj);
    else
        return obj.toString();
}

assert.AssertionError.prototype.toString = function() {
  if (this.message) {
    return [this.name + ':', this.message].join(' ');
  } else {
    return [this.name + ':',
            toJSON(this.expected),
            this.operator,
            toJSON(this.actual)].join(' ');
  }
};

assert.AssertionError.__proto__ = Error.prototype;

function fail(actual, expected, message, operator, stackStartFunction) {
  throw new assert.AssertionError({
    message: message,
    actual: actual,
    expected: expected,
    operator: operator,
    stackStartFunction: stackStartFunction
  });
}
assert.fail = fail;

assert.ok = function ok(value, message) {
  if (!!!value) fail(value, true, message, '==', assert.ok);
};

assert.equal = function equal(actual, expected, message) {
  if (actual != expected) fail(actual, expected, message, '==', assert.equal);
};

assert.notEqual = function notEqual(actual, expected, message) {
  if (actual == expected) {
    fail(actual, expected, message, '!=', assert.notEqual);
  }
};

assert.deepEqual = function deepEqual(actual, expected, message) {
  if (!_deepEqual(actual, expected)) {
    fail(actual, expected, message, 'deepEqual', assert.deepEqual);
  }
};

function _deepEqual(actual, expected) {
  if (actual === expected) {
    return true;

  } else if (typeof Buffer !== "undefined" && Buffer.isBuffer(actual) && Buffer.isBuffer(expected)) {
    if (actual.length != expected.length) return false;

    for (var i = 0; i < actual.length; i++) {
      if (actual[i] !== expected[i]) return false;
    }

    return true;
  } else if (actual instanceof Date && expected instanceof Date) {
    return actual.getTime() === expected.getTime();
  } else if (typeof actual != 'object' && typeof expected != 'object') {
    return actual == expected;
  } else {
    return objEquiv(actual, expected);
  }
}

function isUndefinedOrNull(value) {
  return value === null || value === undefined;
}

function isArguments(object) {
  return Object.prototype.toString.call(object) == '[object Arguments]';
}

function objEquiv(a, b) {
  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
    return false;
  if (a.prototype !== b.prototype) return false;
  if (isArguments(a)) {
    if (!isArguments(b)) {
      return false;
    }
    a = pSlice.call(a);
    b = pSlice.call(b);
    return _deepEqual(a, b);
  }
  try {
    var ka = Object.keys(a),
        kb = Object.keys(b),
        key, i;
  } catch (e) {//happens when one is a string literal and the other isn't
    return false;
  }
  if (ka.length != kb.length)
    return false;
  ka.sort();
  kb.sort();
  for (i = ka.length - 1; i >= 0; i--) {
    if (ka[i] != kb[i])
      return false;
  }
  for (i = ka.length - 1; i >= 0; i--) {
    key = ka[i];
    if (!_deepEqual(a[key], b[key])) return false;
  }
  return true;
}

assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
  if (_deepEqual(actual, expected)) {
    fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
  }
};

assert.strictEqual = function strictEqual(actual, expected, message) {
  if (actual !== expected) {
    fail(actual, expected, message, '===', assert.strictEqual);
  }
};

assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
  if (actual === expected) {
    fail(actual, expected, message, '!==', assert.notStrictEqual);
  }
};

function expectedException(actual, expected) {
  if (!actual || !expected) {
    return false;
  }

  if (expected instanceof RegExp) {
    return expected.test(actual);
  } else if (actual instanceof expected) {
    return true;
  } else if (expected.call({}, actual) === true) {
    return true;
  }

  return false;
}

function _throws(shouldThrow, block, expected, message) {
  var actual;

  if (typeof expected === 'string') {
    message = expected;
    expected = null;
  }

  try {
    block();
  } catch (e) {
    actual = e;
  }

  message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
            (message ? ' ' + message : '.');

  if (shouldThrow && !actual) {
    fail('Missing expected exception' + message);
  }

  if (!shouldThrow && expectedException(actual, expected)) {
    fail('Got unwanted exception' + message);
  }

  if ((shouldThrow && actual && expected &&
      !expectedException(actual, expected)) || (!shouldThrow && actual)) {
    throw actual;
  }
}

assert.throws = function(block, /*optional*/error, /*optional*/message) {
  _throws.apply(this, [true].concat(pSlice.call(arguments)));
};
assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {
  _throws.apply(this, [false].concat(pSlice.call(arguments)));
};

assert.ifError = function(err) { if (err) {throw err;}};

});

define("ace/test/asyncjs/async",["require","exports","module"], function(require, exports, module) {

var STOP = exports.STOP = {}

exports.Generator = function(source) {
    if (typeof source == "function")
        this.source = {
            next: source
        }
    else
        this.source = source
}

;(function() {
    this.next = function(callback) {
        this.source.next(callback)
    }

    this.map = function(mapper) {
        if (!mapper)
            return this
            
        mapper = makeAsync(1, mapper)
        
        var source = this.source
        this.next = function(callback) {
            source.next(function(err, value) {
                if (err)
                    callback(err)
                else {
                    mapper(value, function(err, value) {
                        if (err)
                            callback(err)
                        else
                            callback(null, value)
                    })
                }
            })
        }
        return new this.constructor(this)
    }
    
    this.filter = function(filter) {
        if (!filter)
            return this
            
        filter = makeAsync(1, filter)
        
        var source = this.source
        this.next = function(callback) {
            source.next(function handler(err, value) {
                if (err)
                    callback(err)
                else {
                    filter(value, function(err, takeIt) {
                        if (err)
                            callback(err)
                        else if (takeIt)
                            callback(null, value)
                        else
                            source.next(handler)
                    })
                }
            })
        }
        return new this.constructor(this)
    }

    this.slice = function(begin, end) {
        var count = -1
        if (!end || end < 0)
            var end = Infinity
        
        var source = this.source
        this.next = function(callback) {
            source.next(function handler(err, value) {
                count++
                if (err)
                    callback(err)
                else if (count >= begin && count < end)
                    callback(null, value)
                else if (count >= end)
                    callback(STOP)
                else
                    source.next(handler)
            })
        }
        return new this.constructor(this)
    }
    
    this.reduce = function(reduce, initialValue) {
        reduce = makeAsync(3, reduce)

        var index = 0
        var done = false
        var previousValue = initialValue
        
        var source = this.source
        this.next = function(callback) {
            if (done)
                return callback(STOP)

            if (initialValue === undefined) {
                source.next(function(err, currentValue) {
                    if (err)
                        return callback(err, previousValue)
                    
                    previousValue = currentValue
                    reduceAll()
                })
            }
            else
                reduceAll()

            function reduceAll() {
                source.next(function handler(err, currentValue) {                    
                    if (err) {
                        done = true
                        if (err == STOP)                            
                            return callback(null, previousValue)
                        else
                            return(err)
                    }
                    reduce(previousValue, currentValue, index++, function(err, value) {
                        previousValue = value
                        source.next(handler)
                    })
                })
            }            
        }
        return new this.constructor(this)
    }
    
    this.forEach =
    this.each = function(fn) {
        fn = makeAsync(1, fn)
            
        var source = this.source
        this.next = function(callback) {
            source.next(function handler(err, value) {
                if (err) 
                    callback(err)
                else {
                    fn(value, function(err) {
                        callback(err, value)
                    })
                }
            })
        }
        return new this.constructor(this)
    }
    
    this.some = function(condition) {
        condition = makeAsync(1, condition)
        
        var source = this.source
        var done = false
        this.next = function(callback) {
            if (done)
                return callback(STOP)
            
            source.next(function handler(err, value) {
                if (err)
                    return callback(err)
                    
                condition(value, function(err, result) {
                    if (err) {
                        done = true
                        if (err == STOP)
                            callback(null, false)
                        else
                            callback(err)
                    }                        
                    else if (result) {
                        done = true
                        callback(null, true)
                    }
                    else 
                        source.next(handler)
                })
            })
        }
        return new this.constructor(this)
    }
    
    this.every = function(condition) {
        condition = makeAsync(1, condition)
        
        var source = this.source
        var done = false
        this.next = function(callback) {
            if (done)
                return callback(STOP)
            
            source.next(function handler(err, value) {
                if (err)
                    return callback(err)
                    
                condition(value, function(err, result) {
                    if (err) {
                        done = true
                        if (err == STOP)
                            callback(null, true)
                        else
                            callback(err)
                    }                        
                    else if (!result) {
                        done = true
                        callback(null, false)
                    }
                    else 
                        source.next(handler)
                })
            })
        }
        return new this.constructor(this)
    }
    
    this.call = function(context) {
        var source = this.source
        return this.map(function(fn, next) {
            fn = makeAsync(0, fn, context)
            fn.call(context, function(err, value) {
                next(err, value)
            })
        })
    }
    
    this.concat = function(generator) {
        var generators = [this]
        generators.push.apply(generators, arguments)
        var index = 0
        var source = generators[index++]
        
        return new this.constructor(function(callback) {            
            source.next(function handler(err, value) {
                if (err) {
                    if (err == STOP) {
                        source = generators[index++]
                        if (!source)
                            return callback(STOP)
                        else
                            return source.next(handler)
                    }
                    else
                        return callback(err)
                }
                else
                    return callback(null, value)
            })
        })
    }
    
    this.zip = function(generator) {
        var generators = [this]
        generators.push.apply(generators, arguments)
        
        return new this.constructor(function(callback) {
            exports.list(generators)
                .map(function(gen, next) {                    
                    gen.next(next)
                })
                .toArray(callback)
        })
    }
    
    this.expand = function(inserter, constructor) {
       if (!inserter)
            return this
            
        var inserter = makeAsync(1, inserter)
        var constructor = constructor || this.constructor
        var source = this.source;
        var spliced = null;
        
        return new constructor(function next(callback) {
            if (!spliced) {
                source.next(function(err, value) {
                    if (err)
                        return callback(err)
                        
                    inserter(value, function(err, toInsert) {
                        if (err)
                            return callback(err)
                            
                        spliced = toInsert                        
                        next(callback)
                    })

                })
            } 
            else {
                spliced.next(function(err, value) {
                    if (err == STOP) {
                        spliced = null
                        return next(callback)
                    }
                    else if (err)
                        return callback(err)
                    
                    callback(err, value)
                })
            }
        })
    }

    this.sort = function(compare) {
        var self = this
        var arrGen
        this.next = function(callback) {
            if (arrGen)
                return arrGen.next(callback)

            self.toArray(function(err, arr) {
                if (err)
                    callback(err)
                else {
                    arrGen = exports.list(arr.sort(compare))
                    arrGen.next(callback)
                }
            })            
        }
        return new this.constructor(this)
    }

    this.join = function(separator) {
        return this.$arrayOp(Array.prototype.join, separator !== undefined ? [separator] : null)
    }
    
    this.reverse = function() {
        return this.$arrayOp(Array.prototype.reverse)
    }
    
    this.$arrayOp = function(arrayMethod, args) {
        var self = this
        var i = 0
        this.next = function(callback) {
            if (i++ > 0)
                return callback(STOP)
                
            self.toArray(function(err, arr) {
                if (err)
                    callback(err, "")
                else {
                    if (args)
                        callback(null, arrayMethod.apply(arr, args))
                    else
                        callback(null, arrayMethod.call(arr))
                }
            })
        }
        return new this.constructor(this)
        
    }
    
    this.end = function(breakOnError, callback) {
        if (!callback) {
            callback = arguments[0]
            breakOnError = true
        }

        var source = this.source
        var last
        var lastError
        source.next(function handler(err, value) {
            if (err) {
                if (err == STOP)
                    callback && callback(lastError, last)
                else if (!breakOnError) {
                    lastError = err
                    source.next(handler)
                }
                else
                    callback && callback(err, value)
            }
            else  {
                last = value
                source.next(handler)
            }
        })
    }

    this.toArray = function(breakOnError, callback) {
        if (!callback) {
            callback = arguments[0]
            breakOnError = true
        }
        
        var values = []
        var errors = []
        var source = this.source
        
        source.next(function handler(err, value) {
            if (err) {
                if (err == STOP) {
                    if (breakOnError)
                        return callback(null, values)
                    else {
                        errors.length = values.length
                        return callback(errors, values)
                    }
                }
                else {
                    if (breakOnError)
                        return callback(err)
                    else
                        errors[values.length] = err
                }
            }

            values.push(value)
            source.next(handler)
        })
    }

}).call(exports.Generator.prototype)

var makeAsync = exports.makeAsync = function(args, fn, context) {
    if (fn.length > args) 
        return fn
    else {
        return function() {
            var value
            var next = arguments[args]
            try {
                value = fn.apply(context || this, arguments)
            } catch(e) {
                return next(e)
            }
            next(null, value)
        }
    }
}

exports.list = function(arr, construct) {
    var construct = construct || exports.Generator
    var i = 0
    var len = arr.length
    
    return new construct(function(callback) {
        if (i < len)
            callback(null, arr[i++])
        else
            callback(STOP)
    })
}

exports.values = function(map, construct) {
    var values = []
    for (var key in map) 
        values.push(map[key])
        
    return exports.list(values, construct)
}

exports.keys = function(map, construct) {
    var keys = []
    for (var key in map) 
        keys.push(key)
        
    return exports.list(keys, construct)
} 
exports.range = function(start, stop, step, construct) {
    var construct = construct || exports.Generator
    start = start || 0
    step = step || 1
    
    if (stop === undefined || stop === null)
        stop = step > 0 ? Infinity : -Infinity
        
    var value = start
    
    return new construct(function(callback) {
        if (step > 0 && value >= stop || step < 0 && value <= stop)
            callback(STOP)
        else {
            var current = value
            value += step
            callback(null, current)
        }
    })
}

exports.concat = function(first, varargs) {
    if (arguments.length > 1)
        return first.concat.apply(first, Array.prototype.slice.call(arguments, 1))
    else
        return first
}

exports.zip = function(first, varargs) {
    if (arguments.length > 1)
        return first.zip.apply(first, Array.prototype.slice.call(arguments, 1))
    else
        return first.map(function(item, next) {
            next(null, [item])
        })
}


exports.plugin = function(members, constructors) {
    if (members) {
        for (var key in members) {
            exports.Generator.prototype[key] = members[key]
        }
    }

    if (constructors) {
        for (var key in constructors) {
            exports[key] = constructors[key]
        }
    }    
}

})

define("ace/test/mockrenderer",["require","exports","module"], function(require, exports, module) {
"use strict";

var MockRenderer = exports.MockRenderer = function(visibleRowCount) {
    if (typeof document == "object") {
        this.container = document.createElement("div");
        this.scroller = document.createElement("div");
    }
    this.visibleRowCount = visibleRowCount || 20;

    this.layerConfig = {
        firstVisibleRow : 0,
        lastVisibleRow : this.visibleRowCount
    };

    this.isMockRenderer = true;

    this.$gutter = {};
};


MockRenderer.prototype.getFirstVisibleRow = function() {
    return this.layerConfig.firstVisibleRow;
};

MockRenderer.prototype.getLastVisibleRow = function() {
    return this.layerConfig.lastVisibleRow;
};

MockRenderer.prototype.getFirstFullyVisibleRow = function() {
    return this.layerConfig.firstVisibleRow;
};

MockRenderer.prototype.getLastFullyVisibleRow = function() {
    return this.layerConfig.lastVisibleRow;
};

MockRenderer.prototype.getContainerElement = function() {
    return this.container;
};

MockRenderer.prototype.getMouseEventTarget = function() {
    return this.container;
};

MockRenderer.prototype.getTextAreaContainer = function() {
    return this.container;
};

MockRenderer.prototype.addGutterDecoration = function() {
};

MockRenderer.prototype.removeGutterDecoration = function() {
};

MockRenderer.prototype.moveTextAreaToCursor = function() {
};

MockRenderer.prototype.setSession = function(session) {
    this.session = session;
};

MockRenderer.prototype.getSession = function(session) {
    return this.session;
};

MockRenderer.prototype.setTokenizer = function() {
};

MockRenderer.prototype.on = function() {
};

MockRenderer.prototype.updateCursor = function() {
};

MockRenderer.prototype.animateScrolling = function(fromValue, callback) {
    callback && callback();
};

MockRenderer.prototype.scrollToX = function(scrollTop) {};
MockRenderer.prototype.scrollToY = function(scrollLeft) {};

MockRenderer.prototype.scrollToLine = function(line, center) {
    var lineHeight = 16;
    var row = 0;
    for (var l = 1; l < line; l++) {
        row += this.session.getRowLength(l-1);
    }

    if (center) {
        row -= this.visibleRowCount / 2;
    }
    this.scrollToRow(row);
};

MockRenderer.prototype.scrollSelectionIntoView = function() {
};

MockRenderer.prototype.scrollCursorIntoView = function() {
    var cursor = this.session.getSelection().getCursor();
    if (cursor.row < this.layerConfig.firstVisibleRow) {
        this.scrollToRow(cursor.row);
    }
    else if (cursor.row > this.layerConfig.lastVisibleRow) {
        this.scrollToRow(cursor.row);
    }
};

MockRenderer.prototype.scrollToRow = function(row) {
    var row = Math.min(this.session.getLength() - this.visibleRowCount, Math.max(0,
                                                                          row));
    this.layerConfig.firstVisibleRow = row;
    this.layerConfig.lastVisibleRow = row + this.visibleRowCount;
};

MockRenderer.prototype.getScrollTopRow = function() {
  return this.layerConfig.firstVisibleRow;
};

MockRenderer.prototype.draw = function() {
};

MockRenderer.prototype.onChangeTabSize = function(startRow, endRow) {
};

MockRenderer.prototype.updateLines = function(startRow, endRow) {
};

MockRenderer.prototype.updateBackMarkers = function() {
};

MockRenderer.prototype.updateFrontMarkers = function() {
};

MockRenderer.prototype.updateBreakpoints = function() {
};

MockRenderer.prototype.onResize = function() {
};

MockRenderer.prototype.updateFull = function() {
};

MockRenderer.prototype.updateText = function() {
};

MockRenderer.prototype.showCursor = function() {
};

MockRenderer.prototype.visualizeFocus = function() {
};

MockRenderer.prototype.setAnnotations = function() {
};

MockRenderer.prototype.setStyle = function() {
};

MockRenderer.prototype.unsetStyle = function() {
};

MockRenderer.prototype.textToScreenCoordinates = function() {
    return {
        pageX: 0,
        pageY: 0
    };
};

MockRenderer.prototype.screenToTextCoordinates = function() {
    return {
        row: 0,
        column: 0
    };
};

MockRenderer.prototype.adjustWrapLimit = function () {

};

});

define("kitchen-sink/dev_util",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/edit_session","ace/undomanager","ace/lib/oop","ace/lib/dom","ace/range","ace/editor","ace/test/asyncjs/assert","ace/test/asyncjs/async","ace/undomanager","ace/edit_session","ace/test/mockrenderer","ace/lib/event_emitter"], function(require, exports, module) {
var dom = require("ace/lib/dom");
v
Download .txt
gitextract_lkol1ov3/

├── .gitignore
├── .gitmodules
├── README.md
├── app/
│   ├── .gitignore
│   ├── __init__.py
│   ├── assemble.py
│   ├── constants.py
│   ├── disassemble.py
│   ├── index/
│   │   └── index.html
│   ├── index.py
│   ├── settings.py
│   └── static/
│       ├── css/
│       │   ├── beanstalk.css
│       │   ├── dark.css
│       │   ├── index.css
│       │   └── libs/
│       │       └── w3.css
│       └── js/
│           ├── assemble.js
│           ├── constants.js
│           ├── disassemble.js
│           ├── index.js
│           └── libs/
│               ├── ace/
│               │   ├── .github/
│               │   │   └── PULL_REQUEST_TEMPLATE.md
│               │   ├── CODE_OF_CONDUCT.md
│               │   ├── CONTRIBUTING.md
│               │   ├── ChangeLog.txt
│               │   ├── LICENSE
│               │   ├── README.md
│               │   ├── ace-modules.d.ts
│               │   ├── ace.d.ts
│               │   ├── bower.json
│               │   ├── demo/
│               │   │   ├── autocompletion.html
│               │   │   ├── autoresize.html
│               │   │   ├── bookmarklet/
│               │   │   │   ├── index.html
│               │   │   │   └── style.css
│               │   │   ├── chromevox.html
│               │   │   ├── emmet.html
│               │   │   ├── iframe.html
│               │   │   ├── keyboard_shortcuts.html
│               │   │   ├── kitchen-sink/
│               │   │   │   ├── demo.js
│               │   │   │   ├── docs/
│               │   │   │   │   ├── .gitignore
│               │   │   │   │   ├── Dockerfile
│               │   │   │   │   ├── Haxe.hx
│               │   │   │   │   ├── Jack.jack
│               │   │   │   │   ├── Makefile
│               │   │   │   │   ├── Nix.nix
│               │   │   │   │   ├── abap.abap
│               │   │   │   │   ├── abc.abc
│               │   │   │   │   ├── actionscript.as
│               │   │   │   │   ├── ada.ada
│               │   │   │   │   ├── apex.apex
│               │   │   │   │   ├── asciidoc.asciidoc
│               │   │   │   │   ├── asl.dsl
│               │   │   │   │   ├── assembly_x86.asm
│               │   │   │   │   ├── autohotkey.ahk
│               │   │   │   │   ├── batchfile.bat
│               │   │   │   │   ├── bro.bro
│               │   │   │   │   ├── c9search.c9search_results
│               │   │   │   │   ├── c_cpp.cpp
│               │   │   │   │   ├── cirru.cirru
│               │   │   │   │   ├── clojure.clj
│               │   │   │   │   ├── cobol.CBL
│               │   │   │   │   ├── coffee.coffee
│               │   │   │   │   ├── coldfusion.cfm
│               │   │   │   │   ├── csharp.cs
│               │   │   │   │   ├── csound_document.csd
│               │   │   │   │   ├── csound_orchestra.orc
│               │   │   │   │   ├── csound_score.sco
│               │   │   │   │   ├── css.css
│               │   │   │   │   ├── curly.curly
│               │   │   │   │   ├── d.d
│               │   │   │   │   ├── dart.dart
│               │   │   │   │   ├── diff.diff
│               │   │   │   │   ├── dot.dot
│               │   │   │   │   ├── drools.drl
│               │   │   │   │   ├── edifact.edi
│               │   │   │   │   ├── eiffel.e
│               │   │   │   │   ├── ejs.ejs
│               │   │   │   │   ├── elixir.ex
│               │   │   │   │   ├── elm.elm
│               │   │   │   │   ├── erlang.erl
│               │   │   │   │   ├── forth.frt
│               │   │   │   │   ├── fortran.f90
│               │   │   │   │   ├── fsharp.fsi
│               │   │   │   │   ├── fsl.fsl
│               │   │   │   │   ├── ftl.ftl
│               │   │   │   │   ├── gcode.gcode
│               │   │   │   │   ├── gherkin.feature
│               │   │   │   │   ├── glsl.glsl
│               │   │   │   │   ├── gobstones.gbs
│               │   │   │   │   ├── golang.go
│               │   │   │   │   ├── graphqlschema.gql
│               │   │   │   │   ├── groovy.groovy
│               │   │   │   │   ├── haml.haml
│               │   │   │   │   ├── handlebars.hbs
│               │   │   │   │   ├── haskell.hs
│               │   │   │   │   ├── haskell_cabal.cabal
│               │   │   │   │   ├── hjson.hjson
│               │   │   │   │   ├── htaccess
│               │   │   │   │   ├── html.html
│               │   │   │   │   ├── html_elixir.eex
│               │   │   │   │   ├── html_ruby.erb
│               │   │   │   │   ├── ini.ini
│               │   │   │   │   ├── io.io
│               │   │   │   │   ├── jade.jade
│               │   │   │   │   ├── java.java
│               │   │   │   │   ├── javascript.js
│               │   │   │   │   ├── json.json
│               │   │   │   │   ├── jsoniq.jq
│               │   │   │   │   ├── jsp.jsp
│               │   │   │   │   ├── jssm.jssm
│               │   │   │   │   ├── jsx.jsx
│               │   │   │   │   ├── julia.jl
│               │   │   │   │   ├── kotlin.kt
│               │   │   │   │   ├── latex.tex
│               │   │   │   │   ├── less.less
│               │   │   │   │   ├── liquid.liquid
│               │   │   │   │   ├── lisp.lisp
│               │   │   │   │   ├── livescript.ls
│               │   │   │   │   ├── logiql.logic
│               │   │   │   │   ├── logtalk.lgt
│               │   │   │   │   ├── lsl.lsl
│               │   │   │   │   ├── lua.lua
│               │   │   │   │   ├── luapage.lp
│               │   │   │   │   ├── lucene.lucene
│               │   │   │   │   ├── markdown.md
│               │   │   │   │   ├── mask.mask
│               │   │   │   │   ├── matlab.matlab
│               │   │   │   │   ├── maze.mz
│               │   │   │   │   ├── mel.mel
│               │   │   │   │   ├── mixal.mixal
│               │   │   │   │   ├── mushcode.mc
│               │   │   │   │   ├── mysql.mysql
│               │   │   │   │   ├── nsis.nsi
│               │   │   │   │   ├── objectivec.m
│               │   │   │   │   ├── ocaml.ml
│               │   │   │   │   ├── pascal.pas
│               │   │   │   │   ├── perl.pl
│               │   │   │   │   ├── perl6.p6
│               │   │   │   │   ├── pgsql.pgsql
│               │   │   │   │   ├── php.php
│               │   │   │   │   ├── php_laravel_blade.blade.php
│               │   │   │   │   ├── pig.pig
│               │   │   │   │   ├── plaintext.txt
│               │   │   │   │   ├── powershell.ps1
│               │   │   │   │   ├── praat.praat
│               │   │   │   │   ├── prolog.plg
│               │   │   │   │   ├── properties.properties
│               │   │   │   │   ├── protobuf.proto
│               │   │   │   │   ├── puppet.epp
│               │   │   │   │   ├── python.py
│               │   │   │   │   ├── r.r
│               │   │   │   │   ├── razor.cshtml
│               │   │   │   │   ├── rdoc.Rd
│               │   │   │   │   ├── red.red
│               │   │   │   │   ├── rhtml.Rhtml
│               │   │   │   │   ├── rst.rst
│               │   │   │   │   ├── ruby.rb
│               │   │   │   │   ├── rust.rs
│               │   │   │   │   ├── sass.sass
│               │   │   │   │   ├── scad.scad
│               │   │   │   │   ├── scala.scala
│               │   │   │   │   ├── scheme.scm
│               │   │   │   │   ├── scss.scss
│               │   │   │   │   ├── sh.sh
│               │   │   │   │   ├── sjs.sjs
│               │   │   │   │   ├── slim.slim
│               │   │   │   │   ├── smarty.smarty
│               │   │   │   │   ├── snippets.snippets
│               │   │   │   │   ├── soy_template.soy
│               │   │   │   │   ├── space.space
│               │   │   │   │   ├── sparql.rq
│               │   │   │   │   ├── sql.sql
│               │   │   │   │   ├── sqlserver.sqlserver
│               │   │   │   │   ├── stylus.styl
│               │   │   │   │   ├── swift.swift
│               │   │   │   │   ├── tcl.tcl
│               │   │   │   │   ├── terraform.tf
│               │   │   │   │   ├── tex.tex
│               │   │   │   │   ├── textile.textile
│               │   │   │   │   ├── toml.toml
│               │   │   │   │   ├── tsx.tsx
│               │   │   │   │   ├── turtle.ttl
│               │   │   │   │   ├── twig.twig
│               │   │   │   │   ├── type_script.ts
│               │   │   │   │   ├── typescript.ts
│               │   │   │   │   ├── vala.vala
│               │   │   │   │   ├── vbscript.vbs
│               │   │   │   │   ├── velocity.vm
│               │   │   │   │   ├── verilog.v
│               │   │   │   │   ├── vhdl.vhd
│               │   │   │   │   ├── visualforce.vfp
│               │   │   │   │   ├── wollok.wlk
│               │   │   │   │   ├── xml.xml
│               │   │   │   │   ├── xquery.xq
│               │   │   │   │   └── yaml.yaml
│               │   │   │   └── styles.css
│               │   │   ├── modelist.html
│               │   │   ├── r.js
│               │   │   ├── requirejs+build.html
│               │   │   ├── scrollable-page.html
│               │   │   ├── settings_menu.html
│               │   │   ├── shadow-dom.html
│               │   │   ├── show_own_source.js
│               │   │   ├── static-highlighter.html
│               │   │   ├── statusbar.html
│               │   │   ├── toolbar.html
│               │   │   ├── transform.html
│               │   │   └── xml.xml
│               │   ├── editor.html
│               │   ├── kitchen-sink.html
│               │   ├── package.json
│               │   ├── src/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   ├── src-min/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   ├── src-min-noconflict/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   ├── src-noconflict/
│               │   │   ├── ace.js
│               │   │   ├── ext-beautify.js
│               │   │   ├── ext-elastic_tabstops_lite.js
│               │   │   ├── ext-emmet.js
│               │   │   ├── ext-error_marker.js
│               │   │   ├── ext-keybinding_menu.js
│               │   │   ├── ext-language_tools.js
│               │   │   ├── ext-linking.js
│               │   │   ├── ext-modelist.js
│               │   │   ├── ext-options.js
│               │   │   ├── ext-rtl.js
│               │   │   ├── ext-searchbox.js
│               │   │   ├── ext-settings_menu.js
│               │   │   ├── ext-spellcheck.js
│               │   │   ├── ext-split.js
│               │   │   ├── ext-static_highlight.js
│               │   │   ├── ext-statusbar.js
│               │   │   ├── ext-textarea.js
│               │   │   ├── ext-themelist.js
│               │   │   ├── ext-whitespace.js
│               │   │   ├── keybinding-emacs.js
│               │   │   ├── keybinding-sublime.js
│               │   │   ├── keybinding-vim.js
│               │   │   ├── mode-abap.js
│               │   │   ├── mode-abc.js
│               │   │   ├── mode-actionscript.js
│               │   │   ├── mode-ada.js
│               │   │   ├── mode-apache_conf.js
│               │   │   ├── mode-apex.js
│               │   │   ├── mode-applescript.js
│               │   │   ├── mode-asciidoc.js
│               │   │   ├── mode-asl.js
│               │   │   ├── mode-assembly_x86.js
│               │   │   ├── mode-autohotkey.js
│               │   │   ├── mode-batchfile.js
│               │   │   ├── mode-bro.js
│               │   │   ├── mode-c9search.js
│               │   │   ├── mode-c_cpp.js
│               │   │   ├── mode-cirru.js
│               │   │   ├── mode-clojure.js
│               │   │   ├── mode-cobol.js
│               │   │   ├── mode-coffee.js
│               │   │   ├── mode-coldfusion.js
│               │   │   ├── mode-csharp.js
│               │   │   ├── mode-csound_document.js
│               │   │   ├── mode-csound_orchestra.js
│               │   │   ├── mode-csound_score.js
│               │   │   ├── mode-csp.js
│               │   │   ├── mode-css.js
│               │   │   ├── mode-curly.js
│               │   │   ├── mode-d.js
│               │   │   ├── mode-dart.js
│               │   │   ├── mode-diff.js
│               │   │   ├── mode-django.js
│               │   │   ├── mode-dockerfile.js
│               │   │   ├── mode-dot.js
│               │   │   ├── mode-drools.js
│               │   │   ├── mode-edifact.js
│               │   │   ├── mode-eiffel.js
│               │   │   ├── mode-ejs.js
│               │   │   ├── mode-elixir.js
│               │   │   ├── mode-elm.js
│               │   │   ├── mode-erlang.js
│               │   │   ├── mode-forth.js
│               │   │   ├── mode-fortran.js
│               │   │   ├── mode-fsharp.js
│               │   │   ├── mode-fsl.js
│               │   │   ├── mode-ftl.js
│               │   │   ├── mode-gcode.js
│               │   │   ├── mode-gherkin.js
│               │   │   ├── mode-gitignore.js
│               │   │   ├── mode-glsl.js
│               │   │   ├── mode-gobstones.js
│               │   │   ├── mode-golang.js
│               │   │   ├── mode-graphqlschema.js
│               │   │   ├── mode-groovy.js
│               │   │   ├── mode-haml.js
│               │   │   ├── mode-handlebars.js
│               │   │   ├── mode-haskell.js
│               │   │   ├── mode-haskell_cabal.js
│               │   │   ├── mode-haxe.js
│               │   │   ├── mode-hjson.js
│               │   │   ├── mode-html.js
│               │   │   ├── mode-html_elixir.js
│               │   │   ├── mode-html_ruby.js
│               │   │   ├── mode-ini.js
│               │   │   ├── mode-io.js
│               │   │   ├── mode-jack.js
│               │   │   ├── mode-jade.js
│               │   │   ├── mode-java.js
│               │   │   ├── mode-javascript.js
│               │   │   ├── mode-json.js
│               │   │   ├── mode-jsoniq.js
│               │   │   ├── mode-jsp.js
│               │   │   ├── mode-jssm.js
│               │   │   ├── mode-jsx.js
│               │   │   ├── mode-julia.js
│               │   │   ├── mode-kotlin.js
│               │   │   ├── mode-latex.js
│               │   │   ├── mode-less.js
│               │   │   ├── mode-liquid.js
│               │   │   ├── mode-lisp.js
│               │   │   ├── mode-livescript.js
│               │   │   ├── mode-logiql.js
│               │   │   ├── mode-logtalk.js
│               │   │   ├── mode-lsl.js
│               │   │   ├── mode-lua.js
│               │   │   ├── mode-luapage.js
│               │   │   ├── mode-lucene.js
│               │   │   ├── mode-makefile.js
│               │   │   ├── mode-markdown.js
│               │   │   ├── mode-mask.js
│               │   │   ├── mode-matlab.js
│               │   │   ├── mode-maze.js
│               │   │   ├── mode-mel.js
│               │   │   ├── mode-mixal.js
│               │   │   ├── mode-mushcode.js
│               │   │   ├── mode-mysql.js
│               │   │   ├── mode-nix.js
│               │   │   ├── mode-nsis.js
│               │   │   ├── mode-objectivec.js
│               │   │   ├── mode-ocaml.js
│               │   │   ├── mode-pascal.js
│               │   │   ├── mode-perl.js
│               │   │   ├── mode-perl6.js
│               │   │   ├── mode-pgsql.js
│               │   │   ├── mode-php.js
│               │   │   ├── mode-php_laravel_blade.js
│               │   │   ├── mode-pig.js
│               │   │   ├── mode-plain_text.js
│               │   │   ├── mode-powershell.js
│               │   │   ├── mode-praat.js
│               │   │   ├── mode-prolog.js
│               │   │   ├── mode-properties.js
│               │   │   ├── mode-protobuf.js
│               │   │   ├── mode-puppet.js
│               │   │   ├── mode-python.js
│               │   │   ├── mode-r.js
│               │   │   ├── mode-razor.js
│               │   │   ├── mode-rdoc.js
│               │   │   ├── mode-red.js
│               │   │   ├── mode-redshift.js
│               │   │   ├── mode-rhtml.js
│               │   │   ├── mode-rst.js
│               │   │   ├── mode-ruby.js
│               │   │   ├── mode-rust.js
│               │   │   ├── mode-sass.js
│               │   │   ├── mode-scad.js
│               │   │   ├── mode-scala.js
│               │   │   ├── mode-scheme.js
│               │   │   ├── mode-scss.js
│               │   │   ├── mode-sh.js
│               │   │   ├── mode-sjs.js
│               │   │   ├── mode-slim.js
│               │   │   ├── mode-smarty.js
│               │   │   ├── mode-snippets.js
│               │   │   ├── mode-soy_template.js
│               │   │   ├── mode-space.js
│               │   │   ├── mode-sparql.js
│               │   │   ├── mode-sql.js
│               │   │   ├── mode-sqlserver.js
│               │   │   ├── mode-stylus.js
│               │   │   ├── mode-svg.js
│               │   │   ├── mode-swift.js
│               │   │   ├── mode-tcl.js
│               │   │   ├── mode-terraform.js
│               │   │   ├── mode-tex.js
│               │   │   ├── mode-text.js
│               │   │   ├── mode-textile.js
│               │   │   ├── mode-toml.js
│               │   │   ├── mode-tsx.js
│               │   │   ├── mode-turtle.js
│               │   │   ├── mode-twig.js
│               │   │   ├── mode-typescript.js
│               │   │   ├── mode-vala.js
│               │   │   ├── mode-vbscript.js
│               │   │   ├── mode-velocity.js
│               │   │   ├── mode-verilog.js
│               │   │   ├── mode-vhdl.js
│               │   │   ├── mode-visualforce.js
│               │   │   ├── mode-wollok.js
│               │   │   ├── mode-xml.js
│               │   │   ├── mode-xquery.js
│               │   │   ├── mode-yaml.js
│               │   │   ├── snippets/
│               │   │   │   ├── abap.js
│               │   │   │   ├── abc.js
│               │   │   │   ├── actionscript.js
│               │   │   │   ├── ada.js
│               │   │   │   ├── apache_conf.js
│               │   │   │   ├── apex.js
│               │   │   │   ├── applescript.js
│               │   │   │   ├── asciidoc.js
│               │   │   │   ├── asl.js
│               │   │   │   ├── assembly_x86.js
│               │   │   │   ├── autohotkey.js
│               │   │   │   ├── batchfile.js
│               │   │   │   ├── bro.js
│               │   │   │   ├── c9search.js
│               │   │   │   ├── c_cpp.js
│               │   │   │   ├── cirru.js
│               │   │   │   ├── clojure.js
│               │   │   │   ├── cobol.js
│               │   │   │   ├── coffee.js
│               │   │   │   ├── coldfusion.js
│               │   │   │   ├── csharp.js
│               │   │   │   ├── csound_document.js
│               │   │   │   ├── csound_orchestra.js
│               │   │   │   ├── csound_score.js
│               │   │   │   ├── csp.js
│               │   │   │   ├── css.js
│               │   │   │   ├── curly.js
│               │   │   │   ├── d.js
│               │   │   │   ├── dart.js
│               │   │   │   ├── diff.js
│               │   │   │   ├── django.js
│               │   │   │   ├── dockerfile.js
│               │   │   │   ├── dot.js
│               │   │   │   ├── drools.js
│               │   │   │   ├── edifact.js
│               │   │   │   ├── eiffel.js
│               │   │   │   ├── ejs.js
│               │   │   │   ├── elixir.js
│               │   │   │   ├── elm.js
│               │   │   │   ├── erlang.js
│               │   │   │   ├── forth.js
│               │   │   │   ├── fortran.js
│               │   │   │   ├── fsharp.js
│               │   │   │   ├── fsl.js
│               │   │   │   ├── ftl.js
│               │   │   │   ├── gcode.js
│               │   │   │   ├── gherkin.js
│               │   │   │   ├── gitignore.js
│               │   │   │   ├── glsl.js
│               │   │   │   ├── gobstones.js
│               │   │   │   ├── golang.js
│               │   │   │   ├── graphqlschema.js
│               │   │   │   ├── groovy.js
│               │   │   │   ├── haml.js
│               │   │   │   ├── handlebars.js
│               │   │   │   ├── haskell.js
│               │   │   │   ├── haskell_cabal.js
│               │   │   │   ├── haxe.js
│               │   │   │   ├── hjson.js
│               │   │   │   ├── html.js
│               │   │   │   ├── html_elixir.js
│               │   │   │   ├── html_ruby.js
│               │   │   │   ├── ini.js
│               │   │   │   ├── io.js
│               │   │   │   ├── jack.js
│               │   │   │   ├── jade.js
│               │   │   │   ├── java.js
│               │   │   │   ├── javascript.js
│               │   │   │   ├── json.js
│               │   │   │   ├── jsoniq.js
│               │   │   │   ├── jsp.js
│               │   │   │   ├── jssm.js
│               │   │   │   ├── jsx.js
│               │   │   │   ├── julia.js
│               │   │   │   ├── kotlin.js
│               │   │   │   ├── latex.js
│               │   │   │   ├── less.js
│               │   │   │   ├── liquid.js
│               │   │   │   ├── lisp.js
│               │   │   │   ├── livescript.js
│               │   │   │   ├── logiql.js
│               │   │   │   ├── logtalk.js
│               │   │   │   ├── lsl.js
│               │   │   │   ├── lua.js
│               │   │   │   ├── luapage.js
│               │   │   │   ├── lucene.js
│               │   │   │   ├── makefile.js
│               │   │   │   ├── markdown.js
│               │   │   │   ├── mask.js
│               │   │   │   ├── matlab.js
│               │   │   │   ├── maze.js
│               │   │   │   ├── mel.js
│               │   │   │   ├── mixal.js
│               │   │   │   ├── mushcode.js
│               │   │   │   ├── mysql.js
│               │   │   │   ├── nix.js
│               │   │   │   ├── nsis.js
│               │   │   │   ├── objectivec.js
│               │   │   │   ├── ocaml.js
│               │   │   │   ├── pascal.js
│               │   │   │   ├── perl.js
│               │   │   │   ├── perl6.js
│               │   │   │   ├── pgsql.js
│               │   │   │   ├── php.js
│               │   │   │   ├── php_laravel_blade.js
│               │   │   │   ├── pig.js
│               │   │   │   ├── plain_text.js
│               │   │   │   ├── powershell.js
│               │   │   │   ├── praat.js
│               │   │   │   ├── prolog.js
│               │   │   │   ├── properties.js
│               │   │   │   ├── protobuf.js
│               │   │   │   ├── puppet.js
│               │   │   │   ├── python.js
│               │   │   │   ├── r.js
│               │   │   │   ├── razor.js
│               │   │   │   ├── rdoc.js
│               │   │   │   ├── red.js
│               │   │   │   ├── redshift.js
│               │   │   │   ├── rhtml.js
│               │   │   │   ├── rst.js
│               │   │   │   ├── ruby.js
│               │   │   │   ├── rust.js
│               │   │   │   ├── sass.js
│               │   │   │   ├── scad.js
│               │   │   │   ├── scala.js
│               │   │   │   ├── scheme.js
│               │   │   │   ├── scss.js
│               │   │   │   ├── sh.js
│               │   │   │   ├── sjs.js
│               │   │   │   ├── slim.js
│               │   │   │   ├── smarty.js
│               │   │   │   ├── snippets.js
│               │   │   │   ├── soy_template.js
│               │   │   │   ├── space.js
│               │   │   │   ├── sparql.js
│               │   │   │   ├── sql.js
│               │   │   │   ├── sqlserver.js
│               │   │   │   ├── stylus.js
│               │   │   │   ├── svg.js
│               │   │   │   ├── swift.js
│               │   │   │   ├── tcl.js
│               │   │   │   ├── terraform.js
│               │   │   │   ├── tex.js
│               │   │   │   ├── text.js
│               │   │   │   ├── textile.js
│               │   │   │   ├── toml.js
│               │   │   │   ├── tsx.js
│               │   │   │   ├── turtle.js
│               │   │   │   ├── twig.js
│               │   │   │   ├── typescript.js
│               │   │   │   ├── vala.js
│               │   │   │   ├── vbscript.js
│               │   │   │   ├── velocity.js
│               │   │   │   ├── verilog.js
│               │   │   │   ├── vhdl.js
│               │   │   │   ├── visualforce.js
│               │   │   │   ├── wollok.js
│               │   │   │   ├── xml.js
│               │   │   │   ├── xquery.js
│               │   │   │   └── yaml.js
│               │   │   ├── theme-ambiance.js
│               │   │   ├── theme-chaos.js
│               │   │   ├── theme-chrome.js
│               │   │   ├── theme-clouds.js
│               │   │   ├── theme-clouds_midnight.js
│               │   │   ├── theme-cobalt.js
│               │   │   ├── theme-crimson_editor.js
│               │   │   ├── theme-dawn.js
│               │   │   ├── theme-dracula.js
│               │   │   ├── theme-dreamweaver.js
│               │   │   ├── theme-eclipse.js
│               │   │   ├── theme-github.js
│               │   │   ├── theme-gob.js
│               │   │   ├── theme-gruvbox.js
│               │   │   ├── theme-idle_fingers.js
│               │   │   ├── theme-iplastic.js
│               │   │   ├── theme-katzenmilch.js
│               │   │   ├── theme-kr_theme.js
│               │   │   ├── theme-kuroir.js
│               │   │   ├── theme-merbivore.js
│               │   │   ├── theme-merbivore_soft.js
│               │   │   ├── theme-mono_industrial.js
│               │   │   ├── theme-monokai.js
│               │   │   ├── theme-pastel_on_dark.js
│               │   │   ├── theme-solarized_dark.js
│               │   │   ├── theme-solarized_light.js
│               │   │   ├── theme-sqlserver.js
│               │   │   ├── theme-terminal.js
│               │   │   ├── theme-textmate.js
│               │   │   ├── theme-tomorrow.js
│               │   │   ├── theme-tomorrow_night.js
│               │   │   ├── theme-tomorrow_night_blue.js
│               │   │   ├── theme-tomorrow_night_bright.js
│               │   │   ├── theme-tomorrow_night_eighties.js
│               │   │   ├── theme-twilight.js
│               │   │   ├── theme-vibrant_ink.js
│               │   │   ├── theme-xcode.js
│               │   │   ├── worker-coffee.js
│               │   │   ├── worker-css.js
│               │   │   ├── worker-html.js
│               │   │   ├── worker-javascript.js
│               │   │   ├── worker-json.js
│               │   │   ├── worker-lua.js
│               │   │   ├── worker-php.js
│               │   │   ├── worker-xml.js
│               │   │   └── worker-xquery.js
│               │   └── webpack-resolver.js
│               └── easydropdown/
│                   └── easydropdown.js
├── ninja.py
└── requirements.txt
Download .txt
Showing preview only (872K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (10221 symbols across 342 files)

FILE: app/assemble.py
  function assemble (line 39) | def assemble(code):

FILE: app/disassemble.py
  function init_capstone (line 10) | def init_capstone():
  function disassemble (line 30) | def disassemble(code):

FILE: app/index.py
  function index (line 5) | def index():

FILE: app/settings.py
  function update (line 13) | def update(options):
  function get_settings (line 19) | def get_settings():

FILE: app/static/js/assemble.js
  function send_asm_update (line 1) | function send_asm_update(){
  function update_assembled_prettified (line 6) | function update_assembled_prettified(code){
  function update_assembled_raw (line 25) | function update_assembled_raw(code){
  function update_assembled_code (line 39) | function update_assembled_code(code){

FILE: app/static/js/constants.js
  constant KS_ARCH_ARM (line 1) | let KS_ARCH_ARM = 1
  constant KS_ARCH_ARM64 (line 2) | let KS_ARCH_ARM64 = 2
  constant KS_ARCH_MIPS (line 3) | let KS_ARCH_MIPS = 3
  constant KS_ARCH_X86 (line 4) | let KS_ARCH_X86 = 4
  constant KS_ARCH_PPC (line 5) | let KS_ARCH_PPC = 5
  constant KS_ARCH_SPARC (line 6) | let KS_ARCH_SPARC = 6
  constant KS_ARCH_SYSTEMZ (line 7) | let KS_ARCH_SYSTEMZ = 7
  constant KS_ARCH_HEXAGON (line 8) | let KS_ARCH_HEXAGON = 8
  constant KS_ARCH_EVM (line 9) | let KS_ARCH_EVM = 9
  constant KS_ARCH_MAX (line 10) | let KS_ARCH_MAX = 10
  constant KS_MODE_LITTLE_ENDIAN (line 11) | let KS_MODE_LITTLE_ENDIAN = 0
  constant KS_MODE_BIG_ENDIAN (line 12) | let KS_MODE_BIG_ENDIAN = 1073741824
  constant KS_MODE_ARM (line 13) | let KS_MODE_ARM = 1
  constant KS_MODE_THUMB (line 14) | let KS_MODE_THUMB = 16
  constant KS_MODE_V8 (line 15) | let KS_MODE_V8 = 64
  constant KS_MODE_MICRO (line 16) | let KS_MODE_MICRO = 16
  constant KS_MODE_MIPS3 (line 17) | let KS_MODE_MIPS3 = 32
  constant KS_MODE_MIPS32R6 (line 18) | let KS_MODE_MIPS32R6 = 64
  constant KS_MODE_MIPS32 (line 19) | let KS_MODE_MIPS32 = 4
  constant KS_MODE_MIPS64 (line 20) | let KS_MODE_MIPS64 = 8
  constant KS_MODE_16 (line 21) | let KS_MODE_16 = 2
  constant KS_MODE_32 (line 22) | let KS_MODE_32 = 4
  constant KS_MODE_64 (line 23) | let KS_MODE_64 = 8
  constant KS_MODE_PPC32 (line 24) | let KS_MODE_PPC32 = 4
  constant KS_MODE_PPC64 (line 25) | let KS_MODE_PPC64 = 8
  constant KS_MODE_QPX (line 26) | let KS_MODE_QPX = 16
  constant KS_MODE_SPARC32 (line 27) | let KS_MODE_SPARC32 = 4
  constant KS_MODE_SPARC64 (line 28) | let KS_MODE_SPARC64 = 8
  constant KS_MODE_V9 (line 29) | let KS_MODE_V9 = 16

FILE: app/static/js/disassemble.js
  function send_machine_update (line 1) | function send_machine_update(){
  function update_disassembled_code (line 19) | function update_disassembled_code(code){
  function parse_raw (line 29) | function parse_raw(code){
  function parse_prettified (line 41) | function parse_prettified(code){

FILE: app/static/js/index.js
  function init_settings (line 71) | function init_settings(){
  function update_settings_to_server (line 114) | function update_settings_to_server(){
  function clear_option_element (line 128) | function clear_option_element(element){
  function offset_update (line 133) | function offset_update(OFFSET){
  function endian_update (line 137) | function endian_update(ENDIAN){
  function mode_update (line 145) | function mode_update(MODE){
  function arch_update (line 174) | function arch_update(ARCH){
  function view_update (line 199) | function view_update(VIEW){
  function sync_settings_local (line 203) | function sync_settings_local(){
  function set_success_message (line 221) | function set_success_message(msg){
  function set_error_message (line 225) | function set_error_message(msg){
  function set_message (line 229) | function set_message(idnt, val){

FILE: app/static/js/libs/ace/ace.d.ts
  type NewLineMode (line 3) | type NewLineMode = 'auto' | 'unix' | 'windows';
  type Anchor (line 5) | interface Anchor extends EventEmitter {
  type Document (line 13) | interface Document extends EventEmitter {
  type FoldLine (line 46) | interface FoldLine {
  type Fold (line 63) | interface Fold {
  type Folding (line 77) | interface Folding {
  type Range (line 123) | interface Range {
  type EditSessionOptions (line 155) | interface EditSessionOptions {
  type VirtualRendererOptions (line 170) | interface VirtualRendererOptions {
  type MouseHandlerOptions (line 195) | interface MouseHandlerOptions {
  type EditorOptions (line 203) | interface EditorOptions extends EditSessionOptions,
  type SearchOptions (line 221) | interface SearchOptions {
  type EventEmitter (line 235) | interface EventEmitter {
  type Point (line 246) | interface Point {
  type Delta (line 251) | interface Delta {
  type Annotation (line 258) | interface Annotation {
  type Command (line 265) | interface Command {
  type CommandLike (line 272) | type CommandLike = Command | ((editor: Editor) => void);
  type KeyboardHandler (line 274) | interface KeyboardHandler {
  type MarkerLike (line 278) | interface MarkerLike {
  type MarkerRenderer (line 292) | type MarkerRenderer = (html: string[],
  type Token (line 298) | interface Token {
  type Completion (line 305) | interface Completion {
  type Tokenizer (line 313) | interface Tokenizer {
  type TokenIterator (line 319) | interface TokenIterator{
  type SyntaxMode (line 329) | interface SyntaxMode {
  type Config (line 357) | interface Config {
  type OptionsProvider (line 372) | interface OptionsProvider {
  type UndoManager (line 379) | interface UndoManager {
  type EditSession (line 397) | interface EditSession extends EventEmitter, OptionsProvider, Folding {
  type KeyBinding (line 514) | interface KeyBinding {
  type CommandManager (line 523) | interface CommandManager extends EventEmitter {
  type VirtualRenderer (line 548) | interface VirtualRenderer extends OptionsProvider, EventEmitter {
  type Selection (line 638) | interface Selection extends EventEmitter {
  type Editor (line 691) | interface Editor extends OptionsProvider, EventEmitter {

FILE: app/static/js/libs/ace/demo/kitchen-sink/demo.js
  function onChangeSelection (line 58) | function onChangeSelection(e, editor) {
  function onCommandEmitted (line 74) | function onCommandEmitted(commadEvent) {
  function onChange (line 77) | function onChange(delta, editor) {
  function updateLineDirection (line 88) | function updateLineDirection(e, renderer) {
  function clearTextLayer (line 107) | function clearTextLayer(renderer) {
  function fail (line 230) | function fail(actual, expected, message, operator, stackStartFunction) {
  function _deepEqual (line 261) | function _deepEqual(actual, expected) {
  function isUndefinedOrNull (line 282) | function isUndefinedOrNull(value) {
  function isArguments (line 286) | function isArguments(object) {
  function objEquiv (line 290) | function objEquiv(a, b) {
  function expectedException (line 342) | function expectedException(actual, expected) {
  function _throws (line 358) | function _throws(shouldThrow, block, expected, message) {
  function reduceAll (line 514) | function reduceAll() {
  function warn (line 1103) | function warn() {
  function def (line 1114) | function def(o, key, get) {
  function getSelection (line 1172) | function getSelection(editor) {
  function setSelection (line 1190) | function setSelection(editor, data) {
  function testSelection (line 1208) | function testSelection(editor, data) {
  function setValue (line 1211) | function setValue(editor, value) {
  function testValue (line 1214) | function testValue(editor, value) {
  function save (line 1295) | function save() {
  function reportEvent (line 1299) | function reportEvent(name) {
  function onSelection (line 1305) | function onSelection() {
  function onBeforeEndOperation (line 1312) | function onBeforeEndOperation() {
  function onMouseUp (line 1319) | function onMouseUp() {
  function onAfterExec (line 1326) | function onAfterExec(e) {
  function addAction (line 1341) | function addAction(a) {
  function toString (line 1350) | function toString(x) {
  function onMousedown (line 1456) | function onMousedown(ev) {
  function getModeForPath (line 1502) | function getModeForPath(path) {
  function getScore (line 1933) | function getScore(indent) {
  function initDoc (line 2113) | function initDoc(file, path, doc) {
  function makeHuge (line 2133) | function makeHuge(txt) {
  function sort (line 2194) | function sort(list) {
  function prepareDocList (line 2201) | function prepareDocList(docs) {
  function loadDoc (line 2220) | function loadDoc(name, callback) {
  function saveDoc (line 2240) | function saveDoc(name, callback) {
  function upload (line 2255) | function upload(url, data, callback) {
  function saveOptionFromElement (line 2538) | function saveOptionFromElement(el, val) {
  function elt (line 2604) | function elt(tag, attributes, content) {
  function optgroup (line 2619) | function optgroup(values) {
  function dropdown (line 2627) | function dropdown(values) {
  function Occur (line 2918) | function Occur() {}
  function OccurKeyboardHandler (line 3057) | function OccurKeyboardHandler() {}
  function IncrementalSearchKeyboardHandler (line 3226) | function IncrementalSearchKeyboardHandler(iSearch) {
  function IncrementalSearch (line 3285) | function IncrementalSearch() {
  function isRegExp (line 3292) | function isRegExp(obj) {
  function regExpToObject (line 3296) | function regExpToObject(re) {
  function stringToRegExp (line 3306) | function stringToRegExp(string, flags) {
  function objectToRegExp (line 3312) | function objectToRegExp(obj) {
  function TokenTooltip (line 3521) | function TokenTooltip (editor) {
  function documentEscListener (line 3907) | function documentEscListener(e) {
  function add (line 4379) | function add(str, separator) {
  function TabstopToken (line 4426) | function TabstopToken(str, _, stack) {
  function escape (line 4432) | function escape(ch) {
  function gotoNext (line 4634) | function gotoNext(ch) {
  function copyValue (line 4689) | function copyValue(val) {
  function wrapRegexp (line 4868) | function wrapRegexp(src) {
  function guardedRegexp (line 4874) | function guardedRegexp(re, guard, opening) {
  function addSnippet (line 4889) | function addSnippet(s) {
  function removeSnippet (line 4934) | function removeSnippet(s) {
  function AceEmmetEditor (line 5321) | function AceEmmetEditor() {}
  function addToken (line 5775) | function addToken(value, className) {
  function getWordIndex (line 6492) | function getWordIndex(doc, pos) {
  function wordDistance (line 6496) | function wordDistance(doc, pos) {
  function is (line 6709) | function is(token, type) {
  function onResize (line 7252) | function onResize() {
  function updateUIEditorOptions (line 7372) | function updateUIEditorOptions() {
  function synchroniseScrolling (line 7388) | function synchroniseScrolling() {
  function moveFocus (line 7506) | function moveFocus() {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/dart.dart
  function fibonacci (line 6) | int fibonacci(int n)
  function main (line 12) | void main()

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/elixir.ex
  class HelloModule (line 1) | defmodule HelloModule
    method some_fun (line 21) | def some_fun do
    method priv (line 25) | defp priv do

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/golang.go
  function main (line 14) | func main() {
  function pi (line 20) | func pi(n int) float64 {
  function term (line 32) | func term(ch chan float64, k float64) {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/java.java
  class InfiniteLoop (line 4) | public class InfiniteLoop {
    method main (line 12) | public static void main(String[] args) {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/javascript.js
  function foo (line 1) | function foo(items, nada) {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/jsx.jsx
  class Test (line 4) | class Test {
    method function (line 5) | static function run() : void {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/php.php
  function nfact (line 3) | function nfact($n) {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/ruby.rb
  function fact (line 4) | def fact(n)
  class Range (line 14) | class Range
    method to_json (line 15) | def to_json(*a)

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/rust.rs
  function main (line 3) | fn main() {

FILE: app/static/js/libs/ace/demo/kitchen-sink/docs/typescript.ts
  class Greeter (line 1) | class Greeter {
    method constructor (line 3) | constructor (message: string) {
    method greet (line 6) | greet() {
    method constructor (line 38) | constructor (message: string) {
    method greet (line 41) | greet() {
  class Snake (line 21) | class Snake extends Animal {
    method move (line 22) | move() {
  class Horse (line 28) | class Horse extends Animal {
    method move (line 29) | move() {
  class Greeter (line 36) | class Greeter {
    method constructor (line 3) | constructor (message: string) {
    method greet (line 6) | greet() {
    method constructor (line 38) | constructor (message: string) {
    method greet (line 41) | greet() {
  class Features (line 47) | class Features {
    method clear (line 53) | public clear() {
    method toString (line 60) | public toString() {

FILE: app/static/js/libs/ace/demo/show_own_source.js
  function setValue (line 11) | function setValue() {

FILE: app/static/js/libs/ace/src-min-noconflict/ace.js
  function o (line 1) | function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.defin...
  function o (line 1) | function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline...
  function u (line 1) | function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(v...
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}
  function a (line 1) | function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getM...
  function f (line 1) | function f(){s=Object.create(null)}
  function i (line 1) | function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0...
  function c (line 1) | function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(...
  function h (line 1) | function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o...
  function W (line 1) | function W(){x=!0,n.blur(),n.focus(),x=!1}
  function V (line 1) | function V(e){e.keyCode==27&&n.value.length<n.selectionStart&&(g||(T=n.v...
  function J (line 1) | function J(){clearTimeout($),$=setTimeout(function(){b&&(n.style.cssText...
  function Q (line 1) | function Q(e,t,n){var r=null,i=!1;n.addEventListener("keydown",function(...
  function o (line 1) | function o(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler(...
  function u (line 1) | function u(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}
  function a (line 1) | function a(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.colum...
  function s (line 1) | function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}
  function u (line 1) | function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annota...
  function a (line 1) | function a(e){o.call(this,e)}
  function f (line 1) | function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||...
  function l (line 1) | function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}
  function o (line 1) | function o(e){typeof console!="undefined"&&console.warn&&console.warn.ap...
  function u (line 1) | function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&co...
  function l (line 1) | function l(r){if(!u||!u.document)return;a.packaged=r||e.packaged||n.pack...
  function c (line 1) | function c(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCas...
  function i (line 1) | function i(e){e.on("click",function(t){var n=t.getDocumentPosition(),i=e...
  function F (line 1) | function F(e,t,n,r){var i=s?d:p,c=null,h=null,v=null,m=0,g=null,y=null,b...
  function I (line 1) | function I(e,t,n){if(o<e)return;if(e==1&&s==m&&!f){n.reverse();return}va...
  function q (line 1) | function q(e,t,n,r){var i=t[r],o,c,h,p;switch(i){case g:case y:u=!1;case...
  function R (line 1) | function R(e){var t=e.charCodeAt(0),n=t>>8;return n==0?t>191?g:B[t]:n==5...
  function U (line 1) | function U(e){return e>="\u064b"&&e<="\u0655"}
  function i (line 1) | function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var ...
  function w (line 1) | function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function i (line 1) | function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.fol...
  function u (line 1) | function u(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}
  function a (line 1) | function a(e,t){u(e.start,t),u(e.end,t)}
  function f (line 1) | function f(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}
  function l (line 1) | function l(e,t){f(e.start,t),f(e.end,t)}
  function u (line 1) | function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if...
  function s (line 1) | function s(){this.findMatchingBracket=function(e,t){if(e.column==0)retur...
  function m (line 1) | function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=46...
  function n (line 1) | function n(e){return t?e.action!=="insert":e.action==="insert"}
  function g (line 1) | function g(){var t=0;if(m===0)return t;if(p)for(var n=0;n<e.length;n++){...
  function y (line 1) | function y(t){var n=t-f;for(var r=f;r<t;r++){var i=e[r];if(i===12||i===2...
  function u (line 1) | function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}retu...
  function o (line 1) | function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},...
  function u (line 1) | function u(e,t){o.call(this,e,t),this.$singleCommand=!1}
  function e (line 1) | function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||...
  function o (line 1) | function o(e,t){return{win:e,mac:t}}
  function i (line 1) | function i(e,t){for(var n=t;n--;){var r=e[n];if(r&&!r[0].ignore){while(n...
  function a (line 1) | function a(e){var t=e.action=="insert",n=e.start,r=e.end,i=(r.row-n.row)...
  function f (line 1) | function f(e){return{row:e.row,column:e.column}}
  function l (line 1) | function l(e){return{start:f(e.start),end:f(e.end),action:e.action,lines...
  function c (line 1) | function c(e){e=e||this;if(Array.isArray(e))return e.map(c).join("\n");v...
  function h (line 1) | function h(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e...
  function p (line 1) | function p(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)if...
  function d (line 1) | function d(e,t){for(var n=e.length;n--;)for(var r=0;r<t.length;r++)if(!p...
  function v (line 1) | function v(e,t){var n=e.action=="insert",r=t.action=="insert";if(n&&r)o(...
  function m (line 1) | function m(e,t,n){g(e.start,t.start,t.end,n),g(e.end,t.start,t.end,n)}
  function g (line 1) | function g(e,t,n,r){e.row==(r==1?t:n).row&&(e.column+=r*(n.column-t.colu...
  function y (line 1) | function y(e,t){var n=e.lines,r=e.end;e.end=f(t);var i=e.end.row-e.start...
  function b (line 1) | function b(e,t){t=l(t);for(var n=e.length;n--;){var r=e[n];for(var i=0;i...
  function w (line 1) | function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];for(var i=0;i<r.l...
  function f (line 1) | function f(e){var t=document.createTextNode("");e.appendChild(t);var n=r...
  function e (line 1) | function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}
  function i (line 1) | function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value...
  function r (line 1) | function r(e,t,n){var r=e[1]*t[0]-e[0]*t[1];return[(-t[1]*n[0]+t[0]*n[1]...
  function i (line 1) | function i(e,t){return[e[0]-t[0],e[1]-t[1]]}
  function s (line 1) | function s(e,t){return[e[0]+t[0],e[1]+t[1]]}
  function o (line 1) | function o(e,t){return[e*t[0],e*t[1]]}
  function u (line 1) | function u(e){var t=e.getBoundingClientRect();return[t.left,t.top]}
  function o (line 1) | function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw ne...
  function u (line 1) | function u(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return n...
  function a (line 1) | function a(e){if(typeof Worker=="undefined")return{postMessage:function(...
  function s (line 1) | function s(e,t){return e.row==t.row&&e.column==t.column}
  function o (line 1) | function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.g...
  function h (line 1) | function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$optio...
  function v (line 1) | function v(e,t){return e.row==t.row&&e.column==t.column}
  function m (line 1) | function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$o...
  function g (line 1) | function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var ...
  function u (line 1) | function u(e){return a.stringRepeat(" ",e)}
  function f (line 1) | function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([...
  function l (line 1) | function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o)+e[4].replace(/^([...
  function c (line 1) | function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "...
  function o (line 1) | function o(e){this.session=e,this.session.widgetManager=this,this.sessio...
  function o (line 1) | function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[...
  function u (line 1) | function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.l...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-beautify.js
  function i (line 1) | function i(e,t){return e.type.lastIndexOf(t+".xml")>-1}

FILE: app/static/js/libs/ace/src-min-noconflict/ext-emmet.js
  function e (line 1) | function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatStrin...
  function t (line 1) | function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}
  function o (line 1) | function o(t){var n=e.indexOf(t,r+1);n!=-1&&(r=n)}
  function f (line 1) | function f(e){var t=[];for(var n=0;n<e.length;n++){var r=e[n];if(typeof ...
  function o (line 1) | function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")")...
  function u (line 1) | function u(e,t,n){return e=o(e),t=o(t),n?(e=t+e,e&&e[e.length-1]!="$"&&(...
  function a (line 1) | function a(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={}...
  function i (line 1) | function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var ...
  function f (line 1) | function f(){}

FILE: app/static/js/libs/ace/src-min-noconflict/ext-keybinding_menu.js
  function l (line 1) | function l(e){e.keyCode===27&&a.click()}
  function i (line 1) | function i(t){if(!document.getElementById("kbshortcutmenu")){var n=e("./...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-language_tools.js
  function e (line 1) | function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatStrin...
  function t (line 1) | function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}
  function o (line 1) | function o(t){var n=e.indexOf(t,r+1);n!=-1&&(r=n)}
  function f (line 1) | function f(e){var t=[];for(var n=0;n<e.length;n++){var r=e[n];if(typeof ...
  function o (line 1) | function o(e){return e&&!/^\^?\(.*\)\$?$|^\\b$/.test(e)&&(e="(?:"+e+")")...
  function u (line 1) | function u(e,t,n){return e=o(e),t=o(t),n?(e=t+e,e&&e[e.length-1]!="$"&&(...
  function a (line 1) | function a(e){e.scope||(e.scope=t||"_"),t=e.scope,n[t]||(n[t]=[],r[t]={}...
  function i (line 1) | function i(e){var i=r[e.scope||t];if(i&&i[e.name]){delete i[e.name];var ...
  function s (line 1) | function s(e,n){e&&r.push({type:(t.className||"")+(n||""),value:e})}
  function s (line 1) | function s(e,t){var n=e.getTextRange(r.fromPoints({row:0,column:0},t));r...
  function o (line 1) | function o(e,t){var n=s(e,t),r=e.getValue().split(i),o=Object.create(nul...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-linking.js
  function i (line 1) | function i(e){var n=e.editor,r=e.getAccelKey();if(r){var n=e.editor,i=e....
  function s (line 1) | function s(e){var t=e.getAccelKey(),n=e.getButton();if(n==0&&t){var r=e....

FILE: app/static/js/libs/ace/src-min-noconflict/ext-modelist.js
  function i (line 1) | function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i<r.len...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-options.js
  function l (line 1) | function l(e){e.keyCode===27&&a.click()}
  function i (line 1) | function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i<r.len...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-rtl.js
  function u (line 1) | function u(e,t){var n=t.getSelection().lead;t.session.$bidiHandler.isRtl...
  function a (line 1) | function a(e){e.editor.session.$bidiHandler.isMoveLeftOperation=/gotolef...
  function f (line 1) | function f(e,t){var n=t.session;n.$bidiHandler.currentRow=null;if(n.$bid...
  function l (line 1) | function l(e,t){var n=t.session,r=n.$bidiHandler,i=t.$textLayer.$lines.c...
  function c (line 1) | function c(e){function n(e){var t=e.element.style;t.direction=t.textAlig...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-settings_menu.js
  function l (line 1) | function l(e){e.keyCode===27&&a.click()}
  function i (line 1) | function i(e){var t=a.text,n=e.split(/[\/\\]/).pop();for(var i=0;i<r.len...
  function s (line 1) | function s(e){if(!document.getElementById("ace_settingsmenu")){var t=new...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-static_highlight.js
  function f (line 1) | function f(e){this.type=e,this.style={},this.textContent=""}
  function c (line 1) | function c(){var r=h.renderSync(e,t,n,i,s);return u?u(r):r}

FILE: app/static/js/libs/ace/src-min-noconflict/ext-statusbar.js
  function n (line 1) | function n(e,n){e&&t.push(e,n||"|")}

FILE: app/static/js/libs/ace/src-min-noconflict/ext-textarea.js
  function a (line 1) | function a(e,t){for(var n in t)e.style[n]=t[n]}
  function f (line 1) | function f(e,t){if(e.type!="textarea")throw new Error("Textarea required...
  function l (line 1) | function l(t,n,r){s.loadScript(t,function(){e([n],r)})}
  function c (line 1) | function c(e,t,n,r,i){function u(e){return e==="true"||e==1}var s=e.getS...
  function h (line 1) | function h(e,n,i){function f(e,t,n,r){if(!n){e.push("<input type='checkb...

FILE: app/static/js/libs/ace/src-min-noconflict/ext-whitespace.js
  function c (line 1) | function c(e){var t=0;for(var r=e;r<n.length;r+=e)t+=n[r]||0;return t}

FILE: app/static/js/libs/ace/src-min-noconflict/keybinding-emacs.js
  function a (line 1) | function a(){}
  function f (line 1) | function f(){}
  function u (line 1) | function u(e){this.$iSearch=e}
  function f (line 1) | function f(){this.$options={wrap:!1,skipCurrent:!1},this.$keyboardHandle...
  function l (line 1) | function l(e){return e instanceof RegExp}
  function c (line 1) | function c(e){var t=String(e),n=t.indexOf("/"),r=t.lastIndexOf("/");retu...
  function h (line 1) | function h(e,t){try{return new RegExp(e,t)}catch(n){return e}}
  function p (line 1) | function p(e){return h(e.expression,e.flags)}
  function u (line 1) | function u(){var t=e.popEmacsMark();t&&e.moveCursorToPosition(t)}
  function t (line 1) | function t(){var t=e.selection,n=t.getRange(),i=t.isBackwards()?n.end:n....

FILE: app/static/js/libs/ace/src-min-noconflict/keybinding-sublime.js
  function u (line 1) | function u(e,t,n){function f(e){return e?/\s/.test(e)?"s":e=="_"?"_":e.t...

FILE: app/static/js/libs/ace/src-min-noconflict/keybinding-vim.js
  function r (line 1) | function r(){function t(e){return typeof e!="object"?e+"":"line"in e?e.l...
  function m (line 1) | function m(e){return{row:e.line,column:e.ch}}
  function g (line 1) | function g(e){return new E(e.row,e.column)}
  function x (line 1) | function x(e){e.setOption("disableInput",!0),e.setOption("showCursorWhen...
  function T (line 1) | function T(e){e.setOption("disableInput",!1),e.off("cursorActivity",Gn),...
  function N (line 1) | function N(e,t){this==v.keyMap.vim&&v.rmClass(e.getWrapperElement(),"cm-...
  function C (line 1) | function C(e,t){this==v.keyMap.vim&&v.addClass(e.getWrapperElement(),"cm...
  function k (line 1) | function k(e,t){if(!t)return undefined;if(this[e])return this[e];var n=O...
  function O (line 1) | function O(e){if(e.charAt(0)=="'")return e.charAt(1);var t=e.split(/-(?!...
  function M (line 1) | function M(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=functio...
  function H (line 1) | function H(e,t){var n=[];for(var r=e;r<e+t;r++)n.push(String.fromCharCod...
  function R (line 1) | function R(e,t){return t>=e.firstLine()&&t<=e.lastLine()}
  function U (line 1) | function U(e){return/^[a-z]$/.test(e)}
  function z (line 1) | function z(e){return"()[]{}".indexOf(e)!=-1}
  function W (line 1) | function W(e){return _.test(e)}
  function X (line 1) | function X(e){return/^[A-Z]$/.test(e)}
  function V (line 1) | function V(e){return/^\s*$/.test(e)}
  function $ (line 1) | function $(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}
  function K (line 1) | function K(e,t,n,r,i){if(t===undefined&&!i)throw Error("defaultValue is ...
  function Q (line 1) | function Q(e,t,n,r){var i=J[e];r=r||{};var s=r.scope;if(!i)return new Er...
  function G (line 1) | function G(e,t,n){var r=J[e];n=n||{};var i=n.scope;if(!r)return new Erro...
  function et (line 1) | function et(){this.latestRegister=undefined,this.isPlaying=!1,this.isRec...
  function tt (line 1) | function tt(e){return e.state.vim||(e.state.vim={inputState:new ot,lastE...
  function rt (line 1) | function rt(){nt={searchQuery:null,searchIsReversed:!1,lastSubstituteRep...
  function ot (line 1) | function ot(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=nu...
  function ut (line 1) | function ut(e,t){e.state.vim.inputState=new ot,v.signal(e,"vim-command-d...
  function at (line 1) | function at(e,t,n){this.clear(),this.keyBuffer=[e||""],this.insertModeCh...
  function ft (line 1) | function ft(e,t){var n=nt.registerController.registers;if(!e||e.length!=...
  function lt (line 1) | function lt(e){this.registers=e,this.unnamedRegister=e['"']=new at,e["."...
  function ct (line 1) | function ct(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=n...
  function dt (line 1) | function dt(e,t){pt[e]=t}
  function vt (line 1) | function vt(e,t){var n=[];for(var r=0;r<t;r++)n.push(e);return n}
  function gt (line 1) | function gt(e,t){mt[e]=t}
  function bt (line 1) | function bt(e,t){yt[e]=t}
  function wt (line 1) | function wt(e,t,n){var r=Math.min(Math.max(e.firstLine(),t.line),e.lastL...
  function Et (line 1) | function Et(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);...
  function St (line 1) | function St(e,t,n){return typeof t=="object"&&(n=t.ch,t=t.line),E(e.line...
  function xt (line 1) | function xt(e,t){return{line:t.line-e.line,ch:t.line-e.line}}
  function Tt (line 1) | function Tt(e,t,n,r){var i,s=[],o=[];for(var u=0;u<t.length;u++){var a=t...
  function Nt (line 1) | function Nt(e,t){if(t.slice(-11)=="<character>"){var n=t.length-11,r=e.s...
  function Ct (line 1) | function Ct(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.l...
  function kt (line 1) | function kt(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}
  function Lt (line 1) | function Lt(e){return E(e.line,e.ch)}
  function At (line 1) | function At(e,t){return e.ch==t.ch&&e.line==t.line}
  function Ot (line 1) | function Ot(e,t){return e.line<t.line?!0:e.line==t.line&&e.ch<t.ch?!0:!1}
  function Mt (line 1) | function Mt(e,t){return arguments.length>2&&(t=Mt.apply(undefined,Array....
  function _t (line 1) | function _t(e,t){return arguments.length>2&&(t=_t.apply(undefined,Array....
  function Dt (line 1) | function Dt(e,t,n){var r=Ot(e,t),i=Ot(t,n);return r&&i}
  function Pt (line 1) | function Pt(e,t){return e.getLine(t).length}
  function Ht (line 1) | function Ht(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}
  function Bt (line 1) | function Bt(e){return e.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}
  function jt (line 1) | function jt(e,t,n){var r=Pt(e,t),i=(new Array(n-r+1)).join(" ");e.setCur...
  function Ft (line 1) | function Ft(e,t){var n=[],r=e.listSelections(),i=Lt(e.clipPos(t)),s=!At(...
  function It (line 1) | function It(e,t,n){var r=[];for(var i=0;i<n;i++){var s=St(t,i,0);r.push(...
  function qt (line 1) | function qt(e,t,n){for(var r=0;r<e.length;r++){var i=n!="head"&&At(e[r]....
  function Rt (line 1) | function Rt(e,t){var n=t.lastSelection,r=function(){var t=e.listSelectio...
  function Ut (line 1) | function Ut(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e....
  function zt (line 1) | function zt(e,t,n){var r=e.state.vim.sel,i=r.head,s=r.anchor,o;return Ot...
  function Wt (line 1) | function Wt(e,t,n){var r=e.state.vim;t=t||r.sel;var n=n||r.visualLine?"l...
  function Xt (line 1) | function Xt(e,t,n,r){var i=Lt(t.head),s=Lt(t.anchor);if(n=="char"){var o...
  function Vt (line 1) | function Vt(e){var t=e.getCursor("head");return e.getSelection().length=...
  function $t (line 1) | function $t(e,t){var n=e.state.vim;t!==!1&&e.setCursor(wt(e,n.sel.head))...
  function Jt (line 1) | function Jt(e,t,n){var r=e.getRange(t,n);if(/\n\s*$/.test(r)){var i=r.sp...
  function Kt (line 1) | function Kt(e,t,n){t.ch=0,n.ch=0,n.line++}
  function Qt (line 1) | function Qt(e){if(!e)return 0;var t=e.search(/\S/);return t==-1?e.length:t}
  function Gt (line 1) | function Gt(e,t,n,r,i){var s=Vt(e),o=e.getLine(s.line),u=s.ch,a=i?D[0]:P...
  function Yt (line 1) | function Yt(e,t,n){At(t,n)||nt.jumpList.add(e,t,n)}
  function Zt (line 1) | function Zt(e,t){nt.lastCharacterSearch.increment=e,nt.lastCharacterSear...
  function nn (line 1) | function nn(e,t,n,r){var i=Lt(e.getCursor()),s=n?1:-1,o=n?e.lineCount():...
  function rn (line 1) | function rn(e,t,n,r,i){var s=t.line,o=t.ch,u=e.getLine(s),a=n?1:-1,f=r?P...
  function sn (line 1) | function sn(e,t,n,r,i,s){var o=Lt(t),u=[];(r&&!i||!r&&i)&&n++;var a=!r||...
  function on (line 1) | function on(e,t,n,r){var i=e.getCursor(),s=i.ch,o;for(var u=0;u<t;u++){v...
  function un (line 1) | function un(e,t){var n=e.getCursor().line;return wt(e,E(n,t-1))}
  function an (line 1) | function an(e,t,n,r){if(!$(n,I))return;t.marks[n]&&t.marks[n].clear(),t....
  function fn (line 1) | function fn(e,t,n,r,i){var s;return r?(s=t.indexOf(n,e+1),s!=-1&&!i&&(s-...
  function ln (line 1) | function ln(e,t,n,r,i){function c(t){return!/\S/.test(e.getLine(t))}func...
  function cn (line 1) | function cn(e,t,n,r){var i=t,s,o,u={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]...
  function hn (line 1) | function hn(e,t,n,r){var i=Lt(t),s=e.getLine(i.line),o=s.split(""),u,a,f...
  function pn (line 1) | function pn(){}
  function dn (line 1) | function dn(e){var t=e.state.vim;return t.searchState_||(t.searchState_=...
  function vn (line 1) | function vn(e,t,n,r,i){e.openDialog?e.openDialog(t,r,{bottom:!0,value:i....
  function mn (line 1) | function mn(e){return yn(e,"/")}
  function gn (line 1) | function gn(e){return bn(e,"/")}
  function yn (line 1) | function yn(e,t){var n=bn(e,t)||[];if(!n.length)return[];var r=[];if(n[0...
  function bn (line 1) | function bn(e,t){t||(t="/");var n=!1,r=[];for(var i=0;i<e.length;i++){va...
  function wn (line 1) | function wn(e){var t="|(){",n="}",r=!1,i=[];for(var s=-1;s<e.length;s++)...
  function Sn (line 1) | function Sn(e){var t=!1,n=[];for(var r=-1;r<e.length;r++){var i=e.charAt...
  function Tn (line 1) | function Tn(e){var t=new v.StringStream(e),n=[];while(!t.eol()){while(t....
  function Nn (line 1) | function Nn(e,t,n){var r=nt.registerController.getRegister("/");r.setTex...
  function Cn (line 1) | function Cn(e,t){e.openNotification?e.openNotification('<span style="col...
  function kn (line 1) | function kn(e,t){var n='<span style="font-family: monospace; white-space...
  function An (line 1) | function An(e,t){var n=(t.prefix||"")+" "+(t.desc||""),r=kn(t.prefix,t.d...
  function On (line 1) | function On(e,t){if(e instanceof RegExp&&t instanceof RegExp){var n=["gl...
  function Mn (line 1) | function Mn(e,t,n,r){if(!t)return;var i=dn(e),s=Nn(t,!!n,!!r);if(!s)retu...
  function _n (line 1) | function _n(e){if(e.source.charAt(0)=="^")var t=!0;return{token:function...
  function Dn (line 1) | function Dn(e,t){var n=dn(e),r=n.getOverlay();if(!r||t!=r.query)r&&e.rem...
  function Pn (line 1) | function Pn(e,t,n,r){return r===undefined&&(r=1),e.operation(function(){...
  function Hn (line 1) | function Hn(e){var t=dn(e);e.removeOverlay(dn(e).getOverlay()),t.setOver...
  function Bn (line 1) | function Bn(e,t,n){return typeof e!="number"&&(e=e.line),t instanceof Ar...
  function jn (line 1) | function jn(e){var t=e.ace.renderer;return{top:t.getFirstFullyVisibleRow...
  function Fn (line 1) | function Fn(e,t,n){var r=t.marks[n];return r&&r.find()}
  function Un (line 1) | function Un(e,t,n,r,i,s,o,u,a){function c(){e.operation(function(){while...
  function zn (line 1) | function zn(e){var t=e.state.vim,n=nt.macroModeState,r=nt.registerContro...
  function Wn (line 1) | function Wn(e){b.unshift(e)}
  function Xn (line 1) | function Xn(e,t,n,r,i){var s={keys:e,type:t};s[t]=n,s[t+"Args"]=r;for(va...
  function Vn (line 1) | function Vn(e,t,n,r){var i=nt.registerController.getRegister(r);if(r==":...
  function $n (line 1) | function $n(e,t){if(e.isPlaying)return;var n=e.latestRegister,r=nt.regis...
  function Jn (line 1) | function Jn(e){if(e.isPlaying)return;var t=e.latestRegister,n=nt.registe...
  function Kn (line 1) | function Kn(e,t){if(e.isPlaying)return;var n=e.latestRegister,r=nt.regis...
  function Qn (line 1) | function Qn(e,t){var n=nt.macroModeState,r=n.lastInsertModeChanges;if(!n...
  function Gn (line 1) | function Gn(e){var t=e.state.vim;if(t.insertMode){var n=nt.macroModeStat...
  function Yn (line 1) | function Yn(e){var t=e.state.vim,n=wt(e,Lt(t.sel.head)),r=St(n,0,1);t.fa...
  function Zn (line 1) | function Zn(e,t){var n=e.getCursor("anchor"),r=e.getCursor("head");t.vis...
  function er (line 1) | function er(e){this.keyName=e}
  function tr (line 1) | function tr(e){function i(){return n.maybeReset&&(n.changes=[],n.maybeRe...
  function nr (line 1) | function nr(e,t,n,r){function u(){s?ht.processAction(e,t,t.lastEditActio...
  function rr (line 1) | function rr(e,t,n){function r(t){return typeof t=="string"?v.commands[t]...
  function sr (line 1) | function sr(e,t,n){t.length>1&&t[0]=="n"&&(t=t.replace("numpad","")),t=i...
  function ur (line 1) | function ur(e){var t=new e.constructor;return Object.keys(e).forEach(fun...
  function ar (line 1) | function ar(e,t,n){var r=!1,i=S.maybeInitVimState_(e),s=i.visualBlock||i...
  function lr (line 1) | function lr(e,t){t.off("beforeEndOperation",lr);var n=t.state.cm.vimCmd;...
  function e (line 1) | function e(e,t,n){var r=e.ace.container,i;return i=r.appendChild(documen...
  function t (line 1) | function t(e,t){e.state.currentNotificationClose&&e.state.currentNotific...
  function a (line 1) | function a(e){if(typeof e=="string")f.value=e;else{if(o)return;if(e&&e.t...
  function a (line 1) | function a(){if(s)return;s=!0,clearTimeout(o),i.parentNode.removeChild(i)}
  function s (line 1) | function s(s,o,u){function l(n){var r=++t%e,o=i[r];o&&o.clear(),i[r]=s.s...
  function o (line 1) | function o(s,o){t+=o,t>n?t=n:t<r&&(t=r);var u=i[(e+t)%e];if(u&&!u.find()...
  function i (line 1) | function i(){var r=nt.macroModeState;if(r.isRecording){if(t=="q")return ...
  function s (line 1) | function s(){if(t=="<Esc>")return ut(e),r.visualMode?$t(e):r.insertMode&...
  function o (line 1) | function o(n){var r;while(n)r=/<\w+-.+?>|<\w+>|./.exec(n),t=r[0],n=n.sub...
  function u (line 1) | function u(){if(s())return!0;var n=r.inputState.keyBuffer=r.inputState.k...
  function a (line 1) | function a(){if(i()||s())return!0;var n=r.inputState.keyBuffer=r.inputSt...
  function a (line 1) | function a(r,i,s){nt.searchHistoryController.pushInput(r),nt.searchHisto...
  function f (line 1) | function f(e){a(e,!0,!0);var t=nt.macroModeState;t.isRecording&&Kn(t,e)}
  function l (line 1) | function l(t,n,i){var s=v.keyName(t),o,a;s=="Up"||s=="Down"?(o=s=="Up"?!...
  function c (line 1) | function c(t,n,r){var i=v.keyName(t);i=="Esc"||i=="Ctrl-C"||i=="Ctrl-["|...
  function r (line 1) | function r(t){nt.exCommandHistoryController.pushInput(t),nt.exCommandHis...
  function i (line 1) | function i(t,n,r){var i=v.keyName(t),s,o;if(i=="Esc"||i=="Ctrl-C"||i=="C...
  function u (line 1) | function u(){if(t.argString){var e=new v.StringStream(t.argString);e.eat...
  function S (line 1) | function S(e,t){if(n){var i;i=e,e=t,t=i}r&&(e=e.toLowerCase(),t=t.toLowe...
  function x (line 1) | function x(e,t){if(n){var i;i=e,e=t,t=i}return r&&(e[0]=e[0].toLowerCase...
  function n (line 1) | function n(){var n=fr(t).insertMode;t.ace.renderer.setStyle("normal-mode...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-abap.js
  function a (line 1) | function a(){this.HighlightRules=r,this.foldingRules=new i}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-apex.js
  function t (line 1) | function t(t){return t.slice(-3)=="__c"?"support.function":e(t)}
  function n (line 1) | function n(e,t){return{regex:e+(t.multiline?"":"(?=.)"),token:"string.st...
  function r (line 1) | function r(){return[{token:"comment",regex:"\\/\\/(?=.)",next:[s.getTagR...
  function a (line 1) | function a(){i.call(this),this.HighlightRules=s,this.foldingRules=new o,...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-asciidoc.js
  function t (line 1) | function t(e){var t=/\w/.test(e)?"\\b":"(?:\\B|^)";return t+e+"[^"+e+"]....
  function l (line 1) | function l(t){return f=e.getTokens(t)[0],f&&f.type}
  function d (line 1) | function d(){var t=f.value.match(p);if(t)return t[0].length;var r=c.inde...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-c9search.js
  function o (line 1) | function o(e,t){try{return new RegExp(e,t)}catch(n){}}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-coffee.js
  function s (line 1) | function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this...
  function l (line 1) | function l(){this.HighlightRules=r,this.$outdent=new i,this.foldingRules...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-coldfusion.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-csound_document.js
  method next (line 1) | get next(){return Array.isArray(e.next)?e.next[e.next.length-1]:e.next}
  method next (line 1) | set next(t){if(Array.isArray(e.next)){var n=e.next[e.next.length-1],r=n....
  method token (line 1) | get token(){return e.token}
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-csound_orchestra.js
  method next (line 1) | get next(){return Array.isArray(e.next)?e.next[e.next.length-1]:e.next}
  method next (line 1) | set next(t){if(Array.isArray(e.next)){var n=e.next[e.next.length-1],r=n....
  method token (line 1) | get token(){return e.token}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-csound_score.js
  method next (line 1) | get next(){return Array.isArray(e.next)?e.next[e.next.length-1]:e.next}
  method next (line 1) | set next(t){if(Array.isArray(e.next)){var n=e.next[e.next.length-1],r=n....
  method token (line 1) | get token(){return e.token}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-curly.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-django.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-ejs.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-ftl.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-gobstones.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-groovy.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-haml.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-handlebars.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function s (line 1) | function s(e,t){return t.splice(0,3),t.shift()||"start"}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-html.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-html_elixir.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-html_ruby.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-jade.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function s (line 1) | function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this...
  function l (line 1) | function l(e,t){return{token:"entity.name.function.jade",regex:"^\\s*\\:...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-java.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-javascript.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-jsoniq.js
  function o (line 1) | function o(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&...
  function r (line 1) | function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}
  function s (line 1) | function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}
  function o (line 1) | function o(){E.startNonterminal("EQName",g);switch(y){case 80:f(80);brea...
  function u (line 1) | function u(){E.startNonterminal("FunctionName",g);switch(y){case 17:f(17...
  function a (line 1) | function a(){E.startNonterminal("NCName",g);switch(y){case 28:f(28);brea...
  function f (line 1) | function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(...
  function l (line 1) | function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}
  function c (line 1) | function c(e){var t;for(;;){t=C(e);if(t!=30)break}return t}
  function h (line 1) | function h(e){y==0&&(y=c(e),b=T,w=N)}
  function p (line 1) | function p(e){y==0&&(y=C(e),b=T,w=N)}
  function d (line 1) | function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}
  function C (line 1) | function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function a (line 1) | function a(e,t){var n=!0,r=e.type.split("."),i=t.split(".");return i.for...
  function u (line 1) | function u(i){r&&t.removeMarker(r),o.row=n.row;if(e.pos.sc!==undefined&&...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-jsp.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-jsx.js
  function f (line 1) | function f(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=n...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-liquid.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function a (line 1) | function a(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-livescript.js
  function u (line 1) | function u(e,t){function n(){}return n.prototype=(e.superclass=t).protot...
  function a (line 1) | function a(e,t){var n={}.hasOwnProperty;for(var r in t)n.call(t,r)&&(e[r...
  function o (line 1) | function o(){var t;this.$tokenizer=new(e("../tokenizer").Tokenizer)(o.Ru...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-lsl.js
  function s (line 1) | function s(){var e=this.createKeywordMapper({"constant.language.float.ls...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-lua.js
  function n (line 1) | function n(t){var n=0;for(var r=0;r<t.length;r++){var i=t[r];i.type=="ke...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-luapage.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function n (line 1) | function n(t){var n=0;for(var r=0;r<t.length;r++){var i=t[r];i.type=="ke...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-markdown.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function l (line 1) | function l(t){return f=e.getTokens(t)[0],f&&f.type.lastIndexOf(c,0)===0}
  function h (line 1) | function h(){var e=f.value[0];return e=="="?6:e=="-"?5:7-f.value.search(...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-mask.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function N (line 1) | function N(){function t(e,t,n){var r="js-"+e+"-",i=e==="block"?["start"]...
  function k (line 1) | function k(e,t,n){var r,i,s;return arguments.length===4?(r=n,i=arguments...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-mysql.js
  function i (line 1) | function i(e){var t=e.start,n=e.escape;return{token:"string.start",regex...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-pgsql.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-php.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function s (line 1) | function s(e,t){return e.type.lastIndexOf(t)>-1}
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-php_laravel_blade.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function s (line 1) | function s(e,t){return e.type.lastIndexOf(t)>-1}
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-razor.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-rhtml.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-scala.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-sjs.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-slim.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function l (line 1) | function l(t){return f=e.getTokens(t)[0],f&&f.type.lastIndexOf(c,0)===0}
  function h (line 1) | function h(){var e=f.value[0];return e=="="?6:e=="-"?5:7-f.value.search(...
  function s (line 1) | function s(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="this...
  function l (line 1) | function l(){this.HighlightRules=r,this.$outdent=new i,this.foldingRules...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-smarty.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-soy_template.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-svg.js
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-swift.js
  function t (line 1) | function t(e,t){var n=t.nestable||t.interpolation,r=t.interpolation&&t.i...
  function n (line 1) | function n(){return[{token:"comment",regex:"\\/\\/(?=.)",next:[s.getTagR...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-tsx.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-twig.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-typescript.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-velocity.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-visualforce.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function f (line 1) | function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function c (line 1) | function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();whil...
  function s (line 1) | function s(e){return{token:e.token+".start",regex:e.start,push:[{token:"...
  function a (line 1) | function a(){i.call(this),this.HighlightRules=s,this.foldingRules=new u,...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-wollok.js
  function a (line 1) | function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){...
  function f (line 1) | function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),...

FILE: app/static/js/libs/ace/src-min-noconflict/mode-xml.js
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function l (line 1) | function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}

FILE: app/static/js/libs/ace/src-min-noconflict/mode-xquery.js
  function o (line 1) | function o(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&...
  function r (line 1) | function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}
  function s (line 1) | function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}
  function o (line 1) | function o(){E.startNonterminal("EQName",g);switch(y){case 77:f(77);brea...
  function u (line 1) | function u(){E.startNonterminal("FunctionName",g);switch(y){case 14:f(14...
  function a (line 1) | function a(){E.startNonterminal("NCName",g);switch(y){case 26:f(26);brea...
  function f (line 1) | function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(...
  function l (line 1) | function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}
  function c (line 1) | function c(e){var t;for(;;){t=C(e);if(t!=28)break}return t}
  function h (line 1) | function h(e){y==0&&(y=c(e),b=T,w=N)}
  function p (line 1) | function p(e){y==0&&(y=C(e),b=T,w=N)}
  function d (line 1) | function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}
  function C (line 1) | function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o...
  function u (line 1) | function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}
  function a (line 1) | function a(e,t){var n=!0,r=e.type.split("."),i=t.split(".");return i.for...
  function u (line 1) | function u(i){r&&t.removeMarker(r),o.row=n.row;if(e.pos.sc!==undefined&&...

FILE: app/static/js/libs/ace/src-min-noconflict/worker-coffee.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function define (line 1) | function define(e){module.exports=e()}
  function _toArray (line 1) | function _toArray(e){return Array.isArray(e)?e:Array.from(e)}
  function _possibleConstructorReturn (line 1) | function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError(...
  function _inherits (line 1) | function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new Type...
  function _classCallCheck (line 1) | function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("...
  function _toConsumableArray (line 1) | function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(...
  function e (line 1) | function e(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var o=e[Symbol.itera...
  function e (line 1) | function e(e,t){for(var n=0,r;n<t.length;n++)r=t[n],r.enumerable=r.enume...
  function require (line 1) | function require(e){return require[e]}
  function e (line 1) | function e(){_classCallCheck(this,e)}
  function e (line 1) | function e(){_classCallCheck(this,e)}
  function e (line 1) | function e(){this.yy={}}
  function e (line 1) | function e(t,n,r,i){_classCallCheck(this,e);var s,o;this.parent=t,this.e...
  function e (line 1) | function e(t,n){_classCallCheck(this,e);var r;this.code=""+n,this.type=(...
  function e (line 1) | function e(){_classCallCheck(this,e)}
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function n (line 1) | function n(e){_classCallCheck(this,n);var t=_possibleConstructorReturn(t...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function n (line 1) | function n(e){_classCallCheck(this,n);var t=_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n,r){var i=3<arguments.length&&void 0!==arguments[3]&&argum...
  function n (line 1) | function n(e){var t=e.content,r=e.newLine,i=e.unshift;_classCallCheck(th...
  function t (line 1) | function t(e){var n=e.content,r=e.newLine,i=e.unshift;_classCallCheck(th...
  function t (line 1) | function t(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0...
  function t (line 1) | function t(e,n,r){return _classCallCheck(this,t),n instanceof Et&&(n=new...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n,r){_classCallCheck(this,t);var i=_possibleConstructorRetu...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(e){var n=1<arguments.length&&void 0!==arguments[1]&&arguments...
  function n (line 1) | function n(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments...
  function s (line 1) | function s(e,t){var n=2<arguments.length&&void 0!==arguments[2]?argument...
  function t (line 1) | function t(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n,r){_classCallCheck(this,t);var i=_possibleConstructorRetu...
  function n (line 1) | function n(e,t){return _classCallCheck(this,n),_possibleConstructorRetur...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n){return _classCallCheck(this,t),_possibleConstructorRetur...
  function r (line 1) | function r(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?argume...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function n (line 1) | function n(e,t,r,i){_classCallCheck(this,n);var s=_possibleConstructorRe...
  function n (line 1) | function n(e,t,r){_classCallCheck(this,n);var i=_possibleConstructorRetu...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(){return _classCallCheck(this,t),_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function s (line 1) | function s(e,t,r,i){var o;_classCallCheck(this,s);var u=_possibleConstru...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function t (line 1) | function t(e,n,r,i){_classCallCheck(this,t);var s=_possibleConstructorRe...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function n (line 1) | function n(e){var r=1<arguments.length&&void 0!==arguments[1]&&arguments...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(t...
  function t (line 1) | function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn...
  function t (line 1) | function t(e,n,r){_classCallCheck(this,t);var i=_possibleConstructorRetu...
  function t (line 1) | function t(e,n){var r=2<arguments.length&&void 0!==arguments[2]?argument...
  function e (line 1) | function e(t){_classCallCheck(this,e),this.line=t,this.columns=[]}
  function e (line 1) | function e(){_classCallCheck(this,e),this.lines=[]}
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-css.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function objectToString (line 1) | function objectToString(e){return Object.prototype.toString.call(e)}
  function clone (line 1) | function clone(e,t,n,r){function u(e,n){if(e===null)return null;if(n==0)...
  function Reporter (line 1) | function Reporter(e,t){this.messages=[],this.stats=[],this.lines=e,this....
  function e (line 1) | function e(){this._listeners={}}
  function t (line 1) | function t(e){this._input=e.replace(/\n\r?/g,"\n"),this._line=1,this._co...
  function n (line 1) | function n(e,t,n){this.col=n,this.line=t,this.message=e}
  function r (line 1) | function r(e,t,n,r){this.col=n,this.line=t,this.text=e,this.type=r}
  function i (line 1) | function i(e,n){this._reader=e?new t(e.toString()):null,this._token=null...
  function Combinator (line 1) | function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_...
  function MediaFeature (line 1) | function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:""...
  function MediaQuery (line 1) | function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:""...
  function Parser (line 1) | function Parser(e){EventTarget.call(this),this.options=e||{},this._token...
  function PropertyName (line 1) | function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERT...
  function PropertyValue (line 1) | function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parse...
  function PropertyValueIterator (line 1) | function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._ma...
  function PropertyValuePart (line 1) | function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line...
  function Selector (line 1) | function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SEL...
  function SelectorPart (line 1) | function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELEC...
  function SelectorSubPart (line 1) | function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELE...
  function Specificity (line 1) | function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}
  function isHexDigit (line 1) | function isHexDigit(e){return e!==null&&h.test(e)}
  function isDigit (line 1) | function isDigit(e){return e!==null&&/\d/.test(e)}
  function isWhitespace (line 1) | function isWhitespace(e){return e!==null&&/\s/.test(e)}
  function isNewLine (line 1) | function isNewLine(e){return e!==null&&nl.test(e)}
  function isNameStart (line 1) | function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}
  function isNameChar (line 1) | function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.tes...
  function isIdentStart (line 1) | function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}
  function mix (line 1) | function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}
  function TokenStream (line 1) | function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}
  function ValidationError (line 1) | function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}
  function u (line 1) | function u(e){var t,n,r,a,f=e.elementName?e.elementName.text:"",l;f&&f.c...
  function i (line 1) | function i(e,t){var r,i=e&&e.match(n),s=i&&i[1];return s&&(r={"true":2,"...
  function u (line 1) | function u(){s={},o=!1}
  function a (line 1) | function a(){var e,u;if(!o){if(s.height)for(e in i)i.hasOwnProperty(e)&&...
  function s (line 1) | function s(e,s,o){i[e]&&(typeof r[e]!="string"||i[e].value.toLowerCase()...
  function o (line 1) | function o(){i={}}
  function u (line 1) | function u(){var e=i.display?i.display.value:null;if(e)switch(e){case"in...
  function s (line 1) | function s(){r={}}
  function o (line 1) | function o(){s={},r=null}
  function i (line 1) | function i(e){e.selectors?r={line:e.line,col:e.col,selectors:e.selectors...
  function s (line 1) | function s(){r&&r.outline&&(r.selectors.toString().toLowerCase().indexOf...
  function r (line 1) | function r(e){var r,i,s,o,u,a,f,l,c,h,p,d=e.selectors;for(r=0,i=d.length...
  function f (line 1) | function f(){u={}}
  function l (line 1) | function l(e){var r,i,s,o;for(r in a)if(a.hasOwnProperty(r)){o=0;for(i=0...
  function s (line 1) | function s(){r=!1,i="inherit"}
  function o (line 1) | function o(){r&&i!=="ltr"&&t.report("Negative text-indent doesn't work w...
  function o (line 1) | function o(){r={},i=1}
  function u (line 1) | function u(){var e,i,o,u,a,f=[];for(e in r)s[e]&&f.push({actual:e,needed...
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-html.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function s (line 1) | function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&...
  function r (line 1) | function r(e){if(e.namespaceURI==="http://www.w3.org/1999/xhtml")return ...
  function i (line 1) | function i(e){return r(e)||e.namespaceURI==="http://www.w3.org/1999/xhtm...
  function s (line 1) | function s(e){return e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e....
  function o (line 1) | function o(e){return e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e....
  function u (line 1) | function u(e){return e.namespaceURI==="http://www.w3.org/1999/xhtml"&&e....
  function a (line 1) | function a(e){return r(e)||e.namespaceURI==="http://www.w3.org/1999/xhtm...
  function f (line 1) | function f(e){return(e.namespaceURI!=="http://www.w3.org/1999/xhtml"||e....
  function l (line 1) | function l(){this.elements=[],this.rootNode=null,this.headElement=null,t...
  function o (line 1) | function o(e){return e>="0"&&e<="9"||e>="a"&&e<="z"||e>="A"&&e<="Z"}
  function u (line 1) | function u(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"}
  function a (line 1) | function a(e){return e>="0"&&e<="9"}
  function r (line 1) | function r(){this.data="",this.start=0,this.committed=0,this.eof=!1,this...
  function i (line 1) | function i(e,t,n,r){this.localName=t,this.namespaceURI=e,this.attributes...
  function s (line 1) | function s(e,t){for(var n=0;n<e.attributes.length;n++)if(e.attributes[n]...
  function s (line 1) | function s(e){return e===" "||e==="\n"||e==="	"||e==="\r"||e==="\f"}
  function o (line 1) | function o(e){return e>="A"&&e<="Z"||e>="a"&&e<="z"}
  function u (line 1) | function u(e){this._tokenHandler=e,this._state=u.DATA,this._inputStream=...
  function n (line 1) | function n(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF...
  function a (line 1) | function a(e){var r=i.consumeEntity(e,t);return t.setState(n),t._emitTok...
  function f (line 1) | function f(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF...
  function l (line 1) | function l(e){var n=i.consumeEntity(e,t);return t.setState(f),t._emitTok...
  function c (line 1) | function c(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF...
  function h (line 1) | function h(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF...
  function p (line 1) | function p(e){var n=e.char();if(n===r.EOF)return t._emitToken({type:"EOF...
  function d (line 1) | function d(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t....
  function v (line 1) | function v(e){var n=e.char();return o(n)?(this._temporaryBuffer+=n,t.set...
  function m (line 1) | function m(e){var r=t._currentToken&&t._currentToken.name===this._tempor...
  function g (line 1) | function g(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t....
  function y (line 1) | function y(e){var n=e.char();return o(n)?(this._temporaryBuffer+=n,t.set...
  function b (line 1) | function b(e){var r=t._currentToken&&t._currentToken.name===this._tempor...
  function w (line 1) | function w(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t....
  function E (line 1) | function E(e){var n=e.char();return o(n)?(this._temporaryBuffer+=n,t.set...
  function S (line 1) | function S(e){var n=t._currentToken&&t._currentToken.name===this._tempor...
  function x (line 1) | function x(e){var n=e.char();return n==="-"?(t._emitToken({type:"Charact...
  function T (line 1) | function T(e){var n=e.char();return n==="-"?(t._emitToken({type:"Charact...
  function N (line 1) | function N(e){var i=e.char();if(i===r.EOF)e.unget(i),t.setState(n);else ...
  function C (line 1) | function C(e){var i=e.char();return i===r.EOF?(e.unget(i),t.setState(n))...
  function k (line 1) | function k(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-scr...
  function L (line 1) | function L(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t....
  function A (line 1) | function A(e){var n=e.char();return o(n)?(this._temporaryBuffer=n,t.setS...
  function O (line 1) | function O(e){var r=t._currentToken&&t._currentToken.name===this._tempor...
  function M (line 1) | function M(e){var n=e.char();return s(n)||n==="/"||n===">"?(t._emitToken...
  function _ (line 1) | function _(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-scr...
  function D (line 1) | function D(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-scr...
  function P (line 1) | function P(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-scr...
  function H (line 1) | function H(e){var n=e.char();return n==="/"?(t._emitToken({type:"Charact...
  function B (line 1) | function B(e){var n=e.char();return s(n)||n==="/"||n===">"?(t._emitToken...
  function j (line 1) | function j(e){var i=e.char();return i===r.EOF?(t._parseError("bare-less-...
  function F (line 1) | function F(e){var i=e.char();return i===r.EOF?(t._parseError("expected-c...
  function I (line 1) | function I(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-tag...
  function q (line 1) | function q(e){var i=e.char();if(i===r.EOF)t._parseError("expected-attrib...
  function R (line 1) | function R(e){var i=e.char(),u=!0,a=!1;i===r.EOF?(t._parseError("eof-in-...
  function U (line 1) | function U(e){var i=e.char();if(i===r.EOF)t._parseError("expected-end-of...
  function z (line 1) | function z(e){var i=e.char();if(i===r.EOF)t._parseError("expected-attrib...
  function W (line 1) | function W(e){var i=e.char();if(i===r.EOF)t._parseError("eof-in-attribut...
  function X (line 1) | function X(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-att...
  function V (line 1) | function V(e){var i=e.char();if(i===r.EOF)t._parseError("eof-after-attri...
  function $ (line 1) | function $(e){var n=i.consumeEntity(e,t,this._additionalAllowedCharacter...
  function J (line 1) | function J(e){var i=e.char();return i===r.EOF?(t._parseError("eof-after-...
  function K (line 1) | function K(e){var i=e.char();return i===r.EOF?(t._parseError("unexpected...
  function Q (line 1) | function Q(e){var r=e.matchUntil(">");return r=r.replace(/\u0000/g,"\uff...
  function G (line 1) | function G(e){var n=e.shift(2);if(n==="--")t._currentToken={type:"Commen...
  function Y (line 1) | function Y(e){var r=e.matchUntil("]]>");return e.shift(3),r&&t._emitToke...
  function Z (line 1) | function Z(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-com...
  function et (line 1) | function et(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-co...
  function tt (line 1) | function tt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-co...
  function nt (line 1) | function nt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-co...
  function rt (line 1) | function rt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-co...
  function it (line 1) | function it(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-co...
  function st (line 1) | function st(e){var i=e.char();return i===r.EOF?(t._parseError("expected-...
  function ot (line 1) | function ot(e){var i=e.char();return i===r.EOF?(t._parseError("expected-...
  function ut (line 1) | function ut(e){var i=e.char();return i===r.EOF?(t._currentToken.forceQui...
  function at (line 1) | function at(e){var i=e.char();if(i===r.EOF)t._currentToken.forceQuirks=!...
  function ft (line 1) | function ft(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function lt (line 1) | function lt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function ct (line 1) | function ct(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function ht (line 1) | function ht(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function pt (line 1) | function pt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function dt (line 1) | function dt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function vt (line 1) | function vt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function mt (line 1) | function mt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function gt (line 1) | function gt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function yt (line 1) | function yt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function bt (line 1) | function bt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-do...
  function wt (line 1) | function wt(e){var i=e.char();return i===r.EOF?(e.unget(i),t._emitCurren...
  function c (line 1) | function c(e){return e===" "||e==="\n"||e==="	"||e==="\r"||e==="\f"}
  function h (line 1) | function h(e){return c(e)||e==="\ufffd"}
  function p (line 1) | function p(e){for(var t=0;t<e.length;t++){var n=e[t];if(!c(n))return!1}r...
  function d (line 1) | function d(e){for(var t=0;t<e.length;t++){var n=e[t];if(!h(n))return!1}r...
  function v (line 1) | function v(e,t){for(var n=0;n<e.attributes.length;n++){var r=e.attribute...
  function m (line 1) | function m(e){this.characters=e,this.current=0,this.end=this.characters....
  function g (line 1) | function g(){this.tokenizer=null,this.errorHandler=null,this.scriptingEn...
  function y (line 1) | function y(e,t){return e.replace(new RegExp("{[0-9a-z-]+}","gi"),functio...
  function i (line 1) | function i(e){return e===r}
  function o (line 1) | function o(){this.contentHandler=null,this._errorHandler=null,this._tree...
  function s (line 1) | function s(){i.call(this)}
  function o (line 1) | function o(e,t){for(var n=0;n<e.attributes.length;n++){var r=e.attribute...
  function a (line 1) | function a(e){e?(this.columnNumber=e.columnNumber,this.lineNumber=e.line...
  function f (line 1) | function f(e){a.call(this,e),this.lastChild=null,this._endLocator=null}
  function l (line 1) | function l(e){f.call(this,e),this.nodeType=u.DOCUMENT}
  function c (line 1) | function c(){f.call(this,new Locator),this.nodeType=u.DOCUMENT_FRAGMENT}
  function h (line 1) | function h(e,t,n,r,i,s){f.call(this,e),this.uri=t,this.localName=n,this....
  function p (line 1) | function p(e,t){a.call(this,e),this.data=t,this.nodeType=u.CHARACTERS}
  function d (line 1) | function d(e,t){a.call(this,e),this.data=t,this.nodeType=u.IGNORABLE_WHI...
  function v (line 1) | function v(e,t){a.call(this,e),this.data=t,this.nodeType=u.COMMENT}
  function m (line 1) | function m(e){f.call(this,e),this.nodeType=u.CDATA}
  function g (line 1) | function g(e){f.call(this),this.name=e,this.nodeType=u.ENTITY}
  function y (line 1) | function y(e){a.call(this),this.name=e,this.nodeType=u.SKIPPED_ENTITY}
  function b (line 1) | function b(e,t){a.call(this),this.target=e,this.data=t}
  function w (line 1) | function w(e,t,n){f.call(this),this.name=e,this.publicIdentifier=t,this....
  function r (line 1) | function r(e,t){this.contentHandler,this.lexicalHandler,this.locatorDele...
  function i (line 1) | function i(){}
  function u (line 1) | function u(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&(isNaN(t)||!...
  function a (line 1) | function a(e,t){return r.isString(e)?e.length<t?e:e.slice(0,t):e}
  function f (line 1) | function f(e){return a(JSON.stringify(e.actual,u),128)+" "+e.operator+" ...
  function l (line 1) | function l(e,t,n,r,i){throw new o.AssertionError({message:n,actual:e,exp...
  function c (line 1) | function c(e,t){e||l(e,!0,t,"==",o.ok)}
  function h (line 1) | function h(e,t){if(e===t)return!0;if(r.isBuffer(e)&&r.isBuffer(t)){if(e....
  function p (line 1) | function p(e){return Object.prototype.toString.call(e)=="[object Argumen...
  function d (line 1) | function d(e,t){if(r.isNullOrUndefined(e)||r.isNullOrUndefined(t))return...
  function v (line 1) | function v(e,t){return!e||!t?!1:Object.prototype.toString.call(t)=="[obj...
  function m (line 1) | function m(e,t,n,i){var s;r.isString(n)&&(i=n,n=null);try{t()}catch(o){s...
  function u (line 1) | function u(e,t){var r={seen:[],stylize:f};return arguments.length>=3&&(r...
  function a (line 1) | function a(e,t){var n=u.styles[t];return n?"["+u.colors[n][0]+"m"+e+"[...
  function f (line 1) | function f(e,t){return e}
  function l (line 1) | function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}
  function c (line 1) | function c(e,t,r){if(e.customInspect&&t&&A(t.inspect)&&t.inspect!==n.ins...
  function h (line 1) | function h(e,t){if(T(t))return e.stylize("undefined","undefined");if(S(t...
  function p (line 1) | function p(e){return"["+Error.prototype.toString.call(e)+"]"}
  function d (line 1) | function d(e,t,n,r,i){var s=[];for(var o=0,u=t.length;o<u;++o)H(t,String...
  function v (line 1) | function v(e,t,n,r,i,s){var o,u,a;a=Object.getOwnPropertyDescriptor(t,i)...
  function m (line 1) | function m(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf(...
  function g (line 1) | function g(e){return Array.isArray(e)}
  function y (line 1) | function y(e){return typeof e=="boolean"}
  function b (line 1) | function b(e){return e===null}
  function w (line 1) | function w(e){return e==null}
  function E (line 1) | function E(e){return typeof e=="number"}
  function S (line 1) | function S(e){return typeof e=="string"}
  function x (line 1) | function x(e){return typeof e=="symbol"}
  function T (line 1) | function T(e){return e===void 0}
  function N (line 1) | function N(e){return C(e)&&M(e)==="[object RegExp]"}
  function C (line 1) | function C(e){return typeof e=="object"&&e!==null}
  function k (line 1) | function k(e){return C(e)&&M(e)==="[object Date]"}
  function L (line 1) | function L(e){return C(e)&&(M(e)==="[object Error]"||e instanceof Error)}
  function A (line 1) | function A(e){return typeof e=="function"}
  function O (line 1) | function O(e){return e===null||typeof e=="boolean"||typeof e=="number"||...
  function M (line 1) | function M(e){return Object.prototype.toString.call(e)}
  function _ (line 1) | function _(e){return e<10?"0"+e.toString(10):e.toString(10)}
  function P (line 1) | function P(){var e=new Date,t=[_(e.getHours()),_(e.getMinutes()),_(e.get...
  function H (line 1) | function H(e,t){return Object.prototype.hasOwnProperty.call(e,t)}
  function o (line 1) | function o(){if(!s){if(t.throwDeprecation)throw new Error(i);t.traceDepr...
  function r (line 1) | function r(){this._events=this._events||{},this._maxListeners=this._maxL...
  function i (line 1) | function i(e){return typeof e=="function"}
  function s (line 1) | function s(e){return typeof e=="number"}
  function o (line 1) | function o(e){return typeof e=="object"&&e!==null}
  function u (line 1) | function u(e){return e===void 0}
  function r (line 1) | function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}
  function i (line 1) | function i(){}
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-javascript.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function o (line 1) | function o(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&...
  function r (line 1) | function r(){this._events=this._events||{},this._maxListeners=this._maxL...
  function i (line 1) | function i(e){return typeof e=="function"}
  function s (line 1) | function s(e){return typeof e=="number"}
  function o (line 1) | function o(e){return typeof e=="object"&&e!==null}
  function u (line 1) | function u(e){return e===void 0}
  function r (line 1) | function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}
  function $ (line 1) | function $(e,t,n){var r=e.length,i=n?r:-1;while(n?i--:++i<r)if(t(e[i],i,...
  function J (line 1) | function J(e,t,n){if(t!==t)return G(e,n);var r=n-1,i=e.length;while(++r<...
  function K (line 1) | function K(e){return typeof e=="function"||!1}
  function Q (line 1) | function Q(e){return typeof e=="string"?e:e==null?"":e+""}
  function G (line 1) | function G(e,t,n){var r=e.length,i=t+(n?0:-1);while(n?i--:++i<r){var s=e...
  function Y (line 1) | function Y(e){return!!e&&typeof e=="object"}
  function Ct (line 1) | function Ct(){}
  function Lt (line 1) | function Lt(e,t){var n=-1,r=e.length;t||(t=Array(r));while(++n<r)t[n]=e[...
  function At (line 1) | function At(e,t){var n=-1,r=e.length;while(++n<r)if(t(e[n],n,e)===!1)bre...
  function Ot (line 1) | function Ot(e,t){var n=-1,r=e.length,i=-1,s=[];while(++n<r){var o=e[n];t...
  function Mt (line 1) | function Mt(e,t){var n=-1,r=e.length,i=Array(r);while(++n<r)i[n]=t(e[n],...
  function _t (line 1) | function _t(e){var t=-1,n=e.length,r=wt;while(++t<n){var i=e[t];i>r&&(r=...
  function Dt (line 1) | function Dt(e,t){var n=-1,r=e.length;while(++n<r)if(t(e[n],n,e))return!0...
  function Pt (line 1) | function Pt(e,t,n){var i=rr(t);lt.apply(i,bn(t));var s=-1,o=i.length;whi...
  function Bt (line 1) | function Bt(e,t,n){n||(n={});var r=-1,i=t.length;while(++r<i){var s=t[r]...
  function jt (line 1) | function jt(e,t,n){var i=typeof e;return i=="function"?t===r?e:on(e,t,n)...
  function Ft (line 1) | function Ft(e,t,n,i,s,u,a){var f;n&&(f=s?n(e,i,s):n(e));if(f!==r)return ...
  function qt (line 1) | function qt(e,t){var n=[];return It(e,function(e,r,i){t(e,r,i)&&n.push(e...
  function Ut (line 1) | function Ut(e,t){return Rt(e,t,ir)}
  function zt (line 1) | function zt(e,t){return Rt(e,t,rr)}
  function Wt (line 1) | function Wt(e,t,n){if(e==null)return;n!==r&&n in On(e)&&(t=[n]);var i=-1...
  function Xt (line 1) | function Xt(e,t,n,r,i,s){if(e===t)return e!==0||1/e==1/t;var o=typeof e,...
  function Vt (line 1) | function Vt(e,t,n,r,i,s,a){var f=Xn(e),l=Xn(t),c=u,h=u;f||(c=rt.call(e),...
  function $t (line 1) | function $t(e,t,n,i,s){var o=-1,u=t.length,a=!s;while(++o<u)if(a&&i[o]?n...
  function Jt (line 1) | function Jt(e){var t=rr(e),n=t.length;if(!n)return fr(!0);if(n==1){var i...
  function Kt (line 1) | function Kt(e,t){var n=Xn(e),i=Nn(e)&&kn(t),s=e+"";return e=Mn(e),functi...
  function Qt (line 1) | function Qt(e,t,n,i,s){if(!Jn(e))return e;var o=Cn(t.length)&&(Xn(t)||Zn...
  function Gt (line 1) | function Gt(e,t,n,i,s,o,u){var a=o.length,f=t[n];while(a--)if(o[a]==f){e...
  function Yt (line 1) | function Yt(e){return function(t){return t==null?r:t[e]}}
  function Zt (line 1) | function Zt(e){var t=e+"";return e=Mn(e),function(n){return Wt(n,e,t)}}
  function en (line 1) | function en(e,t,n){var i=-1,s=e.length;t=t==null?0:+t||0,t<0&&(t=-t>s?0:...
  function tn (line 1) | function tn(e,t){var n;return It(e,function(e,r,i){return n=t(e,r,i),!n}...
  function nn (line 1) | function nn(e,t){var n=-1,r=t.length,i=Array(r);while(++n<r)i[n]=e[t[n]]...
  function rn (line 1) | function rn(e,t,n){var r=0,i=e?e.length:r;if(typeof t=="number"&&t===t&&...
  function sn (line 1) | function sn(e,t,n,i){t=n(t);var s=0,o=e?e.length:0,u=t!==t,a=t===r;while...
  function on (line 1) | function on(e,t,n){if(typeof e!="function")return lr;if(t===r)return e;s...
  function un (line 1) | function un(e){return ot.call(e,0)}
  function an (line 1) | function an(e){return Un(function(t,n){var r=-1,i=t==null?0:n.length,s=i...
  function fn (line 1) | function fn(e,t){return function(n,r){var i=n?yn(n):0;if(!Cn(i))return e...
  function ln (line 1) | function ln(e){return function(t,n,r){var i=On(t),s=r(t),o=s.length,u=e?...
  function cn (line 1) | function cn(e){return function(t,n,r){return!t||!t.length?-1:(n=mn(n,r,3...
  function hn (line 1) | function hn(e,t){return function(n,i,s){return typeof i=="function"&&s==...
  function pn (line 1) | function pn(e,t,n,i,s,o,u){var a=-1,f=e.length,l=t.length,c=!0;if(f!=l&&...
  function dn (line 1) | function dn(e,t,n){switch(n){case a:case f:return+e==+t;case l:return e....
  function vn (line 1) | function vn(e,t,n,i,s,o,u){var a=rr(e),f=a.length,l=rr(t),c=l.length;if(...
  function mn (line 1) | function mn(e,t,n){var r=Ct.callback||ar;return r=r===ar?jt:r,n?r(e,t,n):r}
  function gn (line 1) | function gn(e,t,n){var r=Ct.indexOf||Dn;return r=r===Dn?J:r,e?r(e,t,n):r}
  function wn (line 1) | function wn(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[...
  function En (line 1) | function En(e){var t=e.constructor;return typeof t=="function"&&t instan...
  function Sn (line 1) | function Sn(e,t,n){var r=e.constructor;switch(t){case b:return un(e);cas...
  function xn (line 1) | function xn(e,t){return e=+e,t=t==null?Nt:t,e>-1&&e%1==0&&e<t}
  function Tn (line 1) | function Tn(e,t,n){if(!Jn(n))return!1;var r=typeof t;if(r=="number")var ...
  function Nn (line 1) | function Nn(e,t){var n=typeof e;if(n=="string"&&O.test(e)||n=="number")r...
  function Cn (line 1) | function Cn(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Nt}
  function kn (line 1) | function kn(e){return e===e&&(e===0?1/e>0:!Jn(e))}
  function Ln (line 1) | function Ln(e){var t,n=Ct.support;if(!Y(e)||rt.call(e)!=d||!nt.call(e,"c...
  function An (line 1) | function An(e){var t=ir(e),n=t.length,r=n&&e.length,i=Ct.support,s=r&&Cn...
  function On (line 1) | function On(e){return Jn(e)?e:Object(e)}
  function Mn (line 1) | function Mn(e){if(Xn(e))return e;var t=[];return Q(e).replace(M,function...
  function Dn (line 1) | function Dn(e,t,n){var r=e?e.length:0;if(!r)return-1;if(typeof n=="numbe...
  function Pn (line 1) | function Pn(e){var t=e?e.length:0;return t?e[t-1]:r}
  function Hn (line 1) | function Hn(e,t,n){var r=e?e.length:0;return r?(n&&typeof n!="number"&&T...
  function Bn (line 1) | function Bn(e){var t=-1,n=(e&&e.length&&_t(Mt(e,yn)))>>>0,r=Array(n);whi...
  function In (line 1) | function In(e,t,n,r){var i=e?yn(e):0;return Cn(i)||(e=or(e),i=e.length),...
  function qn (line 1) | function qn(e,t,n){var r=Xn(e)?Ot:qt;return t=mn(t,n,3),r(e,function(e,n...
  function Rn (line 1) | function Rn(e,t,n){var i=Xn(e)?Dt:tn;n&&Tn(e,t,n)&&(t=null);if(typeof t!...
  function Un (line 1) | function Un(e,t){if(typeof e!="function")throw new TypeError(s);return t...
  function zn (line 1) | function zn(e,t,n,r){return t&&typeof t!="boolean"&&Tn(e,t,n)?t=!1:typeo...
  function Wn (line 1) | function Wn(e){var t=Y(e)?e.length:r;return Cn(t)&&rt.call(e)==o}
  function Vn (line 1) | function Vn(e){if(e==null)return!0;var t=yn(e);return Cn(t)&&(Xn(e)||Yn(...
  function Jn (line 1) | function Jn(e){var t=typeof e;return t=="function"||!!e&&t=="object"}
  function Kn (line 1) | function Kn(e){return e==null?!1:rt.call(e)==c?it.test(tt.call(e)):Y(e)&...
  function Qn (line 1) | function Qn(e){return typeof e=="number"||Y(e)&&rt.call(e)==p}
  function Yn (line 1) | function Yn(e){return typeof e=="string"||Y(e)&&rt.call(e)==g}
  function Zn (line 1) | function Zn(e){return Y(e)&&Cn(e.length)&&!!j[rt.call(e)]}
  function er (line 1) | function er(e){return Bt(e,ir(e))}
  function nr (line 1) | function nr(e,t){if(e==null)return!1;var n=nt.call(e,t);return!n&&!Nn(t)...
  function ir (line 1) | function ir(e){if(e==null)return[];Jn(e)||(e=Object(e));var t=e.length;t...
  function or (line 1) | function or(e){return nn(e,rr(e))}
  function ur (line 1) | function ur(e){return e=Q(e),e&&D.test(e)?e.replace(_,"\\$&"):e}
  function ar (line 1) | function ar(e,t,n){return n&&Tn(e,t,n)&&(t=null),jt(e,t)}
  function fr (line 1) | function fr(e){return function(){return e}}
  function lr (line 1) | function lr(e){return e}
  function cr (line 1) | function cr(e){return Nn(e)?Yt(e):Zt(e)}
  function k (line 1) | function k(e,t){return e=e.trim(),/^[+-]W\d{3}$/g.test(e)?!0:c.validName...
  function L (line 1) | function L(e){return Object.prototype.toString.call(e)==="[object String]"}
  function A (line 1) | function A(e,t){return e?!e.identifier||e.value!==t?!1:!0:!1}
  function O (line 1) | function O(e){if(!e.reserved)return!1;var t=e.meta;if(t&&t.isFutureReser...
  function M (line 1) | function M(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n...
  function D (line 1) | function D(e,t){Object.keys(t).forEach(function(n){if(r.has(p.blacklist,...
  function P (line 1) | function P(){if(f.option.enforceall){for(var e in c.bool.enforcing)f.opt...
  function H (line 1) | function H(){P(),!f.option.esversion&&!f.option.moz&&(f.option.es3?f.opt...
  function B (line 1) | function B(e,t,n){var r=Math.floor(t/f.lines.length*100),i=o.errors[e].d...
  function j (line 1) | function j(){var e=f.ignoredLines;if(r.isEmpty(e))return;p.errors=r.reje...
  function F (line 1) | function F(e,t,n,r,i,s){var u,a,l,c;if(/^W\d{3}$/.test(e)){if(f.ignored[...
  function I (line 1) | function I(e,t,n,r,i,s,o){return F(e,{line:t,from:n},r,i,s,o)}
  function q (line 1) | function q(e,t,n,r,i,s){F(e,t,n,r,i,s)}
  function R (line 1) | function R(e,t,n,r,i,s,o){return q(e,{line:t,from:n},r,i,s,o)}
  function U (line 1) | function U(e,t){var n;return n={id:"(internal)",elem:e,value:t},p.intern...
  function z (line 1) | function z(){var e=f.tokens.next,t=e.body.match(/(-\s+)?[^\s,:]+(?:\s*:\...
  function W (line 1) | function W(e){var t=e||0,n=y.length,r;if(t<n)return y[t];while(n<=t)r=y[...
  function X (line 1) | function X(){var e=0,t;do t=W(e++);while(t.id==="(endline)");return t}
  function V (line 1) | function V(e,t){switch(f.tokens.curr.id){case"(number)":f.tokens.next.id...
  function $ (line 1) | function $(e){return e.infix||!e.identifier&&!e.template&&!!e.led}
  function J (line 1) | function J(){var e=f.tokens.curr,t=f.tokens.next;return t.id===";"||t.id...
  function K (line 1) | function K(e){return!e.left&&e.arity!=="unary"}
  function Q (line 1) | function Q(e,t){var n,i=!1,s=!1,o=!1;f.nameStack.push(),!t&&f.tokens.nex...
  function G (line 1) | function G(e){return e.startLine||e.line}
  function Y (line 1) | function Y(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,!f.option.laxbreak...
  function Z (line 1) | function Z(e){e=e||f.tokens.curr,e.line!==G(f.tokens.next)&&F("E022",e,e...
  function et (line 1) | function et(e,t){e.line!==G(t)&&(f.option.laxcomma||(tt.first&&(F("I001"...
  function tt (line 1) | function tt(e){e=e||{},e.peek?et(f.tokens.prev,f.tokens.curr):(et(f.toke...
  function nt (line 1) | function nt(e,t){var n=f.syntax[e];if(!n||typeof n!="object")f.syntax[e]...
  function rt (line 1) | function rt(e){var t=nt(e,0);return t.delim=!0,t}
  function it (line 1) | function it(e,t){var n=rt(e);return n.identifier=n.reserved=!0,n.fud=t,n}
  function st (line 1) | function st(e,t){var n=it(e,t);return n.block=!0,n}
  function ot (line 1) | function ot(e){var t=e.id.charAt(0);if(t>="a"&&t<="z"||t>="A"&&t<="Z")e....
  function ut (line 1) | function ut(e,t){var n=nt(e,150);return ot(n),n.nud=typeof t=="function"...
  function at (line 1) | function at(e,t){var n=rt(e);return n.type=e,n.nud=t,n}
  function ft (line 1) | function ft(e,t){var n=at(e,t);return n.identifier=!0,n.reserved=!0,n}
  function lt (line 1) | function lt(e,t){var n=at(e,t&&t.nud||function(){return this});return t=...
  function ct (line 1) | function ct(e,t){return ft(e,function(){return typeof t=="function"&&t(t...
  function ht (line 1) | function ht(e,t,n,r){var i=nt(e,n);return ot(i),i.infix=!0,i.led=functio...
  function pt (line 1) | function pt(e){var t=nt(e,42);return t.led=function(e){return Y(f.tokens...
  function dt (line 1) | function dt(e,t){var n=nt(e,100);return n.led=function(e){Y(f.tokens.pre...
  function vt (line 1) | function vt(e){return e&&(e.type==="(number)"&&+e.value===0||e.type==="(...
  function gt (line 1) | function gt(e,t,n){var i;return n.option.notypeof?!1:!e||!t?!1:(i=n.inES...
  function yt (line 1) | function yt(e,t){var n=!1;return e.type==="this"&&t.funct["(context)"]==...
  function bt (line 1) | function bt(e){function n(e){if(typeof e!="object")return;return e.right...
  function wt (line 1) | function wt(e,t,n){var r=n&&n.allowDestructuring;t=t||e;if(f.option.free...
  function Et (line 1) | function Et(e,t,n){var r=ht(e,typeof t=="function"?t:function(e,t){t.lef...
  function St (line 1) | function St(e,t,n){var r=nt(e,n);return ot(r),r.led=typeof t=="function"...
  function xt (line 1) | function xt(e){return Et(e,function(e,t){f.option.bitwise&&F("W016",t,t....
  function Tt (line 1) | function Tt(e){var t=nt(e,150);return t.led=function(e){return f.option....
  function Nt (line 1) | function Nt(e,t,n){if(!f.tokens.next.identifier)return;n||V();var r=f.to...
  function Ct (line 1) | function Ct(e,t){var n=Nt(e,t,!1);if(n)return n;if(f.tokens.next.value==...
  function kt (line 1) | function kt(e){var t=0,n;if(f.tokens.next.id!==";"||e.inBracelessBlock)r...
  function Lt (line 1) | function Lt(){if(f.tokens.next.id!==";"){if(f.tokens.next.isUnclosed)ret...
  function At (line 1) | function At(){var e=g,t,n=f.tokens.next,r=!1;if(n.id===";"){V(";");retur...
  function Ot (line 1) | function Ot(){var e=[],t;while(!f.tokens.next.reach&&f.tokens.next.id!==...
  function Mt (line 1) | function Mt(){var e,t,n;while(f.tokens.next.id==="(string)"){t=W(0);if(t...
  function _t (line 1) | function _t(e,t,n,i,s){var o,u=m,a=g,l,c,h,p;m=e,c=f.tokens.next;var d=f...
  function Dt (line 1) | function Dt(e){E&&typeof E[e]!="boolean"&&F("W036",f.tokens.curr,e),type...
  function Bt (line 1) | function Bt(){var e={};e.exps=!0,f.funct["(comparray)"].stack();var t=!1...
  function jt (line 1) | function jt(){return f.funct["(statement)"]&&f.funct["(statement)"].type...
  function Ft (line 1) | function Ft(e){return e.identifier||e.id==="(string)"||e.id==="(number)"}
  function It (line 1) | function It(e){var t,n=!0;return typeof e=="object"?t=e:(n=e,t=Nt(!1,!0,...
  function qt (line 1) | function qt(e){function h(e){f.funct["(scope)"].addParam.apply(f.funct["...
  function Rt (line 1) | function Rt(e,t,n){var i={"(name)":e,"(breakage)":0,"(loopage)":0,"(toke...
  function Ut (line 1) | function Ut(e){return"(scope)"in e}
  function zt (line 1) | function zt(e){return e["(global)"]&&!e["(verb)"]}
  function Wt (line 1) | function Wt(e){function i(){if(f.tokens.curr.template&&f.tokens.curr.tai...
  function Xt (line 1) | function Xt(e){var t,n,r,i,s,o,u,a,l=f.option,c=f.ignored;e&&(r=e.name,i...
  function Vt (line 1) | function Vt(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCou...
  function $t (line 1) | function $t(){f.funct["(metrics)"].ComplexityCount+=1}
  function Jt (line 1) | function Jt(e){var t,n;e&&(t=e.id,n=e.paren,t===","&&(e=e.exprs[e.exprs....
  function Kt (line 1) | function Kt(e){if(f.inES5())for(var t in e)e[t]&&e[t].setterToken&&!e[t]...
  function Qt (line 1) | function Qt(e,t){if(pn(f.tokens.next,".")){var n=f.tokens.curr.id;V(".")...
  function Gt (line 1) | function Gt(e){var t=e&&e.assignment;return f.inES6()||F("W104",f.tokens...
  function Yt (line 1) | function Yt(e){var t,n=[],r=e&&e.openingParsed,i=e&&e.assignment,s=i?{as...
  function Zt (line 1) | function Zt(e,t){var n=t.first;if(!n)return;r.zip(e,Array.isArray(n)?n:[...
  function en (line 1) | function en(e,t,n){var i=n&&n.prefix,s=n&&n.inexport,o=e==="let",u=e==="...
  function sn (line 1) | function sn(e){return f.inES6()||F("W104",f.tokens.curr,"class","6"),e?(...
  function on (line 1) | function on(e){var t=f.inClassBody;f.tokens.next.value==="extends"&&(V("...
  function un (line 1) | function un(e){var t,n,r,i,s=Object.create(null),o=Object.create(null),u...
  function fn (line 1) | function fn(e,t,n,r,i){var s=["key","class method","static class method"...
  function ln (line 1) | function ln(e,t,n,r,i,s){var o=e==="get"?"getterToken":"setterToken",u="...
  function cn (line 1) | function cn(){V("["),f.inES6()||F("W119",f.tokens.curr,"computed propert...
  function hn (line 1) | function hn(e,t){return e.type==="(punctuator)"?r.contains(t,e.value):!1}
  function pn (line 1) | function pn(e,t){return e.type==="(punctuator)"&&e.value===t}
  function dn (line 1) | function dn(){var e=an();e.notJson?(!f.inES6()&&e.isDestAssign&&F("W104"...
  function mn (line 1) | function mn(){function e(){var e={},t=f.tokens.next;V("{");if(f.tokens.n...
  function t (line 1) | function t(){V("catch"),V("("),f.funct["(scope)"].stack("catchparams");i...
  function i (line 1) | function i(e){var t=n.variables.filter(function(t){if(t.value===e)return...
  function s (line 1) | function s(e){var t=n.variables.filter(function(t){if(t.value===e&&!t.un...
  function U (line 1) | function U(e,t){if(!e)return;!Array.isArray(e)&&typeof e=="object"&&(e=O...
  method isJSON (line 1) | get isJSON(){return f.jsonMode}
  function h (line 1) | function h(){var e=[];return{push:function(t){e.push(t)},check:function(...
  function p (line 1) | function p(e){var t=e;typeof t=="string"&&(t=t.replace(/\r\n/g,"\n").rep...
  function u (line 1) | function u(e,t,n){var r=["jshint","jslint","members","member","globals",...
  function i (line 1) | function i(e){return e>256}
  function s (line 1) | function s(e){return e>256}
  function o (line 1) | function o(e){return/^[0-9a-fA-F]$/.test(e)}
  function p (line 1) | function p(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,function(e,t){retu...
  function f (line 1) | function f(e){return/^[0-9]$/.test(e)}
  function c (line 1) | function c(e){return/^[0-7]$/.test(e)}
  function h (line 1) | function h(e){return/^[01]$/.test(e)}
  function p (line 1) | function p(e){return/^[0-9a-fA-F]$/.test(e)}
  function d (line 1) | function d(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&...
  function n (line 1) | function n(e,t){if(!e.reserved)return!1;var n=e.meta;if(n&&n.isFutureRes...
  function r (line 1) | function r(){this._stack=[]}
  function f (line 1) | function f(e){u={"(labels)":Object.create(null),"(usages)":Object.create...
  function v (line 1) | function v(e,t){d.emit("warning",{code:e,token:t,data:r.slice(arguments,...
  function m (line 1) | function m(e,t){d.emit("warning",{code:e,token:t,data:r.slice(arguments,...
  function g (line 1) | function g(e){u["(usages)"][e]||(u["(usages)"][e]={"(modified)":[],"(rea...
  function w (line 1) | function w(){if(u["(type)"]==="functionparams"){E();return}var e=u["(lab...
  function E (line 1) | function E(){var t=u["(params)"];if(!t)return;var n=t.pop(),r;while(n){v...
  function S (line 1) | function S(e){for(var t=a.length-1;t>=0;--t){var n=a[t]["(labels)"];if(n...
  function x (line 1) | function x(e){for(var t=a.length-1;t>=0;t--){var n=a[t];if(n["(usages)"]...
  function T (line 1) | function T(t,n){if(e.option.shadow!=="outer")return;var r=l["(type)"]===...
  function N (line 1) | function N(t,n,r){e.option.latedef&&(e.option.latedef===!0&&t==="functio...
  function startRegex (line 1) | function startRegex(e){return RegExp("^("+e.join("|")+")")}
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-json.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-lua.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function m (line 1) | function m(e){if(mt){var t=vt.pop();t.complete(),n.locations&&(e.loc=t.l...
  function w (line 1) | function w(e,t,n){for(var r=0,i=e.length;r<i;r++)if(e[r][t]===n)return r...
  function E (line 1) | function E(e){var t=g.call(arguments,1);return e=e.replace(/%(\d)/g,func...
  function S (line 1) | function S(){var e=g.call(arguments),t={},n,r;for(var i=0,s=e.length;i<s...
  function x (line 1) | function x(e){var t=E.apply(null,g.call(arguments,1)),n,r;throw"undefine...
  function T (line 1) | function T(e,t){x(t,d.expectedToken,e,t.value)}
  function N (line 1) | function N(e,t){"undefined"==typeof t&&(t=A.value);if("undefined"!=typeo...
  function P (line 1) | function P(){H();while(45===t.charCodeAt(C)&&45===t.charCodeAt(C+1))X(),...
  function H (line 1) | function H(){while(C<r){var e=t.charCodeAt(C);if(Q(e))C++;else{if(!G(e))...
  function B (line 1) | function B(){var e,n;while(tt(t.charCodeAt(++C)));return e=t.slice(M,C),...
  function j (line 1) | function j(e){return C+=e.length,{type:l,value:e,line:_,lineStart:D,rang...
  function F (line 1) | function F(){return C+=3,{type:p,value:"...",line:_,lineStart:D,range:[M...
  function I (line 1) | function I(){var e=t.charCodeAt(C++),n=C,i="",s;while(C<r){s=t.charCodeA...
  function q (line 1) | function q(){var e=V();return!1===e&&x(k,d.expected,"[",k.value),{type:o...
  function R (line 1) | function R(){var e=t.charAt(C),n=t.charAt(C+1),r="0"===e&&"xX".indexOf(n...
  function U (line 1) | function U(){var e=0,n=1,r=1,i,s,o,u;u=C+=2,Z(t.charCodeAt(C))||x({},d.m...
  function z (line 1) | function z(){while(Y(t.charCodeAt(C)))C++;if("."===t.charAt(C)){C++;whil...
  function W (line 1) | function W(){var e=C;switch(t.charAt(C)){case"n":return C++,"\n";case"r"...
  function X (line 1) | function X(){M=C,C+=2;var e=t.charAt(C),i="",s=!1,o=C,u=D,a=_;"["===e&&(...
  function V (line 1) | function V(){var e=0,n="",i=!1,s,o;C++;while("="===t.charAt(C+e))e++;if(...
  function $ (line 1) | function $(){L=k,k=A,A=P()}
  function J (line 1) | function J(e){return e===k.value?($(),!0):!1}
  function K (line 1) | function K(e){e===k.value?$():x(k,d.expected,e,k.value)}
  function Q (line 1) | function Q(e){return 9===e||32===e||11===e||12===e}
  function G (line 1) | function G(e){return 10===e||13===e}
  function Y (line 1) | function Y(e){return e>=48&&e<=57}
  function Z (line 1) | function Z(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}
  function et (line 1) | function et(e){return e>=65&&e<=90||e>=97&&e<=122||95===e}
  function tt (line 1) | function tt(e){return e>=65&&e<=90||e>=97&&e<=122||95===e||e>=48&&e<=57}
  function nt (line 1) | function nt(e){switch(e.length){case 2:return"do"===e||"if"===e||"in"===...
  function rt (line 1) | function rt(e){return l===e.type?"#-~".indexOf(e.value)>=0:u===e.type?"n...
  function it (line 1) | function it(e){switch(e.type){case"CallExpression":case"TableCallExpress...
  function st (line 1) | function st(e){if(s===e.type)return!0;if(u!==e.type)return!1;switch(e.va...
  function ft (line 1) | function ft(){ot.push(Array.apply(null,ot[ut++]))}
  function lt (line 1) | function lt(){ot.pop(),ut--}
  function ct (line 1) | function ct(e){if(-1!==b(ot[ut],e))return;ot[ut].push(e)}
  function ht (line 1) | function ht(e){ct(e.name),pt(e,!0)}
  function pt (line 1) | function pt(e,t){!t&&-1===w(at,"name",e.name)&&at.push(e),e.isLocal=t}
  function dt (line 1) | function dt(e){return-1!==b(ot[ut],e)}
  function gt (line 1) | function gt(){return new yt(k)}
  function yt (line 1) | function yt(e){n.locations&&(this.loc={start:{line:e.line,column:e.range...
  function bt (line 1) | function bt(){mt&&vt.push(gt())}
  function wt (line 1) | function wt(e){mt&&vt.push(e)}
  function Et (line 1) | function Et(){$(),bt();var e=St();return s!==k.type&&N(k),mt&&!e.length&...
  function St (line 1) | function St(e){var t=[],r;n.scope&&ft();while(!st(k)){if("return"===k.va...
  function xt (line 1) | function xt(){bt();if(u===k.type)switch(k.value){case"local":return $(),...
  function Tt (line 1) | function Tt(){var e=k.value,t=Ht();return n.scope&&(ct("::"+e+"::"),pt(t...
  function Nt (line 1) | function Nt(){return m(v.breakStatement())}
  function Ct (line 1) | function Ct(){var e=k.value,t=Ht();return n.scope&&(t.isLabel=dt("::"+e+...
  function kt (line 1) | function kt(){var e=St();return K("end"),m(v.doStatement(e))}
  function Lt (line 1) | function Lt(){var e=qt();K("do");var t=St();return K("end"),m(v.whileSta...
  function At (line 1) | function At(){var e=St();K("until");var t=qt();return m(v.repeatStatemen...
  function Ot (line 1) | function Ot(){var e=[];if("end"!==k.value){var t=It();null!=t&&e.push(t)...
  function Mt (line 1) | function Mt(){var e=[],t,n,r;mt&&(r=vt[vt.length-1],vt.push(r)),t=qt(),K...
  function _t (line 1) | function _t(){var e=Ht(),t;n.scope&&ht(e);if(J("=")){var r=qt();K(",");v...
  function Dt (line 1) | function Dt(){var e;if(a===k.type){var t=[],r=[];do e=Ht(),t.push(e);whi...
  function Pt (line 1) | function Pt(){var e=k,t,n;mt&&(n=gt()),t=zt();if(null==t)return N(k);if(...
  function Ht (line 1) | function Ht(){bt();var e=k.value;return a!==k.type&&T("<name>",k),$(),m(...
  function Bt (line 1) | function Bt(e,t){var r=[];K("(");if(!J(")"))for(;;)if(a===k.type){var i=...
  function jt (line 1) | function jt(){var e,t,r;mt&&(r=gt()),e=Ht(),n.scope&&pt(e,!1);while(J("....
  function Ft (line 1) | function Ft(){var e=[],t,n;for(;;){bt();if(l===k.type&&J("["))t=qt(),K("...
  function It (line 1) | function It(){var e=Ut(0);return e}
  function qt (line 1) | function qt(){var e=It();if(null!=e)return e;T("<expression>",k)}
  function Rt (line 1) | function Rt(e){var t=e.charCodeAt(0),n=e.length;if(1===n)switch(t){case ...
  function Ut (line 1) | function Ut(e){var t=k.value,n,r;mt&&(r=gt());if(rt(k)){bt(),$();var i=U...
  function zt (line 1) | function zt(){var e,t,r,i;mt&&(r=gt());if(a===k.type)t=k.value,e=Ht(),n....
  function Wt (line 1) | function Wt(e){if(l===k.type)switch(k.value){case"(":$();var t=[],n=It()...
  function Xt (line 1) | function Xt(){var e=o|f|c|h|p,n=k.value,r=k.type,i;mt&&(i=gt());if(r&e){...
  function Vt (line 1) | function Vt(s,o){return"undefined"==typeof o&&"object"==typeof s&&(o=s,s...
  function $t (line 1) | function $t(n){return t+=String(n),r=t.length,e}
  function Jt (line 1) | function Jt(e){"undefined"!=typeof e&&$t(e),r=t.length,mt=n.locations||n...
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-php.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-xml.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function d (line 1) | function d(){}
  function v (line 1) | function v(e,t,n,r,i){function s(e){if(e>65535){e-=65536;var t=55296+(e>...
  function m (line 1) | function m(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.column...
  function g (line 1) | function g(e,t,n,r,i){var s,d,v=++t,m=o;for(;;){var g=e.charAt(v);switch...
  function y (line 1) | function y(e,t,n){var r=e.tagName,i=null,s=n[n.length-1].currentNSMap,o=...
  function b (line 1) | function b(e,t,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var s=e.index...
  function w (line 1) | function w(e,t,n,r){var i=r[n];return i==null&&(i=r[n]=e.lastIndexOf("</...
  function E (line 1) | function E(e,t){for(var n in e)t[n]=e[n]}
  function S (line 1) | function S(e,t,n,r){var i=e.charAt(t+2);switch(i){case"-":if(e.charAt(t+...
  function x (line 1) | function x(e,t,n){var r=e.indexOf("?>",t);if(r){var i=e.substring(t,r).m...
  function T (line 1) | function T(e){}
  function N (line 1) | function N(e,t){return e.__proto__=t,e}
  function C (line 1) | function C(e,t){var n,r=[],i=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/...
  function n (line 1) | function n(){}
  function r (line 1) | function r(e,t){for(var n in e)t[n]=e[n]}
  function i (line 1) | function i(e,t){var n=function(){},i=e.prototype;if(Object.create){var s...
  function B (line 1) | function B(e,t){if(t instanceof Error)var n=t;else n=this,Error.call(thi...
  function j (line 1) | function j(){}
  function F (line 1) | function F(e,t){this._node=e,this._refresh=t,I(this)}
  function I (line 1) | function I(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!=...
  function q (line 1) | function q(){}
  function R (line 1) | function R(e,t){var n=e.length;while(n--)if(e[n]===t)return n}
  function U (line 1) | function U(e,t,n,r){r?t[R(t,r)]=n:t[t.length++]=n;if(e){n.ownerElement=e...
  function z (line 1) | function z(e,t,n){var r=R(t,n);if(!(r>=0))throw new B(L,new Error);var i...
  function W (line 1) | function W(e){this._features={};if(e)for(var t in e)this._features=e[t]}
  function X (line 1) | function X(){}
  function V (line 1) | function V(e){return e=="<"&&"&lt;"||e==">"&&"&gt;"||e=="&"&&"&amp;"||e=...
  function $ (line 1) | function $(e,t){if(t(e))return!0;if(e=e.firstChild)do if($(e,t))return!0...
  function J (line 1) | function J(){}
  function K (line 1) | function K(e,t,n){e&&e._inc++;var r=n.namespaceURI;r=="http://www.w3.org...
  function Q (line 1) | function Q(e,t,n,r){e&&e._inc++;var i=n.namespaceURI;i=="http://www.w3.o...
  function G (line 1) | function G(e,t,n){if(e&&e._inc){e._inc++;var r=t.childNodes;if(n)r[r.len...
  function Y (line 1) | function Y(e,t){var n=t.previousSibling,r=t.nextSibling;return n?n.nextS...
  function Z (line 1) | function Z(e,t,n){var r=t.parentNode;r&&r.removeChild(t);if(t.nodeType==...
  function et (line 1) | function et(e,t){var n=t.parentNode;if(n){var r=e.lastChild;n.removeChil...
  function tt (line 1) | function tt(){this._nsMap={}}
  function nt (line 1) | function nt(){}
  function rt (line 1) | function rt(){}
  function it (line 1) | function it(){}
  function st (line 1) | function st(){}
  function ot (line 1) | function ot(){}
  function ut (line 1) | function ut(){}
  function at (line 1) | function at(){}
  function ft (line 1) | function ft(){}
  function lt (line 1) | function lt(){}
  function ct (line 1) | function ct(){}
  function ht (line 1) | function ht(){}
  function pt (line 1) | function pt(){}
  function dt (line 1) | function dt(e,t){switch(e.nodeType){case u:var n=e.attributes,r=n.length...
  function vt (line 1) | function vt(e,t,n){var r;switch(t.nodeType){case u:r=t.cloneNode(!1),r.o...
  function mt (line 1) | function mt(e,t,n){var r=new t.constructor;for(var i in t){var s=t[i];ty...
  function gt (line 1) | function gt(e,t,n){e[t]=n}
  function yt (line 1) | function yt(e){switch(e.nodeType){case 1:case 11:var t=[];e=e.firstChild...
  function s (line 1) | function s(e){this.options=e||{locator:{}}}
  function o (line 1) | function o(e,t,n){function s(t){var s=e[t];if(!s)if(i)s=e.length==2?func...
  function u (line 1) | function u(){this.cdata=!1}
  function a (line 1) | function a(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}
  function f (line 1) | function f(e){if(e)return"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+"...
  function l (line 1) | function l(e,t,n){return typeof e=="string"?e.substr(t,n):e.length>=t+n|...
  function c (line 1) | function c(e,t){e.currentElement?e.currentElement.appendChild(t):e.docum...
  function r (line 1) | function r(){}
  function w (line 1) | function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentine...
  function H (line 1) | function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-...
  function B (line 1) | function B(e){var t=typeof e;return e===null||t==="undefined"||t==="bool...
  function j (line 1) | function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="funct...
  function e (line 1) | function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}

FILE: app/static/js/libs/ace/src-min-noconflict/worker-xquery.js
  function t (line 1) | function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")r...
  function r (line 1) | function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}
  function i (line 1) | function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=...
  function s (line 1) | function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.actio...
  function e (line 1) | function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e....
  function t (line 1) | function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start...
  function o (line 1) | function o(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&...
  function s (line 1) | function s(e,t,n){n=n||i;var r=[];for(var s=t-1;s>=0;s--){if(!n.test(e[s...
  function o (line 1) | function o(e,t){var n=0,r=e.length-1,i=Math.floor((r+n)/2);while(r>n&&i>...
  function r (line 1) | function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}
  function s (line 1) | function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}
  function o (line 1) | function o(){E.startNonterminal("EQName",g);switch(y){case 80:f(80);brea...
  function u (line 1) | function u(){E.startNonterminal("FunctionName",g);switch(y){case 17:f(17...
  function a (line 1) | function a(){E.startNonterminal("NCName",g);switch(y){case 28:f(28);brea...
  function f (line 1) | function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(...
  function l (line 1) | function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}
  function c (line 1) | function c(e){var t;for(;;){t=C(e);if(t!=30)break}return t}
  function h (line 1) | function h(e){y==0&&(y=c(e),b=T,w=N)}
  function p (line 1) | function p(e){y==0&&(y=C(e),b=T,w=N)}
  function d (line 1) | function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}
  function C (line 1) | function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o...
  function r (line 1) | function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}
  function s (line 1) | function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}
  function o (line 1) | function o(){E.startNonterminal("EQName",g);switch(y){case 77:f(77);brea...
  function u (line 1) | function u(){E.startNonterminal("FunctionName",g);switch(y){case 14:f(14...
  function a (line 1) | function a(){E.startNonterminal("NCName",g);switch(y){case 26:f(26);brea...
  function f (line 1) | function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(...
  function l (line 1) | function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}
  function c (line 1) | function c(e){var t;for(;;){t=C(e);if(t!=28)break}return t}
  function h (line 1) | function h(e){y==0&&(y=c(e),b=T,w=N)}
  function p (line 1) | function p(e){y==0&&(y=C(e),b=T,w=N)}
  function d (line 1) | function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}
  function C (line 1) | function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o...
  function f (line 1) | function f(e){return{name:e,children:[],getParent:null,pos:{sl:0,sc:0,el...
  function l (line 1) | function l(e){var t=f(e);r===null?(r=t,r.index=[],i=t):(t.getParent=i,i....
  function c (line 1) | function c(){if(i.children.length>0){var e=i.children[0],s=null;for(var ...
  function h (line 1) | function h(e,t,n){var r=n-o;i.value=s.substring(0,r),s=s.substring(r),o=...
  function r (line 1) | function r(e,t){ic=t,ac=e,fc=e.length,s(0,0,0)}
  function s (line 1) | function s(e,t,n){Xl=t,Vl=t,$l=e,Jl=t,Kl=n,Ql=0,cc=n,ec=-1,sc={},ic.rese...
  function o (line 1) | function o(){ic.startNonterminal("Module",Vl);switch($l){case 170:ql(168...
  function u (line 1) | function u(){ic.startNonterminal("VersionDecl",Vl),Pl(170),Il(120);switc...
  function a (line 1) | function a(){ic.startNonterminal("LibraryModule",Vl),f(),Il(142),jl(),l(...
  function f (line 1) | function f(){ic.startNonterminal("ModuleDecl",Vl),Pl(185),Il(64),Pl(187)...
  function l (line 1) | function l(){ic.startNonterminal("Prolog",Vl);for(;;){Il(277);switch($l)...
  function c (line 1) | function c(){ic.startNonterminal("Separator",Vl),Pl(54),ic.endNontermina...
  function h (line 1) | function h(){ic.startNonterminal("Setter",Vl);switch($l){case 109:ql(194...
  function p (line 1) | function p(){ic.startNonterminal("BoundarySpaceDecl",Vl),Pl(109),Il(36),...
  function d (line 1) | function d(){ic.startNonterminal("DefaultCollationDecl",Vl),Pl(109),Il(4...
  function v (line 1) | function v(){Hl(109),Il(49),Hl(110),Il(41),Hl(95),Il(15),Hl(7)}
  function m (line 1) | function m(){ic.startNonterminal("BaseURIDecl",Vl),Pl(109),Il(35),Pl(84)...
  function g (line 1) | function g(){ic.startNonterminal("ConstructionDecl",Vl),Pl(109),Il(44),P...
  function y (line 1) | function y(){ic.startNonterminal("OrderingModeDecl",Vl),Pl(109),Il(71),P...
  function b (line 1) | function b(){ic.startNonterminal("EmptyOrderDecl",Vl),Pl(109),Il(49),Pl(...
  function w (line 1) | function w(){Hl(109),Il(49),Hl(110),Il(70),Hl(205),Il(52),Hl(124),Il(125...
  function E (line 1) | function E(){ic.startNonterminal("CopyNamespacesDecl",Vl),Pl(109),Il(47)...
  function S (line 1) | function S(){ic.startNonterminal("PreserveMode",Vl);switch($l){case 218:...
  function x (line 1) | function x(){ic.startNonterminal("InheritMode",Vl);switch($l){case 159:P...
  function T (line 1) | function T(){ic.startNonterminal("DecimalFormatDecl",Vl),Pl(109),Il(118)...
  function N (line 1) | function N(){ic.startNonterminal("DFPropertyName",Vl);switch($l){case 10...
  function C (line 1) | function C(){ic.startNonterminal("Import",Vl);switch($l){case 155:ql(130...
  function k (line 1) | function k(){ic.startNonterminal("SchemaImport",Vl),Pl(155),Il(76),Pl(22...
  function L (line 1) | function L(){ic.startNonterminal("SchemaPrefix",Vl);switch($l){case 187:...
  function A (line 1) | function A(){ic.startNonterminal("ModuleImport",Vl),Pl(155),Il(63),Pl(18...
  function O (line 1) | function O(){ic.startNonterminal("NamespaceDecl",Vl),Pl(109),Il(64),Pl(1...
  function M (line 1) | function M(){ic.startNonterminal("DefaultNamespaceDecl",Vl),Pl(109),Il(4...
  function _ (line 1) | function _(){Hl(109),Il(49),Hl(110),Il(119);switch($l){case 122:Hl(122);...
  function D (line 1) | function D(){ic.startNonterminal("FTOptionDecl",Vl),Pl(109),Il(55),Pl(14...
  function P (line 1) | function P(){ic.startNonterminal("AnnotatedDecl",Vl),Pl(109);for(;;){Il(...
  function H (line 1) | function H(){ic.startNonterminal("CompatibilityAnnotation",Vl),Pl(263),i...
  function B (line 1) | function B(){ic.startNonterminal("Annotation",Vl),Pl(33),Il(245),jl(),$a...
  function j (line 1) | function j(){Hl(33),Il(245),Ja(),Il(193);if($l==35){Hl(35),Il(190),vi();...
  function F (line 1) | function F(){ic.startNonterminal("VarDecl",Vl),Pl(268),Il(21),Pl(31),Il(...
  function I (line 1) | function I(){ic.startNonterminal("VarValue",Vl),Wf(),ic.endNonterminal("...
  function q (line 1) | function q(){ic.startNonterminal("VarDefaultValue",Vl),Wf(),ic.endNonter...
  function R (line 1) | function R(){ic.startNonterminal("ContextItemDecl",Vl),Pl(109),Il(46),Pl...
  function U (line 1) | function U(){ic.startNonterminal("ParamList",Vl),W();for(;;){Il(105);if(...
  function z (line 1) | function z(){X();for(;;){Il(105);if($l!=42)break;Hl(42),Il(21),X()}}
  function W (line 1) | function W(){ic.startNonterminal("Param",Vl),Pl(31),Il(245),jl(),$a(),Il...
  function X (line 1) | function X(){Hl(31),Il(245),Ja(),Il(153),$l==80&&ks()}
  function V (line 1) | function V(){ic.startNonterminal("FunctionBody",Vl),J(),ic.endNontermina...
  function $ (line 1) | function $(){K()}
  function J (line 1) | function J(){ic.startNonterminal("EnclosedExpr",Vl),Pl(281),Il(266),jl()...
  function K (line 1) | function K(){Hl(281),Il(266),Y(),Hl(287)}
  function Q (line 1) | function Q(){ic.startNonterminal("OptionDecl",Vl),Pl(109),Il(69),Pl(203)...
  function G (line 1) | function G(){ic.startNonterminal("Expr",Vl),Wf();for(;;){if($l!=42)break...
  function Y (line 1) | function Y(){Xf();for(;;){if($l!=42)break;Hl(42),Il(266),Xf()}}
  function Z (line 1) | function Z(){ic.startNonterminal("FLWORExpr",Vl),tt();for(;;){Il(195);if...
  function et (line 1) | function et(){nt();for(;;){Il(195);if($l==224)break;it()}sn()}
  function tt (line 1) | function tt(){ic.startNonterminal("InitialClause",Vl);switch($l){case 13...
  function nt (line 1) | function nt(){switch($l){case 139:ql(151);break;default:Wl=$l}switch(Wl)...
  function rt (line 1) | function rt(){ic.startNonterminal("IntermediateClause",Vl);switch($l){ca...
  function it (line 1) | function it(){switch($l){case 139:case 177:nt();break;case 272:qt();brea...
  function st (line 1) | function st(){ic.startNonterminal("ForClause",Vl),Pl(139),Il(21),jl(),ut...
  function ot (line 1) | function ot(){Hl(139),Il(21),at();for(;;){if($l!=42)break;Hl(42),Il(21),...
  function ut (line 1) | function ut(){ic.startNonterminal("ForBinding",Vl),Pl(31),Il(245),jl(),T...
  function at (line 1) | function at(){Hl(31),Il(245),Ni(),Il(182),$l==80&&ks(),Il(173),$l==73&&l...
  function ft (line 1) | function ft(){ic.startNonterminal("AllowingEmpty",Vl),Pl(73),Il(52),Pl(1...
  function lt (line 1) | function lt(){Hl(73),Il(52),Hl(124)}
  function ct (line 1) | function ct(){ic.startNonterminal("PositionalVar",Vl),Pl(82),Il(21),Pl(3...
  function ht (line 1) | function ht(){Hl(82),Il(21),Hl(31),Il(245),Ni()}
  function pt (line 1) | function pt(){ic.startNonterminal("FTScoreVar",Vl),Pl(232),Il(21),Pl(31)...
  function dt (line 1) | function dt(){Hl(232),Il(21),Hl(31),Il(245),Ni()}
  function vt (line 1) | function vt(){ic.startNonterminal("LetClause",Vl),Pl(177),Il(100),jl(),g...
  function mt (line 1) | function mt(){Hl(177),Il(100),yt();for(;;){if($l!=42)break;Hl(42),Il(100...
  function gt (line 1) | function gt(){ic.startNonterminal("LetBinding",Vl);switch($l){case 31:Pl...
  function yt (line 1) | function yt(){switch($l){case 31:Hl(31),Il(245),Ni(),Il(109),$l==80&&ks(...
  function bt (line 1) | function bt(){ic.startNonterminal("WindowClause",Vl),Pl(139),Il(139);swi...
  function wt (line 1) | function wt(){Hl(139),Il(139);switch($l){case 257:St();break;default:Tt()}}
  function Et (line 1) | function Et(){ic.startNonterminal("TumblingWindowClause",Vl),Pl(257),Il(...
  function St (line 1) | function St(){Hl(257),Il(88),Hl(275),Il(21),Hl(31),Il(245),Ni(),Il(114),...
  function xt (line 1) | function xt(){ic.startNonterminal("SlidingWindowClause",Vl),Pl(239),Il(8...
  function Tt (line 1) | function Tt(){Hl(239),Il(88),Hl(275),Il(21),Hl(31),Il(245),Ni(),Il(114),...
  function Nt (line 1) | function Nt(){ic.startNonterminal("WindowStartCondition",Vl),Pl(242),Il(...
  function Ct (line 1) | function Ct(){Hl(242),Il(181),Ot(),Il(86),Hl(271),Il(266),Xf()}
  function kt (line 1) | function kt(){ic.startNonterminal("WindowEndCondition",Vl),$l==202&&Pl(2...
  function Lt (line 1) | function Lt(){$l==202&&Hl(202),Il(53),Hl(127),Il(181),Ot(),Il(86),Hl(271...
  function At (line 1) | function At(){ic.startNonterminal("WindowVars",Vl),$l==31&&(Pl(31),Il(24...
  function Ot (line 1) | function Ot(){$l==31&&(Hl(31),Il(245),_t()),Il(174),$l==82&&ht(),Il(163)...
  function Mt (line 1) | function Mt(){ic.startNonterminal("CurrentItem",Vl),$a(),ic.endNontermin...
  function _t (line 1) | function _t(){Ja()}
  function Dt (line 1) | function Dt(){ic.startNonterminal("PreviousItem",Vl),$a(),ic.endNontermi...
  function Pt (line 1) | function Pt(){Ja()}
  function Ht (line 1) | function Ht(){ic.startNonterminal("NextItem",Vl),$a(),ic.endNonterminal(...
  function Bt (line 1) | function Bt(){Ja()}
  function jt (line 1) | function jt(){ic.startNonterminal("CountClause",Vl),Pl(106),Il(21),Pl(31...
  function Ft (line 1) | function Ft(){Hl(106),Il(21),Hl(31),Il(245),Ni()}
  function It (line 1) | function It(){ic.startNonterminal("WhereClause",Vl),Pl(272),Il(266),jl()...
  function qt (line 1) | function qt(){Hl(272),Il(266),Xf()}
  function Rt (line 1) | function Rt(){ic.startNonterminal("GroupByClause",Vl),Pl(150),Il(37),Pl(...
  function Ut (line 1) | function Ut(){Hl(150),Il(37),Hl(88),Il(266),Wt()}
  function zt (line 1) | function zt(){ic.startNonterminal("GroupingSpecList",Vl),Xt();for(;;){Il...
  function Wt (line 1) | function Wt(){Vt();for(;;){Il(198);if($l!=42)break;Hl(42),Il(266),Vt()}}
  function Xt (line 1) | function Xt(){ic.startNonterminal("GroupingSpec",Vl);switch($l){case 31:...
  function Vt (line 1) | function Vt(){switch($l){case 31:ql(245);break;default:Wl=$l}if(Wl==3103...
  function $t (line 1) | function $t(){ic.startNonterminal("GroupingVariable",Vl),Pl(31),Il(245),...
  function Jt (line 1) | function Jt(){Hl(31),Il(245),Ni()}
  function Kt (line 1) | function Kt(){ic.startNonterminal("OrderByClause",Vl);switch($l){case 20...
  function Qt (line 1) | function Qt(){switch($l){case 205:Hl(205),Il(37),Hl(88);break;default:Hl...
  function Gt (line 1) | function Gt(){ic.startNonterminal("OrderSpecList",Vl),Zt();for(;;){Il(19...
  function Yt (line 1) | function Yt(){en();for(;;){Il(198);if($l!=42)break;Hl(42),Il(266),en()}}
  function Zt (line 1) | function Zt(){ic.startNonterminal("OrderSpec",Vl),Wf(),jl(),tn(),ic.endN...
  function en (line 1) | function en(){Xf(),nn()}
  function tn (line 1) | function tn(){ic.startNonterminal("OrderModifier",Vl);if($l==81||$l==114...
  function nn (line 1) | function nn(){if($l==81||$l==114)switch($l){case 81:Hl(81);break;default...
  function rn (line 1) | function rn(){ic.startNonterminal("ReturnClause",Vl),Pl(224),Il(266),jl(...
  function sn (line 1) | function sn(){Hl(224),Il(266),Xf()}
  function on (line 1) | function on(){ic.startNonterminal("QuantifiedExpr",Vl);switch($l){case 2...
  function un (line 1) | function un(){switch($l){case 240:Hl(240);break;default:Hl(130)}Il(21),f...
  function an (line 1) | function an(){ic.startNonterminal("QuantifiedVarDecl",Vl),Pl(31),Il(245)...
  function fn (line 1) | function fn(){Hl(31),Il(245),Ni(),Il(114),$l==80&&ks(),Il(56),Hl(156),Il...
  function ln (line 1) | function ln(){ic.startNonterminal("SwitchExpr",Vl),Pl(248),Il(22),Pl(35)...
  function cn (line 1) | function cn(){Hl(248),Il(22),Hl(35),Il(266),Y(),Hl(38);for(;;){Il(38),pn...
  function hn (line 1) | function hn(){ic.startNonterminal("SwitchCaseClause",Vl);for(;;){Pl(89),...
  function pn (line 1) | function pn(){for(;;){Hl(89),Il(266),vn();if($l!=89)break}Hl(224),Il(266...
  function dn (line 1) | function dn(){ic.startNonterminal("SwitchCaseOperand",Vl),Wf(),ic.endNon...
  function vn (line 1) | function vn(){Xf()}
  function mn (line 1) | function mn(){ic.startNonterminal("TypeswitchExpr",Vl),Pl(259),Il(22),Pl...
  function gn (line 1) | function gn(){Hl(259),Il(22),Hl(35),Il(266),Y(),Hl(38);for(;;){Il(38),bn...
  function yn (line 1) | function yn(){ic.startNonterminal("CaseClause",Vl),Pl(89),Il(257),$l==31...
  function bn (line 1) | function bn(){Hl(89),Il(257),$l==31&&(Hl(31),Il(245),Ni(),Il(33),Hl(80))...
  function wn (line 1) | function wn(){ic.startNonterminal("SequenceTypeUnion",Vl),Ls();for(;;){I...
  function En (line 1) | function En(){As();for(;;){Il(138);if($l!=284)break;Hl(284),Il(253),As()}}
  function Sn (line 1) | function Sn(){ic.startNonterminal("IfExpr",Vl),Pl(154),Il(22),Pl(35),Il(...
  function xn (line 1) | function xn(){Hl(154),Il(22),Hl(35),Il(266),Y(),Hl(38),Il(80),Hl(250),Il...
  function Tn (line 1) | function Tn(){ic.startNonterminal("TryCatchExpr",Vl),Cn();for(;;){Il(39)...
  function Nn (line 1) | function Nn(){kn();for(;;){Il(39),Mn(),Il(207);if($l!=92)break}}
  function Cn (line 1) | function Cn(){ic.startNonterminal("TryClause",Vl),Pl(256),Il(90),Pl(281)...
  function kn (line 1) | function kn(){Hl(256),Il(90),Hl(281),Il(266),An(),Hl(287)}
  function Ln (line 1) | function Ln(){ic.startNonterminal("TryTargetExpr",Vl),G(),ic.endNontermi...
  function An (line 1) | function An(){Y()}
  function On (line 1) | function On(){ic.startNonterminal("CatchClause",Vl),Pl(92),Il(248),jl(),...
  function Mn (line 1) | function Mn(){Hl(92),Il(248),Dn(),Hl(281),Il(266),Y(),Hl(287)}
  function _n (line 1) | function _n(){ic.startNonterminal("CatchErrorList",Vl),Yr();for(;;){Il(1...
  function Dn (line 1) | function Dn(){Zr();for(;;){Il(140);if($l!=284)break;Hl(284),Il(248),Zr()}}
  function Pn (line 1) | function Pn(){ic.startNonterminal("OrExpr",Vl),Bn();for(;;){if($l!=204)b...
  function Hn (line 1) | function Hn(){jn();for(;;){if($l!=204)break;Hl(204),Il(266),jn()}}
  function Bn (line 1) | function Bn(){ic.startNonterminal("AndExpr",Vl),Fn();for(;;){if($l!=76)b...
  function jn (line 1) | function jn(){In();for(;;){if($l!=76)break;Hl(76),Il(266),In()}}
  function Fn (line 1) | function Fn(){ic.startNonterminal("NotExpr",Vl),$l==196&&Pl(196),Il(265)...
  function In (line 1) | function In(){$l==196&&Hl(196),Il(265),Rn()}
  function qn (line 1) | function qn(){ic.startNonterminal("ComparisonExpr",Vl),Un();if($l==27||$...
  function Rn (line 1) | function Rn(){zn();if($l==27||$l==55||$l==58||$l==59||$l==61||$l==62||$l...
  function Un (line 1) | function Un(){ic.startNonterminal("FTContainsExpr",Vl),Wn(),$l==100&&(Pl...
  function zn (line 1) | function zn(){Xn(),$l==100&&(Hl(100),Il(79),Hl(249),Il(177),uu(),$l==277...
  function Wn (line 1) | function Wn(){ic.startNonterminal("StringConcatExpr",Vl),Vn();for(;;){if...
  function Xn (line 1) | function Xn(){$n();for(;;){if($l!=285)break;Hl(285),Il(265),$n()}}
  function Vn (line 1) | function Vn(){ic.startNonterminal("RangeExpr",Vl),Jn(),$l==253&&(Pl(253)...
  function $n (line 1) | function $n(){Kn(),$l==253&&(Hl(253),Il(265),Kn())}
  function Jn (line 1) | function Jn(){ic.startNonterminal("AdditiveExpr",Vl),Qn();for(;;){if($l!...
  function Kn (line 1) | function Kn(){Gn();for(;;){if($l!=41&&$l!=43)break;switch($l){case 41:Hl...
  function Qn (line 1) | function Qn(){ic.startNonterminal("MultiplicativeExpr",Vl),Yn();for(;;){...
  function Gn (line 1) | function Gn(){Zn();for(;;){if($l!=39&&$l!=119&&$l!=153&&$l!=183)break;sw...
  function Yn (line 1) | function Yn(){ic.startNonterminal("UnionExpr",Vl),er();for(;;){if($l!=26...
  function Zn (line 1) | function Zn(){tr();for(;;){if($l!=260&&$l!=284)break;switch($l){case 260...
  function er (line 1) | function er(){ic.startNonterminal("IntersectExceptExpr",Vl),nr();for(;;)...
  function tr (line 1) | function tr(){rr();for(;;){Il(221);if($l!=132&&$l!=164)break;switch($l){...
  function nr (line 1) | function nr(){ic.startNonterminal("InstanceofExpr",Vl),ir(),Il(222),$l==...
  function rr (line 1) | function rr(){sr(),Il(222),$l==162&&(Hl(162),Il(67),Hl(200),Il(253),As())}
  function ir (line 1) | function ir(){ic.startNonterminal("TreatExpr",Vl),or(),Il(223),$l==254&&...
  function sr (line 1) | function sr(){ur(),Il(223),$l==254&&(Hl(254),Il(33),Hl(80),Il(253),As())}
  function or (line 1) | function or(){ic.startNonterminal("CastableExpr",Vl),ar(),Il(224),$l==91...
  function ur (line 1) | function ur(){fr(),Il(224),$l==91&&(Hl(91),Il(33),Hl(80),Il(245),Ns())}
  function ar (line 1) | function ar(){ic.startNonterminal("CastExpr",Vl),lr(),Il(226),$l==90&&(P...
  function fr (line 1) | function fr(){cr(),Il(226),$l==90&&(Hl(90),Il(33),Hl(80),Il(245),Ns())}
  function lr (line 1) | function lr(){ic.startNonterminal("UnaryExpr",Vl);for(;;){Il(265);if($l!...
  function cr (line 1) | function cr(){for(;;){Il(265);if($l!=41&&$l!=43)break;switch($l){case 43...
  function hr (line 1) | function hr(){ic.startNonterminal("ValueExpr",Vl);switch($l){case 266:ql...
  function pr (line 1) | function pr(){switch($l){case 266:ql(188);break;default:Wl=$l}switch(Wl)...
  function dr (line 1) | function dr(){ic.startNonterminal("SimpleMapExpr",Vl),Or();for(;;){if($l...
  function vr (line 1) | function vr(){Mr();for(;;){if($l!=26)break;Hl(26),Il(262),Mr()}}
  function mr (line 1) | function mr(){ic.startNonterminal("GeneralComp",Vl);switch($l){case 61:P...
  function gr (line 1) | function gr(){switch($l){case 61:Hl(61);break;case 27:Hl(27);break;case ...
  function yr (line 1) | function yr(){ic.startNonterminal("ValueComp",Vl);switch($l){case 129:Pl...
  function br (line 1) | function br(){switch($l){case 129:Hl(129);break;case 189:Hl(189);break;c...
  function wr (line 1) | function wr(){ic.startNonterminal("NodeComp",Vl);switch($l){case 166:Pl(...
  function Er (line 1) | function Er(){switch($l){case 166:Hl(166);break;case 58:Hl(58);break;def...
  function Sr (line 1) | function Sr(){ic.startNonterminal("ValidateExpr",Vl),Pl(266),Il(175);if(...
  function xr (line 1) | function xr(){Hl(266),Il(175);if($l!=281)switch($l){case 258:Hl(258),Il(...
  function Tr (line 1) | function Tr(){ic.startNonterminal("ValidationMode",Vl);switch($l){case 1...
  function Nr (line 1) | function Nr(){switch($l){case 174:Hl(174);break;default:Hl(245)}}
  function Cr (line 1) | function Cr(){ic.startNonterminal("ExtensionExpr",Vl);for(;;){jl(),Lr(),...
  function kr (line 1) | function kr(){for(;;){Ar(),Il(104);if($l!=36)break}Hl(281),Il(274),$l!=2...
  function Lr (line 1) | function Lr(){ic.startNonterminal("Pragma",Vl),Pl(36),Rl(242),$l==21&&Pl...
  function Ar (line 1) | function Ar(){Hl(36),Rl(242),$l==21&&Hl(21),Ja(),Rl(10),$l==21&&(Hl(21),...
  function Or (line 1) | function Or(){ic.startNonterminal("PathExpr",Vl);switch($l){case 47:Pl(4...
  function Mr (line 1) | function Mr(){switch($l){case 47:Hl(47),Il(288);switch($l){case 25:case ...
  function _r (line 1) | function _r(){ic.startNonterminal("RelativePathExpr",Vl),ei();for(;;){sw...
  function Dr (line 1) | function Dr(){ti();for(;;){switch($l){case 26:ql(264);break;default:Wl=$...
  function Pr (line 1) | function Pr(){ic.startNonterminal("StepExpr",Vl);switch($l){case 83:ql(2...
  function Hr (line 1) | function Hr(){switch($l){case 83:ql(287);break;case 122:ql(286);break;ca...
  function Br (line 1) | function Br(){ic.startNonterminal("AxisStep",Vl);switch($l){case 74:case...
  function jr (line 1) | function jr(){switch($l){case 74:case 75:case 210:case 216:case 217:ql(2...
  function Fr (line 1) | function Fr(){ic.startNonterminal("ForwardStep",Vl);switch($l){case 83:q...
  function Ir (line 1) | function Ir(){switch($l){case 83:ql(235);break;case 94:case 112:case 113...
  function qr (line 1) | function qr(){ic.startNonterminal("ForwardAxis",Vl);switch($l){case 94:P...
  function Rr (line 1) | function Rr(){switch($l){case 94:Hl(94),Il(27),Hl(52);break;case 112:Hl(...
  function Ur (line 1) | function Ur(){ic.startNonterminal("AbbrevForwardStep",Vl),$l==67&&Pl(67)...
  function zr (line 1) | function zr(){$l==67&&Hl(67),Il(248),Gr()}
  function Wr (line 1) | function Wr(){ic.startNonterminal("ReverseStep",Vl);switch($l){case 46:J...
  function Xr (line 1) | function Xr(){switch($l){case 46:Kr();break;default:$r(),Il(248),Gr()}}
  function Vr (line 1) | function Vr(){ic.startNonterminal("ReverseAxis",Vl);switch($l){case 210:...
  function $r (line 1) | function $r(){switch($l){case 210:Hl(210),Il(27),Hl(52);break;case 74:Hl...
  function Jr (line 1) | function Jr(){ic.startNonterminal("AbbrevReverseStep",Vl),Pl(46),ic.endN...
  function Kr (line 1) | function Kr(){Hl(46)}
  function Qr (line 1) | function Qr(){ic.startNonterminal("NodeTest",Vl);switch($l){case 83:case...
  function Gr (line 1) | function Gr(){switch($l){case 83:case 97:case 121:case 122:case 188:case...
  function Yr (line 1) | function Yr(){ic.startNonterminal("NameTest",Vl);switch($l){case 5:Pl(5)...
  function Zr (line 1) | function Zr(){switch($l){case 5:Hl(5);break;default:Ja()}}
  function ei (line 1) | function ei(){ic.startNonterminal("PostfixExpr",Vl),yl();for(;;){Il(234)...
  function ti (line 1) | function ti(){bl();for(;;){Il(234);if($l!=35&&$l!=45&&$l!=69)break;switc...
  function ni (line 1) | function ni(){ic.startNonterminal("ObjectLookup",Vl),Pl(45),Il(250);swit...
  function ri (line 1) | function ri(){Hl(45),Il(250);switch($l){case 11:Hl(11);break;case 35:ki(...
  function ii (line 1) | function ii(){ic.startNonterminal("ArrayLookup",Vl),Pl(69),Il(31),Pl(69)...
  function si (line 1) | function si(){Hl(69),Il(31),Hl(69),Il(266),Y(),Hl(70),Il(32),Hl(70)}
  function oi (line 1) | function oi(){ic.startNonterminal("ArrayUnboxing",Vl),Pl(69),Il(32),Pl(7...
  function ui (line 1) | function ui(){Hl(69),Il(32),Hl(70)}
  function ai (line 1) | function ai(){ic.startNonterminal("ArgumentList",Vl),Pl(35),Il(279);if($...
  function fi (line 1) | function fi(){Hl(35),Il(279);if($l!=38){ji();for(;;){Il(105);if($l!=42)b...
  function li (line 1) | function li(){ic.startNonterminal("PredicateList",Vl);for(;;){Il(227);if...
  function ci (line 1) | function ci(){for(;;){Il(227);if($l!=69)break;pi()}}
  function hi (line 1) | function hi(){ic.startNonterminal("Predicate",Vl),Pl(69),Il(266),jl(),G(...
  function pi (line 1) | function pi(){Hl(69),Il(266),Y(),Hl(70)}
  function di (line 1) | function di(){ic.startNonterminal("Literal",Vl);switch($l){case 11:Pl(11...
  function vi (line 1) | function vi(){switch($l){case 11:Hl(11);break;case 135:case 255:gi();bre...
  function mi (line 1) | function mi(){ic.startNonterminal("BooleanLiteral",Vl);switch($l){case 2...
  function gi (line 1) | function gi(){switch($l){case 255:Hl(255);break;default:Hl(135)}}
  function yi (line 1) | function yi(){ic.startNonterminal("NullLiteral",Vl),Pl(197),ic.endNonter...
  function bi (line 1) | function bi(){Hl(197)}
  function wi (line 1) | function wi(){ic.startNonterminal("NumericLiteral",Vl);switch($l){case 8...
  function Ei (line 1) | function Ei(){switch($l){case 8:Hl(8);break;case 9:Hl(9);break;default:H...
  function Si (line 1) | function Si(){ic.startNonterminal("VarRef",Vl),Pl(31),Il(245),jl(),Ti(),...
  function xi (line 1) | function xi(){Hl(31),Il(245),Ni()}
  function Ti (line 1) | function Ti(){ic.startNonterminal("VarName",Vl),$a(),ic.endNonterminal("...
  function Ni (line 1) | function Ni(){Ja()}
  function Ci (line 1) | function Ci(){ic.startNonterminal("ParenthesizedExpr",Vl),Pl(35),Il(269)...
  function ki (line 1) | function ki(){Hl(35),Il(269),$l!=38&&Y(),Hl(38)}
  function Li (line 1) | function Li(){ic.startNonterminal("ContextItemExpr",Vl),Pl(32),ic.endNon...
  function Ai (line 1) | function Ai(){Hl(32)}
  function Oi (line 1) | function Oi(){ic.startNonterminal("OrderedExpr",Vl),Pl(206),Il(90),Pl(28...
  function Mi (line 1) | function Mi(){Hl(206),Il(90),Hl(281),Il(266),Y(),Hl(287)}
  function _i (line 1) | function _i(){ic.startNonterminal("UnorderedExpr",Vl),Pl(262),Il(90),Pl(...
  function Di (line 1) | function Di(){Hl(262),Il(90),Hl(281),Il(266),Y(),Hl(287)}
  function Pi (line 1) | function Pi(){ic.startNonterminal("FunctionCall",Vl),Ka(),Il(22),jl(),ai...
  function Hi (line 1) | function Hi(){Qa(),Il(22),fi()}
  function Bi (line 1) | function Bi(){ic.startNonterminal("Argument",Vl);switch($l){case 65:Fi()...
  function ji (line 1) | function ji(){switch($l){case 65:Ii();break;default:Xf()}}
  function Fi (line 1) | function Fi(){ic.startNonterminal("ArgumentPlaceholder",Vl),Pl(65),ic.en...
  function Ii (line 1) | function Ii(){Hl(65)}
  function qi (line 1) | function qi(){ic.startNonterminal("Constructor",Vl);switch($l){case 55:c...
  function Ri (line 1) | function Ri(){switch($l){case 55:case 56:case 60:zi();break;default:us()}}
  function Ui (line 1) | function Ui(){ic.startNonterminal("DirectConstructor",Vl);switch($l){cas...
  function zi (line 1) | function zi(){switch($l){case 55:Xi();break;case 56:rs();break;default:s...
  function Wi (line 1) | function Wi(){ic.startNonterminal("DirElemConstructor",Vl),Pl(55),Rl(4),...
  function Xi (line 1) | function Xi(){Hl(55),Rl(4),Hl(20),$i();switch($l){case 49:Hl(49);break;d...
  function Vi (line 1) | function Vi(){ic.startNonterminal("DirAttributeList",Vl);for(;;){Rl(19);...
  function $i (line 1) | function $i(){for(;;){Rl(19);if($l!=21)break;Hl(21),Rl(94),$l==20&&(Hl(2...
  function Ji (line 1) | function Ji(){ic.startNonterminal("DirAttributeValue",Vl),Rl(14);switch(...
  function Ki (line 1) | function Ki(){Rl(14);switch($l){case 28:Hl(28);for(;;){Rl(185);if($l==28...
  function Qi (line 1) | function Qi(){ic.startNonterminal("QuotAttrValueContent",Vl);switch($l){...
  function Gi (line 1) | function Gi(){switch($l){case 16:Hl(16);break;default:sl()}}
  function Yi (line 1) | function Yi(){ic.startNonterminal("AposAttrValueContent",Vl);switch($l){...
  function Zi (line 1) | function Zi(){switch($l){case 17:Hl(17);break;default:sl()}}
  function es (line 1) | function es(){ic.startNonterminal("DirElemContent",Vl);switch($l){case 5...
  function ts (line 1) | function ts(){switch($l){case 55:case 56:case 60:zi();break;case 4:Hl(4)...
  function ns (line 1) | function ns(){ic.startNonterminal("DirCommentConstructor",Vl),Pl(56),Rl(...
  function rs (line 1) | function rs(){Hl(56),Rl(1),Hl(2),Rl(6),Hl(44)}
  function is (line 1) | function is(){ic.startNonterminal("DirPIConstructor",Vl),Pl(60),Rl(3),Pl...
  function ss (line 1) | function ss(){Hl(60),Rl(3),Hl(18),Rl(13),$l==21&&(Hl(21),Rl(2),Hl(3)),Rl...
  function os (line 1) | function os(){ic.startNonterminal("ComputedConstructor",Vl);switch($l){c...
  function us (line 1) | function us(){switch($l){case 120:fl();break;case 122:fs();break;case 83...
  function as (line 1) | function as(){ic.startNonterminal("CompElemConstructor",Vl),Pl(122),Il(2...
  function fs (line 1) | function fs(){Hl(122),Il(249);switch($l){case 281:Hl(281),Il(266),Y(),Hl...
  function ls (line 1) | function ls(){ic.startNonterminal("CompNamespaceConstructor",Vl),Pl(187)...
  function cs (line 1) | function cs(){Hl(187),Il(241);switch($l){case 281:Hl(281),Il(266),vs(),H...
  function hs (line 1) | function hs(){ic.startNonterminal("Prefix",Vl),Ga(),ic.endNonterminal("P...
  function ps (line 1) | function ps(){Ya()}
  function ds (line 1) | function ds(){ic.startNonterminal("PrefixExpr",Vl),G(),ic.endNonterminal...
  function vs (line 1) | function vs(){Y()}
  function ms (line 1) | function ms(){ic.startNonterminal("URIExpr",Vl),G(),ic.endNonterminal("U...
  function gs (line 1) | function gs(){Y()}
  function ys (line 1) | function ys(){ic.startNonterminal("FunctionItemExpr",Vl);switch($l){case...
  function bs (line 1) | function bs(){switch($l){case 147:ql(95);break;default:Wl=$l}switch(Wl){...
  function ws (line 1) | function ws(){ic.startNonterminal("NamedFunctionRef",Vl),$a(),Il(20),Pl(...
  function Es (line 1) | function Es(){Ja(),Il(20),Hl(29),Il(16),Hl(8)}
  function Ss (line 1) | function Ss(){ic.startNonterminal("InlineFunctionExpr",Vl);for(;;){Il(10...
  function xs (line 1) | function xs(){for(;;){Il(101);if($l!=33)break;j()}Hl(147),Il(22),Hl(35),...
  function Ts (line 1) | function Ts(){ic.startNonterminal("SingleType",Vl),ko(),Il(225),$l==65&&...
  function Ns (line 1) | function Ns(){Lo(),Il(225),$l==65&&Hl(65)}
  function Cs (line 1) | function Cs(){ic.startNonterminal("TypeDeclaration",Vl),Pl(80),Il(253),j...
  function ks (line 1) | function ks(){Hl(80),Il(253),As()}
  function Ls (line 1) | function Ls(){ic.startNonterminal("SequenceType",Vl);switch($l){case 35:...
  function As (line 1) | function As(){switch($l){case 35:ql(258);break;case 125:ql(232);break;de...
  function Os (line 1) | function Os(){ic.startNonterminal("OccurrenceIndicator",Vl);switch($l){c...
  function Ms (line 1) | function Ms(){switch($l){case 65:Hl(65);break;case 40:Hl(40);break;defau...
  function _s (line 1) | function _s(){ic.startNonterminal("ItemType",Vl);switch($l){case 79:case...
  function Ds (line 1) | function Ds(){switch($l){case 79:case 83:case 97:case 121:case 122:case ...
  function Ps (line 1) | function Ps(){ic.startNonterminal("JSONTest",Vl);switch($l){case 169:Fs(...
  function Hs (line 1) | function Hs(){switch($l){case 169:Is();break;case 198:Rs();break;default...
  function Bs (line 1) | function Bs(){ic.startNonterminal("StructuredItemTest",Vl),Pl(247),Il(23...
  function js (line 1) | function js(){Hl(247),Il(232),$l==35&&(Hl(35),Il(23),Hl(38))}
  function Fs (line 1) | function Fs(){ic.startNonterminal("JSONItemTest",Vl),Pl(169),Il(232),$l=...
  function Is (line 1) | function Is(){Hl(169),Il(232),$l==35&&(Hl(35),Il(23),Hl(38))}
  function qs (line 1) | function qs(){ic.startNonterminal("JSONObjectTest",Vl),Pl(198),Il(232),$...
  function Rs (line 1) | function Rs(){Hl(198),Il(232),$l==35&&(Hl(35),Il(23),Hl(38))}
  function Us (line 1) | function Us(){ic.startNonterminal("JSONArrayTest",Vl),Pl(79),Il(232),$l=...
  function zs (line 1) | function zs(){Hl(79),Il(232),$l==35&&(Hl(35),Il(23),Hl(38))}
  function Ws (line 1) | function Ws(){ic.startNonterminal("AtomicOrUnionType",Vl),$a(),ic.endNon...
  function Xs (line 1) | function Xs(){Ja()}
  function Vs (line 1) | function Vs(){ic.startNonterminal("KindTest",Vl);switch($l){case 121:Qs(...
  function $s (line 1) | function $s(){switch($l){case 121:Gs();break;case 122:mo();break;case 83...
  function Js (line 1) | function Js(){ic.startNonterminal("AnyKindTest",Vl),Pl(194),Il(22),Pl(35...
  function Ks (line 1) | function Ks(){Hl(194),Il(22),Hl(35),Il(23),Hl(38)}
  function Qs (line 1) | function Qs(){ic.startNonterminal("DocumentTest",Vl),Pl(121),Il(22),Pl(3...
  function Gs (line 1) | function Gs(){Hl(121),Il(22),Hl(35),Il(154);if($l!=38)switch($l){case 12...
  function Ys (line 1) | function Ys(){ic.startNonterminal("TextTest",Vl),Pl(249),Il(22),Pl(35),I...
  function Zs (line 1) | function Zs(){Hl(249),Il(22),Hl(35),Il(23),Hl(38)}
  function eo (line 1) | function eo(){ic.startNonterminal("CommentTest",Vl),Pl(97),Il(22),Pl(35)...
  function to (line 1) | function to(){Hl(97),Il(22),Hl(35),Il(23),Hl(38)}
  function no (line 1) | function no(){ic.startNonterminal("NamespaceNodeTest",Vl),Pl(188),Il(22)...
  function ro (line 1) | function ro(){Hl(188),Il(22),Hl(35),Il(23),Hl(38)}
  function io (line 1) | function io(){ic.startNonterminal("PITest",Vl),Pl(220),Il(22),Pl(35),Il(...
  function so (line 1) | function so(){Hl(220),Il(22),Hl(35),Il(243);if($l!=38)switch($l){case 11...
  function oo (line 1) | function oo(){ic.startNonterminal("AttributeTest",Vl),Pl(83),Il(22),Pl(3...
  function uo (line 1) | function uo(){Hl(83),Il(22),Hl(35),Il(254),$l!=38&&(fo(),Il(105),$l==42&...
  function ao (line 1) | function ao(){ic.startNonterminal("AttribNameOrWildcard",Vl);switch($l){...
  function fo (line 1) | function fo(){switch($l){case 39:Hl(39);break;default:To()}}
  function lo (line 1) | function lo(){ic.startNonterminal("SchemaAttributeTest",Vl),Pl(230),Il(2...
  function co (line 1) | function co(){Hl(230),Il(22),Hl(35),Il(245),po(),Il(23),Hl(38)}
  function ho (line 1) | function ho(){ic.startNonterminal("AttributeDeclaration",Vl),xo(),ic.end...
  function po (line 1) | function po(){To()}
  function vo (line 1) | function vo(){ic.startNonterminal("ElementTest",Vl),Pl(122),Il(22),Pl(35...
  function mo (line 1) | function mo(){Hl(122),Il(22),Hl(35),Il(254),$l!=38&&(yo(),Il(105),$l==42...
  function go (line 1) | function go(){ic.startNonterminal("ElementNameOrWildcard",Vl);switch($l)...
  function yo (line 1) | function yo(){switch($l){case 39:Hl(39);break;default:Co()}}
  function bo (line 1) | function bo(){ic.startNonterminal("SchemaElementTest",Vl),Pl(231),Il(22)...
  function wo (line 1) | function wo(){Hl(231),Il(22),Hl(35),Il(245),So(),Il(23),Hl(38)}
  function Eo (line 1) | function Eo(){ic.startNonterminal("ElementDeclaration",Vl),No(),ic.endNo...
  function So (line 1) | function So(){Co()}
  function xo (line 1) | function xo(){ic.startNonterminal("AttributeName",Vl),$a(),ic.endNonterm...
  function To (line 1) | function To(){Ja()}
  function No (line 1) | function No(){ic.startNonterminal("ElementName",Vl),$a(),ic.endNontermin...
  function Co (line 1) | function Co(){Ja()}
  function ko (line 1) | function ko(){ic.startNonterminal("SimpleTypeName",Vl),Ao(),ic.endNonter...
  function Lo (line 1) | function Lo(){Oo()}
  function Ao (line 1) | function Ao(){ic.startNonterminal("TypeName",Vl),$a(),ic.endNonterminal(...
  function Oo (line 1) | function Oo(){Ja()}
  function Mo (line 1) | function Mo(){ic.startNonterminal("FunctionTest",Vl);for(;;){Il(101);if(...
  function _o (line 1) | function _o(){for(;;){Il(101);if($l!=33)break;j()}switch($l){case 147:ql...
  function Do (line 1) | function Do(){ic.startNonterminal("AnyFunctionTest",Vl),Pl(147),Il(22),P...
  function Po (line 1) | function Po(){Hl(147),Il(22),Hl(35),Il(24),Hl(39),Il(23),Hl(38)}
  function Ho (line 1) | function Ho(){ic.startNonterminal("TypedFunctionTest",Vl),Pl(147),Il(22)...
  function Bo (line 1) | function Bo(){Hl(147),Il(22),Hl(35),Il(258);if($l!=38){As();for(;;){Il(1...
  function jo (line 1) | function jo(){ic.startNonterminal("ParenthesizedItemType",Vl),Pl(35),Il(...
  function Fo (line 1) | function Fo(){Hl(35),Il(253),Ds(),Il(23),Hl(38)}
  function Io (line 1) | function Io(){ic.startNonterminal("RevalidationDecl",Vl),Pl(109),Il(75),...
  function qo (line 1) | function qo(){ic.startNonterminal("InsertExprTargetChoice",Vl);switch($l...
  function Ro (line 1) | function Ro(){switch($l){case 71:Hl(71);break;case 85:Hl(85);break;defau...
  function Uo (line 1) | function Uo(){ic.startNonterminal("InsertExpr",Vl),Pl(161),Il(133);switc...
  function zo (line 1) | function zo(){Hl(161),Il(133);switch($l){case 194:Hl(194);break;default:...
  function Wo (line 1) | function Wo(){ic.startNonterminal("DeleteExpr",Vl),Pl(111),Il(133);switc...
  function Xo (line 1) | function Xo(){Hl(111),Il(133);switch($l){case 194:Hl(194);break;default:...
  function Vo (line 1) | function Vo(){ic.startNonterminal("ReplaceExpr",Vl),Pl(223),Il(134),$l==...
  function $o (line 1) | function $o(){Hl(223),Il(134),$l==267&&(Hl(267),Il(67),Hl(200)),Il(65),H...
  function Jo (line 1) | function Jo(){ic.startNonterminal("RenameExpr",Vl),Pl(222),Il(65),Pl(194...
  function Ko (line 1) | function Ko(){Hl(222),Il(65),Hl(194),Il(266),Zo(),Hl(80),Il(266),tu()}
  function Qo (line 1) | function Qo(){ic.startNonterminal("SourceExpr",Vl),Wf(),ic.endNontermina...
  function Go (line 1) | function Go(){Xf()}
  function Yo (line 1) | function Yo(){ic.startNonterminal("TargetExpr",Vl),Wf(),ic.endNontermina...
  function Zo (line 1) | function Zo(){Xf()}
  function eu (line 1) | function eu(){ic.startNonterminal("NewNameExpr",Vl),Wf(),ic.endNontermin...
  function tu (line 1) | function tu(){Xf()}
  function nu (line 1) | function nu(){ic.startNonterminal("TransformExpr",Vl),Pl(104),Il(21),jl(...
  function ru (line 1) | function ru(){Hl(104),Il(21),su();for(;;){if($l!=42)break;Hl(42),Il(21),...
  function iu (line 1) | function iu(){ic.startNonterminal("TransformSpec",Vl),Pl(31),Il(245),jl(...
  function su (line 1) | function su(){Hl(31),Il(245),Ni(),Il(28),Hl(53),Il(266),Xf()}
  function ou (line 1) | function ou(){ic.startNonterminal("FTSelection",Vl),lu();for(;;){Il(211)...
  function uu (line 1) | function uu(){cu();for(;;){Il(211);switch($l){case 82:ql(161);break;defa...
  function au (line 1) | function au(){ic.startNonterminal("FTWeight",Vl),Pl(270),Il(90),Pl(281),...
  function fu (line 1) | function fu(){Hl(270),Il(90),Hl(281),Il(266),Y(),Hl(287)}
  function lu (line 1) | function lu(){ic.startNonterminal("FTOr",Vl),hu();for(;;){if($l!=146)bre...
  function cu (line 1) | function cu(){pu();for(;;){if($l!=146)break;Hl(146),Il(177),pu()}}
  function hu (line 1) | function hu(){ic.startNonterminal("FTAnd",Vl),du();for(;;){if($l!=144)br...
  function pu (line 1) | function pu(){vu();for(;;){if($l!=144)break;Hl(144),Il(177),vu()}}
  function du (line 1) | function du(){ic.startNonterminal("FTMildNot",Vl),mu();for(;;){Il(212);i...
  function vu (line 1) | function vu(){gu();for(;;){Il(212);if($l!=196)break;Hl(196),Il(56),Hl(15...
  function mu (line 1) | function mu(){ic.startNonterminal("FTUnaryNot",Vl),$l==145&&Pl(145),Il(1...
  function gu (line 1) | function gu(){$l==145&&Hl(145),Il(164),bu()}
  function yu (line 1) | function yu(){ic.startNonterminal("FTPrimaryWithOptions",Vl),wu(),Il(213...
  function bu (line 1) | function bu(){Eu(),Il(213),$l==265&&Gu(),$l==270&&fu()}
  function wu (line 1) | function wu(){ic.startNonterminal("FTPrimary",Vl);switch($l){case 35:Pl(...
  function Eu (line 1) | function Eu(){switch($l){case 35:Hl(35),Il(177),uu(),Hl(38);break;case 3...
  function Su (line 1) | function Su(){ic.startNonterminal("FTWords",Vl),Tu(),Il(220);if($l==72||...
  function xu (line 1) | function xu(){Nu(),Il(220),($l==72||$l==77||$l==214)&&Au()}
  function Tu (line 1) | function Tu(){ic.startNonterminal("FTWordsValue",Vl);switch($l){case 11:...
  function Nu (line 1) | function Nu(){switch($l){case 11:Hl(11);break;default:Hl(281),Il(266),Y(...
  function Cu (line 1) | function Cu(){ic.startNonterminal("FTExtensionSelection",Vl);for(;;){jl(...
  function ku (line 1) | function ku(){for(;;){Ar(),Il(104);if($l!=36)break}Hl(281),Il(184),$l!=2...
  function Lu (line 1) | function Lu(){ic.startNonterminal("FTAnyallOption",Vl);switch($l){case 7...
  function Au (line 1) | function Au(){switch($l){case 77:Hl(77),Il(217),$l==278&&Hl(278);break;c...
  function Ou (line 1) | function Ou(){ic.startNonterminal("FTTimes",Vl),Pl(199),Il(159),jl(),_u(...
  function Mu (line 1) | function Mu(){Hl(199),Il(159),Du(),Hl(252)}
  function _u (line 1) | function _u(){ic.startNonterminal("FTRange",Vl);switch($l){case 131:Pl(1...
  function Du (line 1) | function Du(){switch($l){case 131:Hl(131),Il(265),Kn();break;case 82:Hl(...
  function Pu (line 1) | function Pu(){ic.startNonterminal("FTPosFilter",Vl);switch($l){case 206:...
  function Hu (line 1) | function Hu(){switch($l){case 206:ju();break;case 275:Iu();break;case 11...
  function Bu (line 1) | function Bu(){ic.startNonterminal("FTOrder",Vl),Pl(206),ic.endNontermina...
  function ju (line 1) | function ju(){Hl(206)}
  function Fu (line 1) | function Fu(){ic.startNonterminal("FTWindow",Vl),Pl(275),Il(265),jl(),Jn...
  function Iu (line 1) | function Iu(){Hl(275),Il(265),Kn(),zu()}
  function qu (line 1) | function qu(){ic.startNonterminal("FTDistance",Vl),Pl(118),Il(159),jl(),...
  function Ru (line 1) | function Ru(){Hl(118),Il(159),Du(),zu()}
  function Uu (line 1) | function Uu(){ic.startNonterminal("FTUnit",Vl);switch($l){case 279:Pl(27...
  function zu (line 1) | function zu(){switch($l){case 279:Hl(279);break;case 237:Hl(237);break;d...
  function Wu (line 1) | function Wu(){ic.startNonterminal("FTScope",Vl);switch($l){case 227:Pl(2...
  function Xu (line 1) | function Xu(){switch($l){case 227:Hl(227);break;default:Hl(116)}Il(136),...
  function Vu (line 1) | function Vu(){ic.startNonterminal("FTBigUnit",Vl);switch($l){case 236:Pl...
  function $u (line 1) | function $u(){switch($l){case 236:Hl(236);break;default:Hl(208)}}
  function Ju (line 1) | function Ju(){ic.startNonterminal("FTContent",Vl);switch($l){case 82:Pl(...
  function Ku (line 1) | function Ku(){switch($l){case 82:Hl(82),Il(121);switch($l){case 242:Hl(2...
  function Qu (line 1) | function Qu(){ic.startNonterminal("FTMatchOptions",Vl);for(;;){Pl(265),I...
  function Gu (line 1) | function Gu(){for(;;){Hl(265),Il(204),Zu(),Il(213);if($l!=265)break}}
  function Yu (line 1) | function Yu(){ic.startNonterminal("FTMatchOption",Vl);switch($l){case 19...
  function Zu (line 1) | function Zu(){switch($l){case 191:ql(176);break;default:Wl=$l}switch(Wl)...
  function ea (line 1) | function ea(){ic.startNonterminal("FTCaseOption",Vl);switch($l){case 89:...
  function ta (line 1) | function ta(){switch($l){case 89:Hl(89),Il(128);switch($l){case 160:Hl(1...
  function na (line 1) | function na(){ic.startNonterminal("FTDiacriticsOption",Vl),Pl(115),Il(12...
  function ra (line 1) | function ra(){Hl(115),Il(128);switch($l){case 160:Hl(160);break;default:...
  function ia (line 1) | function ia(){ic.startNonterminal("FTStemOption",Vl);switch($l){case 243...
  function sa (line 1) | function sa(){switch($l){case 243:Hl(243);break;default:Hl(191),Il(77),H...
  function oa (line 1) | function oa(){ic.startNonterminal("FTThesaurusOption",Vl);switch($l){cas...
  function ua (line 1) | function ua(){switch($l){case 251:Hl(251),Il(152);switch($l){case 82:fa(...
  function aa (line 1) | function aa(){ic.startNonterminal("FTThesaurusID",Vl),Pl(82),Il(15),Pl(7...
  function fa (line 1) | function fa(){Hl(82),Il(15),Hl(7),Il(219),$l==221&&(Hl(221),Il(17),Hl(11...
  function la (line 1) | function la(){ic.startNonterminal("FTLiteralRange",Vl);switch($l){case 1...
  function ca (line 1) | function ca(){switch($l){case 131:Hl(131),Il(16),Hl(8);break;case 82:Hl(...
  function ha (line 1) | function ha(){ic.startNonterminal("FTStopWordOption",Vl);switch($l){case...
  function pa (line 1) | function pa(){switch($l){case 244:Hl(244),Il(89),Hl(279),Il(152);switch(...
  function da (line 1) | function da(){ic.startNonterminal("FTStopWords",Vl);switch($l){case 82:P...
  function va (line 1) | function va(){switch($l){case 82:Hl(82),Il(15),Hl(7);break;default:Hl(35...
  function ma (line 1) | function ma(){ic.startNonterminal("FTStopWordsInclExcl",Vl);switch($l){c...
  function ga (line 1) | function ga(){switch($l){case 260:Hl(260);break;default:Hl(132)}Il(103),...
  function ya (line 1) | function ya(){ic.startNonterminal("FTLanguageOption",Vl),Pl(172),Il(17),...
  function ba (line 1) | function ba(){Hl(172),Il(17),Hl(11)}
  function wa (line 1) | function wa(){ic.startNonterminal("FTWildCardOption",Vl);switch($l){case...
  function Ea (line 1) | function Ea(){switch($l){case 274:Hl(274);break;default:Hl(191),Il(87),H...
  function Sa (line 1) | function Sa(){ic.startNonterminal("FTExtensionOption",Vl),Pl(203),Il(245...
  function xa (line 1) | function xa(){Hl(203),Il(245),Ja(),Il(17),Hl(11)}
  function Ta (line 1) | function Ta(){ic.startNonterminal("FTIgnoreOption",Vl),Pl(277),Il(45),Pl...
  function Na (line 1) | function Na(){Hl(277),Il(45),Hl(101),Il(265),Zn()}
  function Ca (line 1) | function Ca(){ic.startNonterminal("CollectionDecl",Vl),Pl(96),Il(245),jl...
  function ka (line 1) | function ka(){ic.startNonterminal("CollectionTypeDecl",Vl),Pl(80),Il(253...
  function La (line 1) | function La(){ic.startNonterminal("IndexName",Vl),$a(),ic.endNonterminal...
  function Aa (line 1) | function Aa(){ic.startNonterminal("IndexDomainExpr",Vl),Or(),ic.endNonte...
  function Oa (line 1) | function Oa(){ic.startNonterminal("IndexKeySpec",Vl),Ma(),$l==80&&(jl(),...
  function Ma (line 1) | function Ma(){ic.startNonterminal("IndexKeyExpr",Vl),Or(),ic.endNontermi...
  function _a (line 1) | function _a(){ic.startNonterminal("IndexKeyTypeDecl",Vl),Pl(80),Il(245),...
  function Da (line 1) | function Da(){ic.startNonterminal("AtomicType",Vl),$a(),ic.endNontermina...
  function Pa (line 1) | function Pa(){ic.startNonterminal("IndexKeyCollation",Vl),Pl(95),Il(15),...
  function Ha (line 1) | function Ha(){ic.startNonterminal("IndexDecl",Vl),Pl(157),Il(245),jl(),L...
  function Ba (line 1) | function Ba(){ic.startNonterminal("ICDecl",Vl),Pl(163),Il(43),Pl(98),Il(...
  function ja (line 1) | function ja(){ic.startNonterminal("ICCollection",Vl),Pl(201),Il(42),Pl(9...
  function Fa (line 1) | function Fa(){ic.startNonterminal("ICCollSequence",Vl),Si(),Il(40),Pl(93...
  function Ia (line 1) | function Ia(){ic.startNonterminal("ICCollSequenceUnique",Vl),Pl(194),Il(...
  function qa (line 1) | function qa(){ic.startNonterminal("ICCollNode",Vl),Pl(140),Il(65),Pl(194...
  function Ra (line 1) | function Ra(){ic.startNonterminal("ICForeignKey",Vl),Pl(141),Il(60),Pl(1...
  function Ua (line 1) | function Ua(){ic.startNonterminal("ICForeignKeySource",Vl),Pl(142),Il(42...
  function za (line 1) | function za(){ic.startNonterminal("ICForeignKeyTarget",Vl),Pl(253),Il(42...
  function Wa (line 1) | function Wa(){ic.startNonterminal("ICForeignKeyValues",Vl),Pl(96),Il(245...
  function Xa (line 1) | function Xa(){Hl(37);for(;;){Rl(92);if($l==51)break;switch($l){case 24:H...
  function Va (line 1) | function Va(){switch($l){case 22:Hl(22);break;default:Xa()}}
  function $a (line 1) | function $a(){ic.startNonterminal("EQName",Vl),Rl(240);switch($l){case 8...
  function Ja (line 1) | function Ja(){Rl(240);switch($l){case 83:Hl(83);break;case 97:Hl(97);bre...
  function Ka (line 1) | function Ka(){ic.startNonterminal("FunctionName",Vl);switch($l){case 6:P...
  function Qa (line 1) | function Qa(){switch($l){case 6:Hl(6);break;case 71:Hl(71);break;case 74...
  function Ga (line 1) | function Ga(){ic.startNonterminal("NCName",Vl);switch($l){case 19:Pl(19)...
  function Ya (line 1) | function Ya(){switch($l){case 19:Hl(19);break;case 71:Hl(71);break;case ...
  function Za (line 1) | function Za(){ic.startNonterminal("MainModule",Vl),l(),jl(),ef(),ic.endN...
  function ef (line 1) | function ef(){ic.startNonterminal("Program",Vl),of(),ic.endNonterminal("...
  function tf (line 1) | function tf(){ic.startNonterminal("Statements",Vl);for(;;){Il(283);switc...
  function nf (line 1) | function nf(){for(;;){Il(283);switch($l){case 35:ql(269);break;case 36:U...
  function rf (line 1) | function rf(){ic.startNonterminal("StatementsAndExpr",Vl),tf(),jl(),G(),...
  function sf (line 1) | function sf(){nf(),Y()}
  function of (line 1) | function of(){ic.startNonterminal("StatementsAndOptionalExpr",Vl),tf(),$...
  function uf (line 1) | function uf(){nf(),$l!=25&&$l!=287&&Y()}
  function af (line 1) | function af(){ic.startNonterminal("Statement",Vl);switch($l){case 133:ql...
  function ff (line 1) | function ff(){switch($l){case 133:ql(147);break;case 139:ql(179);break;c...
  function lf (line 1) | function lf(){ic.startNonterminal("ApplyStatement",Vl),Vf(),Pl(54),ic.en...
  function cf (line 1) | function cf(){$f(),Hl(54)}
  function hf (line 1) | function hf(){ic.startNonterminal("AssignStatement",Vl),Pl(31),Il(245),j...
  function pf (line 1) | function pf(){Hl(31),Il(245),Ni(),Il(28),Hl(53),Il(266),Xf(),Hl(54)}
  function df (line 1) | function df(){ic.startNonterminal("BlockStatement",Vl),Pl(281),Il(270),j...
  function vf (line 1) | function vf(){Hl(281),Il(270),ff(),Il(280),nf(),Hl(287)}
  function mf (line 1) | function mf(){ic.startNonterminal("BreakStatement",Vl),Pl(87),Il(62),Pl(...
  function gf (line 1) | function gf(){Hl(87),Il(62),Hl(179),Il(29),Hl(54)}
  function yf (line 1) | function yf(){ic.startNonterminal("ContinueStatement",Vl),Pl(103),Il(62)...
  function bf (line 1) | function bf(){Hl(103),Il(62),Hl(179),Il(29),Hl(54)}
  function wf (line 1) | function wf(){ic.startNonterminal("ExitStatement",Vl),Pl(133),Il(74),Pl(...
  function Ef (line 1) | function Ef(){Hl(133),Il(74),Hl(225),Il(266),Xf(),Hl(54)}
  function Sf (line 1) | function Sf(){ic.startNonterminal("FLWORStatement",Vl),tt();for(;;){Il(1...
  function xf (line 1) | function xf(){nt();for(;;){Il(195);if($l==224)break;it()}Nf()}
  function Tf (line 1) | function Tf(){ic.startNonterminal("ReturnStatement",Vl),Pl(224),Il(270),...
  function Nf (line 1) | function Nf(){Hl(224),Il(270),ff()}
  function Cf (line 1) | function Cf(){ic.startNonterminal("IfStatement",Vl),Pl(154),Il(22),Pl(35...
  function kf (line 1) | function kf(){Hl(154),Il(22),Hl(35),Il(266),Y(),Hl(38),Il(80),Hl(250),Il...
  function Lf (line 1) | function Lf(){ic.startNonterminal("SwitchStatement",Vl),Pl(248),Il(22),P...
  function Af (line 1) | function Af(){Hl(248),Il(22),Hl(35),Il(266),Y(),Hl(38);for(;;){Il(38),Mf...
  function Of (line 1) | function Of(){ic.startNonterminal("SwitchCaseStatement",Vl);for(;;){Pl(8...
  function Mf (line 1) | function Mf(){for(;;){Hl(89),Il(266),vn();if($l!=89)break}Hl(224),Il(270...
  function _f (line 1) | function _f(){ic.startNonterminal("TryCatchStatement",Vl),Pl(256),Il(90)...
  function Df (line 1) | function Df(){Hl(256),Il(90),vf();for(;;){Il(39),Hl(92),Il(248),Dn(),vf(...
  function Pf (line 1) | function Pf(){ic.startNonterminal("TypeswitchStatement",Vl),Pl(259),Il(2...
  function Hf (line 1) | function Hf(){Hl(259),Il(22),Hl(35),Il(266),Y(),Hl(38);for(;;){Il(38),jf...
  function Bf (line 1) | function Bf(){ic.startNonterminal("CaseStatement",Vl),Pl(89),Il(257),$l=...
  function jf (line 1) | function jf(){Hl(89),Il(257),$l==31&&(Hl(31),Il(245),Ni(),Il(33),Hl(80))...
  function Ff (line 1) | function Ff(){ic.startNonterminal("VarDeclStatement",Vl);for(;;){Il(102)...
  function If (line 1) | function If(){for(;;){Il(102);if($l!=33)break;j()}Hl(268),Il(21),Hl(31),...
  function qf (line 1) | function qf(){ic.startNonterminal("WhileStatement",Vl),Pl(273),Il(22),Pl...
  function Rf (line 1) | function Rf(){Hl(273),Il(22),Hl(35),Il(266),Y(),Hl(38),Il(270),ff()}
  function Uf (line 1) | function Uf(){ic.startNonterminal("VoidStatement",Vl),Pl(54),ic.endNonte...
  function zf (line 1) | function zf(){Hl(54)}
  function Wf (line 1) | function Wf(){ic.startNonterminal("ExprSingle",Vl);switch($l){case 139:q...
  function Xf (line 1) | function Xf(){switch($l){case 139:ql(179);break;case 177:ql(166);break;c...
  function Vf (line 1) | function Vf(){ic.startNonterminal("ExprSimple",Vl);switch($l){case 78:ql...
  function $f (line 1) | function $f(){switch($l){case 78:ql(268);break;case 161:ql(275);break;ca...
  function Jf (line 1) | function Jf(){ic.startNonterminal("JSONDeleteExpr",Vl),Pl(111),Il(259);s...
  function Kf (line 1) | function Kf(){Hl(111),Il(259);switch($l){case 168:ql(260);break;default:...
  function Qf (line 1) | function Qf(){ic.startNonterminal("JSONInsertExpr",Vl);switch($l){case 1...
  function Gf (line 1) | function Gf(){switch($l){case 161:ql(267);break;default:Wl=$l}if(Wl!=988...
  function Yf (line 1) | function Yf(){ic.startNonterminal("JSONRenameExpr",Vl),Pl(222),Il(259);s...
  function Zf (line 1) | function Zf(){Hl(222),Il(259);switch($l){case 168:ql(260);break;default:...
  function el (line 1) | function el(){ic.startNonterminal("JSONReplaceExpr",Vl),Pl(223),Il(85),P...
  function tl (line 1) | function tl(){Hl(223),Il(85),Hl(267),Il(67),Hl(200),Il(59),Hl(168),Il(25...
  function nl (line 1) | function nl(){ic.startNonterminal("JSONAppendExpr",Vl),Pl(78),Il(266);sw...
  function rl (line 1) | function rl(){Hl(78),Il(266);switch($l){case 168:ql(268);break;default:W...
  function il (line 1) | function il(){ic.startNonterminal("CommonContent",Vl);switch($l){case 12...
  function sl (line 1) | function sl(){switch($l){case 12:Hl(12);break;case 23:Hl(23);break;case ...
  function ol (line 1) | function ol(){ic.startNonterminal("ContentExpr",Vl),rf(),ic.endNontermin...
  function ul (line 1) | function ul(){sf()}
  function al (line 1) | function al(){ic.startNonterminal("CompDocConstructor",Vl),Pl(120),Il(90...
  function fl (line 1) | function fl(){Hl(120),Il(90),Ml()}
  function ll (line 1) | function ll(){ic.startNonterminal("CompAttrConstructor",Vl),Pl(83),Il(24...
  function cl (line 1) | function cl(){Hl(83),Il(249);switch($l){case 281:Hl(281),Il(266),Y(),Hl(...
  function hl (line 1) | function hl(){ic.startNonterminal("CompPIConstructor",Vl),Pl(220),Il(241...
  function pl (line 1) | function pl(){Hl(220),Il(241);switch($l){case 281:Hl(281),Il(266),Y(),Hl...
  function dl (line 1) | function dl(){ic.startNonterminal("CompCommentConstructor",Vl),Pl(97),Il...
  function vl (line 1) | function vl(){Hl(97),Il(90),Ml()}
  function ml (line 1) | function ml(){ic.startNonterminal("CompTextConstructor",Vl),Pl(249),Il(9...
  function gl (line 1) | function gl(){Hl(249),Il(90),Ml()}
  function yl (line 1) | function yl(){ic.startNonterminal("PrimaryExpr",Vl);switch($l){case 187:...
  function bl (line 1) | function bl(){switch($l){case 187:ql(246);break;case 220:ql(244);break;c...
  function wl (line 1) | function wl(){ic.startNonterminal("JSONSimpleObjectUnion",Vl),Pl(283),Il...
  function El (line 1) | function El(){Hl(283),Il(273),$l!=286&&Y(),Hl(286)}
  function Sl (line 1) | function Sl(){ic.startNonterminal("ObjectConstructor",Vl),Pl(281),Il(276...
  function xl (line 1) | function xl(){Hl(281),Il(276),$l!=287&&Nl(),Hl(287)}
  function Tl (line 1) | function Tl(){ic.startNonterminal("PairConstructorList",Vl),Cl();for(;;)...
  function Nl (line 1) | function Nl(){kl();for(;;){if($l!=42)break;Hl(42),Il(267),kl()}}
  function Cl (line 1) | function Cl(){ic.startNonterminal("PairConstructor",Vl);switch($l){case ...
  function kl (line 1) | function kl(){switch($l){case 78:ql(278);break;case 139:ql(187);break;ca...
  function Ll (line 1) | function Ll(){ic.startNonterminal("ArrayConstructor",Vl),Pl(69),Il(272),...
  function Al (line 1) | function Al(){Hl(69),Il(272),$l!=70&&Y(),Hl(70)}
  function Ol (line 1) | function Ol(){ic.startNonterminal("BlockExpr",Vl),Pl(281),Il(280),jl(),o...
  function Ml (line 1) | function Ml(){Hl(281),Il(280),uf(),Hl(287)}
  function _l (line 1) | function _l(){ic.startNonterminal("FunctionDecl",Vl),Pl(147),Il(245),jl(...
  function Dl (line 1) | function Dl(){ic.startNonterminal("ReturnType",Vl),Pl(80),Il(253),jl(),L...
  function Pl (line 1) | function Pl(e){$l==e?(jl(),ic.terminal(i.TOKEN[$l],Jl,Kl>fc?fc:Kl),Xl=Jl...
  function Hl (line 1) | function Hl(e){$l==e?(Xl=Jl,Vl=Kl,$l=Ql,$l!=0&&(Jl=Gl,Kl=Yl,Ql=0)):zl(Jl...
  function Bl (line 1) | function Bl(e){var t=Xl,n=Vl,r=$l,i=Jl,s=Kl;$l=e,Jl=lc,Kl=cc,Ql=0,Va(),X...
  function jl (line 1) | function jl(){Vl!=Jl&&(ic.whitespace(Vl,Jl),Vl=Jl)}
  function Fl (line 1) | function Fl(e){var t;for(;;){t=hc(e);if(t!=22){if(t!=37)break;Bl(t)}}ret...
  function Il (line 1) | function Il(e){$l==0&&($l=Fl(e),Jl=lc,Kl=cc)}
  function ql (line 1) | function ql(e){Ql==0&&(Ql=Fl(e),Gl=lc,Yl=cc),Wl=Ql<<9|$l}
  function Rl (line 1) | function Rl(e){$l==0&&($l=hc(e),Jl=lc,Kl=cc)}
  function Ul (line 1) | function Ul(e){Ql==0&&(Ql=hc(e),Gl=lc,Yl=cc),Wl=Ql<<9|$l}
  function zl (line 1) | function zl(e,t,r,i,s){throw t>=ec&&(Zl=e,ec=t,tc=r,nc=i,rc=s),new n.Par...
  function oc (line 1) | function oc(e,t,n){sc[(t<<5)+e]=n}
  function uc (line 1) | function uc(e,t){var n=sc[(t<<5)+e];return typeof n!="undefined"?n:0}
  function hc (line 1) | function hc(e){var t=!1;lc=cc;var n=cc,r=i.INITIAL[e],s=0;for(var o=r&81...
  function r (line 1) | function r(e,t){Vl=t,Ql=e,Gl=e.length,s(0,0,0)}
  function s (line 1) | function s(e,t,n){Dl=t,Pl=t,Hl=e,Bl=t,jl=n,Fl=0,Zl=n,Ul=-1,$l={},Vl.rese...
  function o (line 1) | function o(){Vl.startNonterminal("Module",Pl);switch(Hl){case 274:Ll(198...
  function u (line 1) | function u(){Vl.startNonterminal("VersionDecl",Pl),Sl(274),kl(116);switc...
  function a (line 1) | function a(){Vl.startNonterminal("LibraryModule",Pl),f(),kl(138),Nl(),l(...
  function f (line 1) | function f(){Vl.startNonterminal("ModuleDecl",Pl),Sl(182),kl(61),Sl(184)...
  function l (line 1) | function l(){Vl.startNonterminal("Prolog",Pl);for(;;){kl(274);switch(Hl)...
  function c (line 1) | function c(){Vl.startNonterminal("Separator",Pl),Sl(53),Vl.endNontermina...
  function h (line 1) | function h(){Vl.startNonterminal("Setter",Pl);switch(Hl){case 108:Ll(172...
  function p (line 1) | function p(){Vl.startNonterminal("BoundarySpaceDecl",Pl),Sl(108),kl(33),...
  function d (line 1) | function d(){Vl.startNonterminal("DefaultCollationDecl",Pl),Sl(108),kl(4...
  function v (line 1) | function v(){xl(108),kl(46),xl(109),kl(38),xl(94),kl(15),xl(7)}
  function m (line 1) | function m(){Vl.startNonterminal("BaseURIDecl",Pl),Sl(108),kl(32),Sl(83)...
  function g (line 1) | function g(){Vl.startNonterminal("ConstructionDecl",Pl),Sl(108),kl(41),S...
  function y (line 1) | function y(){Vl.startNonterminal("OrderingModeDecl",Pl),Sl(108),kl(68),S...
  function b (line 1) | function b(){Vl.startNonterminal("EmptyOrderDecl",Pl),Sl(108),kl(46),Sl(...
  function w (line 1) | function w(){xl(108),kl(46),xl(109),kl(67),xl(201),kl(49),xl(123),kl(121...
  function E (line 1) | function E(){Vl.startNonterminal("CopyNamespacesDecl",Pl),Sl(108),kl(44)...
  function S (line 1) | function S(){Vl.startNonterminal("PreserveMode",Pl);switch(Hl){case 214:...
  function x (line 1) | function x(){Vl.startNonterminal("InheritMode",Pl);switch(Hl){case 157:S...
  function T (line 1) | function T(){Vl.startNonterminal("DecimalFormatDecl",Pl),Sl(108),kl(114)...
  function N (line 1) | function N(){Vl.startNonterminal("DFPropertyName",Pl);switch(Hl){case 10...
  function C (line 1) | function C(){Vl.startNonterminal("Import",Pl);switch(Hl){case 153:Ll(126...
  function k (line 1) | function k(){Vl.startNonterminal("SchemaImport",Pl),Sl(153),kl(73),Sl(22...
  function L (line 1) | function L(){Vl.startNonterminal("SchemaPrefix",Pl);switch(Hl){case 184:...
  function A (line 1) | function A(){Vl.startNonterminal("ModuleImport",Pl),Sl(153),kl(60),Sl(18...
  function O (line 1) | function O(){Vl.startNonterminal("NamespaceDecl",Pl),Sl(108),kl(61),Sl(1...
  function M (line 1) | function M(){Vl.startNonterminal("DefaultNamespaceDecl",Pl),Sl(108),kl(4...
  function _ (line 1) | function _(){xl(108),kl(46),xl(109),kl(115);switch(Hl){case 121:xl(121);...
  function D (line 1) | function D(){Vl.startNonterminal("FTOptionDecl",Pl),Sl(108),kl(52),Sl(14...
  function P (line 1) | function P(){Vl.startNonterminal("AnnotatedDecl",Pl),Sl(108);for(;;){kl(...
  function H (line 1) | function H(){Vl.startNonterminal("CompatibilityAnnotation",Pl),Sl(257),V...
  function B (line 1) | function B(){Vl.startNonterminal("Annotation",Pl),Sl(32),kl(254),Nl(),Ha...
  function j (line 1) | function j(){xl(32),kl(254),Ba(),kl(171);if(Hl==34){xl(34),kl(154),ui();...
  function F (line 1) | function F(){Vl.startNonterminal("VarDecl",Pl),Sl(262),kl(21),Sl(31),kl(...
  function I (line 1) | function I(){Vl.startNonterminal("VarValue",Pl),_f(),Vl.endNonterminal("...
  function q (line 1) | function q(){Vl.startNonterminal("VarDefaultValue",Pl),_f(),Vl.endNonter...
  function R (line 1) | function R(){Vl.startNonterminal("ContextItemDecl",Pl),Sl(108),kl(43),Sl...
  function U (line 1) | function U(){Vl.startNonterminal("ParamList",Pl),W();for(;;){kl(101);if(...
  function z (line 1) | function z(){X();for(;;){kl(101);if(Hl!=41)break;xl(41),kl(21),X()}}
  function W (line 1) | function W(){Vl.startNonterminal("Param",Pl),Sl(31),kl(254),Nl(),Ha(),kl...
  function X (line 1) | function X(){xl(31),kl(254),Ba(),kl(143),Hl==79&&vs()}
  function V (line 1) | function V(){Vl.startNonterminal("FunctionBody",Pl),J(),Vl.endNontermina...
  function $ (line 1) | function $(){K()}
  function J (line 1) | function J(){Vl.startNonterminal("EnclosedExpr",Pl),Sl(276),kl(266),Nl()...
  function K (line 1) | function K(){xl(276),kl(266),Y(),xl(282)}
  function Q (line 1) | function Q(){Vl.startNontermi
Copy disabled (too large) Download .json
Condensed preview — 1777 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (46,841K chars).
[
  {
    "path": ".gitignore",
    "chars": 16,
    "preview": "flask_session/*\n"
  },
  {
    "path": ".gitmodules",
    "chars": 83,
    "preview": "[submodule \"keystone\"]\n\tpath = keystone\n\turl = https://github.com/ret2got/keystone\n"
  },
  {
    "path": "README.md",
    "chars": 1457,
    "preview": "# disasm.pro\nFormerly known as disasm.ninja, It's a multi-architecture realtime assembler/disassembler with line-to-line"
  },
  {
    "path": "app/.gitignore",
    "chars": 14,
    "preview": "__pycache__/*\n"
  },
  {
    "path": "app/__init__.py",
    "chars": 476,
    "preview": "from flask import Flask, session\nfrom flask_socketio import SocketIO\nfrom flask_session import Session\n\nasm_ninja = Flas"
  },
  {
    "path": "app/assemble.py",
    "chars": 2535,
    "preview": "from flask import session\nfrom flask_socketio import emit\nfrom . import ninja_socketio\nfrom .settings import get_setting"
  },
  {
    "path": "app/constants.py",
    "chars": 13164,
    "preview": "from keystone import *\nfrom capstone import *\n\nkeystone_modes = {\n        'ARCH_ARM' : {\n            'VAL' : KS_ARCH_ARM"
  },
  {
    "path": "app/disassemble.py",
    "chars": 1791,
    "preview": "from . import ninja_socketio\nfrom .settings import get_settings\nfrom flask import session\nfrom .constants import capston"
  },
  {
    "path": "app/index/index.html",
    "chars": 3191,
    "preview": "<!DOCTYPE html>\n<html>\n<head>\n\t<title>disasm.pro | Online Assembler and Disassembler</title>\n\t<link rel=\"stylesheet\" hre"
  },
  {
    "path": "app/index.py",
    "chars": 169,
    "preview": "from . import asm_ninja\nfrom flask import send_from_directory\n\n@asm_ninja.route(\"/\", methods=['GET'])\ndef index():\n    r"
  },
  {
    "path": "app/settings.py",
    "chars": 588,
    "preview": "from flask import session\nfrom  .constants import keystone_modes\nfrom . import ninja_socketio\nfrom keystone import *\nimp"
  },
  {
    "path": "app/static/css/beanstalk.css",
    "chars": 4392,
    "preview": "@import '//fonts.googleapis.com/css?family=Open+Sans:400,600';\n\n.edd-root,\n.edd-root *,\n.edd-root *::before,\n.edd-root *"
  },
  {
    "path": "app/static/css/dark.css",
    "chars": 180,
    "preview": "\n\nbody {\n\tfont-family: 'Helvetica';\n\tline-height: 1.75em;\n\tfont-size: 16px;\n\tbackground-color: #222;\n\tcolor: #aaa;\n}\n\n\n@"
  },
  {
    "path": "app/static/css/index.css",
    "chars": 6303,
    "preview": "html {\n    color: #222;\n    font-size: 1em;\n    line-height: normal;\n}\n/*\n * Remove text-shadow in selection highlight:\n"
  },
  {
    "path": "app/static/css/libs/w3.css",
    "chars": 23488,
    "preview": "/* W3.CSS 4.12 November 2018 by Jan Egil and Borge Refsnes */\r\nhtml{box-sizing:border-box}*,*:before,*:after{box-sizing"
  },
  {
    "path": "app/static/js/assemble.js",
    "chars": 1512,
    "preview": "function send_asm_update(){\n    let asm_code = asm_editor.getValue();\n    socket.emit('assemble', {'code':asm_code})\n}\n\n"
  },
  {
    "path": "app/static/js/constants.js",
    "chars": 6063,
    "preview": "let KS_ARCH_ARM = 1\nlet KS_ARCH_ARM64 = 2\nlet KS_ARCH_MIPS = 3\nlet KS_ARCH_X86 = 4\nlet KS_ARCH_PPC = 5\nlet KS_ARCH_SPARC"
  },
  {
    "path": "app/static/js/disassemble.js",
    "chars": 1923,
    "preview": "function send_machine_update(){\n    let machine_code_parsed;\n    //Remove all non hex things\n    let machine_code = mach"
  },
  {
    "path": "app/static/js/index.js",
    "chars": 7810,
    "preview": "//There is some ambiguity in the js I wrote, assembled code and machine code are the same thing while disassembled code "
  },
  {
    "path": "app/static/js/libs/ace/.github/PULL_REQUEST_TEMPLATE.md",
    "chars": 197,
    "preview": "*Issue #, if available:*\n\n*Description of changes:*\n\n\nBy submitting this pull request, I confirm that you can use, modif"
  },
  {
    "path": "app/static/js/libs/ace/CODE_OF_CONDUCT.md",
    "chars": 311,
    "preview": "## Code of Conduct\nThis project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-condu"
  },
  {
    "path": "app/static/js/libs/ace/CONTRIBUTING.md",
    "chars": 3567,
    "preview": "# Contributing Guidelines\n\nThank you for your interest in contributing to our project. Whether it's a bug report, new fe"
  },
  {
    "path": "app/static/js/libs/ace/ChangeLog.txt",
    "chars": 12924,
    "preview": "2019.02.21 Version 1.4.3\n* add sublime keybindings\n* add rtl option\n* implement ` and < textobjects in vim mode\n\n2018.11"
  },
  {
    "path": "app/static/js/libs/ace/LICENSE",
    "chars": 1490,
    "preview": "Copyright (c) 2010, Ajax.org B.V.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or witho"
  },
  {
    "path": "app/static/js/libs/ace/README.md",
    "chars": 1508,
    "preview": "Ace (Ajax.org Cloud9 Editor)\n============================\n[![CDNJS](https://img.shields.io/cdnjs/v/ace.svg)](https://cdn"
  },
  {
    "path": "app/static/js/libs/ace/ace-modules.d.ts",
    "chars": 22201,
    "preview": "declare module 'ace-builds/src-noconflict/ext-beautify';\ndeclare module 'ace-builds/src-noconflict/ext-elastic_tabstops_"
  },
  {
    "path": "app/static/js/libs/ace/ace.d.ts",
    "chars": 31735,
    "preview": "/// <reference path=\"./ace-modules.d.ts\" />\nexport namespace Ace {\n  export type NewLineMode = 'auto' | 'unix' | 'window"
  },
  {
    "path": "app/static/js/libs/ace/bower.json",
    "chars": 493,
    "preview": "{\n    \"name\": \"ace-builds\",\n    \"description\": \"Ace (Ajax.org Cloud9 Editor)\",\n    \"scripts\": {\n        \"test\": \"echo \\\""
  },
  {
    "path": "app/static/js/libs/ace/demo/autocompletion.html",
    "chars": 1008,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>ACE Autocompletion demo</title>\n  <style type="
  },
  {
    "path": "app/static/js/libs/ace/demo/autoresize.html",
    "chars": 1600,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/bookmarklet/index.html",
    "chars": 4086,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/bookmarklet/style.css",
    "chars": 3416,
    "preview": "body {\n    margin:0;\n    padding:0;\n    background-color:#e6f5fc;\n    \n}\n\nH2, H3, H4 {\n    font-family:Trebuchet MS;\n   "
  },
  {
    "path": "app/static/js/libs/ace/demo/chromevox.html",
    "chars": 790,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>ACE ChromeVox demo</title>\n  <style type=\"text"
  },
  {
    "path": "app/static/js/libs/ace/demo/emmet.html",
    "chars": 890,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>ACE Emmet demo</title>\n  <style type=\"text/css"
  },
  {
    "path": "app/static/js/libs/ace/demo/iframe.html",
    "chars": 773,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>ACE Editor Inside iframe</title>\n  <style type"
  },
  {
    "path": "app/static/js/libs/ace/demo/keyboard_shortcuts.html",
    "chars": 1167,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/demo.js",
    "chars": 241529,
    "preview": "define(\"ace/ext/rtl\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/editor\",\"ace/config\"], function(req"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/.gitignore",
    "chars": 127,
    "preview": "# A sample .gitignore file.\n\n.buildlog\n.DS_Store\n.svn\n\n# Negated patterns:\n!foo.bar\n\n# Also ignore user settings...\n/.se"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/Dockerfile",
    "chars": 2493,
    "preview": "#\n# example Dockerfile for http://docs.docker.io/en/latest/examples/postgresql_service/\n#\n\nFROM ubuntu\nMAINTAINER SvenDo"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/Haxe.hx",
    "chars": 447,
    "preview": "class Haxe \n{\n    public static function main() \n    {\n        // Say Hello!\n        var greeting:String = \"Hello World\""
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/Jack.jack",
    "chars": 4760,
    "preview": "vars it, p\n\np = {label, value|\n  print(\"\\n\" + label)\n  print(inspect(value))\n}\n-- Create an array from 0 to 15\np(\"range\""
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/Makefile",
    "chars": 4566,
    "preview": ".PHONY:    apf ext worker mode theme package test\n\ndefault: apf worker\n\nupdate: worker\n\n# packages apf\n\n# This is the fi"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/Nix.nix",
    "chars": 2212,
    "preview": "{\n  # Name of our deployment\n  network.description = \"HelloWorld\";\n  # Enable rolling back to previous versions of our i"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/abap.abap",
    "chars": 1037,
    "preview": "***************************************\n** Program: EXAMPLE                  **\n** Author: Joe Byte, 07-Jul-2007     **\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/abc.abc",
    "chars": 5601,
    "preview": "%abc-2.1\r\nH:This file contains some example English tunes\r\n% note that the comments (like this one) are to highlight usa"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/actionscript.as",
    "chars": 1133,
    "preview": "package code\n{\n    /*****************************************\n\t * based on textmate actionscript bundle\n\t **************"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/ada.ada",
    "chars": 99,
    "preview": "with Ada.Text_IO; use Ada.Text_IO;\nprocedure Hello is\nbegin\n  Put_Line(\"Hello, world!\");\nend Hello;"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/apex.apex",
    "chars": 1542,
    "preview": "public class testBlockDuplicatesLeadTrigger {\n\t\n\tstatic testMethod void testDuplicateTrigger(){  \n\t\n\t\tLead[] l1 =new Lea"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/asciidoc.asciidoc",
    "chars": 223386,
    "preview": "AsciiDoc User Guide\n===================\nStuart Rackham <srackham@gmail.com>\n:Author Initials: SJR\n:toc:\n:icons:\n:numbere"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/asl.dsl",
    "chars": 2416,
    "preview": "/*\n * Intel ACPI Component Architecture\n * AML/ASL+ Disassembler version 20180105\n *\n * ASL example\n */\nDefinitionBlock "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/assembly_x86.asm",
    "chars": 506,
    "preview": "section\t.text\n    global main         ;must be declared for using gcc\n\nmain:\t                ;tell linker entry point\n\n\t"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/autohotkey.ahk",
    "chars": 720,
    "preview": "#NoEnv\nSetBatchLines -1\n\nCoordMode Mouse, Screen\nOnExit GuiClose\n\nzoom := 9\n\ncomputeSize(){\n\tglobal as_x\n\tas_x := Round("
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/batchfile.bat",
    "chars": 260,
    "preview": ":: batch file highlighting in Ace!\n@echo off\n\nCALL set var1=%cd%\necho unhide everything in %var1%!\n\n:: FOR loop in bat i"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/bro.bro",
    "chars": 689,
    "preview": "##! Add countries for the originator and responder of a connection\n##! to the connection logs.\n\nmodule Conn;\n\nexport {\n\t"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/c9search.c9search_results",
    "chars": 817,
    "preview": "Searching for \u0001var\u0001 in\u0001/.c9/metadata/workspace/plugins\u0001\u0001regexp, case sensitive, whole word\u0001\n\nconfigs/default.js:\n    1: "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/c_cpp.cpp",
    "chars": 808,
    "preview": "// compound assignment operators\n\n#include <iostream>\n\n#include \\\n   <iostream>\n\n#include \\\n   \\\n   <iostream>\n\n#include"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/cirru.cirru",
    "chars": 520,
    "preview": "-- https://github.com/Cirru/cirru-gopher/blob/master/code/scope.cr,\n\nset a (int 2)\n\nprint (self)\n\nset c (child)\n\nunder c"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/clojure.clj",
    "chars": 794,
    "preview": "(defn parting\n  \"returns a String parting in a given language\"\n  ([] (parting \"World\"))\n  ([name] (parting name \"en\"))\n "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/cobol.CBL",
    "chars": 4,
    "preview": "TODO"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/coffee.coffee",
    "chars": 402,
    "preview": "#!/usr/bin/env coffee\n\ntry\n    throw URIError decodeURI(0xC0ffee * 123456.7e-8 / .9)\ncatch e\n    console.log 'qstring' +"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/coldfusion.cfm",
    "chars": 86,
    "preview": "<!--- hello world --->\n\n<cfset welcome=\"Hello World!\">\n\n<cfoutput>#welcome#</cfoutput>"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/csharp.cs",
    "chars": 83,
    "preview": "public void HelloWorld() {\n    //Say Hello!\n    Console.WriteLine(\"Hello World\");\n}"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/csound_document.csd",
    "chars": 173,
    "preview": "text\n<CsoundSynthesizer>\n<CsInstruments>\n0dbfs = 1\nprints \"hello, world\\n\"\n</CsInstruments>\n<CsScore>\ni 1 0 0\n</CsScore>"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/csound_orchestra.orc",
    "chars": 1076,
    "preview": "/*\n * comment\n */\n; comment\n// comment\n\ninstr/**/1,/**/N_a_M_e_,/**/+Name/**///\n  iDuration = p3\n  outc:a(aSignal)\nendin"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/csound_score.sco",
    "chars": 279,
    "preview": "/*\n * comment\n */\n; comment\n// comment\na b C d e f i q s t v x y\nz\nnp0 nP1 Np2 NP3\nm/**/label;\nn label\n123 0123456789\n0x"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/css.css",
    "chars": 738,
    "preview": ".text-layer {\n    font: 12px Monaco, \"Courier New\", monospace;\n    font-size: 3vmin;\n    cursor: text;\n}\n\n.blinker {\n   "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/curly.curly",
    "chars": 301,
    "preview": "<html>\n    <head>\n\n    <style type=\"text/css\">\n        .text-layer {\n            font-family: Monaco, \"Courier New\", mon"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/d.d",
    "chars": 324,
    "preview": "#!/usr/bin/env rdmd\n// Computes average line length for standard input.\nimport std.stdio;\n\nvoid main() {\n    ulong lines"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/dart.dart",
    "chars": 489,
    "preview": "// Go ahead and modify this example.\n\nimport \"dart:html\";\n\n// Computes the nth Fibonacci number.\nint fibonacci(int n) {\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/diff.diff",
    "chars": 2555,
    "preview": "diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js\r\nindex 23fc3fc..ed3b273 100644\r\n--- a/lib/ace/edit_sessio"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/dot.dot",
    "chars": 5910,
    "preview": "// Original source: http://www.graphviz.org/content/lion_share\n##\"A few people in the field of genetics are using dot to"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/drools.drl",
    "chars": 3061,
    "preview": "/*\n * Copyright 2010 JBoss Inc\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/edifact.edi",
    "chars": 541,
    "preview": "UNB+UNOA:1+005435656:1+006415160:1+060515:1434+00000000000778'\nUNH+00000000000117+INVnrOIC:D:97B:UN'\nBGM+380+342459+9'\nD"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/eiffel.e",
    "chars": 375,
    "preview": "note\n\tdescription: \"Represents a person.\"\n\nclass\n\tPERSON\n\ncreate\n\tmake, make_unknown\n\nfeature {NONE} -- Creation\n\n\tmake "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/ejs.ejs",
    "chars": 752,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>Cloud9 Rocks!</title>\n    </head>\n    <body>\n\n    <table class=\"table\">"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/elixir.ex",
    "chars": 692,
    "preview": "defmodule HelloModule do\n  @moduledoc \"\"\"\n    This is supposed to be `markdown`.\n    __Yes__ this is [mark](http://down."
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/elm.elm",
    "chars": 487,
    "preview": "{- Ace {- 4 -} Elm -}\nmain = lift clock (every second)\n\nclock t = collage 400 400 [ filled    lightGrey   (ngon 12 110)\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/erlang.erl",
    "chars": 487,
    "preview": "  %% A process whose only job is to keep a counter.\n  %% First version\n  -module(counter).\n  -export([start/0, codeswitc"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/forth.frt",
    "chars": 979,
    "preview": ": HELLO  ( -- )  CR .\" Hello, world!\" ; \n\nHELLO <cr>\nHello, world!\n\n: [CHAR]   CHAR  POSTPONE LITERAL ; IMMEDIATE\n\n0 val"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/fortran.f90",
    "chars": 713,
    "preview": "#include \"globalDefines.h\"\n\n!=========================================================\nprogram main\n!==================="
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/fsharp.fsi",
    "chars": 390,
    "preview": "(* fsharp (* example *) *)\nmodule Test =\n    let (*) x y = (x + y)\n    let func1 x = \n        if x < 100 then\n          "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/fsl.fsl",
    "chars": 1180,
    "preview": "machine_name      : \"BGP\";\nmachine_version   : 1.0.0;\n\nmachine_author    : \"John Haugeland <stonecypher@gmail.com>\";\nmac"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/ftl.ftl",
    "chars": 1017,
    "preview": "<#ftl encoding=\"utf-8\" />\n<#setting locale=\"en_US\" />\n<#import \"library\" as lib />\n<#--\n    FreeMarker comment\n    ${abc"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/gcode.gcode",
    "chars": 521,
    "preview": "O003 (DIAMOND SQUARE)\nN2 G54 G90 G49 G80\nN3 M6 T1 (1.ENDMILL)\nN4 M3 S1800\nN5 G0 X-.6 Y2.050\nN6 G43  H1  Z.1\nN7 G1 Z-.3 F"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/gherkin.feature",
    "chars": 699,
    "preview": "@these @_are_ @tags\nFeature: Serve coffee\n  Coffee should not be served until paid for\n  Coffee should not be served unt"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/glsl.glsl",
    "chars": 512,
    "preview": "uniform float amplitude;\nattribute float displacement;\nvarying vec3 vNormal;\n\nvoid main() {\n\n    vNormal = normal;\n  \n  "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/gobstones.gbs",
    "chars": 421,
    "preview": "program {\n    /*\n     * A gobstons multiline comment\n     * Taken from:\n     * http://www.exploringbinary.com/java-hangs"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/golang.go",
    "chars": 641,
    "preview": "// Concurrent computation of pi.\n// See http://goo.gl/ZuTZM.\n//\n// This demonstrates Go's ability to handle\n// large num"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/graphqlschema.gql",
    "chars": 1265,
    "preview": "# Main Schema\nschema {\n\tquery: Query;\n}\n\nscalar Date;\n\n# Simple type to contain all scalar types\ntype AllTypes {\n\t# Fiel"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/groovy.groovy",
    "chars": 1080,
    "preview": "//http://groovy.codehaus.org/Martin+Fowler%27s+closure+examples+in+Groovy\n\nclass Employee {\n    def name, salary\n    boo"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/haml.haml",
    "chars": 1240,
    "preview": "!!!5\n\n/[if IE]\n  %a{ :href => 'http://www.mozilla.com/en-US/firefox/' }\n    %h1 Get Firefox\n\n-# This is a HAML comment. "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/handlebars.hbs",
    "chars": 173,
    "preview": "{{!-- Ace + :-}} --}}\n\n<div id=\"comments\">\n  {{#each comments}}\n  <h2><a href=\"/posts/{{../permalink}}#{{id}}\">{{title}}"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/haskell.hs",
    "chars": 512,
    "preview": "-- Type annotation (optional)\nfib :: Int -> Integer\n \n-- With self-referencing data\nfib n = fibs !! n\n        where fibs"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/haskell_cabal.cabal",
    "chars": 2593,
    "preview": "name:                reload\nversion:             0.1.0.0\nsynopsis:            Initial project template from stack\nDescri"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/hjson.hjson",
    "chars": 319,
    "preview": "{\n  # specify rate in requests/second (because comments are helpful!)\n  rate: 1000\n\n  // prefer c-style comments?\n  /* f"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/htaccess",
    "chars": 229,
    "preview": "Redirect /linux http://www.linux.org\nRedirect 301 /kernel http://www.linux.org\n\n# comment\nRewriteEngine on\n\nRewriteCond "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/html.html",
    "chars": 313,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n\n    <style type=\"text/css\">\n        .text-layer {\n            font-family: Monaco, \"C"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/html_elixir.eex",
    "chars": 595,
    "preview": "<h1>Listing Books</h1>\n \n<table>\n  <tr>\n    <th>Title</th>\n    <th>Summary</th>\n    <th></th>\n    <th></th>\n    <th></th"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/html_ruby.erb",
    "chars": 518,
    "preview": "<h1>Listing Books</h1>\n \n<table>\n  <tr>\n    <th>Title</th>\n    <th>Summary</th>\n    <th></th>\n    <th></th>\n    <th></th"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/ini.ini",
    "chars": 74,
    "preview": "[.ShellClassInfo]\nIconResource=..\\logo.png\n[ViewState]\nFolderType=Generic\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/io.io",
    "chars": 140,
    "preview": "// computes factorial of a number\nfactorial := method(n,\n    if(n == 0, return 1)\n    res := 1\n    Range 1 to(n) foreach"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/jade.jade",
    "chars": 584,
    "preview": "!!!doctype\n!!!5\n!!!\n\ninclude something\n\n         include another_thing\n\n  // let's talk about it\n\n// \n  here it is. a bl"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/java.java",
    "chars": 451,
    "preview": "import java.util.ArrayList;\nimport java.util.Vector;\n\npublic class InfiniteLoop {\n\n    /*\n     * This will cause the pro"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/javascript.js",
    "chars": 125,
    "preview": "function foo(items, nada) {\n    for (var i=0; i<items.length; i++) {\n        alert(items[i] + \"juhu\\n\");\n    }\t// Real T"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/json.json",
    "chars": 1304,
    "preview": "{\n \"query\": {\n  \"count\": 10,\n  \"created\": \"2011-06-21T08:10:46Z\",\n  \"lang\": \"en-US\",\n  \"results\": {\n   \"photo\": [\n    {\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/jsoniq.jq",
    "chars": 4,
    "preview": "TODO"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/jsp.jsp",
    "chars": 2709,
    "preview": "<%-- initial comment --%>\n<%@ page import=\"java.util.Date\" %>\n<%--@ page isELIgnored=\"true\" //Now EL will be ignored   -"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/jssm.jssm",
    "chars": 561,
    "preview": "\nmachine_name    : \"Three-state traffic light, plus off and flash-red\";\nmachine_version : 1.2.1;\n\njssm_version    : >= 5"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/jsx.jsx",
    "chars": 150,
    "preview": "/*EXPECTED\nhello world!\n*/\nclass Test {\n    static function run() : void {\n        // console.log(\"hello world!\");\n     "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/julia.jl",
    "chars": 209,
    "preview": "for op = (:+, :*, :&, :|, :$)\n  @eval ($op)(a,b,c) = ($op)(($op)(a,b),c)\nend\n\nv = α';\nfunction g(x,y)\n  return x * y\n  x"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/kotlin.kt",
    "chars": 3556,
    "preview": "/*Taken from http://try.kotlinlang.org/#/Examples/Longer%20examples/Life/Life.kt*/\n/**\n * This is a straightforward impl"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/latex.tex",
    "chars": 875,
    "preview": "\\usepackage{amsmath}\n\\title{\\LaTeX}\n\\date{}\n\\begin{document}\n  \\maketitle\n  \\LaTeX{} is a document preparation system fo"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/less.less",
    "chars": 552,
    "preview": "/* styles.less */\n\n@base: #f938ab;\n\n.box-shadow(@style, @c) when (iscolor(@c)) {\n    box-shadow:         @style @c;\n    "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/liquid.liquid",
    "chars": 1883,
    "preview": "The following examples can be found in full at http://liquidmarkup.org/\n\nLiquid is an extraction from the e-commerce sys"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/lisp.lisp",
    "chars": 632,
    "preview": "(defun prompt-for-cd ()\n   \"Prompts\n    for CD\"\n   (prompt-read \"Title\" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/1"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/livescript.ls",
    "chars": 5747,
    "preview": "# Defines an editing mode for [Ace](http://ace.ajax.org).\n#\n# Open [test/ace.html](../test/ace.html) to test.\n\nrequire, "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/logiql.logic",
    "chars": 399,
    "preview": "// ancestors\nparentof(\"douglas\", \"john\").\nparentof(\"john\", \"bob\").\nparentof(\"bob\", \"ebbon\").\n\nparentof(\"douglas\", \"jane\""
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/logtalk.lgt",
    "chars": 599,
    "preview": ":- object(bottles).\n\n\t:- initialization(sing(99)).\n\n\tsing(0) :-\n\t\twrite('No more bottles of beer on the wall, no more bo"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/lsl.lsl",
    "chars": 2080,
    "preview": "/*\n    Testing syntax highlighting\n    of Ace Editor\n    for the Linden Scripting Language\n*/\n\ninteger someIntNormal    "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/lua.lua",
    "chars": 981,
    "preview": "--[[--\nnum_args takes in 5.1 byte code and extracts the number of arguments\nfrom its function header.\n--]]--\n\nfunction i"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/luapage.lp",
    "chars": 1863,
    "preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n   \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html>"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/lucene.lucene",
    "chars": 51,
    "preview": "(title:\"foo bar\" AND body:\"quick fox\") OR title:fox"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/markdown.md",
    "chars": 7733,
    "preview": "Ace (Ajax.org Cloud9 Editor)\n============================\n\nAce is a standalone code editor written in JavaScript. Our go"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/mask.mask",
    "chars": 597,
    "preview": "/* Mask Syntax Demo */\n\ndiv > ' Test ~[name]';\n\ndefine :userProfile {\n\theader {\n\t\th4 > @title;\n\t\tbutton.close;\n\t}\n}\n\n:us"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/matlab.matlab",
    "chars": 203,
    "preview": "%{\n   %{\n      Ace Matlab demo\n   %}\n%}\n\nclassdef hello\n   methods\n      function greet(this)\n         disp('Hello!')  %"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/maze.mz",
    "chars": 401,
    "preview": "## ## () ## ^^ ## ## ## ##\n## H1 C2 S1 <> S2 H2 DN ##\n## %U <> %D *2 %L IZ .. ##\n## ## ## .. ## DN *3 ## ##\n## ## ## %R "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/mel.mel",
    "chars": 945,
    "preview": "// animated duplicates, instances script\nproc animatedDuplication (int $rangeStart, int $rangeEnd, int $numOfDuplicates,"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/mixal.mixal",
    "chars": 136,
    "preview": "* PROGRAM START\nΔSTART     LDA  2000 LOAD A FROM CELL 2000\n           CMP7 =15=\n12345      HLT\n           END  START\nABC"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/mushcode.mc",
    "chars": 1751,
    "preview": "@create phone\n&pickup phone=$pick up:@ifelse [u(is,u(mode),ICC)]={@pemit %#=You pick up the [fullname(me)].[set(me,PHONE"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/mysql.mysql",
    "chars": 4,
    "preview": "TODO"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/nsis.nsi",
    "chars": 486,
    "preview": "/*\n  NSIS Mode\n  for Ace\n*/\n\n; Includes\n!include MUI2.nsh\n\n; Settings\nName \"installer_name\"\nOutFile \"installer_name.exe\""
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/objectivec.m",
    "chars": 2672,
    "preview": "@protocol Printing: someParent\n-(void) print;\n@end\n\n@interface Fraction: NSObject <Printing, NSCopying> {\n    int numera"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/ocaml.ml",
    "chars": 539,
    "preview": "(*\n * Example of early return implementation taken from\n * http://ocaml.janestreet.com/?q=node/91\n *)\n\nlet with_return ("
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/pascal.pas",
    "chars": 1412,
    "preview": "(*****************************************************************************\n * A simple bubble sort program.  Reads i"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/perl.pl",
    "chars": 703,
    "preview": "#!/usr/bin/perl\n=begin\n perl example code for Ace\n=cut\n\nuse v5.10;\nuse strict;\nuse warnings;\n\nuse List::Util qw(first);\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/perl6.p6",
    "chars": 1164,
    "preview": "=begin comment\r\nPerl 6 example for ace\r\n=end comment\r\nclass Cook is Employee {\r\n    has @.utensils  is rw;\r\n    has @.co"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/pgsql.pgsql",
    "chars": 2547,
    "preview": "\nBEGIN;\n\n/**\n* Samples from PostgreSQL src/tutorial/basics.source\n*/\nCREATE TABLE weather (\n\tcity\t\tvarchar(80),\n\ttemp_lo"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/php.php",
    "chars": 351,
    "preview": "<?php\n\nfunction nfact($n) {\n    if ($n == 0) {\n        return 1;\n    }\n    else {\n        return $n * nfact($n - 1);\n   "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/php_laravel_blade.blade.php",
    "chars": 1605,
    "preview": "<!-- Stored in resources/views/layouts/app.blade.php -->\n\n<html>\n    <head>\n        <title>App Name - @yield('title')</t"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/pig.pig",
    "chars": 277,
    "preview": "A = load 'mobydick.txt';\nB = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;\nC = filter B by word matches '"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/plaintext.txt",
    "chars": 3008,
    "preview": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magn"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/powershell.ps1",
    "chars": 418,
    "preview": "# This is a simple comment\nfunction Hello($name) {\n  Write-host \"Hello $name\"\n}\n\nfunction add($left, $right=4) {\n    if "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/praat.praat",
    "chars": 4016,
    "preview": "form Highlighter test\n  sentence My_sentence This should all be a string\n  text My_text This should also all be a string"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/prolog.plg",
    "chars": 498,
    "preview": "partition([], _, [], []).\npartition([X|Xs], Pivot, Smalls, Bigs) :-\n    (   X @< Pivot ->\n        Smalls = [X|Rest],\n   "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/properties.properties",
    "chars": 589,
    "preview": "# You are reading the \".properties\" entry.\n! The exclamation mark can also mark text as comments.\n# The key and element "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/protobuf.proto",
    "chars": 274,
    "preview": "message Point {\n  required int32 x = 1;\n  required int32 y = 2;\n  optional string label = 3;\n}\n\nmessage Line {\n  require"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/puppet.epp",
    "chars": 1393,
    "preview": "define apache::vhost ($port, $docroot, $servername = $title, $vhost_name = '*') {\n  include apache\n  include apache::par"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/python.py",
    "chars": 478,
    "preview": "#!/usr/local/bin/python\n\nimport string, sys\n\n# If no arguments were given, print a helpful message\nif len(sys.argv)==1:\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/r.r",
    "chars": 648,
    "preview": "Call:\nlm(formula = y ~ x)\n \nResiduals:\n1       2       3       4       5       6\n3.3333 -0.6667 -2.6667 -2.6667 -0.6667 "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/razor.cshtml",
    "chars": 68,
    "preview": "@* razor mode *@\n@{\n\tLayout = \"~/layout\"\n\t@: <a>\n\t@Layout\n\t@: </a>\n}"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/rdoc.Rd",
    "chars": 1777,
    "preview": "\\name{picker}\n\\alias{picker}\n\\title{Create a picker control}\n\\description{\n  Create a picker control to enable manipulat"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/red.red",
    "chars": 1910,
    "preview": "Red []\r\ninfo: func ['fn  /name /intro /args /refinements /locals /return /spec \r\n\t/arg-num /arg-names /arg-types /ref-na"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/rhtml.Rhtml",
    "chars": 476,
    "preview": "<html>\n\n<head>\n<title>Title</title>\n</head>\n\n<body>\n\n<p>This is an R HTML document. When you click the <b>Knit HTML</b> "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/rst.rst",
    "chars": 11359,
    "preview": "==========================================\n*reStructuredText* Highlighter for **Ace**\n=================================="
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/ruby.rb",
    "chars": 531,
    "preview": "#!/usr/bin/ruby\n\n# Program to find the factorial of a number\ndef fact(n)\n    if n == 0\n        1\n    else\n        n * fa"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/rust.rs",
    "chars": 495,
    "preview": "use core::rand::RngUtil;\n\nfn main() {\n    for [\"Alice\", \"Bob\", \"Carol\"].each |&name| {\n        do spawn {\n            le"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/sass.sass",
    "chars": 770,
    "preview": "// sass ace mode;\n\n@import url(http://fonts.googleapis.com/css?family=Ace:700)\n\nhtml, body\n  :background-color #ace\n  te"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/scad.scad",
    "chars": 333,
    "preview": "// ace can highlight scad!\nmodule Element(xpos, ypos, zpos){\n\ttranslate([xpos,ypos,zpos]){\n\t\tunion(){\n\t\t\tcube([10,10,4],"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/scala.scala",
    "chars": 1541,
    "preview": "// http://www.scala-lang.org/node/54\n\npackage examples.actors\n\nimport scala.actors.Actor\nimport scala.actors.Actor._\n\nab"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/scheme.scm",
    "chars": 559,
    "preview": "(define (prompt-for-cd)\n   \"Prompts\n    for CD\"\n   (prompt-read \"Title\" 1.53 1 2/4 1.7 1.7e0 2.9E-4 +42 -7 #b001 #b001/1"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/scss.scss",
    "chars": 393,
    "preview": "/* style.scss */\n\n#navbar {\n    $navbar-width: 800px;\n    $items: 5;\n    $navbar-color: #ce4dd6;\n\n    width: $navbar-wid"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/sh.sh",
    "chars": 1154,
    "preview": "#!/bin/sh\n\n# Script to open a browser to current branch\n# Repo formats:\n# ssh   git@github.com:richo/gh_pr.git\n# http  h"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/sjs.sjs",
    "chars": 660,
    "preview": "var { each, map } = require('sjs:sequence');\nvar { get } = require('sjs:http');\n\nfunction foo(items, nada) {\n    var com"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/slim.slim",
    "chars": 762,
    "preview": "doctype html\nhtml\n  head\n    title Slim Examples\n    meta name=\"keywords\" content=\"template language\"\n    meta name=\"aut"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/smarty.smarty",
    "chars": 193,
    "preview": "{foreach $foo as $bar}\n  <a href=\"{$bar.zig}\">{$bar.zag}</a>\n  <a href=\"{$bar.zig2}\">{$bar.zag2}</a>\n  <a href=\"{$bar.zi"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/snippets.snippets",
    "chars": 428,
    "preview": "# Function\nsnippet fun\n\tfunction ${1?:function_name}(${2:argument}) {\n\t\t${3:// body...}\n\t}\n# Anonymous Function\nregex /("
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/soy_template.soy",
    "chars": 1072,
    "preview": "/**\n * Greets a person using \"Hello\" by default.\n * @param name The name of the person.\n * @param? greetingWord Optional"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/space.space",
    "chars": 903,
    "preview": "query\n count 10\n created 2011-06-21T08:10:46Z\n lang en-US\n results\n  photo\n   0\n    farm 6\n    id 5855620975\n    isfamil"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/sparql.rq",
    "chars": 457,
    "preview": "PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>\nPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\n# 1. Directors "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/sql.sql",
    "chars": 132,
    "preview": "SELECT city, COUNT(id) AS users_count\nFROM users\nWHERE group_name = 'salesman'\nAND created > '2011-05-21'\nGROUP BY 1\nORD"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/sqlserver.sqlserver",
    "chars": 1930,
    "preview": "-- =============================================\n-- Author:\t\tMorgan Yarbrough\n-- Create date: 4/27/2015\n-- Description:\t"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/stylus.styl",
    "chars": 680,
    "preview": "// I'm a comment!\n\n/*\n * Adds the given numbers together.\n */\n\n\n/*!\n * Adds the given numbers together.\n */\n\n\nasdasdasda"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/swift.swift",
    "chars": 476,
    "preview": "import UIKit\n \nclass DetailsViewController: UIViewController {\n    var album: Album?\n    @IBOutlet weak var albumCover: "
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/tcl.tcl",
    "chars": 899,
    "preview": "\nproc dijkstra {graph origin} {\n    # Initialize\n    dict for {vertex distmap} $graph {\n\tdict set dist $vertex Inf\n\tdict"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/terraform.tf",
    "chars": 1964,
    "preview": "export TF_LOG=TRACE\n\n# An AMI\nvariable \"ami\" {\n  description = \"the AMI to use\"\n}\n\n/* A multi\n   line comment. */\nresour"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/tex.tex",
    "chars": 470,
    "preview": "The quadratic formula is $$-b \\pm \\sqrt{b^2 - 4ac} \\over 2a$$\n\\bye\n\n\\makeatletter\n \\newcommand{\\be}{%\n \\begingroup\n % \\s"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/textile.textile",
    "chars": 377,
    "preview": "h1. Textile document\n\nh2. Heading Two\n\nh3. A two-line\n    header\n\nh2. Another two-line\nheader\n\nParagraph:\none, two,\nthee"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/toml.toml",
    "chars": 615,
    "preview": "# This is a TOML document. Boom.\n\ntitle = \"TOML Example\"\n\n[owner]\nname = \"Tom Preston-Werner\"\norganization = \"GitHub\"\nbi"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/tsx.tsx",
    "chars": 56,
    "preview": "var mode = <div> \n    Typescript + <b> JSX </b> \n</div>;"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/turtle.ttl",
    "chars": 511,
    "preview": "@base <http://example.org/> .\n@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .\n@prefix rdfs: <http://www.w3."
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/twig.twig",
    "chars": 761,
    "preview": "<!DOCTYPE html>\n<html>\n    <head>\n        <title>My Webpage</title>\n    </head>\n    <body>\n        <ul id=\"navigation\">\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/type_script.ts",
    "chars": 43,
    "preview": "TODO add a nice demo!\nTry to keep it short!"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/typescript.ts",
    "chars": 1616,
    "preview": "class Greeter {\n\tgreeting: string;\n\tconstructor (message: string) {\n\t\tthis.greeting = message;\n\t}\n\tgreet() {\n\t\treturn \"H"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/vala.vala",
    "chars": 483,
    "preview": "using Gtk;\n \nint main (string[] args) {\n    Gtk.init (ref args);\n    var foo = new MyFoo<string[](), MyBar<string, int>"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/vbscript.vbs",
    "chars": 938,
    "preview": "myfilename = \"C:\\Wikipedia - VBScript - Example - Hello World.txt\"\r\nMakeHelloWorldFile myfilename\r\n \r\nSub MakeHelloWorld"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/velocity.vm",
    "chars": 784,
    "preview": "#*\n  This is a sample comment block that\n  spans multiple lines.\n*#\n\n#macro ( outputItem $item )\n  <li>${item}</li>\n#end"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/verilog.v",
    "chars": 274,
    "preview": "always @(negedge reset or posedge clk) begin\n  if (reset == 0) begin\n    d_out <= 16'h0000;\n    d_out_mem[resetcount] <="
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/vhdl.vhd",
    "chars": 830,
    "preview": "library IEEE\nuser IEEE.std_logic_1164.all;\nuse IEEE.numeric_std.all;\n\nentity COUNT16 is\n\n    port (\n        cOut    :out"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/visualforce.vfp",
    "chars": 829,
    "preview": "<apex:stylesheet value=\"{!URLFOR($Resource.BrowserCompatibility, 'css/style.css')}\"/>\n\n<apex:page action=\"{!IF($User.Ali"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/wollok.wlk",
    "chars": 419,
    "preview": "class Actividad {\n\tmethod calcularMejora()\n}\n\nclass EstudiarMateria inherits Actividad {\n\tvar materia\n\tvar puntos = 0\n\t\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/xml.xml",
    "chars": 2688,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<query xmlns:yahoo=\"http://www.yahooapis.com/v1/base.rng\"\n    yahoo:count=\"7\" yah"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/xquery.xq",
    "chars": 114,
    "preview": "xquery version \"1.0\";\n\nlet $message := \"Hello World!\"\nreturn <results>\n  <message>{$message}</message>\n</results>\n"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/docs/yaml.yaml",
    "chars": 742,
    "preview": "# This sample document was taken from wikipedia:\n# http://en.wikipedia.org/wiki/YAML#Sample_document\n---\nreceipt:     Oz"
  },
  {
    "path": "app/static/js/libs/ace/demo/kitchen-sink/styles.css",
    "chars": 1202,
    "preview": "html {\n    height: 100%;\n    width: 100%;\n    overflow: hidden;\n}\n\nbody {\n    overflow: hidden;\n    margin: 0;\n    paddi"
  },
  {
    "path": "app/static/js/libs/ace/demo/modelist.html",
    "chars": 1340,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/r.js",
    "chars": 1801,
    "preview": "({\n    optimize: \"none\",\n    preserveLicenseComments: false,\n    name: \"node_modules/almond/almond\",\n    baseUrl: \"../.."
  },
  {
    "path": "app/static/js/libs/ace/demo/requirejs+build.html",
    "chars": 1127,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/scrollable-page.html",
    "chars": 3750,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/settings_menu.html",
    "chars": 1036,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  },
  {
    "path": "app/static/js/libs/ace/demo/shadow-dom.html",
    "chars": 3350,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,c"
  }
]

// ... and 1577 more files (download for full content)

About this extraction

This page contains the full source code of the ret2got/disasm.pro GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1777 files (42.7 MB), approximately 11.3M tokens, and a symbol index with 10221 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!